annotate src/menu_tree.asm @ 544:64a45f203144

NEW: Show Compass calibration results in Compass menu
author heinrichsweikamp
date Wed, 06 Sep 2017 15:34:49 +0200
parents d36f9fca10ae
children 7e6df19264b6
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
heinrichsweikamp
parents:
diff changeset
1 ;=============================================================================
heinrichsweikamp
parents:
diff changeset
2 ;
heinrichsweikamp
parents:
diff changeset
3 ; File menu_tree.asm
heinrichsweikamp
parents:
diff changeset
4 ;
275
653a3ab08062 rename into hwOS
heinrichsweikamp
parents: 269
diff changeset
5 ; OSTC menus
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 ; 2011-07-11 : [jDG] Creation.
heinrichsweikamp
parents:
diff changeset
11
275
653a3ab08062 rename into hwOS
heinrichsweikamp
parents: 269
diff changeset
12 #include "hwos.inc" ; Mandatory header
0
heinrichsweikamp
parents:
diff changeset
13 #include "gaslist.inc"
heinrichsweikamp
parents:
diff changeset
14 #include "menu_processor.inc"
505
bef07a837a60 BUGFIX: Reset to MOD in Diluent Menu did reset Setpoint change depth
heinrichsweikamp
parents: 502
diff changeset
15 #include "start.inc"
bef07a837a60 BUGFIX: Reset to MOD in Diluent Menu did reset Setpoint change depth
heinrichsweikamp
parents: 502
diff changeset
16 #include "comm.inc"
bef07a837a60 BUGFIX: Reset to MOD in Diluent Menu did reset Setpoint change depth
heinrichsweikamp
parents: 502
diff changeset
17 #include "logbook.inc"
bef07a837a60 BUGFIX: Reset to MOD in Diluent Menu did reset Setpoint change depth
heinrichsweikamp
parents: 502
diff changeset
18 #include "tft.inc"
bef07a837a60 BUGFIX: Reset to MOD in Diluent Menu did reset Setpoint change depth
heinrichsweikamp
parents: 502
diff changeset
19 #include "eeprom_rs232.inc"
bef07a837a60 BUGFIX: Reset to MOD in Diluent Menu did reset Setpoint change depth
heinrichsweikamp
parents: 502
diff changeset
20 #include "external_flash.inc"
bef07a837a60 BUGFIX: Reset to MOD in Diluent Menu did reset Setpoint change depth
heinrichsweikamp
parents: 502
diff changeset
21 #include "shared_definitions.h" ; Mailbox from/to p2_deco.c
bef07a837a60 BUGFIX: Reset to MOD in Diluent Menu did reset Setpoint change depth
heinrichsweikamp
parents: 502
diff changeset
22 #include "isr.inc"
bef07a837a60 BUGFIX: Reset to MOD in Diluent Menu did reset Setpoint change depth
heinrichsweikamp
parents: 502
diff changeset
23 #include "ghostwriter.inc"
0
heinrichsweikamp
parents:
diff changeset
24 #include "adc_lightsensor.inc"
355
093b32bf6db2 hud v3 support
heinrichsweikamp
parents: 345
diff changeset
25 #include "wait.inc"
457
b4417044a042 recover old battery status prior 2.09
heinrichsweikamp
parents: 453
diff changeset
26 #include "i2c.inc"
0
heinrichsweikamp
parents:
diff changeset
27
174
932e91074bdb CHANGE: Clarify Travel Gases with "---" as change depth
heinrichsweikamp
parents: 155
diff changeset
28 CBLOCK tmp+0x40 ; Keep space for menu processor
932e91074bdb CHANGE: Clarify Travel Gases with "---" as change depth
heinrichsweikamp
parents: 155
diff changeset
29 gaslist_gas ; Check ram position in gaslist.asm, too!
932e91074bdb CHANGE: Clarify Travel Gases with "---" as change depth
heinrichsweikamp
parents: 155
diff changeset
30 ENDC
932e91074bdb CHANGE: Clarify Travel Gases with "---" as change depth
heinrichsweikamp
parents: 155
diff changeset
31
0
heinrichsweikamp
parents:
diff changeset
32 gui CODE
heinrichsweikamp
parents:
diff changeset
33 ;=============================================================================
heinrichsweikamp
parents:
diff changeset
34 ; Main Menu
66
00636132cca6 BUGFIX: Maintain last selected customview in surface mode
heinrichsweikamp
parents: 64
diff changeset
35 global do_main_menu,do_main_menu2
0
heinrichsweikamp
parents:
diff changeset
36 do_main_menu:
39
e4e91fe8b09d remember last customview in dive and surface mode
mh@mh-THINK.fritz.box
parents: 23
diff changeset
37 movff menupos3,customview_surfmode; save last customview
66
00636132cca6 BUGFIX: Maintain last selected customview in surface mode
heinrichsweikamp
parents: 64
diff changeset
38 do_main_menu2:
502
0910c227018f BUGFIX: PSCR mode showed bailout gaslist instead of diluent gaslist
heinrichsweikamp
parents: 481
diff changeset
39 call TFT_boot
0
heinrichsweikamp
parents:
diff changeset
40 bcf sleepmode ; for timeout
heinrichsweikamp
parents:
diff changeset
41 call menu_processor_reset ; restart from first icon.
heinrichsweikamp
parents:
diff changeset
42
heinrichsweikamp
parents:
diff changeset
43 do_continue_main_menu:
428
eccae727702f some cleanup
heinrichsweikamp
parents: 396
diff changeset
44 rcall menu_tree_double_pop ; drop exit line and back to last line
0
heinrichsweikamp
parents:
diff changeset
45
heinrichsweikamp
parents:
diff changeset
46 extern do_demo_divemode, restart
heinrichsweikamp
parents:
diff changeset
47 MENU_BEGIN tMainMenu, .7
heinrichsweikamp
parents:
diff changeset
48 MENU_CALL tLogbook, logbook
heinrichsweikamp
parents:
diff changeset
49 MENU_CALL tGasSetup, do_gas_menu
heinrichsweikamp
parents:
diff changeset
50 MENU_CALL tCCRSetup, do_ccr_menu
heinrichsweikamp
parents:
diff changeset
51 MENU_CALL tPlan, do_planner_menu_reset
heinrichsweikamp
parents:
diff changeset
52 MENU_CALL tDiveModeMenu, do_divemode_menu
heinrichsweikamp
parents:
diff changeset
53 MENU_CALL tSystSets, do_settings_menu
heinrichsweikamp
parents:
diff changeset
54 MENU_CALL tExit, restart
heinrichsweikamp
parents:
diff changeset
55 MENU_END
heinrichsweikamp
parents:
diff changeset
56
heinrichsweikamp
parents:
diff changeset
57 do_info_menu:
453
b4f28ab23b87 NEW: Show Uptime (Time since last firmware boot) in information menu
heinrichsweikamp
parents: 451
diff changeset
58 MENU_BEGIN tInfoMenu, .6
0
heinrichsweikamp
parents:
diff changeset
59 MENU_DYNAMIC info_menu_serial, 0
heinrichsweikamp
parents:
diff changeset
60 MENU_DYNAMIC info_menu_firmware, 0
heinrichsweikamp
parents:
diff changeset
61 MENU_DYNAMIC info_menu_total_dives, 0
62
e7c7c7eeea58 show battery voltage in info menu
heinrichsweikamp
parents: 50
diff changeset
62 MENU_DYNAMIC info_menu_battery_volts,0
453
b4f28ab23b87 NEW: Show Uptime (Time since last firmware boot) in information menu
heinrichsweikamp
parents: 451
diff changeset
63 MENU_DYNAMIC info_menu_uptime,0
0
heinrichsweikamp
parents:
diff changeset
64 MENU_CALL tExit, do_return_settings
heinrichsweikamp
parents:
diff changeset
65 MENU_END
heinrichsweikamp
parents:
diff changeset
66
heinrichsweikamp
parents:
diff changeset
67 ;=============================================================================
heinrichsweikamp
parents:
diff changeset
68 ; CCR Setup
heinrichsweikamp
parents:
diff changeset
69
heinrichsweikamp
parents:
diff changeset
70 return_ccr_menu:
428
eccae727702f some cleanup
heinrichsweikamp
parents: 396
diff changeset
71 rcall menu_tree_double_pop ; drop exit line and back to last line
0
heinrichsweikamp
parents:
diff changeset
72
heinrichsweikamp
parents:
diff changeset
73 do_ccr_menu:
113
heinrichsweikamp
parents: 104
diff changeset
74 bcf menu_show_sensors ; Clear flag
heinrichsweikamp
parents: 104
diff changeset
75 bcf menu_show_sensors2 ; Clear flag
236
e2ea74646127 configure hardware_flag byte
heinrichsweikamp
parents: 235
diff changeset
76 btfsc analog_o2_input
240
633c7a6de5bc auto-select correct ccr menu
heinrichsweikamp
parents: 236
diff changeset
77 bra do_ccr_menu_cR
633c7a6de5bc auto-select correct ccr menu
heinrichsweikamp
parents: 236
diff changeset
78 btfss optical_input
633c7a6de5bc auto-select correct ccr menu
heinrichsweikamp
parents: 236
diff changeset
79 bra do_ccr_menu_ostc2
633c7a6de5bc auto-select correct ccr menu
heinrichsweikamp
parents: 236
diff changeset
80
480
ad8acade5567 NEW: PSCR mode (Passive semi-closed rebreather)
heinrichsweikamp
parents: 477
diff changeset
81 MENU_BEGIN tCCRSetup, .6 ; OSTC3 menu
174
932e91074bdb CHANGE: Clarify Travel Gases with "---" as change depth
heinrichsweikamp
parents: 155
diff changeset
82 MENU_OPTION tCCRMode, oCCRMode, 0
932e91074bdb CHANGE: Clarify Travel Gases with "---" as change depth
heinrichsweikamp
parents: 155
diff changeset
83 MENU_CALL tCCRSensor, do_ccr_sensor
932e91074bdb CHANGE: Clarify Travel Gases with "---" as change depth
heinrichsweikamp
parents: 155
diff changeset
84 MENU_CALL tDiluentSetup, do_diluent_setup
932e91074bdb CHANGE: Clarify Travel Gases with "---" as change depth
heinrichsweikamp
parents: 155
diff changeset
85 MENU_CALL tFixedSetpoints, do_fixed_setpoints
480
ad8acade5567 NEW: PSCR mode (Passive semi-closed rebreather)
heinrichsweikamp
parents: 477
diff changeset
86 MENU_CALL tPSCRMenu, do_PSCR_menu
174
932e91074bdb CHANGE: Clarify Travel Gases with "---" as change depth
heinrichsweikamp
parents: 155
diff changeset
87 MENU_CALL tExit, do_continue_main_menu
932e91074bdb CHANGE: Clarify Travel Gases with "---" as change depth
heinrichsweikamp
parents: 155
diff changeset
88 MENU_END
932e91074bdb CHANGE: Clarify Travel Gases with "---" as change depth
heinrichsweikamp
parents: 155
diff changeset
89
240
633c7a6de5bc auto-select correct ccr menu
heinrichsweikamp
parents: 236
diff changeset
90 do_ccr_menu_cR: ; cR menu
480
ad8acade5567 NEW: PSCR mode (Passive semi-closed rebreather)
heinrichsweikamp
parents: 477
diff changeset
91 MENU_BEGIN tCCRSetup, .7
0
heinrichsweikamp
parents:
diff changeset
92 MENU_OPTION tCCRMode, oCCRMode, 0
heinrichsweikamp
parents:
diff changeset
93 MENU_CALL tCCRSensor, do_ccr_sensor
113
heinrichsweikamp
parents: 104
diff changeset
94 MENU_CALL tCalibrateMenu, do_calibrate_menu
0
heinrichsweikamp
parents:
diff changeset
95 MENU_CALL tDiluentSetup, do_diluent_setup
heinrichsweikamp
parents:
diff changeset
96 MENU_CALL tFixedSetpoints, do_fixed_setpoints
480
ad8acade5567 NEW: PSCR mode (Passive semi-closed rebreather)
heinrichsweikamp
parents: 477
diff changeset
97 MENU_CALL tPSCRMenu, do_PSCR_menu
0
heinrichsweikamp
parents:
diff changeset
98 MENU_CALL tExit, do_continue_main_menu
heinrichsweikamp
parents:
diff changeset
99 MENU_END
heinrichsweikamp
parents:
diff changeset
100
240
633c7a6de5bc auto-select correct ccr menu
heinrichsweikamp
parents: 236
diff changeset
101 do_ccr_menu_ostc2:
480
ad8acade5567 NEW: PSCR mode (Passive semi-closed rebreather)
heinrichsweikamp
parents: 477
diff changeset
102 MENU_BEGIN tCCRSetup, .5 ; ostc2 menu
359
2be48ccfa9de make AUTO SP available on OSTC2 hardware
heinrichsweikamp
parents: 355
diff changeset
103 MENU_OPTION tCCRMode, oCCRMode, 0
240
633c7a6de5bc auto-select correct ccr menu
heinrichsweikamp
parents: 236
diff changeset
104 MENU_CALL tDiluentSetup, do_diluent_setup
633c7a6de5bc auto-select correct ccr menu
heinrichsweikamp
parents: 236
diff changeset
105 MENU_CALL tFixedSetpoints, do_fixed_setpoints
480
ad8acade5567 NEW: PSCR mode (Passive semi-closed rebreather)
heinrichsweikamp
parents: 477
diff changeset
106 MENU_CALL tPSCRMenu, do_PSCR_menu
240
633c7a6de5bc auto-select correct ccr menu
heinrichsweikamp
parents: 236
diff changeset
107 MENU_CALL tExit, do_continue_main_menu
633c7a6de5bc auto-select correct ccr menu
heinrichsweikamp
parents: 236
diff changeset
108 MENU_END
633c7a6de5bc auto-select correct ccr menu
heinrichsweikamp
parents: 236
diff changeset
109
480
ad8acade5567 NEW: PSCR mode (Passive semi-closed rebreather)
heinrichsweikamp
parents: 477
diff changeset
110 do_PSCR_menu:
481
3e643ec05dac cleanup pscr menu
heinrichsweikamp
parents: 480
diff changeset
111 MENU_BEGIN tPSCRMenu, .3 ; PSCR Menu
480
ad8acade5567 NEW: PSCR mode (Passive semi-closed rebreather)
heinrichsweikamp
parents: 477
diff changeset
112 MENU_OPTION tPSCR_O2_drop, oPSCR_drop, 0
ad8acade5567 NEW: PSCR mode (Passive semi-closed rebreather)
heinrichsweikamp
parents: 477
diff changeset
113 MENU_OPTION tPSCR_lungratio,oPSCR_lungratio, 0
523
8e75aecb3290 BUGFIX: Menu tree cleaned up (Exited to CCR menu from simulator settings)
heinrichsweikamp
parents: 507
diff changeset
114 MENU_CALL tExit, return_ccr_menu
480
ad8acade5567 NEW: PSCR mode (Passive semi-closed rebreather)
heinrichsweikamp
parents: 477
diff changeset
115 MENU_END
240
633c7a6de5bc auto-select correct ccr menu
heinrichsweikamp
parents: 236
diff changeset
116
113
heinrichsweikamp
parents: 104
diff changeset
117 do_calibrate_menu:
187
669b5d00706d CHANGE: Longer timeout (4 min) for calibration menu
heinrichsweikamp
parents: 174
diff changeset
118 call enable_ir_s8 ; Enable IR/S8-Port
113
heinrichsweikamp
parents: 104
diff changeset
119 bsf menu_show_sensors2 ; Set flag
heinrichsweikamp
parents: 104
diff changeset
120 do_calibrate_menu2:
heinrichsweikamp
parents: 104
diff changeset
121 MENU_BEGIN tCalibrateMenu, .6
heinrichsweikamp
parents: 104
diff changeset
122 MENU_CALL tDiveHudMask1, 0
heinrichsweikamp
parents: 104
diff changeset
123 MENU_CALL tDiveHudMask2, 0
heinrichsweikamp
parents: 104
diff changeset
124 MENU_CALL tDiveHudMask3, 0
heinrichsweikamp
parents: 104
diff changeset
125 MENU_OPTION tCalibrationGas,oCalGasO2, 0
heinrichsweikamp
parents: 104
diff changeset
126 MENU_CALL tCalibrate, do_calibrate_mix
heinrichsweikamp
parents: 104
diff changeset
127 MENU_CALL tExit, return_ccr_menu
heinrichsweikamp
parents: 104
diff changeset
128 MENU_END
heinrichsweikamp
parents: 104
diff changeset
129
heinrichsweikamp
parents: 104
diff changeset
130 do_calibrate_mix:
heinrichsweikamp
parents: 104
diff changeset
131 extern calibrate_mix
heinrichsweikamp
parents: 104
diff changeset
132 call calibrate_mix ; Calibrate with opt_calibration_O2_ratio, also calibrate S8 HUD if connected
355
093b32bf6db2 hud v3 support
heinrichsweikamp
parents: 345
diff changeset
133 WAITMS d'250' ; Wait for HUD v3
530
d36f9fca10ae 2.20beta release
heinrichsweikamp
parents: 529
diff changeset
134 movlw .9
d36f9fca10ae 2.20beta release
heinrichsweikamp
parents: 529
diff changeset
135 movwf customview_surfmode ; show sensor mV custom view after restart
524
d2e52e6e1604 menu work
heinrichsweikamp
parents: 523
diff changeset
136 goto restart ; Restart into surface mode
113
heinrichsweikamp
parents: 104
diff changeset
137
0
heinrichsweikamp
parents:
diff changeset
138 do_ccr_sensor:
187
669b5d00706d CHANGE: Longer timeout (4 min) for calibration menu
heinrichsweikamp
parents: 174
diff changeset
139 call enable_ir_s8 ; Enable IR/S8-Port
0
heinrichsweikamp
parents:
diff changeset
140 bsf menu_show_sensors ; Set flag
145
e3ac5b2021bc NEW: Setpoint-Fallback option for external O2 sensor failure
heinrichsweikamp
parents: 144
diff changeset
141 MENU_BEGIN tCCRSensor, .5
0
heinrichsweikamp
parents:
diff changeset
142 MENU_CALL tDiveHudMask1, 0
heinrichsweikamp
parents:
diff changeset
143 MENU_CALL tDiveHudMask2, 0
heinrichsweikamp
parents:
diff changeset
144 MENU_CALL tDiveHudMask3, 0
145
e3ac5b2021bc NEW: Setpoint-Fallback option for external O2 sensor failure
heinrichsweikamp
parents: 144
diff changeset
145 MENU_OPTION tSensorFallback,oSensorFallback, 0
0
heinrichsweikamp
parents:
diff changeset
146 MENU_CALL tExit, return_ccr_menu
heinrichsweikamp
parents:
diff changeset
147 MENU_END
heinrichsweikamp
parents:
diff changeset
148
heinrichsweikamp
parents:
diff changeset
149 do_diluent_setup:
heinrichsweikamp
parents:
diff changeset
150 bsf ccr_diluent_setup ; =1: Setting up Diluents ("Gas6-10")
139
e0b758865e91 some cleanup
heinrichsweikamp
parents: 113
diff changeset
151 bcf short_gas_decriptions ; =1: Use short versions of gaslist_strcat_gas_mod and gaslist_strcat_setpoint
0
heinrichsweikamp
parents:
diff changeset
152 call gaslist_cleanup_list ; Takes care that only one gas can be first and first has 0m change depth
heinrichsweikamp
parents:
diff changeset
153 MENU_BEGIN tDiluentSetup, .6
heinrichsweikamp
parents:
diff changeset
154 MENU_DYNAMIC gaslist_strcat_gas_mod, do_edit_gas_menu
heinrichsweikamp
parents:
diff changeset
155 MENU_DYNAMIC gaslist_strcat_gas_mod, do_edit_gas_menu
heinrichsweikamp
parents:
diff changeset
156 MENU_DYNAMIC gaslist_strcat_gas_mod, do_edit_gas_menu
heinrichsweikamp
parents:
diff changeset
157 MENU_DYNAMIC gaslist_strcat_gas_mod, do_edit_gas_menu
heinrichsweikamp
parents:
diff changeset
158 MENU_DYNAMIC gaslist_strcat_gas_mod, do_edit_gas_menu
heinrichsweikamp
parents:
diff changeset
159 MENU_CALL tExit, return_ccr_menu
heinrichsweikamp
parents:
diff changeset
160 MENU_END
heinrichsweikamp
parents:
diff changeset
161
heinrichsweikamp
parents:
diff changeset
162 do_return_fixed_setpoints:
428
eccae727702f some cleanup
heinrichsweikamp
parents: 396
diff changeset
163 rcall menu_tree_double_pop ; drop exit line and back to last line
0
heinrichsweikamp
parents:
diff changeset
164
heinrichsweikamp
parents:
diff changeset
165 do_fixed_setpoints:
139
e0b758865e91 some cleanup
heinrichsweikamp
parents: 113
diff changeset
166 bcf short_gas_decriptions ; =1: Use short versions of gaslist_strcat_gas_mod and gaslist_strcat_setpoint
0
heinrichsweikamp
parents:
diff changeset
167 MENU_BEGIN tFixedSetpoints, .6
heinrichsweikamp
parents:
diff changeset
168 MENU_DYNAMIC gaslist_strcat_setpoint, do_edit_sp_menu
heinrichsweikamp
parents:
diff changeset
169 MENU_DYNAMIC gaslist_strcat_setpoint, do_edit_sp_menu
heinrichsweikamp
parents:
diff changeset
170 MENU_DYNAMIC gaslist_strcat_setpoint, do_edit_sp_menu
heinrichsweikamp
parents:
diff changeset
171 MENU_DYNAMIC gaslist_strcat_setpoint, do_edit_sp_menu
heinrichsweikamp
parents:
diff changeset
172 MENU_DYNAMIC gaslist_strcat_setpoint, do_edit_sp_menu
heinrichsweikamp
parents:
diff changeset
173 MENU_CALL tExit, return_ccr_menu
heinrichsweikamp
parents:
diff changeset
174 MENU_END
heinrichsweikamp
parents:
diff changeset
175
heinrichsweikamp
parents:
diff changeset
176 do_edit_sp_menu:
heinrichsweikamp
parents:
diff changeset
177 call gaslist_setSP ; Save current item.
heinrichsweikamp
parents:
diff changeset
178 MENU_BEGIN tFixedSetpoints, .5
heinrichsweikamp
parents:
diff changeset
179 MENU_DYNAMIC gaslist_strcat_setpoint_0,0
heinrichsweikamp
parents:
diff changeset
180 MENU_CALL tSPPlus, gaslist_spplus
heinrichsweikamp
parents:
diff changeset
181 MENU_CALL tDepthPlus, gaslist_spdepthplus
heinrichsweikamp
parents:
diff changeset
182 MENU_CALL tDepthMinus, gaslist_spdepthminus
heinrichsweikamp
parents:
diff changeset
183 MENU_CALL tExit, do_return_fixed_setpoints
heinrichsweikamp
parents:
diff changeset
184 MENU_END
heinrichsweikamp
parents:
diff changeset
185
heinrichsweikamp
parents:
diff changeset
186 ;=============================================================================
heinrichsweikamp
parents:
diff changeset
187 ; OC Gas Setup
heinrichsweikamp
parents:
diff changeset
188
heinrichsweikamp
parents:
diff changeset
189 return_gas_menu:
428
eccae727702f some cleanup
heinrichsweikamp
parents: 396
diff changeset
190 rcall menu_tree_double_pop ; drop exit line and back to last line
0
heinrichsweikamp
parents:
diff changeset
191
heinrichsweikamp
parents:
diff changeset
192 btfsc ccr_diluent_setup ; Return to CCR-Menu?
heinrichsweikamp
parents:
diff changeset
193 bra do_diluent_setup ; Yes.
heinrichsweikamp
parents:
diff changeset
194 do_gas_menu:
heinrichsweikamp
parents:
diff changeset
195 bcf ccr_diluent_setup ; =1: Setting up Diluents ("Gas6-10")
139
e0b758865e91 some cleanup
heinrichsweikamp
parents: 113
diff changeset
196 bcf short_gas_decriptions ; =1: Use short versions of gaslist_strcat_gas_mod and gaslist_strcat_setpoint
0
heinrichsweikamp
parents:
diff changeset
197 call gaslist_cleanup_list ; Takes care that only one gas can be first and first has 0m change depth
heinrichsweikamp
parents:
diff changeset
198 MENU_BEGIN tGaslist, .6
heinrichsweikamp
parents:
diff changeset
199 MENU_DYNAMIC gaslist_strcat_gas_mod, do_edit_gas_menu
heinrichsweikamp
parents:
diff changeset
200 MENU_DYNAMIC gaslist_strcat_gas_mod, do_edit_gas_menu
heinrichsweikamp
parents:
diff changeset
201 MENU_DYNAMIC gaslist_strcat_gas_mod, do_edit_gas_menu
heinrichsweikamp
parents:
diff changeset
202 MENU_DYNAMIC gaslist_strcat_gas_mod, do_edit_gas_menu
heinrichsweikamp
parents:
diff changeset
203 MENU_DYNAMIC gaslist_strcat_gas_mod, do_edit_gas_menu
heinrichsweikamp
parents:
diff changeset
204 MENU_CALL tExit, do_continue_main_menu
heinrichsweikamp
parents:
diff changeset
205 MENU_END
heinrichsweikamp
parents:
diff changeset
206
heinrichsweikamp
parents:
diff changeset
207 return_gas_depth:
428
eccae727702f some cleanup
heinrichsweikamp
parents: 396
diff changeset
208 rcall menu_tree_double_pop ; drop exit line and back to last line
0
heinrichsweikamp
parents:
diff changeset
209 bra do_edit_gas_menu_1
heinrichsweikamp
parents:
diff changeset
210
heinrichsweikamp
parents:
diff changeset
211 do_edit_gas_menu:
heinrichsweikamp
parents:
diff changeset
212 call gaslist_setgas ; Save current item.
heinrichsweikamp
parents:
diff changeset
213 do_edit_gas_menu_1: ; Keep current gas.
heinrichsweikamp
parents:
diff changeset
214 MENU_BEGIN tGasEdit, .6
heinrichsweikamp
parents:
diff changeset
215 MENU_DYNAMIC gaslist_gastitle, 0
heinrichsweikamp
parents:
diff changeset
216 MENU_DYNAMIC gaslist_MOD_END, 0
heinrichsweikamp
parents:
diff changeset
217 MENU_DYNAMIC gaslist_show_type, gaslist_toggle_type
heinrichsweikamp
parents:
diff changeset
218 MENU_CALL tSetup_mix, do_setup_mix
heinrichsweikamp
parents:
diff changeset
219 MENU_CALL tGasDepth, do_gas_depth_menu
heinrichsweikamp
parents:
diff changeset
220 MENU_CALL tExit, return_gas_menu
heinrichsweikamp
parents:
diff changeset
221 MENU_END
heinrichsweikamp
parents:
diff changeset
222
heinrichsweikamp
parents:
diff changeset
223 do_setup_mix:
heinrichsweikamp
parents:
diff changeset
224 MENU_BEGIN tGasEdit, .7
heinrichsweikamp
parents:
diff changeset
225 MENU_DYNAMIC gaslist_gastitle, 0
heinrichsweikamp
parents:
diff changeset
226 MENU_DYNAMIC gaslist_MOD_END, 0
heinrichsweikamp
parents:
diff changeset
227 MENU_CALL tO2Plus, gaslist_pO2
heinrichsweikamp
parents:
diff changeset
228 MENU_CALL tO2Minus, gaslist_mO2
heinrichsweikamp
parents:
diff changeset
229 MENU_CALL tHePlus, gaslist_pHe
heinrichsweikamp
parents:
diff changeset
230 MENU_CALL tHeMinus, gaslist_mHe
heinrichsweikamp
parents:
diff changeset
231 MENU_CALL tExit, return_gas_depth
heinrichsweikamp
parents:
diff changeset
232 MENU_END
heinrichsweikamp
parents:
diff changeset
233
428
eccae727702f some cleanup
heinrichsweikamp
parents: 396
diff changeset
234 menu_tree_double_pop:
eccae727702f some cleanup
heinrichsweikamp
parents: 396
diff changeset
235 call menu_processor_pop ; drop exit line.
eccae727702f some cleanup
heinrichsweikamp
parents: 396
diff changeset
236 goto menu_processor_pop ; back to last gas and return
eccae727702f some cleanup
heinrichsweikamp
parents: 396
diff changeset
237
eccae727702f some cleanup
heinrichsweikamp
parents: 396
diff changeset
238
0
heinrichsweikamp
parents:
diff changeset
239 global do_gas_depth_menu
heinrichsweikamp
parents:
diff changeset
240 do_gas_depth_menu:
174
932e91074bdb CHANGE: Clarify Travel Gases with "---" as change depth
heinrichsweikamp
parents: 155
diff changeset
241 movff gaslist_gas,WREG
932e91074bdb CHANGE: Clarify Travel Gases with "---" as change depth
heinrichsweikamp
parents: 155
diff changeset
242 lfsr FSR1,opt_gas_type ; Read opt_gas_type[WREG]
932e91074bdb CHANGE: Clarify Travel Gases with "---" as change depth
heinrichsweikamp
parents: 155
diff changeset
243 movff PLUSW1,lo ; Used as temp
932e91074bdb CHANGE: Clarify Travel Gases with "---" as change depth
heinrichsweikamp
parents: 155
diff changeset
244 movlw .3 ; 3=Deco
932e91074bdb CHANGE: Clarify Travel Gases with "---" as change depth
heinrichsweikamp
parents: 155
diff changeset
245 btfsc ccr_diluent_setup ; =1: Setting up Diluents ("Gas6-10")
932e91074bdb CHANGE: Clarify Travel Gases with "---" as change depth
heinrichsweikamp
parents: 155
diff changeset
246 movlw .2 ; 2=Normal
932e91074bdb CHANGE: Clarify Travel Gases with "---" as change depth
heinrichsweikamp
parents: 155
diff changeset
247 cpfseq lo
524
d2e52e6e1604 menu work
heinrichsweikamp
parents: 523
diff changeset
248 bra return_gas_depth ; Non-Deco gas or "Normal" Diluent, Return!
174
932e91074bdb CHANGE: Clarify Travel Gases with "---" as change depth
heinrichsweikamp
parents: 155
diff changeset
249
154
afa31c815f24 NEW: Show ppO2 for change depth during gas setup
heinrichsweikamp
parents: 148
diff changeset
250 MENU_BEGIN tGasEdit, .7
0
heinrichsweikamp
parents:
diff changeset
251 MENU_DYNAMIC gaslist_gastitle, 0
heinrichsweikamp
parents:
diff changeset
252 MENU_DYNAMIC gaslist_MOD_END, 0
154
afa31c815f24 NEW: Show ppO2 for change depth during gas setup
heinrichsweikamp
parents: 148
diff changeset
253 MENU_DYNAMIC gaslist_ppo2, 0 ; ppO2 at change depth
0
heinrichsweikamp
parents:
diff changeset
254 MENU_CALL tDepthPlus, gaslist_pDepth
heinrichsweikamp
parents:
diff changeset
255 MENU_CALL tDepthMinus, gaslist_mDepth
heinrichsweikamp
parents:
diff changeset
256 MENU_DYNAMIC gaslist_reset_mod_title,gaslist_reset_mod
heinrichsweikamp
parents:
diff changeset
257 MENU_CALL tExit, return_gas_depth
heinrichsweikamp
parents:
diff changeset
258 MENU_END
heinrichsweikamp
parents:
diff changeset
259
heinrichsweikamp
parents:
diff changeset
260 ;=============================================================================
heinrichsweikamp
parents:
diff changeset
261 ; Simulator menus
heinrichsweikamp
parents:
diff changeset
262
heinrichsweikamp
parents:
diff changeset
263 global do_planner_menu
heinrichsweikamp
parents:
diff changeset
264
heinrichsweikamp
parents:
diff changeset
265 do_planner_menu_reset:
heinrichsweikamp
parents:
diff changeset
266 extern option_save_all
heinrichsweikamp
parents:
diff changeset
267 call option_save_all
heinrichsweikamp
parents:
diff changeset
268 ;---- Reset dive time/depth to default values
heinrichsweikamp
parents:
diff changeset
269 extern option_reset
heinrichsweikamp
parents:
diff changeset
270 lfsr FSR0,odiveInterval
heinrichsweikamp
parents:
diff changeset
271 call option_reset
heinrichsweikamp
parents:
diff changeset
272 lfsr FSR0,obottomTime
heinrichsweikamp
parents:
diff changeset
273 call option_reset
heinrichsweikamp
parents:
diff changeset
274 lfsr FSR0,obottomDepth
heinrichsweikamp
parents:
diff changeset
275 call option_reset
heinrichsweikamp
parents:
diff changeset
276
heinrichsweikamp
parents:
diff changeset
277 do_planner_menu:
heinrichsweikamp
parents:
diff changeset
278 extern do_demo_planner
298
2fe34fc0e2ae new submenu for gas consumption, show actual mix instead of GAS1-GAS5 in deco planner
heinrichsweikamp
parents: 275
diff changeset
279 MENU_BEGIN tPlan, .7
0
heinrichsweikamp
parents:
diff changeset
280 MENU_CALL tInter, do_demo_divemode
heinrichsweikamp
parents:
diff changeset
281 MENU_OPTION tIntvl, odiveInterval, 0
heinrichsweikamp
parents:
diff changeset
282 MENU_OPTION tBtTm, obottomTime, 0
heinrichsweikamp
parents:
diff changeset
283 MENU_OPTION tMxDep, obottomDepth, 0
heinrichsweikamp
parents:
diff changeset
284 MENU_CALL tDeco, do_demo_planner
298
2fe34fc0e2ae new submenu for gas consumption, show actual mix instead of GAS1-GAS5 in deco planner
heinrichsweikamp
parents: 275
diff changeset
285 MENU_CALL tSystSets, do_planner_config
0
heinrichsweikamp
parents:
diff changeset
286 MENU_CALL tExit, do_continue_main_menu
heinrichsweikamp
parents:
diff changeset
287 MENU_END
heinrichsweikamp
parents:
diff changeset
288
298
2fe34fc0e2ae new submenu for gas consumption, show actual mix instead of GAS1-GAS5 in deco planner
heinrichsweikamp
parents: 275
diff changeset
289 do_planner_config:
2fe34fc0e2ae new submenu for gas consumption, show actual mix instead of GAS1-GAS5 in deco planner
heinrichsweikamp
parents: 275
diff changeset
290 MENU_BEGIN tPlan, .3
2fe34fc0e2ae new submenu for gas consumption, show actual mix instead of GAS1-GAS5 in deco planner
heinrichsweikamp
parents: 275
diff changeset
291 MENU_OPTION tSetBotUse, obottom_usage, 0
2fe34fc0e2ae new submenu for gas consumption, show actual mix instead of GAS1-GAS5 in deco planner
heinrichsweikamp
parents: 275
diff changeset
292 MENU_OPTION tSetDecoUse, odeco_usage, 0
524
d2e52e6e1604 menu work
heinrichsweikamp
parents: 523
diff changeset
293 MENU_CALL tExit, do_planner_menu
298
2fe34fc0e2ae new submenu for gas consumption, show actual mix instead of GAS1-GAS5 in deco planner
heinrichsweikamp
parents: 275
diff changeset
294 MENU_END
524
d2e52e6e1604 menu work
heinrichsweikamp
parents: 523
diff changeset
295
298
2fe34fc0e2ae new submenu for gas consumption, show actual mix instead of GAS1-GAS5 in deco planner
heinrichsweikamp
parents: 275
diff changeset
296
0
heinrichsweikamp
parents:
diff changeset
297 ;=============================================================================
heinrichsweikamp
parents:
diff changeset
298 ; Divemode menu
heinrichsweikamp
parents:
diff changeset
299
heinrichsweikamp
parents:
diff changeset
300 do_return_divemode_menu:
428
eccae727702f some cleanup
heinrichsweikamp
parents: 396
diff changeset
301 rcall menu_tree_double_pop ; drop exit line and back to last line
0
heinrichsweikamp
parents:
diff changeset
302
heinrichsweikamp
parents:
diff changeset
303 do_divemode_menu:
heinrichsweikamp
parents:
diff changeset
304 MENU_BEGIN tDiveModeMenu, .7
heinrichsweikamp
parents:
diff changeset
305 MENU_OPTION tDvMode, oDiveMode, 0
heinrichsweikamp
parents:
diff changeset
306 MENU_OPTION tDkMode, oDecoMode, 0
104
223579e905c3 Show a Safety Stop if enabled (Menu "Deco Parameters")
heinrichsweikamp
parents: 90
diff changeset
307 MENU_CALL tppO2settings, do_ppo2_menu
223579e905c3 Show a Safety Stop if enabled (Menu "Deco Parameters")
heinrichsweikamp
parents: 90
diff changeset
308 MENU_OPTION tsafetystopmenu,oSafetyStop, 0
0
heinrichsweikamp
parents:
diff changeset
309 MENU_OPTION tFTTSMenu, oExtraTime,0
heinrichsweikamp
parents:
diff changeset
310 MENU_CALL tDecoparameters, do_decoparameters_menu
heinrichsweikamp
parents:
diff changeset
311 MENU_CALL tExit, do_continue_main_menu
heinrichsweikamp
parents:
diff changeset
312 MENU_END
heinrichsweikamp
parents:
diff changeset
313
104
223579e905c3 Show a Safety Stop if enabled (Menu "Deco Parameters")
heinrichsweikamp
parents: 90
diff changeset
314 do_ppo2_menu:
507
4e6f5c36f4cc NEW: Two ppO2 max settings. One for travel/bottom and one for deco gases
heinrichsweikamp
parents: 505
diff changeset
315 MENU_BEGIN tppO2settings, .5
4e6f5c36f4cc NEW: Two ppO2 max settings. One for travel/bottom and one for deco gases
heinrichsweikamp
parents: 505
diff changeset
316 MENU_DYNAMIC divesets_ppo2_max, do_toggle_ppo2_max
4e6f5c36f4cc NEW: Two ppO2 max settings. One for travel/bottom and one for deco gases
heinrichsweikamp
parents: 505
diff changeset
317 MENU_DYNAMIC divesets_ppo2_max_deco, do_toggle_ppo2_max_deco
4e6f5c36f4cc NEW: Two ppO2 max settings. One for travel/bottom and one for deco gases
heinrichsweikamp
parents: 505
diff changeset
318 MENU_DYNAMIC divesets_ppo2_min, do_toggle_ppo2_min
337
508d7fb98b34 cleanup menu, add "Auto SP" option (Not working yet), minor layout change in compass menu
heinrichsweikamp
parents: 335
diff changeset
319 MENU_OPTION tShowppO2, oShowppO2, 0
104
223579e905c3 Show a Safety Stop if enabled (Menu "Deco Parameters")
heinrichsweikamp
parents: 90
diff changeset
320 MENU_CALL tExit, do_return_divemode_menu
223579e905c3 Show a Safety Stop if enabled (Menu "Deco Parameters")
heinrichsweikamp
parents: 90
diff changeset
321 MENU_END
223579e905c3 Show a Safety Stop if enabled (Menu "Deco Parameters")
heinrichsweikamp
parents: 90
diff changeset
322
0
heinrichsweikamp
parents:
diff changeset
323 do_return_decoparameters_menu:
428
eccae727702f some cleanup
heinrichsweikamp
parents: 396
diff changeset
324 rcall menu_tree_double_pop ; drop exit line and back to last line
0
heinrichsweikamp
parents:
diff changeset
325 do_decoparameters_menu:
heinrichsweikamp
parents:
diff changeset
326 MENU_BEGIN tDecoparameters, .7
heinrichsweikamp
parents:
diff changeset
327 MENU_OPTION tGF_low, oGF_low, 0
heinrichsweikamp
parents:
diff changeset
328 MENU_OPTION tGF_high, oGF_high, 0
heinrichsweikamp
parents:
diff changeset
329 MENU_CALL taGFMenu, do_aGF_menu
heinrichsweikamp
parents:
diff changeset
330 MENU_OPTION tSaturationMult,osatmult, 0
heinrichsweikamp
parents:
diff changeset
331 MENU_OPTION tDesaturationMult,odesatmult,0
heinrichsweikamp
parents:
diff changeset
332 MENU_OPTION tLastDecostop,oLastDeco, 0
heinrichsweikamp
parents:
diff changeset
333 MENU_CALL tExit, do_return_divemode_menu
heinrichsweikamp
parents:
diff changeset
334 MENU_END
heinrichsweikamp
parents:
diff changeset
335
heinrichsweikamp
parents:
diff changeset
336 do_aGF_menu:
heinrichsweikamp
parents:
diff changeset
337 MENU_BEGIN taGFMenu, .4
heinrichsweikamp
parents:
diff changeset
338 MENU_OPTION taGF_enable,oEnable_aGF, 0
heinrichsweikamp
parents:
diff changeset
339 MENU_OPTION taGF_low, oaGF_low, 0
heinrichsweikamp
parents:
diff changeset
340 MENU_OPTION taGF_high, oaGF_high, 0
heinrichsweikamp
parents:
diff changeset
341 MENU_CALL tExit, do_return_decoparameters_menu
heinrichsweikamp
parents:
diff changeset
342 MENU_END
heinrichsweikamp
parents:
diff changeset
343 ;=============================================================================
heinrichsweikamp
parents:
diff changeset
344 ; Setup Menu
heinrichsweikamp
parents:
diff changeset
345
heinrichsweikamp
parents:
diff changeset
346 do_return_settings:
heinrichsweikamp
parents:
diff changeset
347 bcf settime_setdate ; Clear flag
428
eccae727702f some cleanup
heinrichsweikamp
parents: 396
diff changeset
348 rcall menu_tree_double_pop ; drop exit line and back to last line
0
heinrichsweikamp
parents:
diff changeset
349
heinrichsweikamp
parents:
diff changeset
350 extern compass_calibration_loop
heinrichsweikamp
parents:
diff changeset
351 do_settings_menu:
345
3f2d0c0bc101 re-arrange settings menu
heinrichsweikamp
parents: 337
diff changeset
352 btfsc ble_available ; ble available
3f2d0c0bc101 re-arrange settings menu
heinrichsweikamp
parents: 337
diff changeset
353 bra do_settings_menu_ble ; Yes.
3f2d0c0bc101 re-arrange settings menu
heinrichsweikamp
parents: 337
diff changeset
354 MENU_BEGIN tSystSets, .6
0
heinrichsweikamp
parents:
diff changeset
355 MENU_CALL tInfoMenu, do_info_menu
heinrichsweikamp
parents:
diff changeset
356 MENU_CALL tSetTimeDate, do_date_time_menu
heinrichsweikamp
parents:
diff changeset
357 MENU_CALL tDispSets, do_dispsets_menu
heinrichsweikamp
parents:
diff changeset
358 MENU_OPTION tLanguage, oLanguage, 0
155
5f71e31bd5b3 CHANGE: Re-arranged Settings Menu, add 180? rotate to menu
heinrichsweikamp
parents: 154
diff changeset
359 MENU_CALL tMore, do_settings_menu_more
5f71e31bd5b3 CHANGE: Re-arranged Settings Menu, add 180? rotate to menu
heinrichsweikamp
parents: 154
diff changeset
360 MENU_CALL tExit, do_continue_main_menu
5f71e31bd5b3 CHANGE: Re-arranged Settings Menu, add 180? rotate to menu
heinrichsweikamp
parents: 154
diff changeset
361 MENU_END
5f71e31bd5b3 CHANGE: Re-arranged Settings Menu, add 180? rotate to menu
heinrichsweikamp
parents: 154
diff changeset
362
345
3f2d0c0bc101 re-arrange settings menu
heinrichsweikamp
parents: 337
diff changeset
363 do_settings_menu_ble:
3f2d0c0bc101 re-arrange settings menu
heinrichsweikamp
parents: 337
diff changeset
364 MENU_BEGIN tSystSets, .7
3f2d0c0bc101 re-arrange settings menu
heinrichsweikamp
parents: 337
diff changeset
365 MENU_CALL tInfoMenu, do_info_menu
3f2d0c0bc101 re-arrange settings menu
heinrichsweikamp
parents: 337
diff changeset
366 MENU_CALL tBleTitle, comm_mode0
3f2d0c0bc101 re-arrange settings menu
heinrichsweikamp
parents: 337
diff changeset
367 MENU_CALL tSetTimeDate, do_date_time_menu
3f2d0c0bc101 re-arrange settings menu
heinrichsweikamp
parents: 337
diff changeset
368 MENU_CALL tDispSets, do_dispsets_menu
3f2d0c0bc101 re-arrange settings menu
heinrichsweikamp
parents: 337
diff changeset
369 MENU_OPTION tLanguage, oLanguage, 0
3f2d0c0bc101 re-arrange settings menu
heinrichsweikamp
parents: 337
diff changeset
370 MENU_CALL tMore, do_settings_menu_more
3f2d0c0bc101 re-arrange settings menu
heinrichsweikamp
parents: 337
diff changeset
371 MENU_CALL tExit, do_continue_main_menu
3f2d0c0bc101 re-arrange settings menu
heinrichsweikamp
parents: 337
diff changeset
372 MENU_END
326
d21b172d5a7a VSIbar #4: VSI settings submenu, graph option, logbook offset and compass calib. menu exit fix
Janos Kovacs <kovjanos@gmail.com>
parents: 307
diff changeset
373
d21b172d5a7a VSIbar #4: VSI settings submenu, graph option, logbook offset and compass calib. menu exit fix
Janos Kovacs <kovjanos@gmail.com>
parents: 307
diff changeset
374 do_return_settings_more:
428
eccae727702f some cleanup
heinrichsweikamp
parents: 396
diff changeset
375 rcall menu_tree_double_pop ; drop exit line and back to last line
220
effd7259f5a5 make button sensitivity configurable (cR hardware)
heinrichsweikamp
parents: 218
diff changeset
376
155
5f71e31bd5b3 CHANGE: Re-arranged Settings Menu, add 180? rotate to menu
heinrichsweikamp
parents: 154
diff changeset
377 do_settings_menu_more:
448
aadfe9f2edaf work on new battery options
heinrichsweikamp
parents: 428
diff changeset
378 btfsc battery_gauge_available ; piezo buttons available
269
1207cf9a9408 adjust menu for different hardware versions
heinrichsweikamp
parents: 243
diff changeset
379 bra do_settings_menu_more_piezo
243
ee81f46714cb auto-select correct settings menu
heinrichsweikamp
parents: 240
diff changeset
380 btfsc ble_available ; ble available
269
1207cf9a9408 adjust menu for different hardware versions
heinrichsweikamp
parents: 243
diff changeset
381 bra do_settings_menu_more_ostc3p
345
3f2d0c0bc101 re-arrange settings menu
heinrichsweikamp
parents: 337
diff changeset
382 MENU_BEGIN tSystSets, .7
220
effd7259f5a5 make button sensitivity configurable (cR hardware)
heinrichsweikamp
parents: 218
diff changeset
383 MENU_CALL tCompassMenu, do_compass_menu
effd7259f5a5 make button sensitivity configurable (cR hardware)
heinrichsweikamp
parents: 218
diff changeset
384 MENU_CALL tLogOffset, do_log_offset_menu
effd7259f5a5 make button sensitivity configurable (cR hardware)
heinrichsweikamp
parents: 218
diff changeset
385 MENU_OPTION tUnits, oUnits, 0
effd7259f5a5 make button sensitivity configurable (cR hardware)
heinrichsweikamp
parents: 218
diff changeset
386 MENU_OPTION tSamplingrate,oSamplingRate,0
effd7259f5a5 make button sensitivity configurable (cR hardware)
heinrichsweikamp
parents: 218
diff changeset
387 MENU_OPTION tDvSalinity,oDiveSalinity, 0
345
3f2d0c0bc101 re-arrange settings menu
heinrichsweikamp
parents: 337
diff changeset
388 MENU_CALL tResetMenu, do_reset_menu
220
effd7259f5a5 make button sensitivity configurable (cR hardware)
heinrichsweikamp
parents: 218
diff changeset
389 MENU_CALL tExit, do_return_settings
effd7259f5a5 make button sensitivity configurable (cR hardware)
heinrichsweikamp
parents: 218
diff changeset
390 MENU_END
effd7259f5a5 make button sensitivity configurable (cR hardware)
heinrichsweikamp
parents: 218
diff changeset
391
375
a9e35c1327aa 1.88 release, BUGFIX: Start with Sensor use from sleep (cR only), CHANGE: Apply button settings when button menu is closed, NEW: Reset button settings on a magnet reset (cR and OSTC 2)
heinrichsweikamp
parents: 359
diff changeset
392 do_settings_menu_more_piezo_exit:
a9e35c1327aa 1.88 release, BUGFIX: Start with Sensor use from sleep (cR only), CHANGE: Apply button settings when button menu is closed, NEW: Reset button settings on a magnet reset (cR and OSTC 2)
heinrichsweikamp
parents: 359
diff changeset
393 call TFT_ClearScreen
a9e35c1327aa 1.88 release, BUGFIX: Start with Sensor use from sleep (cR only), CHANGE: Apply button settings when button menu is closed, NEW: Reset button settings on a magnet reset (cR and OSTC 2)
heinrichsweikamp
parents: 359
diff changeset
394 extern piezo_config
a9e35c1327aa 1.88 release, BUGFIX: Start with Sensor use from sleep (cR only), CHANGE: Apply button settings when button menu is closed, NEW: Reset button settings on a magnet reset (cR and OSTC 2)
heinrichsweikamp
parents: 359
diff changeset
395 call piezo_config ; Configure buttons
524
d2e52e6e1604 menu work
heinrichsweikamp
parents: 523
diff changeset
396
269
1207cf9a9408 adjust menu for different hardware versions
heinrichsweikamp
parents: 243
diff changeset
397 do_settings_menu_more_piezo:
218
8fbd8c5ac51f 1.71beta start
heinrichsweikamp
parents: 200
diff changeset
398 MENU_BEGIN tSystSets, .7
18
4e3f133dfbf4 add new opt_compass_gain option to work with more magnetic battery types
heinrichsweikamp
parents: 0
diff changeset
399 MENU_CALL tCompassMenu, do_compass_menu
155
5f71e31bd5b3 CHANGE: Re-arranged Settings Menu, add 180? rotate to menu
heinrichsweikamp
parents: 154
diff changeset
400 MENU_CALL tLogOffset, do_log_offset_menu
5f71e31bd5b3 CHANGE: Re-arranged Settings Menu, add 180? rotate to menu
heinrichsweikamp
parents: 154
diff changeset
401 MENU_OPTION tUnits, oUnits, 0
5f71e31bd5b3 CHANGE: Re-arranged Settings Menu, add 180? rotate to menu
heinrichsweikamp
parents: 154
diff changeset
402 MENU_OPTION tSamplingrate,oSamplingRate,0
5f71e31bd5b3 CHANGE: Re-arranged Settings Menu, add 180? rotate to menu
heinrichsweikamp
parents: 154
diff changeset
403 MENU_OPTION tDvSalinity,oDiveSalinity, 0
345
3f2d0c0bc101 re-arrange settings menu
heinrichsweikamp
parents: 337
diff changeset
404 MENU_CALL tMore, do_settings_piezo_menu
155
5f71e31bd5b3 CHANGE: Re-arranged Settings Menu, add 180? rotate to menu
heinrichsweikamp
parents: 154
diff changeset
405 MENU_CALL tExit, do_return_settings
0
heinrichsweikamp
parents:
diff changeset
406 MENU_END
heinrichsweikamp
parents:
diff changeset
407
220
effd7259f5a5 make button sensitivity configurable (cR hardware)
heinrichsweikamp
parents: 218
diff changeset
408 extern comm_mode0
243
ee81f46714cb auto-select correct settings menu
heinrichsweikamp
parents: 240
diff changeset
409
345
3f2d0c0bc101 re-arrange settings menu
heinrichsweikamp
parents: 337
diff changeset
410 do_settings_piezo_menu:
3f2d0c0bc101 re-arrange settings menu
heinrichsweikamp
parents: 337
diff changeset
411 ; Menu with features only available in piezo button hardware
220
effd7259f5a5 make button sensitivity configurable (cR hardware)
heinrichsweikamp
parents: 218
diff changeset
412 MENU_BEGIN tSystSets, .4
345
3f2d0c0bc101 re-arrange settings menu
heinrichsweikamp
parents: 337
diff changeset
413 MENU_CALL tResetMenu, do_reset_menu
220
effd7259f5a5 make button sensitivity configurable (cR hardware)
heinrichsweikamp
parents: 218
diff changeset
414 MENU_OPTION tButtonleft,ocR_button_left ,0 ; left button sensitivity
effd7259f5a5 make button sensitivity configurable (cR hardware)
heinrichsweikamp
parents: 218
diff changeset
415 MENU_OPTION tButtonright,ocR_button_right,0 ; right button sensitivity
375
a9e35c1327aa 1.88 release, BUGFIX: Start with Sensor use from sleep (cR only), CHANGE: Apply button settings when button menu is closed, NEW: Reset button settings on a magnet reset (cR and OSTC 2)
heinrichsweikamp
parents: 359
diff changeset
416 MENU_CALL tExit, do_settings_menu_more_piezo_exit
220
effd7259f5a5 make button sensitivity configurable (cR hardware)
heinrichsweikamp
parents: 218
diff changeset
417 MENU_END
effd7259f5a5 make button sensitivity configurable (cR hardware)
heinrichsweikamp
parents: 218
diff changeset
418
269
1207cf9a9408 adjust menu for different hardware versions
heinrichsweikamp
parents: 243
diff changeset
419 do_settings_menu_more_ostc3p: ; Menu with BLE feature
243
ee81f46714cb auto-select correct settings menu
heinrichsweikamp
parents: 240
diff changeset
420 MENU_BEGIN tSystSets, .7
ee81f46714cb auto-select correct settings menu
heinrichsweikamp
parents: 240
diff changeset
421 MENU_CALL tCompassMenu, do_compass_menu
ee81f46714cb auto-select correct settings menu
heinrichsweikamp
parents: 240
diff changeset
422 MENU_CALL tLogOffset, do_log_offset_menu
ee81f46714cb auto-select correct settings menu
heinrichsweikamp
parents: 240
diff changeset
423 MENU_OPTION tUnits, oUnits, 0
ee81f46714cb auto-select correct settings menu
heinrichsweikamp
parents: 240
diff changeset
424 MENU_OPTION tSamplingrate,oSamplingRate,0
ee81f46714cb auto-select correct settings menu
heinrichsweikamp
parents: 240
diff changeset
425 MENU_OPTION tDvSalinity,oDiveSalinity, 0
345
3f2d0c0bc101 re-arrange settings menu
heinrichsweikamp
parents: 337
diff changeset
426 MENU_CALL tResetMenu, do_reset_menu
243
ee81f46714cb auto-select correct settings menu
heinrichsweikamp
parents: 240
diff changeset
427 MENU_CALL tExit, do_return_settings
ee81f46714cb auto-select correct settings menu
heinrichsweikamp
parents: 240
diff changeset
428 MENU_END
220
effd7259f5a5 make button sensitivity configurable (cR hardware)
heinrichsweikamp
parents: 218
diff changeset
429
18
4e3f133dfbf4 add new opt_compass_gain option to work with more magnetic battery types
heinrichsweikamp
parents: 0
diff changeset
430 do_compass_menu:
544
64a45f203144 NEW: Show Compass calibration results in Compass menu
heinrichsweikamp
parents: 530
diff changeset
431 MENU_BEGIN tSystSets, .5
18
4e3f133dfbf4 add new opt_compass_gain option to work with more magnetic battery types
heinrichsweikamp
parents: 0
diff changeset
432 MENU_CALL tCompassMenu, compass_calibration_loop
90
3274e87fd027 NEW: automatic compass gain makes calibration quicker
heinrichsweikamp
parents: 78
diff changeset
433 ; MENU_OPTION tCompassGain, oCompassGain, 0
544
64a45f203144 NEW: Show Compass calibration results in Compass menu
heinrichsweikamp
parents: 530
diff changeset
434 MENU_DYNAMIC menu_cal_x, 0
64a45f203144 NEW: Show Compass calibration results in Compass menu
heinrichsweikamp
parents: 530
diff changeset
435 MENU_DYNAMIC menu_cal_y, 0
64a45f203144 NEW: Show Compass calibration results in Compass menu
heinrichsweikamp
parents: 530
diff changeset
436 MENU_DYNAMIC menu_cal_z, 0
326
d21b172d5a7a VSIbar #4: VSI settings submenu, graph option, logbook offset and compass calib. menu exit fix
Janos Kovacs <kovjanos@gmail.com>
parents: 307
diff changeset
437 MENU_CALL tExit, do_return_settings_more
18
4e3f133dfbf4 add new opt_compass_gain option to work with more magnetic battery types
heinrichsweikamp
parents: 0
diff changeset
438 MENU_END
4e3f133dfbf4 add new opt_compass_gain option to work with more magnetic battery types
heinrichsweikamp
parents: 0
diff changeset
439
0
heinrichsweikamp
parents:
diff changeset
440 ;=============================================================================
heinrichsweikamp
parents:
diff changeset
441 ; Reset and confirmation menu.
heinrichsweikamp
parents:
diff changeset
442
heinrichsweikamp
parents:
diff changeset
443 do_reset_menu:
63
5c4d4a42e7a0 allow logbook erase from reset menu
heinrichsweikamp
parents: 50
diff changeset
444 MENU_BEGIN tResetMenu, .6
0
heinrichsweikamp
parents:
diff changeset
445 MENU_CALL tExit, do_return_settings
529
heinrichsweikamp
parents: 524
diff changeset
446 MENU_CALL tReboot, do_reset_menu2 ; Confirm
heinrichsweikamp
parents: 524
diff changeset
447 MENU_CALL tResetDeco, do_reset_menu3 ; Confirm
heinrichsweikamp
parents: 524
diff changeset
448 MENU_CALL tResetSettings, do_reset_menu4 ; Confirm
63
5c4d4a42e7a0 allow logbook erase from reset menu
heinrichsweikamp
parents: 50
diff changeset
449 MENU_CALL tResetLogbook, do_reset_menu5 ; Confirm
0
heinrichsweikamp
parents:
diff changeset
450 MENU_CALL tResetBattery, new_battery_menu ; New Battery submenu
heinrichsweikamp
parents:
diff changeset
451 MENU_END
heinrichsweikamp
parents:
diff changeset
452
heinrichsweikamp
parents:
diff changeset
453 do_reset_menu2:
heinrichsweikamp
parents:
diff changeset
454 MENU_BEGIN tResetMenu2, .2
heinrichsweikamp
parents:
diff changeset
455 MENU_CALL tAbort, do_continue_menu_3stack
heinrichsweikamp
parents:
diff changeset
456 MENU_CALL tReboot, do_reboot ; Reboot
heinrichsweikamp
parents:
diff changeset
457 MENU_END
heinrichsweikamp
parents:
diff changeset
458
heinrichsweikamp
parents:
diff changeset
459 do_reset_menu3:
heinrichsweikamp
parents:
diff changeset
460 MENU_BEGIN tResetMenu2, .2
heinrichsweikamp
parents:
diff changeset
461 MENU_CALL tAbort, do_continue_menu_3stack
heinrichsweikamp
parents:
diff changeset
462 MENU_CALL tResetDeco, do_reset_deco ; Reset Deco
heinrichsweikamp
parents:
diff changeset
463 MENU_END
heinrichsweikamp
parents:
diff changeset
464
heinrichsweikamp
parents:
diff changeset
465 do_reset_menu4:
heinrichsweikamp
parents:
diff changeset
466 MENU_BEGIN tResetMenu2, .2
heinrichsweikamp
parents:
diff changeset
467 MENU_CALL tAbort, do_continue_menu_3stack
heinrichsweikamp
parents:
diff changeset
468 MENU_CALL tResetSettings, do_reset_settings ; Reset all settings
heinrichsweikamp
parents:
diff changeset
469 MENU_END
heinrichsweikamp
parents:
diff changeset
470
63
5c4d4a42e7a0 allow logbook erase from reset menu
heinrichsweikamp
parents: 50
diff changeset
471 do_reset_menu5:
5c4d4a42e7a0 allow logbook erase from reset menu
heinrichsweikamp
parents: 50
diff changeset
472 MENU_BEGIN tResetMenu2, .2
5c4d4a42e7a0 allow logbook erase from reset menu
heinrichsweikamp
parents: 50
diff changeset
473 MENU_CALL tAbort, do_continue_menu_3stack
5c4d4a42e7a0 allow logbook erase from reset menu
heinrichsweikamp
parents: 50
diff changeset
474 MENU_CALL tResetLogbook, do_reset_logbook ; Reset logbook
5c4d4a42e7a0 allow logbook erase from reset menu
heinrichsweikamp
parents: 50
diff changeset
475 MENU_END
5c4d4a42e7a0 allow logbook erase from reset menu
heinrichsweikamp
parents: 50
diff changeset
476
5c4d4a42e7a0 allow logbook erase from reset menu
heinrichsweikamp
parents: 50
diff changeset
477 do_reset_logbook:
5c4d4a42e7a0 allow logbook erase from reset menu
heinrichsweikamp
parents: 50
diff changeset
478 clrf EEADRH ; Make sure to select eeprom bank 0
5c4d4a42e7a0 allow logbook erase from reset menu
heinrichsweikamp
parents: 50
diff changeset
479 clrf EEDATA
78
668b432dcae9 BUGFIX: Reset Logbook did not reset Logbook TOC properly
mh@mh-THINK.localdomain
parents: 76
diff changeset
480 read_int_eeprom .2
396
61984f91174a place total dives backup counter in eeprom 16:17
heinrichsweikamp
parents: 375
diff changeset
481 write_int_eeprom .16
78
668b432dcae9 BUGFIX: Reset Logbook did not reset Logbook TOC properly
mh@mh-THINK.localdomain
parents: 76
diff changeset
482 read_int_eeprom .3
396
61984f91174a place total dives backup counter in eeprom 16:17
heinrichsweikamp
parents: 375
diff changeset
483 write_int_eeprom .17 ; Copy number of dives
144
b839972db982 1.45 beta release
heinrichsweikamp
parents: 139
diff changeset
484 clrf EEDATA
78
668b432dcae9 BUGFIX: Reset Logbook did not reset Logbook TOC properly
mh@mh-THINK.localdomain
parents: 76
diff changeset
485 write_int_eeprom .2
668b432dcae9 BUGFIX: Reset Logbook did not reset Logbook TOC properly
mh@mh-THINK.localdomain
parents: 76
diff changeset
486 write_int_eeprom .3 ; Clear total dives
63
5c4d4a42e7a0 allow logbook erase from reset menu
heinrichsweikamp
parents: 50
diff changeset
487 write_int_eeprom .4
5c4d4a42e7a0 allow logbook erase from reset menu
heinrichsweikamp
parents: 50
diff changeset
488 write_int_eeprom .5
5c4d4a42e7a0 allow logbook erase from reset menu
heinrichsweikamp
parents: 50
diff changeset
489 write_int_eeprom .6 ; Reset logbook pointers
5c4d4a42e7a0 allow logbook erase from reset menu
heinrichsweikamp
parents: 50
diff changeset
490 call ext_flash_erase_logbook ; And complete logbook (!)
524
d2e52e6e1604 menu work
heinrichsweikamp
parents: 523
diff changeset
491 goto do_continue_main_menu ; back to menu
63
5c4d4a42e7a0 allow logbook erase from reset menu
heinrichsweikamp
parents: 50
diff changeset
492
0
heinrichsweikamp
parents:
diff changeset
493
heinrichsweikamp
parents:
diff changeset
494 do_reset_deco:
heinrichsweikamp
parents:
diff changeset
495 movlw d'79' ; 79% N2
heinrichsweikamp
parents:
diff changeset
496 movff WREG,char_I_N2_ratio
heinrichsweikamp
parents:
diff changeset
497 movlw d'0'
heinrichsweikamp
parents:
diff changeset
498 movff WREG,char_I_step_is_1min ; 2 second deco mode
heinrichsweikamp
parents:
diff changeset
499 SAFE_2BYTE_COPY amb_pressure,int_I_pres_respiration ; copy for deco routine
heinrichsweikamp
parents:
diff changeset
500 movff int_I_pres_respiration+0,int_I_pres_surface+0 ; copy for desat routine
heinrichsweikamp
parents:
diff changeset
501 movff int_I_pres_respiration+1,int_I_pres_surface+1
heinrichsweikamp
parents:
diff changeset
502
heinrichsweikamp
parents:
diff changeset
503 extern deco_reset
heinrichsweikamp
parents:
diff changeset
504 call deco_reset
heinrichsweikamp
parents:
diff changeset
505 call deco_calc_desaturation_time ; calculate desaturation time
heinrichsweikamp
parents:
diff changeset
506 banksel common
heinrichsweikamp
parents:
diff changeset
507 call deco_calc_wo_deco_step_1_min ; calculate deco in surface mode
heinrichsweikamp
parents:
diff changeset
508 banksel common
heinrichsweikamp
parents:
diff changeset
509 clrf nofly_time+0 ; Reset NoFly
heinrichsweikamp
parents:
diff changeset
510 clrf nofly_time+1
heinrichsweikamp
parents:
diff changeset
511 clrf desaturation_time+0 ; Reset Desat
heinrichsweikamp
parents:
diff changeset
512 clrf desaturation_time+1
524
d2e52e6e1604 menu work
heinrichsweikamp
parents: 523
diff changeset
513 goto do_return_settings ; back to menu
0
heinrichsweikamp
parents:
diff changeset
514
heinrichsweikamp
parents:
diff changeset
515 do_reset_settings:
470
81faca166e1b minor: clear screen while resetting settings
heinrichsweikamp
parents: 464
diff changeset
516 call TFT_ClearScreen ; Clear screen
139
e0b758865e91 some cleanup
heinrichsweikamp
parents: 113
diff changeset
517 banksel common
0
heinrichsweikamp
parents:
diff changeset
518 extern option_reset_all
heinrichsweikamp
parents:
diff changeset
519 call option_reset_all ; Reset all options to factory default.
524
d2e52e6e1604 menu work
heinrichsweikamp
parents: 523
diff changeset
520 goto restart ; Restart into surfacemode
0
heinrichsweikamp
parents:
diff changeset
521
heinrichsweikamp
parents:
diff changeset
522 do_continue_menu_3stack: ; Return three levels deep
heinrichsweikamp
parents:
diff changeset
523 call menu_processor_pop
524
d2e52e6e1604 menu work
heinrichsweikamp
parents: 523
diff changeset
524 goto do_return_settings
0
heinrichsweikamp
parents:
diff changeset
525
heinrichsweikamp
parents:
diff changeset
526 do_reboot:
heinrichsweikamp
parents:
diff changeset
527 call ext_flash_enable_protection ; Enables write protection
heinrichsweikamp
parents:
diff changeset
528 reset
heinrichsweikamp
parents:
diff changeset
529
heinrichsweikamp
parents:
diff changeset
530
heinrichsweikamp
parents:
diff changeset
531 do_date_time_menu:
heinrichsweikamp
parents:
diff changeset
532 MENU_BEGIN tSetTimeDate, .4
heinrichsweikamp
parents:
diff changeset
533 MENU_CALL tSetTime, do_time_menu
heinrichsweikamp
parents:
diff changeset
534 MENU_CALL tSetDate, do_date_menu
heinrichsweikamp
parents:
diff changeset
535 MENU_OPTION tDateFormat,oDateFormat, 0
heinrichsweikamp
parents:
diff changeset
536 MENU_CALL tExit, do_return_settings
heinrichsweikamp
parents:
diff changeset
537 MENU_END
heinrichsweikamp
parents:
diff changeset
538
heinrichsweikamp
parents:
diff changeset
539 do_date_menu:
heinrichsweikamp
parents:
diff changeset
540 bsf settime_setdate
heinrichsweikamp
parents:
diff changeset
541 MENU_BEGIN tSetDate, .4
heinrichsweikamp
parents:
diff changeset
542 MENU_OPTION tSetDay, oSetDay, 0
50
ec4d8503ec45 NEW: user-selectable color schemes
heinrichsweikamp
parents: 39
diff changeset
543 MENU_OPTION tSetMonth, oSetMonth, 0
0
heinrichsweikamp
parents:
diff changeset
544 MENU_OPTION tSetYear, oSetYear, 0
heinrichsweikamp
parents:
diff changeset
545 MENU_CALL tExit, do_continue_menu_3stack
heinrichsweikamp
parents:
diff changeset
546 MENU_END
heinrichsweikamp
parents:
diff changeset
547
heinrichsweikamp
parents:
diff changeset
548
heinrichsweikamp
parents:
diff changeset
549 do_reset_seconds:
heinrichsweikamp
parents:
diff changeset
550 clrf secs
heinrichsweikamp
parents:
diff changeset
551 extern rtc_set_rtc
heinrichsweikamp
parents:
diff changeset
552 call rtc_set_rtc ; writes mins,sec,hours,day,month and year to rtc module
heinrichsweikamp
parents:
diff changeset
553 do_time_menu:
heinrichsweikamp
parents:
diff changeset
554 bsf settime_setdate
heinrichsweikamp
parents:
diff changeset
555 MENU_BEGIN tSetTime, .4
heinrichsweikamp
parents:
diff changeset
556 MENU_OPTION tSetHours, oSetHours, 0
heinrichsweikamp
parents:
diff changeset
557 MENU_OPTION tSetMinutes,oSetMinutes, 0
heinrichsweikamp
parents:
diff changeset
558 MENU_CALL tSetSeconds, do_reset_seconds
heinrichsweikamp
parents:
diff changeset
559 MENU_CALL tExit, do_continue_menu_3stack
heinrichsweikamp
parents:
diff changeset
560 MENU_END
heinrichsweikamp
parents:
diff changeset
561
heinrichsweikamp
parents:
diff changeset
562
heinrichsweikamp
parents:
diff changeset
563 do_toggle_ppo2_max: ; add 0.1bar, with hard-coded max.
heinrichsweikamp
parents:
diff changeset
564 movff opt_ppO2_max,lo ; banksafe
heinrichsweikamp
parents:
diff changeset
565 movlw .10
heinrichsweikamp
parents:
diff changeset
566 addwf lo,F
heinrichsweikamp
parents:
diff changeset
567 movlw ppo2_highest_setting
heinrichsweikamp
parents:
diff changeset
568 cpfsgt lo
heinrichsweikamp
parents:
diff changeset
569 bra do_toggle_ppo2_max2
heinrichsweikamp
parents:
diff changeset
570 movlw .120
heinrichsweikamp
parents:
diff changeset
571 movwf lo
heinrichsweikamp
parents:
diff changeset
572 do_toggle_ppo2_max2:
heinrichsweikamp
parents:
diff changeset
573 movff lo,opt_ppO2_max
heinrichsweikamp
parents:
diff changeset
574 return
heinrichsweikamp
parents:
diff changeset
575
507
4e6f5c36f4cc NEW: Two ppO2 max settings. One for travel/bottom and one for deco gases
heinrichsweikamp
parents: 505
diff changeset
576 do_toggle_ppo2_max_deco: ; add 0.1bar, with hard-coded max.
4e6f5c36f4cc NEW: Two ppO2 max settings. One for travel/bottom and one for deco gases
heinrichsweikamp
parents: 505
diff changeset
577 movff opt_ppO2_max_deco,lo ; banksafe
4e6f5c36f4cc NEW: Two ppO2 max settings. One for travel/bottom and one for deco gases
heinrichsweikamp
parents: 505
diff changeset
578 movlw .10
4e6f5c36f4cc NEW: Two ppO2 max settings. One for travel/bottom and one for deco gases
heinrichsweikamp
parents: 505
diff changeset
579 addwf lo,F
4e6f5c36f4cc NEW: Two ppO2 max settings. One for travel/bottom and one for deco gases
heinrichsweikamp
parents: 505
diff changeset
580 movlw ppo2_highest_setting_deco
4e6f5c36f4cc NEW: Two ppO2 max settings. One for travel/bottom and one for deco gases
heinrichsweikamp
parents: 505
diff changeset
581 cpfsgt lo
4e6f5c36f4cc NEW: Two ppO2 max settings. One for travel/bottom and one for deco gases
heinrichsweikamp
parents: 505
diff changeset
582 bra do_toggle_ppo2_max_deco2
4e6f5c36f4cc NEW: Two ppO2 max settings. One for travel/bottom and one for deco gases
heinrichsweikamp
parents: 505
diff changeset
583 movlw .120
4e6f5c36f4cc NEW: Two ppO2 max settings. One for travel/bottom and one for deco gases
heinrichsweikamp
parents: 505
diff changeset
584 movwf lo
4e6f5c36f4cc NEW: Two ppO2 max settings. One for travel/bottom and one for deco gases
heinrichsweikamp
parents: 505
diff changeset
585 do_toggle_ppo2_max_deco2:
4e6f5c36f4cc NEW: Two ppO2 max settings. One for travel/bottom and one for deco gases
heinrichsweikamp
parents: 505
diff changeset
586 movff lo,opt_ppO2_max_deco
4e6f5c36f4cc NEW: Two ppO2 max settings. One for travel/bottom and one for deco gases
heinrichsweikamp
parents: 505
diff changeset
587 return
4e6f5c36f4cc NEW: Two ppO2 max settings. One for travel/bottom and one for deco gases
heinrichsweikamp
parents: 505
diff changeset
588
0
heinrichsweikamp
parents:
diff changeset
589 do_toggle_ppo2_min: ; sub 0.1bar, with hard-coded min.
heinrichsweikamp
parents:
diff changeset
590 movff opt_ppO2_min,lo ; banksafe
heinrichsweikamp
parents:
diff changeset
591 incf lo,F
heinrichsweikamp
parents:
diff changeset
592 movlw .21
heinrichsweikamp
parents:
diff changeset
593 cpfsgt lo
heinrichsweikamp
parents:
diff changeset
594 bra do_toggle_ppo2_min2
heinrichsweikamp
parents:
diff changeset
595 movlw ppo2_lowest_setting
heinrichsweikamp
parents:
diff changeset
596 movwf lo
heinrichsweikamp
parents:
diff changeset
597 do_toggle_ppo2_min2:
heinrichsweikamp
parents:
diff changeset
598 movff lo,opt_ppO2_min
heinrichsweikamp
parents:
diff changeset
599 return
heinrichsweikamp
parents:
diff changeset
600
heinrichsweikamp
parents:
diff changeset
601
heinrichsweikamp
parents:
diff changeset
602 ; Logbook offset sub-menu
heinrichsweikamp
parents:
diff changeset
603 do_log_offset_menu:
heinrichsweikamp
parents:
diff changeset
604 MENU_BEGIN tLogOffset, .6
heinrichsweikamp
parents:
diff changeset
605 MENU_DYNAMIC TFT_LogOffset_Logtitle, 0
heinrichsweikamp
parents:
diff changeset
606 MENU_CALL tLogOffsetp1, do_logoffset_plus1
heinrichsweikamp
parents:
diff changeset
607 MENU_CALL tLogOffsetp10, do_logoffset_plus10
heinrichsweikamp
parents:
diff changeset
608 MENU_CALL tLogOffsetm1, do_logoffset_minus1
heinrichsweikamp
parents:
diff changeset
609 MENU_CALL tLogOffsetm10, do_logoffset_minus10
326
d21b172d5a7a VSIbar #4: VSI settings submenu, graph option, logbook offset and compass calib. menu exit fix
Janos Kovacs <kovjanos@gmail.com>
parents: 307
diff changeset
610 MENU_CALL tExit, do_return_settings_more
0
heinrichsweikamp
parents:
diff changeset
611 MENU_END
heinrichsweikamp
parents:
diff changeset
612
heinrichsweikamp
parents:
diff changeset
613
heinrichsweikamp
parents:
diff changeset
614 do_logoffset_minus1:
heinrichsweikamp
parents:
diff changeset
615 call do_logoffset_common_read ; Read into lo:hi
heinrichsweikamp
parents:
diff changeset
616 movlw d'1'
heinrichsweikamp
parents:
diff changeset
617 subwf lo
heinrichsweikamp
parents:
diff changeset
618 movlw d'0'
heinrichsweikamp
parents:
diff changeset
619 subwfb hi
heinrichsweikamp
parents:
diff changeset
620 btfss hi,7 ; <0?
heinrichsweikamp
parents:
diff changeset
621 goto do_logoffset_common_write ; Store and return
heinrichsweikamp
parents:
diff changeset
622 clrf lo
heinrichsweikamp
parents:
diff changeset
623 clrf hi
heinrichsweikamp
parents:
diff changeset
624 goto do_logoffset_common_write ; Store and return
heinrichsweikamp
parents:
diff changeset
625
heinrichsweikamp
parents:
diff changeset
626 do_logoffset_minus10:
heinrichsweikamp
parents:
diff changeset
627 call do_logoffset_common_read ; Read into lo:hi
heinrichsweikamp
parents:
diff changeset
628 movlw d'10'
heinrichsweikamp
parents:
diff changeset
629 subwf lo
heinrichsweikamp
parents:
diff changeset
630 movlw d'0'
heinrichsweikamp
parents:
diff changeset
631 subwfb hi
heinrichsweikamp
parents:
diff changeset
632 btfss hi,7 ; <0?
heinrichsweikamp
parents:
diff changeset
633 goto do_logoffset_common_write ; Store and return
heinrichsweikamp
parents:
diff changeset
634 clrf lo
heinrichsweikamp
parents:
diff changeset
635 clrf hi
heinrichsweikamp
parents:
diff changeset
636 goto do_logoffset_common_write ; Store and return
heinrichsweikamp
parents:
diff changeset
637
heinrichsweikamp
parents:
diff changeset
638 do_logoffset_plus1:
heinrichsweikamp
parents:
diff changeset
639 call do_logoffset_common_read ; Read into lo:hi
148
022b886eddaf some cleanup
heinrichsweikamp
parents: 145
diff changeset
640 infsnz lo,F
022b886eddaf some cleanup
heinrichsweikamp
parents: 145
diff changeset
641 incf hi,F
0
heinrichsweikamp
parents:
diff changeset
642 goto do_logoffset_common_write ; Store and return
heinrichsweikamp
parents:
diff changeset
643
heinrichsweikamp
parents:
diff changeset
644 do_logoffset_plus10:
heinrichsweikamp
parents:
diff changeset
645 call do_logoffset_common_read ; Read into lo:hi
heinrichsweikamp
parents:
diff changeset
646 movlw d'10'
heinrichsweikamp
parents:
diff changeset
647 addwf lo
heinrichsweikamp
parents:
diff changeset
648 movlw d'0'
heinrichsweikamp
parents:
diff changeset
649 addwfc hi
heinrichsweikamp
parents:
diff changeset
650 goto do_logoffset_common_write ; Store and return
heinrichsweikamp
parents:
diff changeset
651
heinrichsweikamp
parents:
diff changeset
652 do_dispsets_menu_3stack:
50
ec4d8503ec45 NEW: user-selectable color schemes
heinrichsweikamp
parents: 39
diff changeset
653 bcf in_color_menu
428
eccae727702f some cleanup
heinrichsweikamp
parents: 396
diff changeset
654 rcall menu_tree_double_pop ; drop exit line and back to last line
0
heinrichsweikamp
parents:
diff changeset
655
heinrichsweikamp
parents:
diff changeset
656 do_dispsets_menu:
337
508d7fb98b34 cleanup menu, add "Auto SP" option (Not working yet), minor layout change in compass menu
heinrichsweikamp
parents: 335
diff changeset
657 MENU_BEGIN tDispSets, .5
303
9b1b0b32e7d5 Add configuration option to control depth warning blinking
janos_kovacs <kovjanos@gmail.com>
parents: 298
diff changeset
658 MENU_OPTION tBright, oBrightness, 0
9b1b0b32e7d5 Add configuration option to control depth warning blinking
janos_kovacs <kovjanos@gmail.com>
parents: 298
diff changeset
659 MENU_CALL tColorScheme, do_color_scheme
9b1b0b32e7d5 Add configuration option to control depth warning blinking
janos_kovacs <kovjanos@gmail.com>
parents: 298
diff changeset
660 MENU_OPTION tFlip, oFlipScreen, 0
335
3d43da7acfe1 Always show ppO2 (warning position, standard color) option
janos_kovacs <kovjanos@gmail.com>
parents: 333
diff changeset
661 MENU_CALL tMore, do_dispsets_menu_more
3d43da7acfe1 Always show ppO2 (warning position, standard color) option
janos_kovacs <kovjanos@gmail.com>
parents: 333
diff changeset
662 MENU_CALL tExit, do_return_settings
3d43da7acfe1 Always show ppO2 (warning position, standard color) option
janos_kovacs <kovjanos@gmail.com>
parents: 333
diff changeset
663 MENU_END
3d43da7acfe1 Always show ppO2 (warning position, standard color) option
janos_kovacs <kovjanos@gmail.com>
parents: 333
diff changeset
664
3d43da7acfe1 Always show ppO2 (warning position, standard color) option
janos_kovacs <kovjanos@gmail.com>
parents: 333
diff changeset
665 do_dispsets_menu_more:
448
aadfe9f2edaf work on new battery options
heinrichsweikamp
parents: 428
diff changeset
666 MENU_BEGIN tDispSets, .5
337
508d7fb98b34 cleanup menu, add "Auto SP" option (Not working yet), minor layout change in compass menu
heinrichsweikamp
parents: 335
diff changeset
667 MENU_OPTION tMODwarning, oMODwarning, 0
508d7fb98b34 cleanup menu, add "Auto SP" option (Not working yet), minor layout change in compass menu
heinrichsweikamp
parents: 335
diff changeset
668 MENU_OPTION tVSItext2, oVSItextv2, 0
508d7fb98b34 cleanup menu, add "Auto SP" option (Not working yet), minor layout change in compass menu
heinrichsweikamp
parents: 335
diff changeset
669 MENU_OPTION tVSIgraph, oVSIgraph, 0
448
aadfe9f2edaf work on new battery options
heinrichsweikamp
parents: 428
diff changeset
670 MENU_OPTION tTimeoutDive, oDiveTimeout, 0
335
3d43da7acfe1 Always show ppO2 (warning position, standard color) option
janos_kovacs <kovjanos@gmail.com>
parents: 333
diff changeset
671 MENU_CALL tExit, do_dispsets_menu_3stack
0
heinrichsweikamp
parents:
diff changeset
672 MENU_END
heinrichsweikamp
parents:
diff changeset
673
50
ec4d8503ec45 NEW: user-selectable color schemes
heinrichsweikamp
parents: 39
diff changeset
674 extern oColorSetDive
ec4d8503ec45 NEW: user-selectable color schemes
heinrichsweikamp
parents: 39
diff changeset
675 do_color_scheme:
ec4d8503ec45 NEW: user-selectable color schemes
heinrichsweikamp
parents: 39
diff changeset
676 bsf in_color_menu
ec4d8503ec45 NEW: user-selectable color schemes
heinrichsweikamp
parents: 39
diff changeset
677 MENU_BEGIN tColorScheme, .2
ec4d8503ec45 NEW: user-selectable color schemes
heinrichsweikamp
parents: 39
diff changeset
678 MENU_OPTION tColorSetDive,oColorSetDive, 0
ec4d8503ec45 NEW: user-selectable color schemes
heinrichsweikamp
parents: 39
diff changeset
679 MENU_CALL tExit, do_dispsets_menu_3stack
ec4d8503ec45 NEW: user-selectable color schemes
heinrichsweikamp
parents: 39
diff changeset
680 MENU_END
ec4d8503ec45 NEW: user-selectable color schemes
heinrichsweikamp
parents: 39
diff changeset
681
ec4d8503ec45 NEW: user-selectable color schemes
heinrichsweikamp
parents: 39
diff changeset
682
0
heinrichsweikamp
parents:
diff changeset
683 ;=============================================================================
heinrichsweikamp
parents:
diff changeset
684
heinrichsweikamp
parents:
diff changeset
685 global new_battery_menu
464
0491a84fd0b8 CHANGE: Easier to understand "New Battery" menu (OSTC model dependent)
heinrichsweikamp
parents: 457
diff changeset
686 extern surfloop
0
heinrichsweikamp
parents:
diff changeset
687 new_battery_menu:
heinrichsweikamp
parents:
diff changeset
688 bsf enable_screen_dumps ; To prevent exiting into COMM mode immediately
heinrichsweikamp
parents:
diff changeset
689 call TFT_boot ; Initialize TFT (includes clear screen)
heinrichsweikamp
parents:
diff changeset
690 call TFT_Display_FadeIn ; Show splash
heinrichsweikamp
parents:
diff changeset
691 movlw .100
heinrichsweikamp
parents:
diff changeset
692 movwf batt_percent ; make sure to reset batt_percent
464
0491a84fd0b8 CHANGE: Easier to understand "New Battery" menu (OSTC model dependent)
heinrichsweikamp
parents: 457
diff changeset
693
0
heinrichsweikamp
parents:
diff changeset
694 ; Default (In cases of timeout or USB): Use old battery
heinrichsweikamp
parents:
diff changeset
695 clrf EEADRH
heinrichsweikamp
parents:
diff changeset
696 read_int_eeprom 0x07
heinrichsweikamp
parents:
diff changeset
697 movff EEDATA,battery_gauge+0
heinrichsweikamp
parents:
diff changeset
698 read_int_eeprom 0x08
heinrichsweikamp
parents:
diff changeset
699 movff EEDATA,battery_gauge+1
heinrichsweikamp
parents:
diff changeset
700 read_int_eeprom 0x09
heinrichsweikamp
parents:
diff changeset
701 movff EEDATA,battery_gauge+2
heinrichsweikamp
parents:
diff changeset
702 read_int_eeprom 0x0A
heinrichsweikamp
parents:
diff changeset
703 movff EEDATA,battery_gauge+3
heinrichsweikamp
parents:
diff changeset
704 read_int_eeprom 0x0B
heinrichsweikamp
parents:
diff changeset
705 movff EEDATA,battery_gauge+4
heinrichsweikamp
parents:
diff changeset
706 read_int_eeprom 0x0C
heinrichsweikamp
parents:
diff changeset
707 movff EEDATA,battery_gauge+5
heinrichsweikamp
parents:
diff changeset
708
464
0491a84fd0b8 CHANGE: Easier to understand "New Battery" menu (OSTC model dependent)
heinrichsweikamp
parents: 457
diff changeset
709 call menu_processor_reset ; restart from first icon.
474
2880aa1264f5 Fix new battery menu on Power-on reset
heinrichsweikamp
parents: 472
diff changeset
710
2880aa1264f5 Fix new battery menu on Power-on reset
heinrichsweikamp
parents: 472
diff changeset
711 MENU_BEGIN tNewBattTitle, .1
2880aa1264f5 Fix new battery menu on Power-on reset
heinrichsweikamp
parents: 472
diff changeset
712 MENU_CALL tEnter, new_battery_menu2
2880aa1264f5 Fix new battery menu on Power-on reset
heinrichsweikamp
parents: 472
diff changeset
713 MENU_END
2880aa1264f5 Fix new battery menu on Power-on reset
heinrichsweikamp
parents: 472
diff changeset
714
2880aa1264f5 Fix new battery menu on Power-on reset
heinrichsweikamp
parents: 472
diff changeset
715 new_battery_menu2:
464
0491a84fd0b8 CHANGE: Easier to understand "New Battery" menu (OSTC model dependent)
heinrichsweikamp
parents: 457
diff changeset
716 ; hardware_flag:
0491a84fd0b8 CHANGE: Easier to understand "New Battery" menu (OSTC model dependent)
heinrichsweikamp
parents: 457
diff changeset
717 ; 3: 0x0A or 0x13 (2016)
0491a84fd0b8 CHANGE: Easier to understand "New Battery" menu (OSTC model dependent)
heinrichsweikamp
parents: 457
diff changeset
718 ; cR: 0x05
0491a84fd0b8 CHANGE: Easier to understand "New Battery" menu (OSTC model dependent)
heinrichsweikamp
parents: 457
diff changeset
719 ; 2 with BLE: 0x11
0491a84fd0b8 CHANGE: Easier to understand "New Battery" menu (OSTC model dependent)
heinrichsweikamp
parents: 457
diff changeset
720 ; Sport: 0x12
0491a84fd0b8 CHANGE: Easier to understand "New Battery" menu (OSTC model dependent)
heinrichsweikamp
parents: 457
diff changeset
721 ; 3 with BLE: 0x1A
76
a5ea132770db 1.21 release
heinrichsweikamp
parents: 66
diff changeset
722
464
0491a84fd0b8 CHANGE: Easier to understand "New Battery" menu (OSTC model dependent)
heinrichsweikamp
parents: 457
diff changeset
723 movlw 0x0A
0491a84fd0b8 CHANGE: Easier to understand "New Battery" menu (OSTC model dependent)
heinrichsweikamp
parents: 457
diff changeset
724 cpfseq hardware_flag
0491a84fd0b8 CHANGE: Easier to understand "New Battery" menu (OSTC model dependent)
heinrichsweikamp
parents: 457
diff changeset
725 bra $+4
0491a84fd0b8 CHANGE: Easier to understand "New Battery" menu (OSTC model dependent)
heinrichsweikamp
parents: 457
diff changeset
726 bra menu_new_battery_AA
0491a84fd0b8 CHANGE: Easier to understand "New Battery" menu (OSTC model dependent)
heinrichsweikamp
parents: 457
diff changeset
727 movlw 0x13
0491a84fd0b8 CHANGE: Easier to understand "New Battery" menu (OSTC model dependent)
heinrichsweikamp
parents: 457
diff changeset
728 cpfseq hardware_flag
0491a84fd0b8 CHANGE: Easier to understand "New Battery" menu (OSTC model dependent)
heinrichsweikamp
parents: 457
diff changeset
729 bra $+4
474
2880aa1264f5 Fix new battery menu on Power-on reset
heinrichsweikamp
parents: 472
diff changeset
730 bra menu_new_battery_AA_16650
464
0491a84fd0b8 CHANGE: Easier to understand "New Battery" menu (OSTC model dependent)
heinrichsweikamp
parents: 457
diff changeset
731 movlw 0x12
0491a84fd0b8 CHANGE: Easier to understand "New Battery" menu (OSTC model dependent)
heinrichsweikamp
parents: 457
diff changeset
732 cpfseq hardware_flag
0491a84fd0b8 CHANGE: Easier to understand "New Battery" menu (OSTC model dependent)
heinrichsweikamp
parents: 457
diff changeset
733 bra $+4
0491a84fd0b8 CHANGE: Easier to understand "New Battery" menu (OSTC model dependent)
heinrichsweikamp
parents: 457
diff changeset
734 bra menu_new_battery_AA
0491a84fd0b8 CHANGE: Easier to understand "New Battery" menu (OSTC model dependent)
heinrichsweikamp
parents: 457
diff changeset
735 movlw 0x1A
0491a84fd0b8 CHANGE: Easier to understand "New Battery" menu (OSTC model dependent)
heinrichsweikamp
parents: 457
diff changeset
736 cpfseq hardware_flag
0491a84fd0b8 CHANGE: Easier to understand "New Battery" menu (OSTC model dependent)
heinrichsweikamp
parents: 457
diff changeset
737 bra $+4
0491a84fd0b8 CHANGE: Easier to understand "New Battery" menu (OSTC model dependent)
heinrichsweikamp
parents: 457
diff changeset
738 bra menu_new_battery_AA
0491a84fd0b8 CHANGE: Easier to understand "New Battery" menu (OSTC model dependent)
heinrichsweikamp
parents: 457
diff changeset
739 movlw 0x11
0491a84fd0b8 CHANGE: Easier to understand "New Battery" menu (OSTC model dependent)
heinrichsweikamp
parents: 457
diff changeset
740 cpfseq hardware_flag
0491a84fd0b8 CHANGE: Easier to understand "New Battery" menu (OSTC model dependent)
heinrichsweikamp
parents: 457
diff changeset
741 bra $+4
0491a84fd0b8 CHANGE: Easier to understand "New Battery" menu (OSTC model dependent)
heinrichsweikamp
parents: 457
diff changeset
742 bra menu_new_battery_18650
0491a84fd0b8 CHANGE: Easier to understand "New Battery" menu (OSTC model dependent)
heinrichsweikamp
parents: 457
diff changeset
743 movlw 0x05
0491a84fd0b8 CHANGE: Easier to understand "New Battery" menu (OSTC model dependent)
heinrichsweikamp
parents: 457
diff changeset
744 cpfseq hardware_flag
0491a84fd0b8 CHANGE: Easier to understand "New Battery" menu (OSTC model dependent)
heinrichsweikamp
parents: 457
diff changeset
745 bra $+4
0491a84fd0b8 CHANGE: Easier to understand "New Battery" menu (OSTC model dependent)
heinrichsweikamp
parents: 457
diff changeset
746 bra menu_new_battery_18650
0491a84fd0b8 CHANGE: Easier to understand "New Battery" menu (OSTC model dependent)
heinrichsweikamp
parents: 457
diff changeset
747 bra use_old_batteries ; any unsupported value
0491a84fd0b8 CHANGE: Easier to understand "New Battery" menu (OSTC model dependent)
heinrichsweikamp
parents: 457
diff changeset
748
474
2880aa1264f5 Fix new battery menu on Power-on reset
heinrichsweikamp
parents: 472
diff changeset
749 menu_new_battery_AA_16650:
2880aa1264f5 Fix new battery menu on Power-on reset
heinrichsweikamp
parents: 472
diff changeset
750 MENU_BEGIN tNewBattTitle, .5
2880aa1264f5 Fix new battery menu on Power-on reset
heinrichsweikamp
parents: 472
diff changeset
751 MENU_CALL tNewBattOld, use_old_batteries
2880aa1264f5 Fix new battery menu on Power-on reset
heinrichsweikamp
parents: 472
diff changeset
752 MENU_CALL tNewBattNew36, use_new_36V_batteries
2880aa1264f5 Fix new battery menu on Power-on reset
heinrichsweikamp
parents: 472
diff changeset
753 MENU_CALL tNewBattNew15, use_new_15V_batteries
2880aa1264f5 Fix new battery menu on Power-on reset
heinrichsweikamp
parents: 472
diff changeset
754 MENU_CALL tNewBattAccu, use_36V_rechargeable
2880aa1264f5 Fix new battery menu on Power-on reset
heinrichsweikamp
parents: 472
diff changeset
755 MENU_CALL tNew16650, use_16650_battery
2880aa1264f5 Fix new battery menu on Power-on reset
heinrichsweikamp
parents: 472
diff changeset
756 MENU_END
2880aa1264f5 Fix new battery menu on Power-on reset
heinrichsweikamp
parents: 472
diff changeset
757
464
0491a84fd0b8 CHANGE: Easier to understand "New Battery" menu (OSTC model dependent)
heinrichsweikamp
parents: 457
diff changeset
758 menu_new_battery_AA:
0491a84fd0b8 CHANGE: Easier to understand "New Battery" menu (OSTC model dependent)
heinrichsweikamp
parents: 457
diff changeset
759 MENU_BEGIN tNewBattTitle, .4
448
aadfe9f2edaf work on new battery options
heinrichsweikamp
parents: 428
diff changeset
760 MENU_CALL tNewBattOld, use_old_batteries
0
heinrichsweikamp
parents:
diff changeset
761 MENU_CALL tNewBattNew36, use_new_36V_batteries
heinrichsweikamp
parents:
diff changeset
762 MENU_CALL tNewBattNew15, use_new_15V_batteries
448
aadfe9f2edaf work on new battery options
heinrichsweikamp
parents: 428
diff changeset
763 MENU_CALL tNewBattAccu, use_36V_rechargeable
464
0491a84fd0b8 CHANGE: Easier to understand "New Battery" menu (OSTC model dependent)
heinrichsweikamp
parents: 457
diff changeset
764 MENU_END
0491a84fd0b8 CHANGE: Easier to understand "New Battery" menu (OSTC model dependent)
heinrichsweikamp
parents: 457
diff changeset
765
0491a84fd0b8 CHANGE: Easier to understand "New Battery" menu (OSTC model dependent)
heinrichsweikamp
parents: 457
diff changeset
766 menu_new_battery_18650:
0491a84fd0b8 CHANGE: Easier to understand "New Battery" menu (OSTC model dependent)
heinrichsweikamp
parents: 457
diff changeset
767 MENU_BEGIN tNewBattTitle, .2
0491a84fd0b8 CHANGE: Easier to understand "New Battery" menu (OSTC model dependent)
heinrichsweikamp
parents: 457
diff changeset
768 MENU_CALL tNewBattOld, use_old_batteries
448
aadfe9f2edaf work on new battery options
heinrichsweikamp
parents: 428
diff changeset
769 MENU_CALL tNew18650, use_18650_battery
0
heinrichsweikamp
parents:
diff changeset
770 MENU_END
heinrichsweikamp
parents:
diff changeset
771
464
0491a84fd0b8 CHANGE: Easier to understand "New Battery" menu (OSTC model dependent)
heinrichsweikamp
parents: 457
diff changeset
772
457
b4417044a042 recover old battery status prior 2.09
heinrichsweikamp
parents: 453
diff changeset
773 global use_old_prior_209
b4417044a042 recover old battery status prior 2.09
heinrichsweikamp
parents: 453
diff changeset
774 use_old_prior_209:
b4417044a042 recover old battery status prior 2.09
heinrichsweikamp
parents: 453
diff changeset
775 clrf EEADRH
472
4fdf6886004b CHANGE: Show warnings either in Customview (If active) _or_ next to warning sign
heinrichsweikamp
parents: 470
diff changeset
776 read_int_eeprom 0x0F ; =0:1.5V, =1:3,6V Saft, =2:LiIon 3,7V/0.8Ah, =3:LiIon 3,7V/3.1Ah, =4: LiIon 3,7V/2.3Ah
457
b4417044a042 recover old battery status prior 2.09
heinrichsweikamp
parents: 453
diff changeset
777 incfsz EEDATA,F ; Was 0xFF?
477
44b8a826b314 NEW: Show battery type in surface mode next to battery voltage
heinrichsweikamp
parents: 474
diff changeset
778 return ; No, done.
44b8a826b314 NEW: Show battery type in surface mode next to battery voltage
heinrichsweikamp
parents: 474
diff changeset
779
457
b4417044a042 recover old battery status prior 2.09
heinrichsweikamp
parents: 453
diff changeset
780 call lt2942_get_status ; Check for gauge IC
b4417044a042 recover old battery status prior 2.09
heinrichsweikamp
parents: 453
diff changeset
781 movlw .3 ; Assume a 18650
b4417044a042 recover old battery status prior 2.09
heinrichsweikamp
parents: 453
diff changeset
782 btfss battery_gauge_available ; cR/2 hardware?
b4417044a042 recover old battery status prior 2.09
heinrichsweikamp
parents: 453
diff changeset
783 movlw .1 ; Assume a Saft
b4417044a042 recover old battery status prior 2.09
heinrichsweikamp
parents: 453
diff changeset
784 movwf EEDATA
b4417044a042 recover old battery status prior 2.09
heinrichsweikamp
parents: 453
diff changeset
785 write_int_eeprom 0x0F ; Store the new battery type into EEPROM
b4417044a042 recover old battery status prior 2.09
heinrichsweikamp
parents: 453
diff changeset
786 return
b4417044a042 recover old battery status prior 2.09
heinrichsweikamp
parents: 453
diff changeset
787
0
heinrichsweikamp
parents:
diff changeset
788 global use_old_batteries
heinrichsweikamp
parents:
diff changeset
789 use_old_batteries:
heinrichsweikamp
parents:
diff changeset
790 clrf EEADRH
heinrichsweikamp
parents:
diff changeset
791 read_int_eeprom 0x07
heinrichsweikamp
parents:
diff changeset
792 movff EEDATA,battery_gauge+0
heinrichsweikamp
parents:
diff changeset
793 read_int_eeprom 0x08
heinrichsweikamp
parents:
diff changeset
794 movff EEDATA,battery_gauge+1
heinrichsweikamp
parents:
diff changeset
795 read_int_eeprom 0x09
heinrichsweikamp
parents:
diff changeset
796 movff EEDATA,battery_gauge+2
heinrichsweikamp
parents:
diff changeset
797 read_int_eeprom 0x0A
heinrichsweikamp
parents:
diff changeset
798 movff EEDATA,battery_gauge+3
heinrichsweikamp
parents:
diff changeset
799 read_int_eeprom 0x0B
heinrichsweikamp
parents:
diff changeset
800 movff EEDATA,battery_gauge+4
heinrichsweikamp
parents:
diff changeset
801 read_int_eeprom 0x0C
heinrichsweikamp
parents:
diff changeset
802 movff EEDATA,battery_gauge+5
448
aadfe9f2edaf work on new battery options
heinrichsweikamp
parents: 428
diff changeset
803 read_int_eeprom 0x0F
472
4fdf6886004b CHANGE: Show warnings either in Customview (If active) _or_ next to warning sign
heinrichsweikamp
parents: 470
diff changeset
804 movff EEDATA,battery_type; =0:1.5V, =1:3,6V Saft, =2:LiIon 3,7V/0.8Ah, =3:LiIon 3,7V/3.1Ah, =4: LiIon 3,7V/2.3Ah
448
aadfe9f2edaf work on new battery options
heinrichsweikamp
parents: 428
diff changeset
805
450
791a25c4aab4 bugfix "old battery" type
heinrichsweikamp
parents: 448
diff changeset
806 rcall setup_new_saft ; Any other value
477
44b8a826b314 NEW: Show battery type in surface mode next to battery voltage
heinrichsweikamp
parents: 474
diff changeset
807 incf EEDATA,F ; 1 ... 5
450
791a25c4aab4 bugfix "old battery" type
heinrichsweikamp
parents: 448
diff changeset
808 dcfsnz EEDATA,F
448
aadfe9f2edaf work on new battery options
heinrichsweikamp
parents: 428
diff changeset
809 rcall setup_new_15v ;=0
450
791a25c4aab4 bugfix "old battery" type
heinrichsweikamp
parents: 448
diff changeset
810 dcfsnz EEDATA,F
448
aadfe9f2edaf work on new battery options
heinrichsweikamp
parents: 428
diff changeset
811 rcall setup_new_saft ;=1
450
791a25c4aab4 bugfix "old battery" type
heinrichsweikamp
parents: 448
diff changeset
812 dcfsnz EEDATA,F
448
aadfe9f2edaf work on new battery options
heinrichsweikamp
parents: 428
diff changeset
813 rcall setup_new_panasonic ;=2
477
44b8a826b314 NEW: Show battery type in surface mode next to battery voltage
heinrichsweikamp
parents: 474
diff changeset
814 dcfsnz EEDATA,F
448
aadfe9f2edaf work on new battery options
heinrichsweikamp
parents: 428
diff changeset
815 rcall setup_new_18650 ;=3
477
44b8a826b314 NEW: Show battery type in surface mode next to battery voltage
heinrichsweikamp
parents: 474
diff changeset
816 dcfsnz EEDATA,F
472
4fdf6886004b CHANGE: Show warnings either in Customview (If active) _or_ next to warning sign
heinrichsweikamp
parents: 470
diff changeset
817 rcall setup_new_16650 ;=4
464
0491a84fd0b8 CHANGE: Easier to understand "New Battery" menu (OSTC model dependent)
heinrichsweikamp
parents: 457
diff changeset
818
0491a84fd0b8 CHANGE: Easier to understand "New Battery" menu (OSTC model dependent)
heinrichsweikamp
parents: 457
diff changeset
819 bcf use_old_batt_flag ; clear flag
0491a84fd0b8 CHANGE: Easier to understand "New Battery" menu (OSTC model dependent)
heinrichsweikamp
parents: 457
diff changeset
820 goto surfloop ; Jump to Surfaceloop!
0
heinrichsweikamp
parents:
diff changeset
821
472
4fdf6886004b CHANGE: Show warnings either in Customview (If active) _or_ next to warning sign
heinrichsweikamp
parents: 470
diff changeset
822 setup_new_15v:
4fdf6886004b CHANGE: Show warnings either in Customview (If active) _or_ next to warning sign
heinrichsweikamp
parents: 470
diff changeset
823 bsf charge_disable
4fdf6886004b CHANGE: Show warnings either in Customview (If active) _or_ next to warning sign
heinrichsweikamp
parents: 470
diff changeset
824 bcf TRISE,2
4fdf6886004b CHANGE: Show warnings either in Customview (If active) _or_ next to warning sign
heinrichsweikamp
parents: 470
diff changeset
825 movlw .100
4fdf6886004b CHANGE: Show warnings either in Customview (If active) _or_ next to warning sign
heinrichsweikamp
parents: 470
diff changeset
826 movwf batt_percent ; To have 1,5V batteries right after firmware update
4fdf6886004b CHANGE: Show warnings either in Customview (If active) _or_ next to warning sign
heinrichsweikamp
parents: 470
diff changeset
827 movlw .0
4fdf6886004b CHANGE: Show warnings either in Customview (If active) _or_ next to warning sign
heinrichsweikamp
parents: 470
diff changeset
828 movff WREG,battery_type
4fdf6886004b CHANGE: Show warnings either in Customview (If active) _or_ next to warning sign
heinrichsweikamp
parents: 470
diff changeset
829 return
4fdf6886004b CHANGE: Show warnings either in Customview (If active) _or_ next to warning sign
heinrichsweikamp
parents: 470
diff changeset
830
448
aadfe9f2edaf work on new battery options
heinrichsweikamp
parents: 428
diff changeset
831 setup_new_saft:
aadfe9f2edaf work on new battery options
heinrichsweikamp
parents: 428
diff changeset
832 banksel battery_capacity
aadfe9f2edaf work on new battery options
heinrichsweikamp
parents: 428
diff changeset
833 movlw LOW internal_saft_capacity
aadfe9f2edaf work on new battery options
heinrichsweikamp
parents: 428
diff changeset
834 movwf internal_battery_capacity+0
aadfe9f2edaf work on new battery options
heinrichsweikamp
parents: 428
diff changeset
835 movlw HIGH internal_saft_capacity
aadfe9f2edaf work on new battery options
heinrichsweikamp
parents: 428
diff changeset
836 movwf internal_battery_capacity+1
aadfe9f2edaf work on new battery options
heinrichsweikamp
parents: 428
diff changeset
837 movlw LOW saft_capacity
aadfe9f2edaf work on new battery options
heinrichsweikamp
parents: 428
diff changeset
838 movwf battery_capacity+0
aadfe9f2edaf work on new battery options
heinrichsweikamp
parents: 428
diff changeset
839 movlw HIGH saft_capacity
aadfe9f2edaf work on new battery options
heinrichsweikamp
parents: 428
diff changeset
840 movwf battery_capacity+1
aadfe9f2edaf work on new battery options
heinrichsweikamp
parents: 428
diff changeset
841 movlw LOW saft_offset
aadfe9f2edaf work on new battery options
heinrichsweikamp
parents: 428
diff changeset
842 movwf battery_offset+0
aadfe9f2edaf work on new battery options
heinrichsweikamp
parents: 428
diff changeset
843 movlw HIGH saft_offset
aadfe9f2edaf work on new battery options
heinrichsweikamp
parents: 428
diff changeset
844 movwf battery_offset+1
aadfe9f2edaf work on new battery options
heinrichsweikamp
parents: 428
diff changeset
845 banksel common
aadfe9f2edaf work on new battery options
heinrichsweikamp
parents: 428
diff changeset
846 bsf charge_disable
aadfe9f2edaf work on new battery options
heinrichsweikamp
parents: 428
diff changeset
847 bcf TRISE,2
aadfe9f2edaf work on new battery options
heinrichsweikamp
parents: 428
diff changeset
848 movlw .1
aadfe9f2edaf work on new battery options
heinrichsweikamp
parents: 428
diff changeset
849 movff WREG,battery_type
aadfe9f2edaf work on new battery options
heinrichsweikamp
parents: 428
diff changeset
850 return
aadfe9f2edaf work on new battery options
heinrichsweikamp
parents: 428
diff changeset
851
472
4fdf6886004b CHANGE: Show warnings either in Customview (If active) _or_ next to warning sign
heinrichsweikamp
parents: 470
diff changeset
852 setup_new_panasonic:
4fdf6886004b CHANGE: Show warnings either in Customview (If active) _or_ next to warning sign
heinrichsweikamp
parents: 470
diff changeset
853 banksel battery_capacity
4fdf6886004b CHANGE: Show warnings either in Customview (If active) _or_ next to warning sign
heinrichsweikamp
parents: 470
diff changeset
854 movlw LOW internal_panasonic_capacity
4fdf6886004b CHANGE: Show warnings either in Customview (If active) _or_ next to warning sign
heinrichsweikamp
parents: 470
diff changeset
855 movwf internal_battery_capacity+0
4fdf6886004b CHANGE: Show warnings either in Customview (If active) _or_ next to warning sign
heinrichsweikamp
parents: 470
diff changeset
856 movlw HIGH internal_panasonic_capacity
4fdf6886004b CHANGE: Show warnings either in Customview (If active) _or_ next to warning sign
heinrichsweikamp
parents: 470
diff changeset
857 movwf internal_battery_capacity+1
4fdf6886004b CHANGE: Show warnings either in Customview (If active) _or_ next to warning sign
heinrichsweikamp
parents: 470
diff changeset
858 movlw LOW panasonic_capacity
4fdf6886004b CHANGE: Show warnings either in Customview (If active) _or_ next to warning sign
heinrichsweikamp
parents: 470
diff changeset
859 movwf battery_capacity+0
4fdf6886004b CHANGE: Show warnings either in Customview (If active) _or_ next to warning sign
heinrichsweikamp
parents: 470
diff changeset
860 movlw HIGH panasonic_capacity
4fdf6886004b CHANGE: Show warnings either in Customview (If active) _or_ next to warning sign
heinrichsweikamp
parents: 470
diff changeset
861 movwf battery_capacity+1
4fdf6886004b CHANGE: Show warnings either in Customview (If active) _or_ next to warning sign
heinrichsweikamp
parents: 470
diff changeset
862 movlw LOW panasonic_offset
4fdf6886004b CHANGE: Show warnings either in Customview (If active) _or_ next to warning sign
heinrichsweikamp
parents: 470
diff changeset
863 movwf battery_offset+0
4fdf6886004b CHANGE: Show warnings either in Customview (If active) _or_ next to warning sign
heinrichsweikamp
parents: 470
diff changeset
864 movlw HIGH panasonic_offset
4fdf6886004b CHANGE: Show warnings either in Customview (If active) _or_ next to warning sign
heinrichsweikamp
parents: 470
diff changeset
865 movwf battery_offset+1
4fdf6886004b CHANGE: Show warnings either in Customview (If active) _or_ next to warning sign
heinrichsweikamp
parents: 470
diff changeset
866 banksel common
4fdf6886004b CHANGE: Show warnings either in Customview (If active) _or_ next to warning sign
heinrichsweikamp
parents: 470
diff changeset
867 bcf charge_disable
4fdf6886004b CHANGE: Show warnings either in Customview (If active) _or_ next to warning sign
heinrichsweikamp
parents: 470
diff changeset
868 bsf TRISE,2
4fdf6886004b CHANGE: Show warnings either in Customview (If active) _or_ next to warning sign
heinrichsweikamp
parents: 470
diff changeset
869 movlw .2
4fdf6886004b CHANGE: Show warnings either in Customview (If active) _or_ next to warning sign
heinrichsweikamp
parents: 470
diff changeset
870 movff WREG,battery_type
4fdf6886004b CHANGE: Show warnings either in Customview (If active) _or_ next to warning sign
heinrichsweikamp
parents: 470
diff changeset
871 return
4fdf6886004b CHANGE: Show warnings either in Customview (If active) _or_ next to warning sign
heinrichsweikamp
parents: 470
diff changeset
872
448
aadfe9f2edaf work on new battery options
heinrichsweikamp
parents: 428
diff changeset
873 setup_new_18650:
aadfe9f2edaf work on new battery options
heinrichsweikamp
parents: 428
diff changeset
874 banksel battery_capacity
aadfe9f2edaf work on new battery options
heinrichsweikamp
parents: 428
diff changeset
875 clrf internal_battery_capacity+0
aadfe9f2edaf work on new battery options
heinrichsweikamp
parents: 428
diff changeset
876 clrf internal_battery_capacity+1
aadfe9f2edaf work on new battery options
heinrichsweikamp
parents: 428
diff changeset
877 movlw LOW ncr18650_capacity
aadfe9f2edaf work on new battery options
heinrichsweikamp
parents: 428
diff changeset
878 movwf battery_capacity+0
aadfe9f2edaf work on new battery options
heinrichsweikamp
parents: 428
diff changeset
879 movlw HIGH ncr18650_capacity
aadfe9f2edaf work on new battery options
heinrichsweikamp
parents: 428
diff changeset
880 movwf battery_capacity+1
aadfe9f2edaf work on new battery options
heinrichsweikamp
parents: 428
diff changeset
881 movlw LOW ncr18650_offset
aadfe9f2edaf work on new battery options
heinrichsweikamp
parents: 428
diff changeset
882 movwf battery_offset+0
aadfe9f2edaf work on new battery options
heinrichsweikamp
parents: 428
diff changeset
883 movlw HIGH ncr18650_offset
aadfe9f2edaf work on new battery options
heinrichsweikamp
parents: 428
diff changeset
884 movwf battery_offset+1
aadfe9f2edaf work on new battery options
heinrichsweikamp
parents: 428
diff changeset
885 banksel common
aadfe9f2edaf work on new battery options
heinrichsweikamp
parents: 428
diff changeset
886 bcf charge_disable
aadfe9f2edaf work on new battery options
heinrichsweikamp
parents: 428
diff changeset
887 bsf TRISE,2
aadfe9f2edaf work on new battery options
heinrichsweikamp
parents: 428
diff changeset
888 movlw .3
aadfe9f2edaf work on new battery options
heinrichsweikamp
parents: 428
diff changeset
889 movff WREG,battery_type
aadfe9f2edaf work on new battery options
heinrichsweikamp
parents: 428
diff changeset
890 return
472
4fdf6886004b CHANGE: Show warnings either in Customview (If active) _or_ next to warning sign
heinrichsweikamp
parents: 470
diff changeset
891
4fdf6886004b CHANGE: Show warnings either in Customview (If active) _or_ next to warning sign
heinrichsweikamp
parents: 470
diff changeset
892 setup_new_16650:
448
aadfe9f2edaf work on new battery options
heinrichsweikamp
parents: 428
diff changeset
893 banksel battery_capacity
472
4fdf6886004b CHANGE: Show warnings either in Customview (If active) _or_ next to warning sign
heinrichsweikamp
parents: 470
diff changeset
894 clrf internal_battery_capacity+0
4fdf6886004b CHANGE: Show warnings either in Customview (If active) _or_ next to warning sign
heinrichsweikamp
parents: 470
diff changeset
895 clrf internal_battery_capacity+1
4fdf6886004b CHANGE: Show warnings either in Customview (If active) _or_ next to warning sign
heinrichsweikamp
parents: 470
diff changeset
896 movlw LOW ur16650_capacity
448
aadfe9f2edaf work on new battery options
heinrichsweikamp
parents: 428
diff changeset
897 movwf battery_capacity+0
472
4fdf6886004b CHANGE: Show warnings either in Customview (If active) _or_ next to warning sign
heinrichsweikamp
parents: 470
diff changeset
898 movlw HIGH ur16650_capacity
448
aadfe9f2edaf work on new battery options
heinrichsweikamp
parents: 428
diff changeset
899 movwf battery_capacity+1
472
4fdf6886004b CHANGE: Show warnings either in Customview (If active) _or_ next to warning sign
heinrichsweikamp
parents: 470
diff changeset
900 movlw LOW ur16650_offset
448
aadfe9f2edaf work on new battery options
heinrichsweikamp
parents: 428
diff changeset
901 movwf battery_offset+0
472
4fdf6886004b CHANGE: Show warnings either in Customview (If active) _or_ next to warning sign
heinrichsweikamp
parents: 470
diff changeset
902 movlw HIGH ur16650_offset
448
aadfe9f2edaf work on new battery options
heinrichsweikamp
parents: 428
diff changeset
903 movwf battery_offset+1
aadfe9f2edaf work on new battery options
heinrichsweikamp
parents: 428
diff changeset
904 banksel common
aadfe9f2edaf work on new battery options
heinrichsweikamp
parents: 428
diff changeset
905 bcf charge_disable
aadfe9f2edaf work on new battery options
heinrichsweikamp
parents: 428
diff changeset
906 bsf TRISE,2
472
4fdf6886004b CHANGE: Show warnings either in Customview (If active) _or_ next to warning sign
heinrichsweikamp
parents: 470
diff changeset
907 movlw .4
448
aadfe9f2edaf work on new battery options
heinrichsweikamp
parents: 428
diff changeset
908 movff WREG,battery_type
aadfe9f2edaf work on new battery options
heinrichsweikamp
parents: 428
diff changeset
909 return
472
4fdf6886004b CHANGE: Show warnings either in Customview (If active) _or_ next to warning sign
heinrichsweikamp
parents: 470
diff changeset
910
474
2880aa1264f5 Fix new battery menu on Power-on reset
heinrichsweikamp
parents: 472
diff changeset
911 use_16650_battery:
2880aa1264f5 Fix new battery menu on Power-on reset
heinrichsweikamp
parents: 472
diff changeset
912 rcall setup_new_16650
2880aa1264f5 Fix new battery menu on Power-on reset
heinrichsweikamp
parents: 472
diff changeset
913 bra use_new_36V_2
448
aadfe9f2edaf work on new battery options
heinrichsweikamp
parents: 428
diff changeset
914 use_18650_battery:
aadfe9f2edaf work on new battery options
heinrichsweikamp
parents: 428
diff changeset
915 rcall setup_new_18650
aadfe9f2edaf work on new battery options
heinrichsweikamp
parents: 428
diff changeset
916 bra use_new_36V_2
0
heinrichsweikamp
parents:
diff changeset
917 use_new_36V_batteries:
448
aadfe9f2edaf work on new battery options
heinrichsweikamp
parents: 428
diff changeset
918 rcall setup_new_saft
aadfe9f2edaf work on new battery options
heinrichsweikamp
parents: 428
diff changeset
919 bra use_new_36V_2
aadfe9f2edaf work on new battery options
heinrichsweikamp
parents: 428
diff changeset
920 use_new_15V_batteries:
aadfe9f2edaf work on new battery options
heinrichsweikamp
parents: 428
diff changeset
921 rcall setup_new_15v
aadfe9f2edaf work on new battery options
heinrichsweikamp
parents: 428
diff changeset
922 use_new_36V_2:
0
heinrichsweikamp
parents:
diff changeset
923 call reset_battery_pointer ; Resets battery pointer 0x07-0x0C and battery_gauge:5
464
0491a84fd0b8 CHANGE: Easier to understand "New Battery" menu (OSTC model dependent)
heinrichsweikamp
parents: 457
diff changeset
924 goto surfloop ; Jump to Surfaceloop!
448
aadfe9f2edaf work on new battery options
heinrichsweikamp
parents: 428
diff changeset
925 use_36V_rechargeable:
aadfe9f2edaf work on new battery options
heinrichsweikamp
parents: 428
diff changeset
926 rcall setup_new_panasonic
aadfe9f2edaf work on new battery options
heinrichsweikamp
parents: 428
diff changeset
927 call reset_battery_internal_only
464
0491a84fd0b8 CHANGE: Easier to understand "New Battery" menu (OSTC model dependent)
heinrichsweikamp
parents: 457
diff changeset
928 goto surfloop ; Jump to Surfaceloop!
0
heinrichsweikamp
parents:
diff changeset
929
heinrichsweikamp
parents:
diff changeset
930 END