comparison src/divemenu_tree.asm @ 643:7d8a4c60ec1a

3.15 release
author heinrichsweikamp
date Mon, 24 May 2021 18:40:53 +0200
parents 8c1f1f334275
children bc214815deb2
comparison
equal deleted inserted replaced
642:a9a0188091e4 643:7d8a4c60ec1a
88 TSTOSS opt_cave_mode ; cave mode switched on? 88 TSTOSS opt_cave_mode ; cave mode switched on?
89 bra main_divemenu_OC_nocave ; NO - use version without cave mode entry 89 bra main_divemenu_OC_nocave ; NO - use version without cave mode entry
90 ;bra main_divemenu_OC_cave ; YES - use version with cave mode entry 90 ;bra main_divemenu_OC_cave ; YES - use version with cave mode entry
91 91
92 main_divemenu_OC_cave: 92 main_divemenu_OC_cave:
93 MENU_BEGIN_DIVE .6 93 MENU_BEGIN_DIVE tMainMenu, .6
94 MENU_CALL tDivemenu_Gaslist, do_divemode_gaslist 94 MENU_CALL tDivemenu_Gaslist, do_divemode_gaslist
95 MENU_CALL tDivemenu_ResetAvg, do_reset_average 95 MENU_CALL tDivemenu_ResetAvg, do_reset_average
96 MENU_DYNAMIC dyn_toggle_gf, do_toggle_gf 96 MENU_DYNAMIC dyn_toggle_gf, do_toggle_gf
97 MENU_CALL tDivemenu_Marker, do_set_marker 97 MENU_CALL tDivemenu_Marker, do_set_marker
98 MENU_CALL tCaveMode, do_main_cavemenu 98 MENU_CALL tCaveMode, do_main_cavemenu
99 MENU_CALL tExit, do_exit_divemode_menu 99 MENU_CALL tExit, do_exit_divemode_menu
100 MENU_END 100 MENU_END
101 ENDIF ; _cave_mode 101 ENDIF ; _cave_mode
102 102
103 main_divemenu_OC_nocave: 103 main_divemenu_OC_nocave:
104 MENU_BEGIN_DIVE .5 104 MENU_BEGIN_DIVE tMainMenu, .5
105 MENU_CALL tDivemenu_Gaslist, do_divemode_gaslist 105 MENU_CALL tDivemenu_Gaslist, do_divemode_gaslist
106 MENU_CALL tDivemenu_ResetAvg, do_reset_average 106 MENU_CALL tDivemenu_ResetAvg, do_reset_average
107 MENU_DYNAMIC dyn_toggle_gf, do_toggle_gf 107 MENU_DYNAMIC dyn_toggle_gf, do_toggle_gf
108 MENU_CALL tDivemenu_Marker, do_set_marker 108 MENU_CALL tDivemenu_Marker, do_set_marker
109 MENU_CALL tExit, do_exit_divemode_menu 109 MENU_CALL tExit, do_exit_divemode_menu
115 bsf is_diluent_menu ; selecting diluents ... 115 bsf is_diluent_menu ; selecting diluents ...
116 bcf is_bailout_menu ; ... (definitely) not for bailout reason 116 bcf is_bailout_menu ; ... (definitely) not for bailout reason
117 btfsc FLAG_pscr_mode ; in pSCR mode? 117 btfsc FLAG_pscr_mode ; in pSCR mode?
118 bra main_divemenu_pscr ; YES - show pSCR menu 118 bra main_divemenu_pscr ; YES - show pSCR menu
119 119
120 MENU_BEGIN_DIVE .6 120 MENU_BEGIN_DIVE tMainMenu, .6
121 MENU_CALL tDiveBailout, do_divemode_gaslist_bail 121 MENU_CALL tDiveBailout, do_divemode_gaslist_bail
122 MENU_CALL tDivemenu_Setpoint, do_divemode_splist 122 MENU_CALL tDivemenu_Setpoint, do_divemode_splist
123 MENU_CALL tDivemenu_Diluent, do_divemode_gaslist 123 MENU_CALL tDivemenu_Diluent, do_divemode_gaslist
124 MENU_CALL tDivemenu_Avg_Mkr, do_reset_avg_set_mkr 124 MENU_CALL tDivemenu_Avg_Mkr, do_reset_avg_set_mkr
125 MENU_DYNAMIC dyn_toggle_gf, do_toggle_gf 125 MENU_DYNAMIC dyn_toggle_gf, do_toggle_gf
134 btfsc ext_input_optical ; do we have an optical input (OSTC 3)? 134 btfsc ext_input_optical ; do we have an optical input (OSTC 3)?
135 bra main_divemenu_pscr_sensors ; YES - do menu with calibration 135 bra main_divemenu_pscr_sensors ; YES - do menu with calibration
136 ENDIF ; _external_sensor 136 ENDIF ; _external_sensor
137 137
138 main_divemenu_pscr_no_sensors: 138 main_divemenu_pscr_no_sensors:
139 MENU_BEGIN_DIVE .6 139 MENU_BEGIN_DIVE tMainMenu, .6
140 MENU_CALL tDiveBailout, do_divemode_gaslist_bail 140 MENU_CALL tDiveBailout, do_divemode_gaslist_bail
141 MENU_CALL tDivemenu_Premix, do_divemode_gaslist 141 MENU_CALL tDivemenu_Premix, do_divemode_gaslist
142 MENU_CALL tBackToLoop, do_switch_sp_calc 142 MENU_CALL tBackToLoop, do_switch_sp_calc
143 MENU_CALL tDivemenu_Avg_Mkr, do_reset_avg_set_mkr 143 MENU_CALL tDivemenu_Avg_Mkr, do_reset_avg_set_mkr
144 MENU_DYNAMIC dyn_toggle_gf, do_toggle_gf 144 MENU_DYNAMIC dyn_toggle_gf, do_toggle_gf
145 MENU_CALL tExit, do_exit_divemode_menu 145 MENU_CALL tExit, do_exit_divemode_menu
146 MENU_END 146 MENU_END
147 147
148 IFDEF _external_sensor 148 IFDEF _external_sensor
149 main_divemenu_pscr_sensors: 149 main_divemenu_pscr_sensors:
150 MENU_BEGIN_DIVE .6 150 MENU_BEGIN_DIVE tMainMenu, .6
151 MENU_CALL tDiveBailout, do_divemode_gaslist_bail 151 MENU_CALL tDiveBailout, do_divemode_gaslist_bail
152 MENU_CALL tCCRModeSensor, do_divemode_setpoint_pscr 152 MENU_CALL tCCRModeSensor, do_divemode_setpoint_pscr
153 MENU_CALL tDivemenu_Premix, do_divemode_gaslist 153 MENU_CALL tDivemenu_Premix, do_divemode_gaslist
154 MENU_CALL tDivemenu_Avg_Mkr, do_reset_avg_set_mkr 154 MENU_CALL tDivemenu_Avg_Mkr, do_reset_avg_set_mkr
155 MENU_DYNAMIC dyn_toggle_gf, do_toggle_gf 155 MENU_DYNAMIC dyn_toggle_gf, do_toggle_gf
212 movwf active_customview ; set custom view number 212 movwf active_customview ; set custom view number
213 call dive_customview_callup ; draw custom view 213 call dive_customview_callup ; draw custom view
214 movlw .1 ; set to first option in dive mode menu 214 movlw .1 ; set to first option in dive mode menu
215 movwf menu_pos_cur ; ... 215 movwf menu_pos_cur ; ...
216 216
217 MENU_BEGIN_DIVE .2 217 MENU_BEGIN_DIVE tDivemenu_ToggleGF, .2
218 MENU_CALL tDivemenu_ToggleGF, do_toggle_gf_toggle 218 MENU_CALL tDivemenu_ToggleGF, do_toggle_gf_toggle
219 MENU_CALL tExit, do_exit_divemode_menu 219 MENU_CALL tExit, do_exit_divemode_menu
220 MENU_END 220 MENU_END
221 221
222 222
252 ; 252 ;
253 do_reset_avg_set_mkr: 253 do_reset_avg_set_mkr:
254 movlw .1 ; set to first option in dive mode menu 254 movlw .1 ; set to first option in dive mode menu
255 movwf menu_pos_cur ; ... 255 movwf menu_pos_cur ; ...
256 256
257 MENU_BEGIN_DIVE .3 257 MENU_BEGIN_DIVE tDivemenu_Marker, .3
258 MENU_CALL tDivemenu_ResetAvg, do_reset_average 258 MENU_CALL tDivemenu_ResetAvg, do_reset_average
259 MENU_CALL tDivemenu_Marker, do_set_marker 259 MENU_CALL tDivemenu_Marker, do_set_marker
260 MENU_CALL tBack, do_return_main_divemenu ; return to main menu 260 MENU_CALL tBack, do_return_main_divemenu ; return to main menu
261 MENU_END 261 MENU_END
262 262
301 btfsc WREG,7 ; best gas/dil number >= 128 (not computed yet) ? 301 btfsc WREG,7 ; best gas/dil number >= 128 (not computed yet) ?
302 movlw .1 ; YES - default to first gas/dil 302 movlw .1 ; YES - default to first gas/dil
303 do_divemode_gaslist_1: 303 do_divemode_gaslist_1:
304 movwf menu_pos_cur ; position cursor to best gas/dil (or first option if none avail) 304 movwf menu_pos_cur ; position cursor to best gas/dil (or first option if none avail)
305 305
306 MENU_BEGIN_DIVE .6 306 MENU_BEGIN_DIVE tDivemenu_Gaslist, .6
307 MENU_DYNAMIC dyn_strcat_gas_prodl, do_switch_gas 307 MENU_DYNAMIC dyn_strcat_gas_prodl, do_switch_gas
308 MENU_DYNAMIC dyn_strcat_gas_prodl, do_switch_gas 308 MENU_DYNAMIC dyn_strcat_gas_prodl, do_switch_gas
309 MENU_DYNAMIC dyn_strcat_gas_prodl, do_switch_gas 309 MENU_DYNAMIC dyn_strcat_gas_prodl, do_switch_gas
310 MENU_DYNAMIC dyn_strcat_gas_prodl, do_switch_gas 310 MENU_DYNAMIC dyn_strcat_gas_prodl, do_switch_gas
311 MENU_DYNAMIC dyn_strcat_gas_prodl, do_switch_gas 311 MENU_DYNAMIC dyn_strcat_gas_prodl, do_switch_gas
365 do_lost_gas_common: 365 do_lost_gas_common:
366 bsf short_gas_descriptions ; do not show "Gas x" etc. 366 bsf short_gas_descriptions ; do not show "Gas x" etc.
367 bcf better_gas_hint ; do not mark the best gas/diluent 367 bcf better_gas_hint ; do not mark the best gas/diluent
368 bcf color_code_gases ; do not color-code the gases/diluents by their ppO2 368 bcf color_code_gases ; do not color-code the gases/diluents by their ppO2
369 369
370 MENU_BEGIN_DIVE .6 370 MENU_BEGIN_DIVE tDivemenu_LostGas, .6
371 MENU_DYNAMIC dyn_strcat_gas_prodl, do_toggle_staged_lost 371 MENU_DYNAMIC dyn_strcat_gas_prodl, do_toggle_staged_lost
372 MENU_DYNAMIC dyn_strcat_gas_prodl, do_toggle_staged_lost 372 MENU_DYNAMIC dyn_strcat_gas_prodl, do_toggle_staged_lost
373 MENU_DYNAMIC dyn_strcat_gas_prodl, do_toggle_staged_lost 373 MENU_DYNAMIC dyn_strcat_gas_prodl, do_toggle_staged_lost
374 MENU_DYNAMIC dyn_strcat_gas_prodl, do_toggle_staged_lost 374 MENU_DYNAMIC dyn_strcat_gas_prodl, do_toggle_staged_lost
375 MENU_DYNAMIC dyn_strcat_gas_prodl, do_toggle_staged_lost 375 MENU_DYNAMIC dyn_strcat_gas_prodl, do_toggle_staged_lost
471 ENDIF ; _helium 471 ENDIF ; _helium
472 bsf block_option_value ; suspend displaying of option values 472 bsf block_option_value ; suspend displaying of option values
473 473
474 474
475 IFDEF _helium 475 IFDEF _helium
476 MENU_BEGIN_DIVE .6 476 MENU_BEGIN_DIVE tGas6, .6
477 MENU_OPT_INCS tO2Plus, oGas6O2 477 MENU_OPT_INCS tO2Plus, oGas6O2
478 MENU_OPT_DECS tO2Minus, oGas6O2 478 MENU_OPT_DECS tO2Minus, oGas6O2
479 MENU_OPT_INCS tHePlus, oGas6He 479 MENU_OPT_INCS tHePlus, oGas6He
480 MENU_OPT_DECS tHeMinus, oGas6He 480 MENU_OPT_DECS tHeMinus, oGas6He
481 MENU_DYNAMIC dyn_show_gas6, do_gas6_switch 481 MENU_DYNAMIC dyn_show_gas6, do_gas6_switch
482 MENU_CALL tExit, do_exit_divemode_menu 482 MENU_CALL tExit, do_exit_divemode_menu
483 MENU_END 483 MENU_END
484 ELSE 484 ELSE
485 MENU_BEGIN_DIVE .4 485 MENU_BEGIN_DIVE tGas6, .4
486 MENU_OPT_INCS tO2Plus, oGas6O2 486 MENU_OPT_INCS tO2Plus, oGas6O2
487 MENU_OPT_DECS tO2Minus, oGas6O2 487 MENU_OPT_DECS tO2Minus, oGas6O2
488 MENU_DYNAMIC dyn_show_gas6, do_gas6_switch 488 MENU_DYNAMIC dyn_show_gas6, do_gas6_switch
489 MENU_CALL tExit, do_exit_divemode_menu 489 MENU_CALL tExit, do_exit_divemode_menu
490 MENU_END 490 MENU_END
539 btfsc ext_input_optical ; do we have an optical input (OSTC 3)? 539 btfsc ext_input_optical ; do we have an optical input (OSTC 3)?
540 bra do_divemode_splist_sensor ; YES 540 bra do_divemode_splist_sensor ; YES
541 ENDIF ; _external_sensor 541 ENDIF ; _external_sensor
542 542
543 do_divemode_splist_no_sensor: 543 do_divemode_splist_no_sensor:
544 MENU_BEGIN_DIVE .6 544 MENU_BEGIN_DIVE tFixedSetpoints, .6
545 MENU_DYNAMIC dyn_strcat_setpoint_prodl, do_switch_sp 545 MENU_DYNAMIC dyn_strcat_setpoint_prodl, do_switch_sp
546 MENU_DYNAMIC dyn_strcat_setpoint_prodl, do_switch_sp 546 MENU_DYNAMIC dyn_strcat_setpoint_prodl, do_switch_sp
547 MENU_DYNAMIC dyn_strcat_setpoint_prodl, do_switch_sp 547 MENU_DYNAMIC dyn_strcat_setpoint_prodl, do_switch_sp
548 MENU_DYNAMIC dyn_strcat_setpoint_prodl, do_switch_sp 548 MENU_DYNAMIC dyn_strcat_setpoint_prodl, do_switch_sp
549 MENU_DYNAMIC dyn_strcat_setpoint_prodl, do_switch_sp 549 MENU_DYNAMIC dyn_strcat_setpoint_prodl, do_switch_sp
552 552
553 553
554 IFDEF _external_sensor 554 IFDEF _external_sensor
555 555
556 do_divemode_splist_sensor: 556 do_divemode_splist_sensor:
557 MENU_BEGIN_DIVE .6 557 MENU_BEGIN_DIVE tFixedSetpoints, .6
558 MENU_DYNAMIC dyn_strcat_setpoint_prodl, do_switch_sp 558 MENU_DYNAMIC dyn_strcat_setpoint_prodl, do_switch_sp
559 MENU_DYNAMIC dyn_strcat_setpoint_prodl, do_switch_sp 559 MENU_DYNAMIC dyn_strcat_setpoint_prodl, do_switch_sp
560 MENU_DYNAMIC dyn_strcat_setpoint_prodl, do_switch_sp 560 MENU_DYNAMIC dyn_strcat_setpoint_prodl, do_switch_sp
561 MENU_DYNAMIC dyn_strcat_setpoint_prodl, do_switch_sp 561 MENU_DYNAMIC dyn_strcat_setpoint_prodl, do_switch_sp
562 MENU_DYNAMIC dyn_strcat_setpoint_prodl, do_switch_sp 562 MENU_DYNAMIC dyn_strcat_setpoint_prodl, do_switch_sp
640 call dive_customview_callup ; call-up the custom view 640 call dive_customview_callup ; call-up the custom view
641 movlw .1 ; set to 1st option: use sensors 641 movlw .1 ; set to 1st option: use sensors
642 movwf menu_pos_cur ; ... 642 movwf menu_pos_cur ; ...
643 643
644 do_return_divemode_common: 644 do_return_divemode_common:
645 MENU_BEGIN_DIVE .6 645 MENU_BEGIN_DIVE tDivemenu_UseSensor,.6
646 MENU_CALL tDivemenu_UseSensor, do_switch_sensor 646 MENU_CALL tDivemenu_UseSensor, do_switch_sensor
647 MENU_CALL tBack, do_divemode_splist 647 MENU_CALL tBack, do_divemode_splist
648 MENU_CALL tExit, do_exit_divemode_menu 648 MENU_CALL tExit, do_exit_divemode_menu
649 MENU_CALL tDiveHudMask1, do_toggle_sensor 649 MENU_CALL tDiveHudMask1, do_toggle_sensor
650 MENU_CALL tDiveHudMask2, do_toggle_sensor 650 MENU_CALL tDiveHudMask2, do_toggle_sensor
653 653
654 do_divemode_setpoint_pscr: 654 do_divemode_setpoint_pscr:
655 movlw .1 655 movlw .1
656 movwf menu_pos_cur ; set to 1st option: use calculated ppO2 656 movwf menu_pos_cur ; set to 1st option: use calculated ppO2
657 657
658 MENU_BEGIN_DIVE .6 658 MENU_BEGIN_DIVE tDivemenu_UseSensor,.6
659 MENU_CALL tCalculated, do_switch_sp_calc 659 MENU_CALL tCalculated, do_switch_sp_calc
660 MENU_CALL tDivemenu_UseSensor, do_switch_sensor 660 MENU_CALL tDivemenu_UseSensor, do_switch_sensor
661 MENU_CALL tExit, do_exit_divemode_menu 661 MENU_CALL tExit, do_exit_divemode_menu
662 MENU_CALL tDiveHudMask1, do_toggle_sensor 662 MENU_CALL tDiveHudMask1, do_toggle_sensor
663 MENU_CALL tDiveHudMask2, do_toggle_sensor 663 MENU_CALL tDiveHudMask2, do_toggle_sensor
733 do_main_cavemenu_common: 733 do_main_cavemenu_common:
734 movlw index_cave_waypoints ; get number of cave waypoints custom view 734 movlw index_cave_waypoints ; get number of cave waypoints custom view
735 movwf active_customview ; set custom view number 735 movwf active_customview ; set custom view number
736 call dive_customview_callup ; draw custom view 736 call dive_customview_callup ; draw custom view
737 737
738 MENU_BEGIN_DIVE .6 738 MENU_BEGIN_DIVE tCaveMode, .6
739 MENU_DYNAMIC dyn_waypoint_set, do_waypoint_set ; 1 739 MENU_DYNAMIC dyn_waypoint_set, do_waypoint_set ; 1
740 MENU_DYNAMIC dyn_turndive_toggle, do_turndive_toggle ; 2 740 MENU_DYNAMIC dyn_turndive_toggle, do_turndive_toggle ; 2
741 MENU_CALL tDivemenu_off_on, do_cavemode_toggle ; 3 741 MENU_CALL tDivemenu_off_on, do_cavemode_toggle ; 3
742 MENU_DYNAMIC dyn_waypoint_out, do_waypoint_out ; 4 742 MENU_DYNAMIC dyn_waypoint_out, do_waypoint_out ; 4
743 MENU_DYNAMIC dyn_waypoint_in, do_waypoint_in ; 5 743 MENU_DYNAMIC dyn_waypoint_in, do_waypoint_in ; 5