Mercurial > public > mk2
annotate code_part1/OSTC_code_asm_part1/menu_gassetup.asm @ 715:de413161f00c
256ms switch debounce timer
author | heinrichsweikamp |
---|---|
date | Tue, 21 May 2013 12:17:49 +0200 |
parents | aebb6d039249 |
children | 91ae251d379f |
rev | line source |
---|---|
0 | 1 |
2 ; OSTC - diving computer code | |
3 ; Copyright (C) 2008 HeinrichsWeikamp GbR | |
4 | |
5 ; This program is free software: you can redistribute it and/or modify | |
6 ; it under the terms of the GNU General Public License as published by | |
7 ; the Free Software Foundation, either version 3 of the License, or | |
8 ; (at your option) any later version. | |
9 | |
10 ; This program is distributed in the hope that it will be useful, | |
11 ; but WITHOUT ANY WARRANTY; without even the implied warranty of | |
12 ; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
13 ; GNU General Public License for more details. | |
14 | |
15 ; You should have received a copy of the GNU General Public License | |
16 ; along with this program. If not, see <http://www.gnu.org/licenses/>. | |
17 | |
18 | |
19 ; Gas Setup menu | |
20 ; written by: Matthias Heinrichs, info@heinrichsweikamp.com | |
21 ; written: 10/08/07 | |
22 ; last updated: 080906 | |
23 ; known bugs: | |
24 ; ToDo: | |
25 | |
26 menu_gassetup: | |
27 movlw d'1' | |
28 movwf menupos | |
29 | |
30 menu_gassetup_prelist: | |
681 | 31 call DISP_ClearScreen |
47 | 32 call gassetup_sort_gaslist ; Sorts Gaslist according to change depth |
576 | 33 call menu_pre_loop_common ; Clear some menu flags, timeout and switches |
681 | 34 call DISP_topline_box |
0 | 35 WIN_INVERT .1 ; Init new Wordprocessor |
36 DISPLAYTEXT .106 ; Gas List | |
37 WIN_INVERT .0 ; Init new Wordprocessor | |
38 clrf decodata+0 ; Here: # of gas 0-4 | |
39 clrf divemins+0 ; Here: # of Gas * 4 | |
40 movlw d'5' | |
41 movwf waitms_temp ; here: stores row for gas list | |
42 movlw d'2' | |
43 movwf wait_temp ; here: stores eeprom address for gas list | |
44 | |
45 ; Changed v1.44se | |
46 menu_gassetup_list: | |
47 WIN_LEFT .20 | |
48 movlw d'4' | |
49 addwf wait_temp,F ; Increase eeprom address for gas list | |
50 movlw d'30' | |
51 addwf waitms_temp,F ; Increase row | |
52 movf waitms_temp,W ; Load row into WREG | |
53 movff WREG,win_top | |
54 lfsr FSR2,letter | |
445 | 55 PUTC TXT_GAS_C |
0 | 56 movff decodata+0,lo |
57 incf lo,F | |
58 bsf leftbind | |
59 output_99 | |
123 | 60 PUTC ':' |
0 | 61 |
121
e0f29e20bd24
Mix-type icons: check apnoe/gauge/CF#41, depth=0, and first gas. Changed colors.
JeanDo
parents:
115
diff
changeset
|
62 movf decodata+0,W |
681 | 63 call DISP_grey_inactive_gas ; Sets Greyvalue for inactive gases |
0 | 64 call word_processor |
65 WIN_LEFT .40 | |
66 movf waitms_temp,W ; Load row into WREG | |
67 movff WREG,win_top | |
68 lfsr FSR2,letter | |
69 | |
70 movlw d'33' | |
71 movwf EEADR | |
72 call read_eeprom ; Get current startgas 1-5 # into EEDATA | |
73 decf EEDATA,W ; 0-4 | |
74 cpfseq decodata+0 ; =current displayed gas #? | |
75 bra menu_gassetup_Tx ; no, do not display * | |
123 | 76 PUTC '*' ; display * |
0 | 77 |
78 ; New v1.44se | |
79 menu_gassetup_Tx: | |
121
e0f29e20bd24
Mix-type icons: check apnoe/gauge/CF#41, depth=0, and first gas. Changed colors.
JeanDo
parents:
115
diff
changeset
|
80 movf decodata+0,W |
681 | 81 call DISP_grey_inactive_gas ; Sets Greyvalue for inactive gases |
0 | 82 call word_processor |
83 | |
84 WIN_LEFT .48 | |
85 movf waitms_temp,W ; Load row into WREG | |
86 movff WREG,win_top | |
87 lfsr FSR2,letter | |
88 | |
89 movff wait_temp, EEADR ; Gas %He - Set address in internal EEPROM | |
90 incf EEADR,F ; Gas %He - Set address in internal EEPROM | |
91 call read_eeprom ; Read He value from EEPROM | |
92 movff EEDATA,lo ; Move EEDATA -> lo | |
93 movf lo,f ; Move lo -> f | |
94 movlw d'0' ; Move 0 -> WREG | |
95 cpfsgt lo ; He > 0? | |
96 bra menu_gassetup_Nx ; NO check o2 | |
97 | |
98 ; YES Write TX 15/55 | |
642 | 99 STRCAT TXT_TX3 |
0 | 100 movff wait_temp, EEADR ; Gas %O2 - Set address in internal EEPROM |
101 call read_eeprom ; O2 value | |
102 movff EEDATA,lo | |
103 output_8 | |
123 | 104 PUTC '/' |
0 | 105 incf EEADR,F ; Gas #hi: %He - Set address in internal EEPROM |
106 call read_eeprom ; He value | |
107 movff EEDATA,lo | |
108 output_8 | |
109 bra menu_gassetup_list0 | |
110 | |
111 ; New v1.44se | |
112 menu_gassetup_Nx: | |
113 movff wait_temp, EEADR ; Gas %O2 - Set address in internal EEPROM | |
114 call read_eeprom ; Read O2 value from EEPROM | |
115 movff EEDATA,lo ; Move EEDATA -> lo | |
116 movf lo,f ; Move lo -> f | |
117 movlw d'21' ; Move 21 -> WREG | |
118 cpfsgt lo ; o2 > 21% | |
119 bra menu_gassetup_Air ; NO AIR | |
120 movlw d'100' ; Move 100 -> WREG | |
121 cpfslt lo ; o2 < 100% | |
122 bra menu_gassetup_O2 ; NO write O2 | |
123 | |
124 ; YES Write NX 32 | |
642 | 125 STRCAT TXT_NX3 |
0 | 126 output_8 |
127 bra menu_gassetup_list0 | |
128 | |
129 ; New v1.44se | |
130 menu_gassetup_O2: | |
445 | 131 STRCAT TXT_O2_3 |
0 | 132 output_8 |
133 bra menu_gassetup_list0 | |
134 | |
135 ; New v1.44se | |
136 menu_gassetup_Air: | |
137 cpfseq lo ; o2 = 21% | |
642 | 138 bra menu_gassetup_Err |
0 | 139 |
445 | 140 STRCAT TXT_AIR4 |
0 | 141 output_8 |
142 bra menu_gassetup_list0 | |
143 | |
144 ; New v1.44se | |
145 menu_gassetup_Err: | |
445 | 146 STRCAT TXT_ERR4 |
0 | 147 output_8 |
148 | |
149 ; Changed v1.44se | |
150 menu_gassetup_list0: | |
121
e0f29e20bd24
Mix-type icons: check apnoe/gauge/CF#41, depth=0, and first gas. Changed colors.
JeanDo
parents:
115
diff
changeset
|
151 movf decodata+0,W |
681 | 152 call DISP_grey_inactive_gas ; Sets Greyvalue for inactive gases |
0 | 153 call word_processor |
154 | |
155 WIN_LEFT .105 | |
156 movf waitms_temp,W ; Load row into WREG | |
157 movff WREG,win_top | |
158 lfsr FSR2,letter | |
159 | |
532 | 160 STRCAT TXT_AT4 |
0 | 161 movf decodata+0,W ; read current value |
162 addlw d'28' ; offset in memory | |
163 movwf EEADR | |
164 call read_eeprom ; Low-value | |
165 movff EEDATA,lo | |
644 | 166 |
0 | 167 output_8 |
445 | 168 PUTC TXT_METER_C |
121
e0f29e20bd24
Mix-type icons: check apnoe/gauge/CF#41, depth=0, and first gas. Changed colors.
JeanDo
parents:
115
diff
changeset
|
169 movf decodata+0,W |
681 | 170 call DISP_grey_inactive_gas ; Sets Greyvalue for inactive gases |
0 | 171 call word_processor |
172 | |
681 | 173 call DISP_standard_color |
0 | 174 |
175 incf decodata+0,F | |
176 movlw d'5' | |
177 cpfseq decodata+0 | |
178 goto menu_gassetup_list | |
179 | |
337 | 180 DISPLAYTEXT .11 ; Exit |
181 call wait_switches ; Waits until switches are released, resets flag if button stays pressed! | |
681 | 182 call DISP_menu_cursor |
0 | 183 |
184 gassetup_list_loop: | |
185 call check_switches_logbook | |
186 | |
187 btfsc menubit3 | |
337 | 188 bra gassetup_list2 ; move cursor |
0 | 189 |
190 btfsc menubit2 | |
337 | 191 bra do_gassetup_list ; call gas-specific submenu |
0 | 192 |
193 btfsc onesecupdate | |
575 | 194 call menu_check_dive_and_timeout ; "Goto restart" or sets sleepmode flag |
0 | 195 |
337 | 196 bcf onesecupdate ; 1 sec. functions done |
0 | 197 |
198 btfsc sleepmode | |
199 bra exit_gassetup_list | |
200 | |
201 bra gassetup_list_loop | |
202 | |
203 gassetup_list2: | |
204 incf menupos,F | |
205 movlw d'7' | |
206 cpfseq menupos ; =7? | |
207 bra gassetup_list3 ; No | |
208 movlw d'1' | |
209 movwf menupos | |
210 | |
211 gassetup_list3: | |
212 clrf timeout_counter2 | |
681 | 213 call DISP_menu_cursor |
0 | 214 |
215 call wait_switches ; Waits until switches are released, resets flag if button stays pressed! | |
216 | |
217 bcf menubit3 ; clear flag | |
218 bra gassetup_list_loop | |
219 | |
220 exit_gassetup_list: ; exit... | |
221 movlw d'2' | |
222 movwf menupos | |
223 goto menu2 | |
224 | |
225 do_gassetup_list: | |
226 dcfsnz menupos,F | |
227 bra gassetup_list_edit_gas1 | |
228 dcfsnz menupos,F | |
229 bra gassetup_list_edit_gas2 | |
230 dcfsnz menupos,F | |
231 bra gassetup_list_edit_gas3 | |
232 dcfsnz menupos,F | |
233 bra gassetup_list_edit_gas4 | |
234 dcfsnz menupos,F | |
235 bra gassetup_list_edit_gas5 | |
236 bra exit_gassetup_list ; Exit List | |
237 | |
238 gassetup_list_edit_gas1: | |
239 movlw d'0' | |
240 movwf decodata+0 | |
241 movlw d'0' | |
242 movwf divemins+0 | |
243 bra menu_gassetup_page1 | |
244 | |
245 gassetup_list_edit_gas2: | |
246 movlw d'1' | |
247 movwf decodata+0 | |
248 movlw d'4' | |
249 movwf divemins+0 | |
250 bra menu_gassetup_page1 | |
251 | |
252 gassetup_list_edit_gas3: | |
253 movlw d'2' | |
254 movwf decodata+0 | |
255 movlw d'8' | |
256 movwf divemins+0 | |
257 bra menu_gassetup_page1 | |
258 | |
259 gassetup_list_edit_gas4: | |
260 movlw d'3' | |
261 movwf decodata+0 | |
262 movlw d'12' | |
263 movwf divemins+0 | |
264 bra menu_gassetup_page1 | |
265 | |
266 gassetup_list_edit_gas5: | |
267 movlw d'4' | |
268 movwf decodata+0 | |
269 movlw d'16' | |
270 movwf divemins+0 | |
271 bra menu_gassetup_page1 | |
272 | |
273 menu_gassetup_page1: | |
274 movlw d'1' | |
275 movwf menupos | |
276 bcf gas_setup_page2 ; Page 1 of gassetup | |
277 bcf menubit4 | |
278 bcf first_FA ; Here: =1: -, =0: + | |
279 | |
280 menu_gassetup0: | |
681 | 281 call DISP_ClearScreen |
98
6f8e3a08011e
1.73beta rc1 (Added new customview for divemode)
heinrichsweikamp
parents:
50
diff
changeset
|
282 DISPLAYTEXT .147 ; More... |
0 | 283 DISPLAYTEXT .11 ; Exit |
284 | |
285 menu_gassetup1: | |
576 | 286 call menu_pre_loop_common ; Clear some menu flags, timeout and switches |
0 | 287 |
288 rcall gassetup_title_bar2 ; Displays the title bar with the current Gas info | |
289 | |
290 WIN_LEFT .20 | |
199 | 291 WIN_TOP .65 |
445 | 292 STRCPY TXT_O2_4 |
0 | 293 |
294 movf divemins+0,W | |
295 addlw 0x06 | |
296 movwf EEADR | |
199 | 297 call read_eeprom ; O2 value |
0 | 298 movff EEDATA,lo |
299 output_8 | |
199 | 300 STRCAT_PRINT "% " |
0 | 301 |
302 ; Show MOD in m | |
199 | 303 WIN_LEFT .90 |
304 lfsr FSR2, letter | |
305 OUTPUTTEXTH .297 ; MOD: | |
306 | |
299
eac799f69360
some cleanup, french and german texts updated
heinrichsweikamp
parents:
297
diff
changeset
|
307 rcall gassetup_get_mod ; compute MOD based on CF18 into lo:hi |
0 | 308 |
309 output_16 | |
445 | 310 STRCAT_PRINT TXT_METER3 |
0 | 311 |
199 | 312 WIN_LEFT .20 |
0 | 313 WIN_TOP .95 |
445 | 314 STRCPY TXT_HE4 |
0 | 315 movf divemins+0,W |
316 addlw 0x07 | |
317 movwf EEADR | |
199 | 318 call read_eeprom ; He value |
0 | 319 movff EEDATA,lo |
320 output_8 | |
199 | 321 STRCAT_PRINT "% " |
105 | 322 |
323 ; Show END in m | |
199 | 324 lfsr FSR2, letter |
325 WIN_LEFT .90 | |
326 OUTPUTTEXTH .298 ; END: | |
304 | 327 GETCUSTOM8 .18 ; ppO2 warnvalue in WREG |
328 mullw d'10' | |
329 movff PRODL,xA+0 | |
398
ab962c4b19d6
Fixing issue 50, correct "Bar" to "bar" in texts and comments
heinrichsweikamp
parents:
377
diff
changeset
|
330 movff PRODH,xA+1 ; ppO2 in [0.01bar] * 10 |
304 | 331 movf divemins+0,W |
332 addlw 0x06 | |
333 movwf EEADR | |
334 call read_eeprom ; O2 value | |
335 movff EEDATA,xB+0 | |
336 clrf xB+1 | |
337 call div16x16 ; xA/xB=xC with xA as remainder | |
338 movlw d'10' | |
339 subwf xC+0,F ; Subtract 10m... | |
340 movff xC+0,lo | |
341 movlw d'0' | |
342 subwfb xC+1,F | |
343 movff xC+1,hi ; lo:hi holding MOD in meters | |
105 | 344 movlw d'10' |
345 addwf lo,F | |
346 movlw d'0' | |
199 | 347 addwfc hi,F ; lo:hi holding MOD+10m |
105 | 348 |
349 movf divemins+0,W | |
350 addlw 0x07 | |
351 movwf EEADR | |
199 | 352 call read_eeprom ; He value in % -> EEDATA |
105 | 353 movlw d'100' |
354 movwf xA+0 | |
199 | 355 movf EEDATA,W ; He value in % -> EEDATA |
356 subwf xA+0,F ; xA+0 = 100 - He Value in % | |
105 | 357 clrf xA+1 |
358 movff lo,xB+0 | |
199 | 359 movff hi,xB+1 ; Copy MOD+10 |
360 call mult16x16 ; xA*xB=xC | |
105 | 361 movff xC+0,xA+0 |
362 movff xC+1,xA+1 | |
363 movlw d'100' | |
364 movwf xB+0 | |
365 clrf xB+1 | |
199 | 366 call div16x16 ; xA/xB=xC with xA as remainder |
105 | 367 ; xC:2 = ((MOD+10) * 100 - HE Value in %) / 100 |
368 movlw d'10' | |
199 | 369 subwf xC+0,F ; Subtract 10m... |
105 | 370 movff xC+0,lo |
371 movlw d'0' | |
372 subwfb xC+1,F | |
373 movff xC+1,hi | |
374 output_16 | |
445 | 375 STRCAT_PRINT TXT_METER3 |
0 | 376 |
199 | 377 WIN_LEFT .20 |
0 | 378 WIN_TOP .125 |
123 | 379 STRCPY "+/-: " |
0 | 380 movlw '+' |
381 btfsc first_FA | |
382 movlw '-' | |
383 movwf POSTINC2 | |
384 call word_processor | |
385 | |
386 WIN_TOP .155 | |
387 lfsr FSR2,letter | |
199 | 388 OUTPUTTEXT .89 ; Default: |
0 | 389 movf divemins+0,W |
390 addlw 0x04 | |
391 movwf EEADR | |
199 | 392 call read_eeprom ; Default O2 value |
0 | 393 movff EEDATA,lo |
394 output_8 | |
123 | 395 PUTC '/' |
0 | 396 movf divemins+0,W |
397 addlw 0x05 | |
398 movwf EEADR | |
199 | 399 call read_eeprom ; Default He value |
0 | 400 movff EEDATA,lo |
401 output_8 | |
123 | 402 STRCAT_PRINT " " |
0 | 403 |
404 call wait_switches ; Waits until switches are released, resets flag if button stays pressed! | |
681 | 405 call DISP_menu_cursor |
0 | 406 |
407 gassetup_loop: | |
408 call check_switches_logbook | |
409 | |
410 btfsc menubit3 | |
411 bra gassetup2 ; move cursor | |
412 | |
413 btfsc menubit2 | |
414 bra do_gassetup ; call submenu | |
415 | |
416 btfsc onesecupdate | |
575 | 417 call menu_check_dive_and_timeout ; "Goto restart" or sets sleepmode flag |
0 | 418 |
419 bcf onesecupdate ; 1 sec. functions done | |
420 | |
421 btfsc sleepmode | |
422 bra exit_gassetup | |
423 | |
424 bra gassetup_loop | |
425 | |
426 gassetup2: | |
427 incf menupos,F | |
428 movlw d'7' | |
429 cpfseq menupos ; =7? | |
430 bra gassetup3 ; No | |
431 movlw d'1' | |
432 movwf menupos | |
433 | |
434 gassetup3: | |
435 | |
436 clrf timeout_counter2 | |
681 | 437 call DISP_menu_cursor |
0 | 438 |
439 call wait_switches ; Waits until switches are released, resets flag if button stays pressed! | |
440 | |
441 bcf menubit3 ; clear flag | |
442 bra gassetup_loop | |
443 | |
444 do_gassetup: | |
445 dcfsnz menupos,F | |
446 bra next_gas_page | |
447 dcfsnz menupos,F | |
448 bra adjust_o2 | |
449 dcfsnz menupos,F | |
450 bra adjust_he | |
451 dcfsnz menupos,F | |
452 bra toggle_plus_minus_gassetup | |
453 dcfsnz menupos,F | |
454 bra restore_gas | |
455 exit_gassetup: ; exit... | |
456 movff decodata+0,menupos | |
457 incf menupos,F | |
458 bra menu_gassetup_prelist | |
459 | |
460 toggle_plus_minus_gassetup: | |
461 btg first_FA | |
462 movlw d'4' | |
463 movwf menupos | |
464 bra menu_gassetup1 ; return | |
465 | |
466 next_gas: | |
685
aebb6d039249
Use 4byte in EEPROM for diluents (Same as OC gases)
heinrichsweikamp
parents:
681
diff
changeset
|
467 movlw d'6' |
0 | 468 movwf menupos |
469 bra menu_gassetup0 ; incl. clear screen | |
470 | |
471 adjust_o2: | |
472 movf divemins+0,W ; read current value | |
473 addlw 0x06 | |
474 movwf EEADR | |
475 call read_eeprom ; Low-value | |
476 movff EEDATA,lo | |
477 | |
478 btfsc first_FA ; Minus? | |
479 bra adjust_o2_1 ; yes, minus! | |
480 | |
481 incf lo,F ; increase O2 | |
482 movlw d'101' | |
483 cpfseq lo | |
484 bra adjust_o2_2 | |
485 movlw d'4' ; LOWER O2 Limit | |
486 movwf lo | |
487 bra adjust_o2_2 | |
488 | |
489 adjust_o2_1: | |
490 decf lo,F ; decrease O2 | |
491 movlw d'3' | |
492 cpfseq lo | |
493 bra adjust_o2_2 | |
494 | |
495 movf divemins+0,W | |
496 addlw 0x07 | |
497 movwf EEADR | |
498 call read_eeprom ; read He value | |
499 | |
500 movlw d'100' | |
501 movwf lo | |
502 movf EEDATA,W ; He value | |
503 subwf lo,F ; lo=100% - He% | |
504 | |
505 adjust_o2_2: ; test if O2+He>100... | |
506 movf divemins+0,W | |
507 addlw 0x07 | |
508 movwf EEADR | |
509 call read_eeprom ; read He value | |
510 movf EEDATA,W ; He value | |
511 addwf lo,W ; add O2 value | |
512 movwf hi ; store in temp | |
513 movlw d'101' | |
514 cpfseq hi ; O2 and He > 100? | |
515 bra adjust_o2_3 ; No! | |
516 | |
517 movlw d'4' ; LOWER O2 Limit | |
518 movwf lo | |
519 | |
520 adjust_o2_3: | |
521 movf divemins+0,W ; save current value | |
522 addlw 0x06 | |
523 movwf EEADR | |
524 movff lo,EEDATA | |
525 call write_eeprom ; Low-value | |
526 | |
527 movlw d'2' | |
528 movwf menupos | |
529 bra menu_gassetup1 | |
530 | |
531 adjust_he: | |
532 movf divemins+0,W ; read current value | |
533 addlw 0x07 | |
534 movwf EEADR | |
535 call read_eeprom ; Low-value | |
536 movff EEDATA,lo | |
537 | |
538 btfsc first_FA ; Minus? | |
539 bra adjust_he_1 ; yes, minus! | |
540 | |
541 incf lo,F | |
542 movlw d'92' ; He limited to (useless) 90% | |
543 cpfseq lo | |
544 bra adjust_he_2 | |
545 clrf lo | |
546 bra adjust_he_2 | |
547 | |
548 adjust_he_1: | |
549 decf lo,F ; decrease He | |
550 movlw d'255' | |
551 cpfseq lo | |
552 bra adjust_he_2 | |
553 clrf lo | |
554 | |
555 adjust_he_2: ; test if O2+He>100... | |
556 movf divemins+0,W | |
557 addlw 0x06 | |
558 movwf EEADR | |
559 call read_eeprom ; read He value | |
560 movf EEDATA,W ; He value | |
561 addwf lo,W ; add O2 value | |
562 movwf hi ; store in temp | |
563 movlw d'101' | |
564 cpfseq hi ; O2 and He > 100? | |
565 bra adjust_he_3 ; No! | |
566 ; clrf lo ; Yes, clear He to zero | |
567 decf lo,F ; reduce He again = unchanged after operation | |
568 | |
569 adjust_he_3: | |
570 movf divemins+0,W ; save current value | |
571 addlw 0x07 | |
572 movwf EEADR | |
573 movff lo,EEDATA | |
574 call write_eeprom ; Low-value | |
575 | |
576 movlw d'3' | |
577 movwf menupos | |
578 bra menu_gassetup1 ; | |
579 | |
580 restore_gas: | |
581 movf divemins+0,W ; read Default value | |
582 addlw 0x04 | |
583 movwf EEADR | |
584 call read_eeprom ; Low-value | |
585 movff EEDATA,lo | |
586 movf divemins+0,W | |
587 addlw 0x05 | |
588 movwf EEADR | |
589 call read_eeprom ; High-value | |
590 movff EEDATA,hi | |
591 | |
592 movf divemins+0,W ; save Default value | |
593 addlw 0x06 | |
594 movwf EEADR | |
595 movff lo,EEDATA | |
596 call write_eeprom ; Low-value | |
597 movf divemins+0,W | |
598 addlw 0x07 | |
599 movwf EEADR | |
600 movff hi,EEDATA | |
601 call write_eeprom ; High-value | |
602 | |
603 movlw d'5' | |
604 movwf menupos | |
605 bra menu_gassetup1 ; | |
606 | |
607 | |
608 next_gas_page: | |
681 | 609 call DISP_ClearScreen |
0 | 610 movlw d'1' |
611 movwf menupos | |
297
ceedf078b2d8
Gas Setup page 2 reworked, Texts 107, 108, 109,150, 149, 168, 42, 43, 53,54,55, 165 need update in french, spanish and german
Heinrichsweikamp
parents:
290
diff
changeset
|
612 bcf first_FA ; Here: =1: -, =0: + |
ceedf078b2d8
Gas Setup page 2 reworked, Texts 107, 108, 109,150, 149, 168, 42, 43, 53,54,55, 165 need update in french, spanish and german
Heinrichsweikamp
parents:
290
diff
changeset
|
613 bcf second_FA ; Here: =1: Is first gas |
ceedf078b2d8
Gas Setup page 2 reworked, Texts 107, 108, 109,150, 149, 168, 42, 43, 53,54,55, 165 need update in french, spanish and german
Heinrichsweikamp
parents:
290
diff
changeset
|
614 DISPLAYTEXT .107 ; Depth +/- |
0 | 615 DISPLAYTEXT .11 ; Exit |
616 | |
617 next_gas_page1: | |
576 | 618 call menu_pre_loop_common ; Clear some menu flags, timeout and switches |
0 | 619 |
297
ceedf078b2d8
Gas Setup page 2 reworked, Texts 107, 108, 109,150, 149, 168, 42, 43, 53,54,55, 165 need update in french, spanish and german
Heinrichsweikamp
parents:
290
diff
changeset
|
620 WIN_TOP .65 |
ceedf078b2d8
Gas Setup page 2 reworked, Texts 107, 108, 109,150, 149, 168, 42, 43, 53,54,55, 165 need update in french, spanish and german
Heinrichsweikamp
parents:
290
diff
changeset
|
621 WIN_LEFT .20 |
ceedf078b2d8
Gas Setup page 2 reworked, Texts 107, 108, 109,150, 149, 168, 42, 43, 53,54,55, 165 need update in french, spanish and german
Heinrichsweikamp
parents:
290
diff
changeset
|
622 lfsr FSR2,letter |
ceedf078b2d8
Gas Setup page 2 reworked, Texts 107, 108, 109,150, 149, 168, 42, 43, 53,54,55, 165 need update in french, spanish and german
Heinrichsweikamp
parents:
290
diff
changeset
|
623 OUTPUTTEXT .88 ; First Gas? |
ceedf078b2d8
Gas Setup page 2 reworked, Texts 107, 108, 109,150, 149, 168, 42, 43, 53,54,55, 165 need update in french, spanish and german
Heinrichsweikamp
parents:
290
diff
changeset
|
624 PUTC ' ' |
ceedf078b2d8
Gas Setup page 2 reworked, Texts 107, 108, 109,150, 149, 168, 42, 43, 53,54,55, 165 need update in french, spanish and german
Heinrichsweikamp
parents:
290
diff
changeset
|
625 |
ceedf078b2d8
Gas Setup page 2 reworked, Texts 107, 108, 109,150, 149, 168, 42, 43, 53,54,55, 165 need update in french, spanish and german
Heinrichsweikamp
parents:
290
diff
changeset
|
626 movlw d'33' |
ceedf078b2d8
Gas Setup page 2 reworked, Texts 107, 108, 109,150, 149, 168, 42, 43, 53,54,55, 165 need update in french, spanish and german
Heinrichsweikamp
parents:
290
diff
changeset
|
627 movwf EEADR |
ceedf078b2d8
Gas Setup page 2 reworked, Texts 107, 108, 109,150, 149, 168, 42, 43, 53,54,55, 165 need update in french, spanish and german
Heinrichsweikamp
parents:
290
diff
changeset
|
628 call read_eeprom ; Get current startgas 1-5 # into EEDATA |
ceedf078b2d8
Gas Setup page 2 reworked, Texts 107, 108, 109,150, 149, 168, 42, 43, 53,54,55, 165 need update in french, spanish and german
Heinrichsweikamp
parents:
290
diff
changeset
|
629 decf EEDATA,W ; 0-4 |
ceedf078b2d8
Gas Setup page 2 reworked, Texts 107, 108, 109,150, 149, 168, 42, 43, 53,54,55, 165 need update in french, spanish and german
Heinrichsweikamp
parents:
290
diff
changeset
|
630 cpfseq decodata+0 ; =current displayed gas #? |
ceedf078b2d8
Gas Setup page 2 reworked, Texts 107, 108, 109,150, 149, 168, 42, 43, 53,54,55, 165 need update in french, spanish and german
Heinrichsweikamp
parents:
290
diff
changeset
|
631 bra menu_firstgas0 ; no, display three spaces |
ceedf078b2d8
Gas Setup page 2 reworked, Texts 107, 108, 109,150, 149, 168, 42, 43, 53,54,55, 165 need update in french, spanish and german
Heinrichsweikamp
parents:
290
diff
changeset
|
632 |
ceedf078b2d8
Gas Setup page 2 reworked, Texts 107, 108, 109,150, 149, 168, 42, 43, 53,54,55, 165 need update in french, spanish and german
Heinrichsweikamp
parents:
290
diff
changeset
|
633 OUTPUTTEXT .96 ; Yes |
ceedf078b2d8
Gas Setup page 2 reworked, Texts 107, 108, 109,150, 149, 168, 42, 43, 53,54,55, 165 need update in french, spanish and german
Heinrichsweikamp
parents:
290
diff
changeset
|
634 bsf second_FA ; Is first gas |
ceedf078b2d8
Gas Setup page 2 reworked, Texts 107, 108, 109,150, 149, 168, 42, 43, 53,54,55, 165 need update in french, spanish and german
Heinrichsweikamp
parents:
290
diff
changeset
|
635 |
376
ed26990716fe
first gas does not reset change depth, display fix with multigas dives in logbook
heinrichsweikamp
parents:
337
diff
changeset
|
636 ; Do not reset change depth (Kind request from Pascal)! |
ed26990716fe
first gas does not reset change depth, display fix with multigas dives in logbook
heinrichsweikamp
parents:
337
diff
changeset
|
637 ; movf decodata+0,W ; read current value |
ed26990716fe
first gas does not reset change depth, display fix with multigas dives in logbook
heinrichsweikamp
parents:
337
diff
changeset
|
638 ; addlw d'28' ; offset in memory |
ed26990716fe
first gas does not reset change depth, display fix with multigas dives in logbook
heinrichsweikamp
parents:
337
diff
changeset
|
639 ; movwf EEADR |
ed26990716fe
first gas does not reset change depth, display fix with multigas dives in logbook
heinrichsweikamp
parents:
337
diff
changeset
|
640 ; call read_eeprom ; Low-value |
ed26990716fe
first gas does not reset change depth, display fix with multigas dives in logbook
heinrichsweikamp
parents:
337
diff
changeset
|
641 ; clrf EEDATA ; Set change depth to zero |
ed26990716fe
first gas does not reset change depth, display fix with multigas dives in logbook
heinrichsweikamp
parents:
337
diff
changeset
|
642 ; call write_eeprom ; save result in EEPROM |
ed26990716fe
first gas does not reset change depth, display fix with multigas dives in logbook
heinrichsweikamp
parents:
337
diff
changeset
|
643 ; |
297
ceedf078b2d8
Gas Setup page 2 reworked, Texts 107, 108, 109,150, 149, 168, 42, 43, 53,54,55, 165 need update in french, spanish and german
Heinrichsweikamp
parents:
290
diff
changeset
|
644 bra menu_firstgas1 |
ceedf078b2d8
Gas Setup page 2 reworked, Texts 107, 108, 109,150, 149, 168, 42, 43, 53,54,55, 165 need update in french, spanish and german
Heinrichsweikamp
parents:
290
diff
changeset
|
645 |
ceedf078b2d8
Gas Setup page 2 reworked, Texts 107, 108, 109,150, 149, 168, 42, 43, 53,54,55, 165 need update in french, spanish and german
Heinrichsweikamp
parents:
290
diff
changeset
|
646 menu_firstgas0: |
ceedf078b2d8
Gas Setup page 2 reworked, Texts 107, 108, 109,150, 149, 168, 42, 43, 53,54,55, 165 need update in french, spanish and german
Heinrichsweikamp
parents:
290
diff
changeset
|
647 bcf second_FA ; Is not first gas |
ceedf078b2d8
Gas Setup page 2 reworked, Texts 107, 108, 109,150, 149, 168, 42, 43, 53,54,55, 165 need update in french, spanish and german
Heinrichsweikamp
parents:
290
diff
changeset
|
648 STRCAT " " ; 3 spaces. |
ceedf078b2d8
Gas Setup page 2 reworked, Texts 107, 108, 109,150, 149, 168, 42, 43, 53,54,55, 165 need update in french, spanish and german
Heinrichsweikamp
parents:
290
diff
changeset
|
649 |
ceedf078b2d8
Gas Setup page 2 reworked, Texts 107, 108, 109,150, 149, 168, 42, 43, 53,54,55, 165 need update in french, spanish and german
Heinrichsweikamp
parents:
290
diff
changeset
|
650 menu_firstgas1: |
ceedf078b2d8
Gas Setup page 2 reworked, Texts 107, 108, 109,150, 149, 168, 42, 43, 53,54,55, 165 need update in french, spanish and german
Heinrichsweikamp
parents:
290
diff
changeset
|
651 call word_processor |
ceedf078b2d8
Gas Setup page 2 reworked, Texts 107, 108, 109,150, 149, 168, 42, 43, 53,54,55, 165 need update in french, spanish and german
Heinrichsweikamp
parents:
290
diff
changeset
|
652 |
ceedf078b2d8
Gas Setup page 2 reworked, Texts 107, 108, 109,150, 149, 168, 42, 43, 53,54,55, 165 need update in french, spanish and german
Heinrichsweikamp
parents:
290
diff
changeset
|
653 |
0 | 654 rcall gassetup_title_bar2 ; Displays the title bar with the current Gas info |
297
ceedf078b2d8
Gas Setup page 2 reworked, Texts 107, 108, 109,150, 149, 168, 42, 43, 53,54,55, 165 need update in french, spanish and german
Heinrichsweikamp
parents:
290
diff
changeset
|
655 WIN_TOP .125 |
299
eac799f69360
some cleanup, french and german texts updated
heinrichsweikamp
parents:
297
diff
changeset
|
656 WIN_LEFT .20 |
297
ceedf078b2d8
Gas Setup page 2 reworked, Texts 107, 108, 109,150, 149, 168, 42, 43, 53,54,55, 165 need update in french, spanish and german
Heinrichsweikamp
parents:
290
diff
changeset
|
657 lfsr FSR2,letter |
299
eac799f69360
some cleanup, french and german texts updated
heinrichsweikamp
parents:
297
diff
changeset
|
658 |
eac799f69360
some cleanup, french and german texts updated
heinrichsweikamp
parents:
297
diff
changeset
|
659 OUTPUTTEXT .108 ; Change: |
eac799f69360
some cleanup, french and german texts updated
heinrichsweikamp
parents:
297
diff
changeset
|
660 |
297
ceedf078b2d8
Gas Setup page 2 reworked, Texts 107, 108, 109,150, 149, 168, 42, 43, 53,54,55, 165 need update in french, spanish and german
Heinrichsweikamp
parents:
290
diff
changeset
|
661 ; lo still holds change depth |
ceedf078b2d8
Gas Setup page 2 reworked, Texts 107, 108, 109,150, 149, 168, 42, 43, 53,54,55, 165 need update in french, spanish and german
Heinrichsweikamp
parents:
290
diff
changeset
|
662 bsf leftbind |
ceedf078b2d8
Gas Setup page 2 reworked, Texts 107, 108, 109,150, 149, 168, 42, 43, 53,54,55, 165 need update in french, spanish and german
Heinrichsweikamp
parents:
290
diff
changeset
|
663 output_8 |
445 | 664 STRCAT_PRINT TXT_METER2 |
297
ceedf078b2d8
Gas Setup page 2 reworked, Texts 107, 108, 109,150, 149, 168, 42, 43, 53,54,55, 165 need update in french, spanish and german
Heinrichsweikamp
parents:
290
diff
changeset
|
665 |
299
eac799f69360
some cleanup, french and german texts updated
heinrichsweikamp
parents:
297
diff
changeset
|
666 ; Show ppO2 after change depth |
297
ceedf078b2d8
Gas Setup page 2 reworked, Texts 107, 108, 109,150, 149, 168, 42, 43, 53,54,55, 165 need update in french, spanish and german
Heinrichsweikamp
parents:
290
diff
changeset
|
667 WIN_TOP .125 |
299
eac799f69360
some cleanup, french and german texts updated
heinrichsweikamp
parents:
297
diff
changeset
|
668 WIN_LEFT .110 |
297
ceedf078b2d8
Gas Setup page 2 reworked, Texts 107, 108, 109,150, 149, 168, 42, 43, 53,54,55, 165 need update in french, spanish and german
Heinrichsweikamp
parents:
290
diff
changeset
|
669 lfsr FSR2,letter |
0 | 670 rcall gassetup_show_ppO2 ; Display the ppO2 of the change depth with the current gas |
671 | |
297
ceedf078b2d8
Gas Setup page 2 reworked, Texts 107, 108, 109,150, 149, 168, 42, 43, 53,54,55, 165 need update in french, spanish and german
Heinrichsweikamp
parents:
290
diff
changeset
|
672 movff xC+0,sub_a+0 |
ceedf078b2d8
Gas Setup page 2 reworked, Texts 107, 108, 109,150, 149, 168, 42, 43, 53,54,55, 165 need update in french, spanish and german
Heinrichsweikamp
parents:
290
diff
changeset
|
673 movff xC+1,sub_a+1 |
398
ab962c4b19d6
Fixing issue 50, correct "Bar" to "bar" in texts and comments
heinrichsweikamp
parents:
377
diff
changeset
|
674 GETCUSTOM8 d'46' ; color-code ppO2 warning [cbar] |
299
eac799f69360
some cleanup, french and german texts updated
heinrichsweikamp
parents:
297
diff
changeset
|
675 movwf sub_b+0 |
eac799f69360
some cleanup, french and german texts updated
heinrichsweikamp
parents:
297
diff
changeset
|
676 clrf sub_b+1 |
297
ceedf078b2d8
Gas Setup page 2 reworked, Texts 107, 108, 109,150, 149, 168, 42, 43, 53,54,55, 165 need update in french, spanish and german
Heinrichsweikamp
parents:
290
diff
changeset
|
677 call sub16 ; sub_c = sub_a - sub_b |
ceedf078b2d8
Gas Setup page 2 reworked, Texts 107, 108, 109,150, 149, 168, 42, 43, 53,54,55, 165 need update in french, spanish and german
Heinrichsweikamp
parents:
290
diff
changeset
|
678 btfss neg_flag |
ceedf078b2d8
Gas Setup page 2 reworked, Texts 107, 108, 109,150, 149, 168, 42, 43, 53,54,55, 165 need update in french, spanish and german
Heinrichsweikamp
parents:
290
diff
changeset
|
679 bra gassetup_color_code_ppo2_1; too high -> Warning Color! |
681 | 680 call DISP_standard_color |
297
ceedf078b2d8
Gas Setup page 2 reworked, Texts 107, 108, 109,150, 149, 168, 42, 43, 53,54,55, 165 need update in french, spanish and german
Heinrichsweikamp
parents:
290
diff
changeset
|
681 bra gassetup_color_code_ppo2_2 |
ceedf078b2d8
Gas Setup page 2 reworked, Texts 107, 108, 109,150, 149, 168, 42, 43, 53,54,55, 165 need update in french, spanish and german
Heinrichsweikamp
parents:
290
diff
changeset
|
682 gassetup_color_code_ppo2_1: |
681 | 683 call DISP_warnings_color |
297
ceedf078b2d8
Gas Setup page 2 reworked, Texts 107, 108, 109,150, 149, 168, 42, 43, 53,54,55, 165 need update in french, spanish and german
Heinrichsweikamp
parents:
290
diff
changeset
|
684 gassetup_color_code_ppo2_2: |
ceedf078b2d8
Gas Setup page 2 reworked, Texts 107, 108, 109,150, 149, 168, 42, 43, 53,54,55, 165 need update in french, spanish and german
Heinrichsweikamp
parents:
290
diff
changeset
|
685 call word_processor |
681 | 686 call DISP_standard_color |
297
ceedf078b2d8
Gas Setup page 2 reworked, Texts 107, 108, 109,150, 149, 168, 42, 43, 53,54,55, 165 need update in french, spanish and german
Heinrichsweikamp
parents:
290
diff
changeset
|
687 |
ceedf078b2d8
Gas Setup page 2 reworked, Texts 107, 108, 109,150, 149, 168, 42, 43, 53,54,55, 165 need update in french, spanish and german
Heinrichsweikamp
parents:
290
diff
changeset
|
688 WIN_TOP .95 |
ceedf078b2d8
Gas Setup page 2 reworked, Texts 107, 108, 109,150, 149, 168, 42, 43, 53,54,55, 165 need update in french, spanish and german
Heinrichsweikamp
parents:
290
diff
changeset
|
689 WIN_LEFT .95 |
ceedf078b2d8
Gas Setup page 2 reworked, Texts 107, 108, 109,150, 149, 168, 42, 43, 53,54,55, 165 need update in french, spanish and german
Heinrichsweikamp
parents:
290
diff
changeset
|
690 lfsr FSR2,letter |
ceedf078b2d8
Gas Setup page 2 reworked, Texts 107, 108, 109,150, 149, 168, 42, 43, 53,54,55, 165 need update in french, spanish and german
Heinrichsweikamp
parents:
290
diff
changeset
|
691 movlw '+' |
ceedf078b2d8
Gas Setup page 2 reworked, Texts 107, 108, 109,150, 149, 168, 42, 43, 53,54,55, 165 need update in french, spanish and german
Heinrichsweikamp
parents:
290
diff
changeset
|
692 btfsc first_FA |
ceedf078b2d8
Gas Setup page 2 reworked, Texts 107, 108, 109,150, 149, 168, 42, 43, 53,54,55, 165 need update in french, spanish and german
Heinrichsweikamp
parents:
290
diff
changeset
|
693 movlw '-' |
ceedf078b2d8
Gas Setup page 2 reworked, Texts 107, 108, 109,150, 149, 168, 42, 43, 53,54,55, 165 need update in french, spanish and german
Heinrichsweikamp
parents:
290
diff
changeset
|
694 movwf POSTINC2 |
ceedf078b2d8
Gas Setup page 2 reworked, Texts 107, 108, 109,150, 149, 168, 42, 43, 53,54,55, 165 need update in french, spanish and german
Heinrichsweikamp
parents:
290
diff
changeset
|
695 call word_processor |
ceedf078b2d8
Gas Setup page 2 reworked, Texts 107, 108, 109,150, 149, 168, 42, 43, 53,54,55, 165 need update in french, spanish and german
Heinrichsweikamp
parents:
290
diff
changeset
|
696 |
ceedf078b2d8
Gas Setup page 2 reworked, Texts 107, 108, 109,150, 149, 168, 42, 43, 53,54,55, 165 need update in french, spanish and german
Heinrichsweikamp
parents:
290
diff
changeset
|
697 ; Show MOD as "default" |
ceedf078b2d8
Gas Setup page 2 reworked, Texts 107, 108, 109,150, 149, 168, 42, 43, 53,54,55, 165 need update in french, spanish and german
Heinrichsweikamp
parents:
290
diff
changeset
|
698 WIN_TOP .155 |
299
eac799f69360
some cleanup, french and german texts updated
heinrichsweikamp
parents:
297
diff
changeset
|
699 WIN_LEFT .20 |
297
ceedf078b2d8
Gas Setup page 2 reworked, Texts 107, 108, 109,150, 149, 168, 42, 43, 53,54,55, 165 need update in french, spanish and german
Heinrichsweikamp
parents:
290
diff
changeset
|
700 lfsr FSR2, letter |
ceedf078b2d8
Gas Setup page 2 reworked, Texts 107, 108, 109,150, 149, 168, 42, 43, 53,54,55, 165 need update in french, spanish and german
Heinrichsweikamp
parents:
290
diff
changeset
|
701 |
299
eac799f69360
some cleanup, french and german texts updated
heinrichsweikamp
parents:
297
diff
changeset
|
702 OUTPUTTEXT .109 ; Default: |
eac799f69360
some cleanup, french and german texts updated
heinrichsweikamp
parents:
297
diff
changeset
|
703 |
eac799f69360
some cleanup, french and german texts updated
heinrichsweikamp
parents:
297
diff
changeset
|
704 rcall gassetup_get_mod ; compute MOD based on CF18 into lo:hi |
297
ceedf078b2d8
Gas Setup page 2 reworked, Texts 107, 108, 109,150, 149, 168, 42, 43, 53,54,55, 165 need update in french, spanish and german
Heinrichsweikamp
parents:
290
diff
changeset
|
705 |
ceedf078b2d8
Gas Setup page 2 reworked, Texts 107, 108, 109,150, 149, 168, 42, 43, 53,54,55, 165 need update in french, spanish and german
Heinrichsweikamp
parents:
290
diff
changeset
|
706 btfsc second_FA ; Is first gas? |
ceedf078b2d8
Gas Setup page 2 reworked, Texts 107, 108, 109,150, 149, 168, 42, 43, 53,54,55, 165 need update in french, spanish and german
Heinrichsweikamp
parents:
290
diff
changeset
|
707 clrf lo ; Yes, display 0m |
ceedf078b2d8
Gas Setup page 2 reworked, Texts 107, 108, 109,150, 149, 168, 42, 43, 53,54,55, 165 need update in french, spanish and german
Heinrichsweikamp
parents:
290
diff
changeset
|
708 btfsc second_FA ; Is first gas? |
ceedf078b2d8
Gas Setup page 2 reworked, Texts 107, 108, 109,150, 149, 168, 42, 43, 53,54,55, 165 need update in french, spanish and german
Heinrichsweikamp
parents:
290
diff
changeset
|
709 clrf hi ; Yes, display 0m |
ceedf078b2d8
Gas Setup page 2 reworked, Texts 107, 108, 109,150, 149, 168, 42, 43, 53,54,55, 165 need update in french, spanish and german
Heinrichsweikamp
parents:
290
diff
changeset
|
710 |
ceedf078b2d8
Gas Setup page 2 reworked, Texts 107, 108, 109,150, 149, 168, 42, 43, 53,54,55, 165 need update in french, spanish and german
Heinrichsweikamp
parents:
290
diff
changeset
|
711 output_16 |
445 | 712 STRCAT_PRINT TXT_METER3 |
297
ceedf078b2d8
Gas Setup page 2 reworked, Texts 107, 108, 109,150, 149, 168, 42, 43, 53,54,55, 165 need update in french, spanish and german
Heinrichsweikamp
parents:
290
diff
changeset
|
713 |
ceedf078b2d8
Gas Setup page 2 reworked, Texts 107, 108, 109,150, 149, 168, 42, 43, 53,54,55, 165 need update in french, spanish and german
Heinrichsweikamp
parents:
290
diff
changeset
|
714 WIN_TOP .35 |
0 | 715 WIN_LEFT .20 |
716 lfsr FSR2,letter | |
717 OUTPUTTEXT .105 ; "Active Gas? " | |
718 | |
287 | 719 ; Active gas flags in BIT0:4 .... |
0 | 720 movff decodata+0,lo ; Gas 0-4 |
721 incf lo,F ; Gas 1-5 | |
722 | |
287 | 723 read_int_eeprom d'27' ; read flag register |
0 | 724 active_gas_display: |
725 rrcf EEDATA ; roll flags into carry | |
726 decfsz lo,F ; max. 5 times... | |
727 bra active_gas_display | |
728 | |
729 btfss STATUS,C ; test carry | |
730 bra active_gas_display_no | |
731 | |
732 OUTPUTTEXT .96 ; Yes | |
733 bra active_gas_display_end | |
734 | |
735 active_gas_display_no: | |
123 | 736 STRCAT " " ; three spaces instead of "Yes" |
0 | 737 |
738 active_gas_display_end: | |
739 call word_processor | |
740 | |
741 call wait_switches ; Waits until switches are released, resets flag if button stays pressed! | |
681 | 742 call DISP_menu_cursor |
0 | 743 |
744 next_gas_page_loop: | |
745 call check_switches_logbook | |
746 | |
747 btfsc menubit3 | |
748 bra next_gas_page2 ; move cursor | |
749 | |
750 btfsc menubit2 | |
751 bra do_next_gas_page ; call submenu | |
752 | |
753 btfsc onesecupdate | |
575 | 754 call menu_check_dive_and_timeout ; "Goto restart" or sets sleepmode flag |
0 | 755 |
756 bcf onesecupdate ; 1 sec. functions done | |
757 | |
571
7f5419d4157d
timeout for 2nd page of Gas Setup, ceiling allingment
heinrichsweikamp
parents:
532
diff
changeset
|
758 btfsc sleepmode |
7f5419d4157d
timeout for 2nd page of Gas Setup, ceiling allingment
heinrichsweikamp
parents:
532
diff
changeset
|
759 bra exit_gassetup |
7f5419d4157d
timeout for 2nd page of Gas Setup, ceiling allingment
heinrichsweikamp
parents:
532
diff
changeset
|
760 |
0 | 761 bra next_gas_page_loop |
762 | |
763 next_gas_page2: | |
764 incf menupos,F | |
765 | |
766 movlw d'7' | |
767 cpfseq menupos ; =7? | |
768 bra next_gas_page3 ; No | |
769 movlw d'1' | |
770 movwf menupos | |
771 | |
772 next_gas_page3: | |
773 clrf timeout_counter2 | |
681 | 774 call DISP_menu_cursor |
0 | 775 |
776 call wait_switches ; Waits until switches are released, resets flag if button stays pressed! | |
777 | |
778 bcf menubit3 ; clear flag | |
779 bra next_gas_page_loop | |
780 | |
781 do_next_gas_page: | |
782 dcfsnz menupos,F | |
783 bra toggle_active_gas | |
784 dcfsnz menupos,F | |
785 bra make_first_gas | |
786 dcfsnz menupos,F | |
297
ceedf078b2d8
Gas Setup page 2 reworked, Texts 107, 108, 109,150, 149, 168, 42, 43, 53,54,55, 165 need update in french, spanish and german
Heinrichsweikamp
parents:
290
diff
changeset
|
787 bra change_gas_depth_plus_minus |
0 | 788 dcfsnz menupos,F |
297
ceedf078b2d8
Gas Setup page 2 reworked, Texts 107, 108, 109,150, 149, 168, 42, 43, 53,54,55, 165 need update in french, spanish and german
Heinrichsweikamp
parents:
290
diff
changeset
|
789 bra change_gas_depth_apply |
ceedf078b2d8
Gas Setup page 2 reworked, Texts 107, 108, 109,150, 149, 168, 42, 43, 53,54,55, 165 need update in french, spanish and german
Heinrichsweikamp
parents:
290
diff
changeset
|
790 dcfsnz menupos,F |
ceedf078b2d8
Gas Setup page 2 reworked, Texts 107, 108, 109,150, 149, 168, 42, 43, 53,54,55, 165 need update in french, spanish and german
Heinrichsweikamp
parents:
290
diff
changeset
|
791 bra change_gas_depth_default |
ceedf078b2d8
Gas Setup page 2 reworked, Texts 107, 108, 109,150, 149, 168, 42, 43, 53,54,55, 165 need update in french, spanish and german
Heinrichsweikamp
parents:
290
diff
changeset
|
792 bra next_gas |
0 | 793 |
794 make_first_gas: | |
795 movff decodata+0,EEDATA ; current gas (0-4) into EEDATA | |
796 incf EEDATA,F ; current gas (1-5) into EEDATA | |
797 movlw d'33' | |
798 movwf EEADR | |
799 call write_eeprom ; store in internal EEPROM | |
115 | 800 |
801 ; Set First gas to "Active" | |
802 read_int_eeprom d'27' ; read flag register | |
803 movff decodata+0,lo ; selected gas 0-4 | |
804 incf lo,F | |
805 dcfsnz lo,F | |
806 bsf EEDATA,0 | |
807 dcfsnz lo,F | |
808 bsf EEDATA,1 | |
809 dcfsnz lo,F | |
810 bsf EEDATA,2 | |
811 dcfsnz lo,F | |
812 bsf EEDATA,3 | |
813 dcfsnz lo,F | |
814 bsf EEDATA,4 | |
815 write_int_eeprom d'27' ; write flag register | |
816 | |
297
ceedf078b2d8
Gas Setup page 2 reworked, Texts 107, 108, 109,150, 149, 168, 42, 43, 53,54,55, 165 need update in french, spanish and german
Heinrichsweikamp
parents:
290
diff
changeset
|
817 movlw d'2' |
0 | 818 movwf menupos |
819 bra next_gas_page1 | |
820 | |
821 toggle_active_gas: | |
822 read_int_eeprom d'27' ; read flag register | |
823 movff decodata+0,lo ; selected gas 0-4 | |
824 incf lo,F | |
825 dcfsnz lo,F | |
826 btg EEDATA,0 | |
827 dcfsnz lo,F | |
828 btg EEDATA,1 | |
829 dcfsnz lo,F | |
830 btg EEDATA,2 | |
831 dcfsnz lo,F | |
832 btg EEDATA,3 | |
833 dcfsnz lo,F | |
834 btg EEDATA,4 | |
835 write_int_eeprom d'27' ; write flag register | |
297
ceedf078b2d8
Gas Setup page 2 reworked, Texts 107, 108, 109,150, 149, 168, 42, 43, 53,54,55, 165 need update in french, spanish and german
Heinrichsweikamp
parents:
290
diff
changeset
|
836 movlw d'1' |
0 | 837 movwf menupos |
838 bra next_gas_page1 | |
839 | |
297
ceedf078b2d8
Gas Setup page 2 reworked, Texts 107, 108, 109,150, 149, 168, 42, 43, 53,54,55, 165 need update in french, spanish and german
Heinrichsweikamp
parents:
290
diff
changeset
|
840 change_gas_depth_apply: ; Apply +1 or -1m |
0 | 841 movf decodata+0,W ; read current value |
842 addlw d'28' ; offset in memory | |
843 movwf EEADR | |
844 call read_eeprom ; Low-value | |
845 movff EEDATA,lo | |
297
ceedf078b2d8
Gas Setup page 2 reworked, Texts 107, 108, 109,150, 149, 168, 42, 43, 53,54,55, 165 need update in french, spanish and german
Heinrichsweikamp
parents:
290
diff
changeset
|
846 |
ceedf078b2d8
Gas Setup page 2 reworked, Texts 107, 108, 109,150, 149, 168, 42, 43, 53,54,55, 165 need update in french, spanish and german
Heinrichsweikamp
parents:
290
diff
changeset
|
847 btfsc first_FA ; Minus? |
ceedf078b2d8
Gas Setup page 2 reworked, Texts 107, 108, 109,150, 149, 168, 42, 43, 53,54,55, 165 need update in french, spanish and german
Heinrichsweikamp
parents:
290
diff
changeset
|
848 bra change_gas_depth_minus ; yes, minus! |
ceedf078b2d8
Gas Setup page 2 reworked, Texts 107, 108, 109,150, 149, 168, 42, 43, 53,54,55, 165 need update in french, spanish and german
Heinrichsweikamp
parents:
290
diff
changeset
|
849 ; +1m |
ceedf078b2d8
Gas Setup page 2 reworked, Texts 107, 108, 109,150, 149, 168, 42, 43, 53,54,55, 165 need update in french, spanish and german
Heinrichsweikamp
parents:
290
diff
changeset
|
850 |
0 | 851 incf lo,F ; increase depth |
852 movlw d'100' ; Change depth limit + 1 | |
299
eac799f69360
some cleanup, french and german texts updated
heinrichsweikamp
parents:
297
diff
changeset
|
853 cpfslt lo ; >99? |
eac799f69360
some cleanup, french and german texts updated
heinrichsweikamp
parents:
297
diff
changeset
|
854 clrf lo ; Yes, set to zero m |
eac799f69360
some cleanup, french and german texts updated
heinrichsweikamp
parents:
297
diff
changeset
|
855 |
0 | 856 change_gas_depth_plus2: |
857 movff lo,EEDATA ; write result | |
858 call write_eeprom ; save result in EEPROM | |
859 movlw d'4' | |
860 movwf menupos | |
861 bra next_gas_page1 | |
862 | |
297
ceedf078b2d8
Gas Setup page 2 reworked, Texts 107, 108, 109,150, 149, 168, 42, 43, 53,54,55, 165 need update in french, spanish and german
Heinrichsweikamp
parents:
290
diff
changeset
|
863 change_gas_depth_minus: |
299
eac799f69360
some cleanup, french and german texts updated
heinrichsweikamp
parents:
297
diff
changeset
|
864 ; -1m |
297
ceedf078b2d8
Gas Setup page 2 reworked, Texts 107, 108, 109,150, 149, 168, 42, 43, 53,54,55, 165 need update in french, spanish and german
Heinrichsweikamp
parents:
290
diff
changeset
|
865 decf lo,F ; decrease depth |
299
eac799f69360
some cleanup, french and german texts updated
heinrichsweikamp
parents:
297
diff
changeset
|
866 btfsc lo,7 ; 255? |
eac799f69360
some cleanup, french and german texts updated
heinrichsweikamp
parents:
297
diff
changeset
|
867 clrf lo ; Yes, stay at zero m |
297
ceedf078b2d8
Gas Setup page 2 reworked, Texts 107, 108, 109,150, 149, 168, 42, 43, 53,54,55, 165 need update in french, spanish and german
Heinrichsweikamp
parents:
290
diff
changeset
|
868 bra change_gas_depth_plus2 ; exit |
0 | 869 |
297
ceedf078b2d8
Gas Setup page 2 reworked, Texts 107, 108, 109,150, 149, 168, 42, 43, 53,54,55, 165 need update in french, spanish and german
Heinrichsweikamp
parents:
290
diff
changeset
|
870 change_gas_depth_plus_minus: |
ceedf078b2d8
Gas Setup page 2 reworked, Texts 107, 108, 109,150, 149, 168, 42, 43, 53,54,55, 165 need update in french, spanish and german
Heinrichsweikamp
parents:
290
diff
changeset
|
871 btg first_FA |
ceedf078b2d8
Gas Setup page 2 reworked, Texts 107, 108, 109,150, 149, 168, 42, 43, 53,54,55, 165 need update in french, spanish and german
Heinrichsweikamp
parents:
290
diff
changeset
|
872 movlw d'3' |
ceedf078b2d8
Gas Setup page 2 reworked, Texts 107, 108, 109,150, 149, 168, 42, 43, 53,54,55, 165 need update in french, spanish and german
Heinrichsweikamp
parents:
290
diff
changeset
|
873 movwf menupos |
ceedf078b2d8
Gas Setup page 2 reworked, Texts 107, 108, 109,150, 149, 168, 42, 43, 53,54,55, 165 need update in french, spanish and german
Heinrichsweikamp
parents:
290
diff
changeset
|
874 bra next_gas_page1 |
ceedf078b2d8
Gas Setup page 2 reworked, Texts 107, 108, 109,150, 149, 168, 42, 43, 53,54,55, 165 need update in french, spanish and german
Heinrichsweikamp
parents:
290
diff
changeset
|
875 |
ceedf078b2d8
Gas Setup page 2 reworked, Texts 107, 108, 109,150, 149, 168, 42, 43, 53,54,55, 165 need update in french, spanish and german
Heinrichsweikamp
parents:
290
diff
changeset
|
876 change_gas_depth_default: |
299
eac799f69360
some cleanup, french and german texts updated
heinrichsweikamp
parents:
297
diff
changeset
|
877 rcall gassetup_get_mod ; compute MOD based on CF18 into lo:hi |
297
ceedf078b2d8
Gas Setup page 2 reworked, Texts 107, 108, 109,150, 149, 168, 42, 43, 53,54,55, 165 need update in french, spanish and german
Heinrichsweikamp
parents:
290
diff
changeset
|
878 |
299
eac799f69360
some cleanup, french and german texts updated
heinrichsweikamp
parents:
297
diff
changeset
|
879 movlw d'99' |
eac799f69360
some cleanup, french and german texts updated
heinrichsweikamp
parents:
297
diff
changeset
|
880 cpfslt lo |
eac799f69360
some cleanup, french and german texts updated
heinrichsweikamp
parents:
297
diff
changeset
|
881 movwf lo ; limit to 99m |
297
ceedf078b2d8
Gas Setup page 2 reworked, Texts 107, 108, 109,150, 149, 168, 42, 43, 53,54,55, 165 need update in french, spanish and german
Heinrichsweikamp
parents:
290
diff
changeset
|
882 |
377
be71e563ac09
First gas can be reset to 0m, test for timer1 race condition
heinrichsweikamp
parents:
376
diff
changeset
|
883 btfsc second_FA ; Is first gas? |
be71e563ac09
First gas can be reset to 0m, test for timer1 race condition
heinrichsweikamp
parents:
376
diff
changeset
|
884 clrf lo ; Yes, set to 0m |
be71e563ac09
First gas can be reset to 0m, test for timer1 race condition
heinrichsweikamp
parents:
376
diff
changeset
|
885 |
0 | 886 movf decodata+0,W ; read current value |
887 addlw d'28' ; offset in memory | |
888 movwf EEADR | |
377
be71e563ac09
First gas can be reset to 0m, test for timer1 race condition
heinrichsweikamp
parents:
376
diff
changeset
|
889 ; call read_eeprom ; Low-value |
0 | 890 movff lo,EEDATA ; write result |
891 call write_eeprom ; save result in EEPROM | |
892 | |
893 movlw d'5' | |
894 movwf menupos | |
895 bra next_gas_page1 | |
896 | |
297
ceedf078b2d8
Gas Setup page 2 reworked, Texts 107, 108, 109,150, 149, 168, 42, 43, 53,54,55, 165 need update in french, spanish and german
Heinrichsweikamp
parents:
290
diff
changeset
|
897 |
0 | 898 ; Changed v1.44se |
899 gassetup_title_bar2: | |
681 | 900 call DISP_topline_box |
0 | 901 WIN_INVERT .1 ; Init new Wordprocessor |
902 WIN_TOP .2 | |
903 WIN_LEFT .0 | |
904 lfsr FSR2,letter | |
905 OUTPUTTEXT .95 ; Gas# | |
906 movff decodata+0,lo | |
907 incf lo,F | |
908 bsf leftbind | |
909 output_99 | |
123 | 910 STRCAT_PRINT ": " |
0 | 911 |
912 WIN_TOP .2 | |
913 WIN_LEFT .50 | |
914 lfsr FSR2,letter | |
915 | |
916 ;He check | |
917 movf divemins+0,W | |
918 addlw 0x07 | |
919 movwf EEADR | |
920 call read_eeprom ; He value | |
921 movff EEDATA,lo ; Move EEData -> lo | |
922 movf lo,f ; Move lo -> f | |
923 movlw d'0' ; Move 0 -> WREG | |
924 cpfsgt lo ; He > 0? | |
925 bra gassetup_title_bar3 ; NO check o2 | |
926 | |
927 ; YES Write TX 15/55 | |
642 | 928 STRCAT TXT_TX3 |
0 | 929 movf divemins+0,W |
930 addlw 0x06 | |
931 movwf EEADR | |
932 call read_eeprom ; O2 value | |
933 movff EEDATA,lo | |
934 output_8 ; Write O2 | |
123 | 935 PUTC '/' |
0 | 936 movf divemins+0,W |
937 addlw 0x07 | |
938 movwf EEADR | |
939 call read_eeprom ; He value | |
940 movff EEDATA,lo | |
941 output_8 ; Write He | |
942 bra gassetup_title_bar7 | |
943 | |
944 ; New v1.44se | |
945 gassetup_title_bar3: ; O2 Check | |
946 movf divemins+0,W | |
947 addlw 0x06 | |
948 movwf EEADR | |
949 call read_eeprom ; O2 value | |
950 movff EEDATA,lo | |
951 movf lo,f ; Move lo -> f | |
952 movlw d'21' ; Move 21 -> WREG | |
953 cpfseq lo ; o2 = 21 | |
954 cpfsgt lo ; o2 > 21% | |
955 bra gassetup_title_bar5 ; NO AIR | |
956 movlw d'100' ; Move 100 -> WREG | |
957 cpfslt lo ; o2 < 100% | |
958 bra gassetup_title_bar4 ; NO write O2 | |
959 | |
960 ; YES Write NX 32 | |
642 | 961 STRCAT TXT_NX3 |
0 | 962 output_8 |
963 bra gassetup_title_bar7 | |
964 | |
965 ; New v1.44se | |
966 gassetup_title_bar4: | |
445 | 967 STRCAT TXT_O2_3 |
0 | 968 output_8 |
969 bra gassetup_title_bar7 | |
970 | |
971 ; New v1.44se | |
972 gassetup_title_bar5: | |
973 cpfseq lo ; o2 = 21% | |
974 bra gassetup_title_bar6 | |
975 | |
445 | 976 STRCAT TXT_AIR4 |
0 | 977 output_8 |
978 bra gassetup_title_bar7 | |
979 | |
980 ; New v1.44se | |
981 gassetup_title_bar6: ; ERROR | |
445 | 982 STRCAT TXT_ERR4 |
0 | 983 output_8 |
642 | 984 ;bra gassetup_title_bar7 |
0 | 985 |
986 gassetup_title_bar7: | |
532 | 987 STRCAT TXT_AT4 |
0 | 988 movf decodata+0,W ; read current value |
989 addlw d'28' ; offset in memory | |
990 movwf EEADR | |
991 call read_eeprom ; Low-value | |
992 movff EEDATA,lo | |
993 output_8 | |
445 | 994 STRCAT_PRINT TXT_METER2 |
0 | 995 |
996 WIN_INVERT .0 ; Init new Wordprocessor | |
997 return | |
998 | |
999 gassetup_show_ppO2: | |
1000 movf divemins+0,W | |
1001 addlw 0x06 | |
1002 movwf EEADR | |
1003 call read_eeprom ; O2 value | |
1004 movff EEDATA,hi | |
1005 | |
1006 movf decodata+0,W ; read current value | |
1007 addlw d'28' ; offset in memory | |
1008 movwf EEADR | |
1009 call read_eeprom ; Change depth in m | |
1010 movff EEDATA,lo | |
1011 movlw d'10' | |
1012 addwf lo,F ; Depth+10m=lo | |
1013 movf hi,W | |
1014 mulwf lo ; (Depth+10m)*O2 | |
1015 movff PRODL,xA+0 | |
1016 movff PRODH,xA+1 | |
1017 movlw d'10' | |
1018 movwf xB+0 | |
1019 clrf xB+1 | |
1020 call div16x16 ;xA/xB=xC with xA as remainder | |
398
ab962c4b19d6
Fixing issue 50, correct "Bar" to "bar" in texts and comments
heinrichsweikamp
parents:
377
diff
changeset
|
1021 movff xC+0,lo ; ((Depth+10m)*O2)/10 = [0.01bar] ppO2 |
0 | 1022 movff xC+1,hi |
1023 output_16dp d'3' | |
297
ceedf078b2d8
Gas Setup page 2 reworked, Texts 107, 108, 109,150, 149, 168, 42, 43, 53,54,55, 165 need update in french, spanish and german
Heinrichsweikamp
parents:
290
diff
changeset
|
1024 OUTPUTTEXT d'150' ; bar: |
35 | 1025 return |
1026 | |
299
eac799f69360
some cleanup, french and german texts updated
heinrichsweikamp
parents:
297
diff
changeset
|
1027 gassetup_get_mod: |
eac799f69360
some cleanup, french and german texts updated
heinrichsweikamp
parents:
297
diff
changeset
|
1028 GETCUSTOM8 .18 ; ppO2 warnvalue in WREG |
eac799f69360
some cleanup, french and german texts updated
heinrichsweikamp
parents:
297
diff
changeset
|
1029 mullw d'10' |
eac799f69360
some cleanup, french and german texts updated
heinrichsweikamp
parents:
297
diff
changeset
|
1030 movff PRODL,xA+0 |
398
ab962c4b19d6
Fixing issue 50, correct "Bar" to "bar" in texts and comments
heinrichsweikamp
parents:
377
diff
changeset
|
1031 movff PRODH,xA+1 ; ppO2 in [0.01bar] * 10 |
299
eac799f69360
some cleanup, french and german texts updated
heinrichsweikamp
parents:
297
diff
changeset
|
1032 movf divemins+0,W |
eac799f69360
some cleanup, french and german texts updated
heinrichsweikamp
parents:
297
diff
changeset
|
1033 addlw 0x06 |
eac799f69360
some cleanup, french and german texts updated
heinrichsweikamp
parents:
297
diff
changeset
|
1034 movwf EEADR |
eac799f69360
some cleanup, french and german texts updated
heinrichsweikamp
parents:
297
diff
changeset
|
1035 call read_eeprom ; O2 value |
eac799f69360
some cleanup, french and german texts updated
heinrichsweikamp
parents:
297
diff
changeset
|
1036 movff EEDATA,xB+0 |
eac799f69360
some cleanup, french and german texts updated
heinrichsweikamp
parents:
297
diff
changeset
|
1037 clrf xB+1 |
eac799f69360
some cleanup, french and german texts updated
heinrichsweikamp
parents:
297
diff
changeset
|
1038 call div16x16 ; xA/xB=xC with xA as remainder |
eac799f69360
some cleanup, french and german texts updated
heinrichsweikamp
parents:
297
diff
changeset
|
1039 movlw d'10' |
eac799f69360
some cleanup, french and german texts updated
heinrichsweikamp
parents:
297
diff
changeset
|
1040 subwf xC+0,F ; Subtract 10m... |
eac799f69360
some cleanup, french and german texts updated
heinrichsweikamp
parents:
297
diff
changeset
|
1041 movff xC+0,lo |
eac799f69360
some cleanup, french and german texts updated
heinrichsweikamp
parents:
297
diff
changeset
|
1042 movlw d'0' |
eac799f69360
some cleanup, french and german texts updated
heinrichsweikamp
parents:
297
diff
changeset
|
1043 subwfb xC+1,F |
eac799f69360
some cleanup, french and german texts updated
heinrichsweikamp
parents:
297
diff
changeset
|
1044 movff xC+1,hi |
eac799f69360
some cleanup, french and german texts updated
heinrichsweikamp
parents:
297
diff
changeset
|
1045 return |
eac799f69360
some cleanup, french and german texts updated
heinrichsweikamp
parents:
297
diff
changeset
|
1046 |
eac799f69360
some cleanup, french and german texts updated
heinrichsweikamp
parents:
297
diff
changeset
|
1047 |
eac799f69360
some cleanup, french and german texts updated
heinrichsweikamp
parents:
297
diff
changeset
|
1048 |
227 | 1049 ;============================================================================= |
287 | 1050 ; Make sure first gas is marked active. |
1051 ; Note: - Gas are not soted anymore. | |
1052 ; - Gas with a depth>0 should not be forced active, or it is impossible | |
1053 ; to de-activate them. | |
1054 gassetup_sort_gaslist: | |
286 | 1055 |
287 | 1056 clrf EEADRH ; Select EEPROM lower page. |
1057 read_int_eeprom d'33' ; Get First gas (1-5) | |
1058 movff EEDATA,lo ; into register lo | |
286 | 1059 |
287 | 1060 read_int_eeprom d'27' ; Read selected gases |
286 | 1061 |
287 | 1062 dcfsnz lo,F ; If lo==1 |
1063 bsf EEDATA,0 ; Select Gas1 | |
1064 dcfsnz lo,F ; If lo==2 | |
1065 bsf EEDATA,1 ; Select Gas2 | |
1066 dcfsnz lo,F | |
1067 bsf EEDATA,2 | |
1068 dcfsnz lo,F | |
1069 bsf EEDATA,3 | |
1070 dcfsnz lo,F | |
1071 bsf EEDATA,4 | |
1072 | |
1073 ; Copy result to register: | |
290
4dbff2aa31ee
Hunting for refusing to ignore disabled gas in list...
JeanDo
parents:
287
diff
changeset
|
1074 movff EEDATA,gaslist_active |
287 | 1075 |
1076 ; And write to EEPROM too, to survive next reboot: | |
1077 write_int_eeprom d'27' | |
286 | 1078 |
1079 return | |
281 | 1080 |
287 | 1081 ;============================================================================= |
35 | 1082 ; EEPROM Locations of Gaslist |
1083 ; Gas1: | |
1084 ; O2 Default:4 | |
1085 ; He Default:5 | |
1086 ; O2 Current:6 | |
1087 ; He Current:7 | |
1088 ; Change: 28 | |
1089 ; Active: 27,0 | |
1090 | |
1091 ; Gas2: | |
1092 ; O2 Default:8 | |
1093 ; He Default:9 | |
1094 ; O2 Current:10 | |
1095 ; He Current:11 | |
1096 ; Change: 29 | |
1097 ; Active: 27,1 | |
1098 | |
1099 ; Gas3: | |
1100 ; O2 Default:12 | |
1101 ; He Default:13 | |
1102 ; O2 Current:14 | |
1103 ; He Current:15 | |
1104 ; Change: 30 | |
1105 ; Active: 27,2 | |
1106 | |
1107 ; Gas4: | |
1108 ; O2 Default:16 | |
1109 ; He Default:17 | |
1110 ; O2 Current:18 | |
1111 ; He Current:19 | |
1112 ; Change: 31 | |
1113 ; Active: 27,3 | |
1114 | |
1115 ; Gas5: | |
1116 ; O2 Default:20 | |
1117 ; He Default:21 | |
1118 ; O2 Current:22 | |
1119 ; He Current:23 | |
1120 ; Change: 32 | |
1121 ; Active: 27,4 |