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