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