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