annotate src/divemenu_tree.asm @ 582:b455b31ce022

work on 2.97 stable
author heinrichsweikamp
date Mon, 26 Feb 2018 16:40:28 +0100
parents e6d5a1f02daf
children 6636cbe64c6d
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
heinrichsweikamp
parents:
diff changeset
1 ;=============================================================================
heinrichsweikamp
parents:
diff changeset
2 ;
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
3 ; File divemenu_tree.asm REFACTORED VERSION V2.98
0
heinrichsweikamp
parents:
diff changeset
4 ;
275
653a3ab08062 rename into hwOS
heinrichsweikamp
parents: 249
diff changeset
5 ; OSTC dive mode menu
0
heinrichsweikamp
parents:
diff changeset
6 ;
heinrichsweikamp
parents:
diff changeset
7 ; Copyright (c) 2011, JD Gascuel, HeinrichsWeikamp, all right reserved.
heinrichsweikamp
parents:
diff changeset
8 ;=============================================================================
heinrichsweikamp
parents:
diff changeset
9 ; HISTORY
heinrichsweikamp
parents:
diff changeset
10 ; 2013-02-02 : [mH] Made out of menu_tree.asm
heinrichsweikamp
parents:
diff changeset
11
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
12 #include "hwos.inc" ; Mandatory header
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
13 #include "menu_processor.inc"
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
14 #include "shared_definitions.h" ; Mailbox from/to p2_deco.c
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
15 #include "tft_outputs.inc"
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
16 #include "customview.inc"
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
17 #include "strings.inc"
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
18 #include "calibrate.inc"
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
19
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
20 extern timeout_divemode_menu2
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
21 extern diveloop_loop4
0
heinrichsweikamp
parents:
diff changeset
22
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 541
diff changeset
23
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
24 divegui CODE
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
25
0
heinrichsweikamp
parents:
diff changeset
26 ;=============================================================================
heinrichsweikamp
parents:
diff changeset
27 ; Main Menu
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
28 global do_main_divemenu
0
heinrichsweikamp
parents:
diff changeset
29 do_main_divemenu:
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
30 call menu_processor_reset ; restart from first icon
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
31 movlw .1
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
32 movwf menupos1 ; set to first option in divemode menu
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 541
diff changeset
33 btfsc FLAG_ccr_mode
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 541
diff changeset
34 bra main_divemenu_loop ; goto CCR / pSCR Menu menu
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 541
diff changeset
35 btfsc FLAG_pscr_mode
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 541
diff changeset
36 bra main_divemenu_loop ; goto CCR / pSCR Menu menu
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 541
diff changeset
37
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
38 main_divemenu_OC:
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 541
diff changeset
39 bcf ccr_diluent_setup
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 541
diff changeset
40 bcf is_bailout_menu
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
41
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
42 MENU_BEGIN tMainMenu, .5
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
43 MENU_CALL tDivemenu_Gaslist, do_divemode_gaslist
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
44 MENU_CALL tDivemenu_ResetAvg, do_reset_average
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
45 MENU_CALL tDivemenu_ToggleGF, do_toggle_gf
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
46 MENU_CALL tDivemenu_Marker, do_set_marker
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
47 MENU_CALL tExit, do_exit_divemode_menu
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 541
diff changeset
48 MENU_END
0
heinrichsweikamp
parents:
diff changeset
49
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 541
diff changeset
50 main_divemenu_loop:
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
51 bsf ccr_diluent_setup ; default to operations on diluents
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 541
diff changeset
52 bcf is_bailout_menu ; default to none-bailout menu
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
53 btfsc FLAG_pscr_mode
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
54 bra main_divemenu_pscr ; PSCR Menu
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
55
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
56 MENU_BEGIN tMainMenu, .6
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
57 MENU_CALL tDiveBailout, do_divemode_gaslist_bail
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
58 MENU_CALL tDivemenu_Setpoint, do_divemode_splist
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
59 MENU_CALL tDivemenu_Gaslist, do_divemode_gaslist
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
60 MENU_CALL tDivemenu_ResetAvg, do_reset_average
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
61 MENU_CALL tDivemenu_ToggleGF, do_toggle_gf
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
62 MENU_CALL tExit, do_exit_divemode_menu
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
63 MENU_END
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
64
485
18e047102e49 3.14 BETA release
heinrichsweikamp
parents: 437
diff changeset
65 main_divemenu_pscr:
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
66 btfsc analog_o2_input ; do we have an analog input?
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
67 bra main_divemenu_pscr_sensors ; YES
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
68 btfsc s8_digital ; do we have a digital input?
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
69 bra main_divemenu_pscr_sensors ; YES
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 541
diff changeset
70
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 541
diff changeset
71 main_divemenu_pscr_no_sensors:
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
72 MENU_BEGIN tMainMenu, .6
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
73 MENU_CALL tDiveBailout, do_divemode_gaslist_bail
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
74 MENU_CALL tDivemenu_Gaslist, do_divemode_gaslist
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
75 MENU_CALL tDivemenu_ResetAvg, do_reset_average
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
76 MENU_CALL tDivemenu_ToggleGF, do_toggle_gf
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
77 MENU_CALL tDivemenu_Marker, do_set_marker
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
78 MENU_CALL tExit, do_exit_divemode_menu
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
79 MENU_END
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
80
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
81 main_divemenu_pscr_sensors:
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
82 MENU_BEGIN tMainMenu, .6
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
83 MENU_CALL tDiveBailout, do_divemode_gaslist_bail
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
84 MENU_CALL tCCRSensor, do_divemode_setpoint_pscr
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
85 MENU_CALL tDivemenu_Gaslist, do_divemode_gaslist
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
86 MENU_CALL tDivemenu_ResetAvg, do_reset_average
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
87 MENU_CALL tDivemenu_ToggleGF, do_toggle_gf
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
88 MENU_CALL tExit, do_exit_divemode_menu
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
89 MENU_END
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
90
0
heinrichsweikamp
parents:
diff changeset
91
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 541
diff changeset
92 do_toggle_gf:
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
93 movff char_I_deco_model,WREG ; 0 = ZH-L16, 1 = ZH-L16-GF
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
94 decfsz WREG,W ; Toggle GF only in GF modes - in GF mode?
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
95 bra do_main_divemenu ; No, do nothing and return
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
96 TSTOSS opt_enable_aGF ; =1: aGF can be selected underwater
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
97 bra do_main_divemenu ; No, do nothing and return
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
98 movlw .4 ; Set customview to 5 (GF informations)
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 541
diff changeset
99 movwf menupos3 ; Customview to come-1
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 541
diff changeset
100 bsf toggle_customview ; Set flag, the customview will be toggled very soon now...
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 541
diff changeset
101 movlw .1
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
102 movwf menupos1 ; Set to first option in divemode menu
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
103
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
104 MENU_BEGIN tDivemenu_ToggleGF, .2
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
105 MENU_CALL tDivemenu_ToggleGF, do_togglegf
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
106 MENU_CALL tBack, do_main_divemenu
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
107 MENU_END
0
heinrichsweikamp
parents:
diff changeset
108
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 541
diff changeset
109 do_togglegf:
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
110 ;TSTOSS opt_enable_aGF ; =1: aGF can be selected underwater ; check is now done before entering menu
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 541
diff changeset
111 ;bra do_exit_divemode_menu ; continue with exiting menu code
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 541
diff changeset
112 bsf toggle_gf ; Set flag...
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 541
diff changeset
113 bra do_exit_divemode_menu ; continue with exiting menu code
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
114
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
115
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 541
diff changeset
116 do_set_marker:
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
117 bsf FLAG_set_marker ; set flag...
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
118 bra do_exit_divemode_menu ; ... and exit
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
119
53
2825f1d2262f NEW: Dynamic Gaslist in OC mode (Divemode, Customview 7)
heinrichsweikamp
parents: 0
diff changeset
120
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 541
diff changeset
121 do_reset_average:
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
122 bsf reset_average_depth ; Set Flag
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
123 bra do_exit_divemode_menu ; continue with exiting menu code
0
heinrichsweikamp
parents:
diff changeset
124
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
125
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 541
diff changeset
126 do_switch_sensor: ; entry point when coming from switch to sensor
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
127 movlw .1 ; Switch to Sensor
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
128 movff WREG,opt_ccr_mode ; =0: Fixed SP (CCR) / calculated (pSCR), =1: Sensor, =2: Auto SP
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
129 ; enable all sensors
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
130 bsf use_O2_sensor1
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
131 bsf use_O2_sensor2
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
132 bsf use_O2_sensor3
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
133 bra do_switch_sp_com ; continue with common part
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
134
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 541
diff changeset
135 do_switch_sp: ; entry point when coming from manual setpoint selection (CCR)
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
136 decf menupos1,W ; 1-5 -> 0-4
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
137 lfsr FSR1,char_I_setpoint_cbar
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
138 movff PLUSW1,char_I_const_ppO2 ; setup fixed setpoint
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
139 movff char_I_const_ppO2,WREG
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
140 call transmit_setpoint ; transmit current setpoint from WREG (in cbar) to external electronics
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 541
diff changeset
141 bcf setpoint_fallback ; clear fallback condition (stops fallback warning)
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 541
diff changeset
142 clrf WREG ; Switch to fixed SP
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 541
diff changeset
143 movff WREG,opt_ccr_mode ; =0: Fixed SP (CCR) / calculated (pSCR), =1: Sensor, =2: Auto SP
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 541
diff changeset
144 bra do_switch_sp_com
0
heinrichsweikamp
parents:
diff changeset
145
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 541
diff changeset
146 do_switch_sp_calc: ; entry point when coming from switch to calculated ppO2 (pSCR)
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 541
diff changeset
147 bcf setpoint_fallback ; clear fallback condition (stops fallback warning)
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
148 clrf WREG ; Switch to fixed SP
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
149 movff WREG,opt_ccr_mode ; =0: Fixed SP (CCR) / calculated (pSCR), =1: Sensor, =2: Auto SP
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 541
diff changeset
150 movff WREG,char_I_const_ppO2 ; set setpoint to 0, this forces deco engine to take the computed ppO2
97
53a99a2dc6a1 CHANGE: Always compute bailout plan based on all active gases
heinrichsweikamp
parents: 53
diff changeset
151
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 541
diff changeset
152 do_switch_sp_com: ; merge point to common part
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
153 bsf event_occured ; set global event byte
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
154 bsf setpoint_changed ; set flag (for profile)
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
155
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
156 ; Clear some flags in case we were in bailout before...
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
157 bcf is_bailout ; end bailout mode
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
158 ;bcf is_bailout_menu ; not needed
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
159 bcf better_gas_available ; =1: A better gas is available and a gas change is advised in divemode
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
160 bcf blinking_better_gas ; clear blinking flag
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
161 call customview_mask ; update customview mask to (eventually) rewrite ppO2(Dil): to ppO2:
0
heinrichsweikamp
parents:
diff changeset
162
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
163 bsf FLAG_back_to_loop ; indicate that it is a switchback from OC bailout to CCR/pSCR loop
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
164 bsf divemode_gaschange ; initiate reconfiguration to loop mode on last diluent
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
165
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
166 bra do_exit_divemode_menu ; continue with exiting menu code
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
167
0
heinrichsweikamp
parents:
diff changeset
168
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 541
diff changeset
169 do_divemode_gaslist_bail: ; entry point from CCR/pSCR to bailout to OC gases
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
170 bcf ccr_diluent_setup ; switch to OC gases
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
171 bsf is_bailout_menu ; flag it is a bailout action
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 541
diff changeset
172 do_divemode_gaslist: ; entry point for switching: OC -> gases, loop -> diluents
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
173 btfsc is_bailout ; in bailout mode?
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
174 bcf ccr_diluent_setup ; yes - for safety reasons, redirect to OC (bailout) gases
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
175 do_divemode_gaslist_com:
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 541
diff changeset
176 bsf short_gas_decriptions
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 541
diff changeset
177 movlw .1
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
178 movwf menupos1 ; Set to first option in divemode menu
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
179 MENU_BEGIN tGaslist, .6
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
180 MENU_DYNAMIC gaslist_strcat_gas_mod, do_switch_gas
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
181 MENU_DYNAMIC gaslist_strcat_gas_mod, do_switch_gas
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
182 MENU_DYNAMIC gaslist_strcat_gas_mod, do_switch_gas
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
183 MENU_DYNAMIC gaslist_strcat_gas_mod, do_switch_gas
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
184 MENU_DYNAMIC gaslist_strcat_gas_mod, do_switch_gas
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
185 MENU_CALL tMore, do_divemode_gaslist_more
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
186 MENU_END
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
187
0
heinrichsweikamp
parents:
diff changeset
188
heinrichsweikamp
parents:
diff changeset
189 do_divemode_gaslist_more:
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 541
diff changeset
190 movlw .1
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
191 movwf menupos1 ; Set to first option in divemode menu
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
192
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 541
diff changeset
193 movff char_I_O2_ratio,gas6_O2_ratio ; initialize gas6 with currently breathed gas - O2 ratio
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 541
diff changeset
194 movff char_I_He_ratio,gas6_He_ratio ; initialize gas6 with currently breathed gas - He ratio
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
195
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
196 do_divemode_gaslist_more_common:
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
197 MENU_BEGIN tGaslist, .6
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
198 MENU_CALL tO2Plus, do_dive_pO2
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
199 MENU_CALL tO2Minus, do_dive_mO2
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
200 MENU_CALL tHePlus, do_dive_pHe
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
201 MENU_CALL tHeMinus, do_dive_mHe
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
202 MENU_DYNAMIC gaslist_strcat_gas6, do_switch_gas6
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
203 MENU_CALL tDivemenu_LostGas, do_lost_gas
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
204 MENU_END
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
205
403
6e60012bb3fc NEW: "Lost Gas" feature allows disabling gases during the dive
heinrichsweikamp
parents: 401
diff changeset
206
6e60012bb3fc NEW: "Lost Gas" feature allows disabling gases during the dive
heinrichsweikamp
parents: 401
diff changeset
207 do_lost_gas:
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 541
diff changeset
208 movlw .1
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
209 movwf menupos1 ; Set to first option in divemode menu
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
210 do_lost_gas_common:
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 541
diff changeset
211 bsf short_gas_decriptions
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
212 MENU_BEGIN tDivemenu_LostGas, .6
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
213 MENU_DYNAMIC gaslist_strcat_gas_mod, do_toggle_active ; Toggle the gas (in)active
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
214 MENU_DYNAMIC gaslist_strcat_gas_mod, do_toggle_active ; Toggle the gas (in)active
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
215 MENU_DYNAMIC gaslist_strcat_gas_mod, do_toggle_active ; Toggle the gas (in)active
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
216 MENU_DYNAMIC gaslist_strcat_gas_mod, do_toggle_active ; Toggle the gas (in)active
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
217 MENU_DYNAMIC gaslist_strcat_gas_mod, do_toggle_active ; Toggle the gas (in)active
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
218 MENU_CALL tExit, do_exit_divemode_menu
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
219 MENU_END
0
heinrichsweikamp
parents:
diff changeset
220
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 541
diff changeset
221
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 541
diff changeset
222 do_switch_gas6:
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
223 movlw .6 ; gas 6
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
224 movwf menupos1 ; transfer register for selected gas towards gas_switched_common:
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
225 bsf gas6_changed ; set flag for profile recording
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 541
diff changeset
226 ;bra do_switch_gas ; continue with common gas-switched code
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 541
diff changeset
227
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 541
diff changeset
228 do_switch_gas:
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 541
diff changeset
229 bsf divemode_gaschange ; Set flag, will also trigger restart of deco_engine
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 541
diff changeset
230 btfsc is_bailout_menu ; Bailout confirmed?
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 541
diff changeset
231 bsf is_bailout ; begin bailout mode
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 541
diff changeset
232 call customview_mask ; update custom view mask to (eventually) rewrite ppO2(Dil): to ppO2:
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 541
diff changeset
233 ;bra do_exit_divemode_menu ; continue with exiting menu code
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
234
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 541
diff changeset
235 do_exit_divemode_menu:
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 541
diff changeset
236 call timeout_divemode_menu2
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 541
diff changeset
237 clrf STKPTR
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 541
diff changeset
238 goto diveloop_loop4
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 541
diff changeset
239
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 541
diff changeset
240
403
6e60012bb3fc NEW: "Lost Gas" feature allows disabling gases during the dive
heinrichsweikamp
parents: 401
diff changeset
241 do_toggle_active:
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 541
diff changeset
242 extern restart_deco_engine_wo_ceiling
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 541
diff changeset
243 call restart_deco_engine_wo_ceiling
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
244 movlw .5
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
245 btfsc ccr_diluent_setup ; diluents?
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
246 addwf menupos1,F ; yes 1-5 -> 6-10
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
247 decf menupos1,W ; -> 0-4 for gases / 5-9 for diluents
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
248 lfsr FSR1,opt_gas_type+0
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
249 movff PLUSW1,lo
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
250 tstfsz lo ; Already disabled?
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
251 bra do_toggle_active2 ; No, disable now!
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
252 lfsr FSR1,opt_gas_type_backup+0 ; copy opt_gas_type_backup+W back to opt_gas_type+W
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
253 movff PLUSW1,lo
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
254 lfsr FSR1,opt_gas_type+0
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
255 movff lo,PLUSW1
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
256 lfsr FSR1,opt_OC_bail_gas_change_backup+0 ; copy opt_OC_bail_gas_change_backup+W back to opt_OC_bail_gas_change+W
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
257 movff PLUSW1,lo
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
258 lfsr FSR1,opt_OC_bail_gas_change+0
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
259 movff lo,PLUSW1
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
260 bra do_toggle_active3
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 541
diff changeset
261 do_toggle_active2:
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
262 clrf PLUSW1 ; 0=Disabled, 1=First, 2=Travel, 3=Deco
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
263 lfsr FSR1,opt_OC_bail_gas_change+0
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
264 clrf PLUSW1 ; also delete change depth here to have the menu updated immediately
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 541
diff changeset
265 do_toggle_active3:
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
266 movlw .5
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
267 btfsc ccr_diluent_setup ; use OC gases?
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
268 subwf menupos1,F ; back to 1-5
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
269 bra do_lost_gas ; return to list and show updated result
511
7db10ebae205 BUGFIX: Lost Diluent now possible in CCR and PSCR mode
heinrichsweikamp
parents: 502
diff changeset
270
0
heinrichsweikamp
parents:
diff changeset
271
heinrichsweikamp
parents:
diff changeset
272 do_dive_pO2:
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 541
diff changeset
273 banksel gas6_O2_ratio
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 541
diff changeset
274 incf gas6_O2_ratio,F ; O2++
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 541
diff changeset
275 movf gas6_He_ratio,W
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 541
diff changeset
276 addwf gas6_O2_ratio,W
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 541
diff changeset
277 movwf gas6_temp
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 541
diff changeset
278 movlw .101
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
279 cpfslt gas6_temp ; O2 + He < 101 ?
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
280 decf gas6_O2_ratio,F ; O2-- (unchanged)
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
281 banksel common
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
282 bra do_divemode_gaslist_more_common
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
283
0
heinrichsweikamp
parents:
diff changeset
284 do_dive_mO2:
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
285 banksel gas6_O2_ratio
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
286 decf gas6_O2_ratio,F ; O2--
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
287 movlw gaslist_min_o2
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
288 cpfslt gas6_O2_ratio ; O2 < minimum allowed %O2?
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
289 bra do_dive_mO2_done ; NO
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
290 movlw gaslist_min_o2 ; YES - restore minimum
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
291 movwf gas6_O2_ratio
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 541
diff changeset
292 do_dive_mO2_done:
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
293 banksel common
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
294 bra do_divemode_gaslist_more_common
0
heinrichsweikamp
parents:
diff changeset
295
heinrichsweikamp
parents:
diff changeset
296 do_dive_pHe:
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
297 banksel gas6_O2_ratio
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
298 incf gas6_He_ratio,F ; He++
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
299 movf gas6_He_ratio,W
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
300 addwf gas6_O2_ratio,W
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
301 movwf lo
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
302 movlw .101
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
303 cpfslt lo ; O2 + He < 101 ?
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
304 decf gas6_He_ratio,F ; Yes, He-- (Unchanged)
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
305 banksel common
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
306 bra do_divemode_gaslist_more_common
0
heinrichsweikamp
parents:
diff changeset
307
heinrichsweikamp
parents:
diff changeset
308 do_dive_mHe:
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 541
diff changeset
309 banksel gas6_O2_ratio
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
310 decf gas6_He_ratio,F ; He--
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
311 bnn do_dive_mHe_done ; H2 < 0?
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
312 clrf gas6_He_ratio ; YES - reset to 0
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 541
diff changeset
313 do_dive_mHe_done:
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
314 banksel common
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
315 bra do_divemode_gaslist_more_common
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
316
0
heinrichsweikamp
parents:
diff changeset
317
heinrichsweikamp
parents:
diff changeset
318 do_divemode_splist:
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 541
diff changeset
319 bsf short_gas_decriptions
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 541
diff changeset
320 movlw .1
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
321 movwf menupos1 ; set to first option in divemode menu
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 541
diff changeset
322
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
323 do_divemode_splist_common:
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
324 btfsc analog_o2_input ; do we have an analog input?
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
325 bra do_divemode_splist_sensor ; YES
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
326 btfsc s8_digital ; do we have a digital input?
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
327 bra do_divemode_splist_sensor ; YES
0
heinrichsweikamp
parents:
diff changeset
328
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 541
diff changeset
329 do_divemode_splist_no_sensor:
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
330 MENU_BEGIN tGaslist, .5
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
331 MENU_DYNAMIC gaslist_strcat_setpoint, do_switch_sp
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
332 MENU_DYNAMIC gaslist_strcat_setpoint, do_switch_sp
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
333 MENU_DYNAMIC gaslist_strcat_setpoint, do_switch_sp
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
334 MENU_DYNAMIC gaslist_strcat_setpoint, do_switch_sp
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
335 MENU_DYNAMIC gaslist_strcat_setpoint, do_switch_sp
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
336 MENU_END
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
337
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
338 do_divemode_splist_sensor:
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
339 MENU_BEGIN tGaslist, .6
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
340 MENU_DYNAMIC gaslist_strcat_setpoint, do_switch_sp
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
341 MENU_DYNAMIC gaslist_strcat_setpoint, do_switch_sp
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
342 MENU_DYNAMIC gaslist_strcat_setpoint, do_switch_sp
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
343 MENU_DYNAMIC gaslist_strcat_setpoint, do_switch_sp
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
344 MENU_DYNAMIC gaslist_strcat_setpoint, do_switch_sp
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
345 MENU_CALL tCCRSensor, do_divemode_sensor
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
346 MENU_END
249
94bf757690cf ignore sensor for non-sensor hardware
heinrichsweikamp
parents: 195
diff changeset
347
94bf757690cf ignore sensor for non-sensor hardware
heinrichsweikamp
parents: 195
diff changeset
348
0
heinrichsweikamp
parents:
diff changeset
349 do_divemode_sensor:
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 541
diff changeset
350 clrf menupos3 ; show customview 1 (HUD Data)
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 541
diff changeset
351 bsf toggle_customview
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
352 movlw .1
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
353 movwf menupos1 ; Set to 1st option: use sensors
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
354
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
355 do_return_divemode_sensor:
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
356 MENU_BEGIN tGaslist, .6
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
357 MENU_CALL tDivemenu_UseSensor, do_switch_sensor
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 541
diff changeset
358 MENU_CALL tBack, do_divemode_splist
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
359 MENU_CALL tExit, do_exit_divemode_menu
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 541
diff changeset
360 MENU_CALL tDiveHudMask1, do_toggle_sensor
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 541
diff changeset
361 MENU_CALL tDiveHudMask2, do_toggle_sensor
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 541
diff changeset
362 MENU_CALL tDiveHudMask3, do_toggle_sensor
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
363 MENU_END
0
heinrichsweikamp
parents:
diff changeset
364
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 541
diff changeset
365 do_divemode_setpoint_pscr:
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
366 movlw .1
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
367 movwf menupos1 ; Set to 1st option: use calculated ppO2
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
368 MENU_BEGIN tGaslist, .6
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 541
diff changeset
369 MENU_CALL tCalculated, do_switch_sp_calc
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
370 MENU_CALL tDivemenu_UseSensor, do_switch_sensor
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
371 MENU_CALL tExit, do_exit_divemode_menu
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 541
diff changeset
372 MENU_CALL tDiveHudMask1, do_toggle_sensor
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 541
diff changeset
373 MENU_CALL tDiveHudMask2, do_toggle_sensor
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 541
diff changeset
374 MENU_CALL tDiveHudMask3, do_toggle_sensor
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
375 MENU_END
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
376
0
heinrichsweikamp
parents:
diff changeset
377
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 541
diff changeset
378 do_toggle_sensor:
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
379 movff menupos1,lo ; backup position
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
380 decf menupos1,f ; 4, 5, 6 -> 3, 4, 5
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
381 decf menupos1,f ; 3, 4, 5 -> 2, 3, 4
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
382 decf menupos1,f ; 2, 3, 4 -> 1, 2, 3
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
383 dcfsnz menupos1 ; 1, 2, 3 -> 0, 1, 2
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
384 btg use_O2_sensor1 ; =
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
385 dcfsnz menupos1 ; 0, 1, 2 -> -1, 0, 1
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
386 btg use_O2_sensor2 ; =
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
387 dcfsnz menupos1 ; -1,0, 1 -> -2,-1, 0
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
388 btg use_O2_sensor3 ; =
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
389 movff lo,menupos1 ; restore position
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
390 bra do_return_divemode_sensor
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 541
diff changeset
391
582
b455b31ce022 work on 2.97 stable
heinrichsweikamp
parents: 579
diff changeset
392 END