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