Mercurial > public > hwos_code
annotate src/menu_tree.asm @ 223:940155e9aefb
PC config, 1.72 release
| author | heinrichsweikamp |
|---|---|
| date | Wed, 14 Jan 2015 11:37:19 +0100 |
| parents | effd7259f5a5 |
| children | 23311219dacc |
| rev | line source |
|---|---|
| 0 | 1 ;============================================================================= |
| 2 ; | |
| 3 ; File menu_tree.asm | |
| 4 ; | |
| 5 ; OSTC3 menus | |
| 6 ; | |
| 7 ; Copyright (c) 2011, JD Gascuel, HeinrichsWeikamp, all right reserved. | |
| 8 ;============================================================================= | |
| 9 ; HISTORY | |
| 10 ; 2011-07-11 : [jDG] Creation. | |
| 11 | |
| 12 #include "ostc3.inc" ; Mandatory header | |
| 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" | |
| 25 | |
|
174
932e91074bdb
CHANGE: Clarify Travel Gases with "---" as change depth
heinrichsweikamp
parents:
155
diff
changeset
|
26 CBLOCK tmp+0x40 ; Keep space for menu processor |
|
932e91074bdb
CHANGE: Clarify Travel Gases with "---" as change depth
heinrichsweikamp
parents:
155
diff
changeset
|
27 gaslist_gas ; Check ram position in gaslist.asm, too! |
|
932e91074bdb
CHANGE: Clarify Travel Gases with "---" as change depth
heinrichsweikamp
parents:
155
diff
changeset
|
28 ENDC |
|
932e91074bdb
CHANGE: Clarify Travel Gases with "---" as change depth
heinrichsweikamp
parents:
155
diff
changeset
|
29 |
| 0 | 30 gui CODE |
| 31 ;============================================================================= | |
| 32 ; Main Menu | |
|
66
00636132cca6
BUGFIX: Maintain last selected customview in surface mode
heinrichsweikamp
parents:
64
diff
changeset
|
33 global do_main_menu,do_main_menu2 |
| 0 | 34 do_main_menu: |
|
39
e4e91fe8b09d
remember last customview in dive and surface mode
mh@mh-THINK.fritz.box
parents:
23
diff
changeset
|
35 movff menupos3,customview_surfmode; save last customview |
|
66
00636132cca6
BUGFIX: Maintain last selected customview in surface mode
heinrichsweikamp
parents:
64
diff
changeset
|
36 do_main_menu2: |
| 0 | 37 bcf sleepmode ; for timeout |
| 38 call menu_processor_reset ; restart from first icon. | |
| 39 | |
| 40 do_continue_main_menu: | |
| 41 call menu_processor_pop ; drop exit line. | |
| 42 call menu_processor_pop ; back to last icon. | |
| 43 | |
| 44 extern do_demo_divemode, restart | |
| 45 MENU_BEGIN tMainMenu, .7 | |
| 46 MENU_CALL tLogbook, logbook | |
| 47 MENU_CALL tGasSetup, do_gas_menu | |
| 48 MENU_CALL tCCRSetup, do_ccr_menu | |
| 49 MENU_CALL tPlan, do_planner_menu_reset | |
| 50 MENU_CALL tDiveModeMenu, do_divemode_menu | |
| 51 MENU_CALL tSystSets, do_settings_menu | |
| 52 MENU_CALL tExit, restart | |
| 53 MENU_END | |
| 54 | |
| 55 do_info_menu: | |
| 62 | 56 MENU_BEGIN tInfoMenu, .5 |
| 0 | 57 MENU_DYNAMIC info_menu_serial, 0 |
| 58 MENU_DYNAMIC info_menu_firmware, 0 | |
| 59 MENU_DYNAMIC info_menu_total_dives, 0 | |
| 62 | 60 MENU_DYNAMIC info_menu_battery_volts,0 |
| 0 | 61 MENU_CALL tExit, do_return_settings |
| 62 MENU_END | |
| 63 | |
| 64 ;============================================================================= | |
| 65 ; CCR Setup | |
| 66 | |
| 67 return_ccr_menu: | |
| 68 call menu_processor_pop ; drop exit line. | |
| 69 call menu_processor_pop ; back to last gas. | |
| 70 | |
| 71 do_ccr_menu: | |
| 113 | 72 bcf menu_show_sensors ; Clear flag |
| 73 bcf menu_show_sensors2 ; Clear flag | |
| 200 | 74 btfsc cr_hardware |
|
174
932e91074bdb
CHANGE: Clarify Travel Gases with "---" as change depth
heinrichsweikamp
parents:
155
diff
changeset
|
75 bra do_ccr_menu_c3 |
|
932e91074bdb
CHANGE: Clarify Travel Gases with "---" as change depth
heinrichsweikamp
parents:
155
diff
changeset
|
76 MENU_BEGIN tCCRSetup, .5 |
|
932e91074bdb
CHANGE: Clarify Travel Gases with "---" as change depth
heinrichsweikamp
parents:
155
diff
changeset
|
77 MENU_OPTION tCCRMode, oCCRMode, 0 |
|
932e91074bdb
CHANGE: Clarify Travel Gases with "---" as change depth
heinrichsweikamp
parents:
155
diff
changeset
|
78 MENU_CALL tCCRSensor, do_ccr_sensor |
|
932e91074bdb
CHANGE: Clarify Travel Gases with "---" as change depth
heinrichsweikamp
parents:
155
diff
changeset
|
79 MENU_CALL tDiluentSetup, do_diluent_setup |
|
932e91074bdb
CHANGE: Clarify Travel Gases with "---" as change depth
heinrichsweikamp
parents:
155
diff
changeset
|
80 MENU_CALL tFixedSetpoints, do_fixed_setpoints |
|
932e91074bdb
CHANGE: Clarify Travel Gases with "---" as change depth
heinrichsweikamp
parents:
155
diff
changeset
|
81 MENU_CALL tExit, do_continue_main_menu |
|
932e91074bdb
CHANGE: Clarify Travel Gases with "---" as change depth
heinrichsweikamp
parents:
155
diff
changeset
|
82 MENU_END |
|
932e91074bdb
CHANGE: Clarify Travel Gases with "---" as change depth
heinrichsweikamp
parents:
155
diff
changeset
|
83 |
|
932e91074bdb
CHANGE: Clarify Travel Gases with "---" as change depth
heinrichsweikamp
parents:
155
diff
changeset
|
84 do_ccr_menu_c3: ; including "Calibrate" |
| 113 | 85 MENU_BEGIN tCCRSetup, .6 |
| 0 | 86 MENU_OPTION tCCRMode, oCCRMode, 0 |
| 87 MENU_CALL tCCRSensor, do_ccr_sensor | |
| 113 | 88 MENU_CALL tCalibrateMenu, do_calibrate_menu |
| 0 | 89 MENU_CALL tDiluentSetup, do_diluent_setup |
| 90 MENU_CALL tFixedSetpoints, do_fixed_setpoints | |
| 91 MENU_CALL tExit, do_continue_main_menu | |
| 92 MENU_END | |
| 93 | |
| 113 | 94 do_calibrate_menu: |
|
187
669b5d00706d
CHANGE: Longer timeout (4 min) for calibration menu
heinrichsweikamp
parents:
174
diff
changeset
|
95 call enable_ir_s8 ; Enable IR/S8-Port |
| 113 | 96 bsf menu_show_sensors2 ; Set flag |
| 97 do_calibrate_menu2: | |
| 98 MENU_BEGIN tCalibrateMenu, .6 | |
| 99 MENU_CALL tDiveHudMask1, 0 | |
| 100 MENU_CALL tDiveHudMask2, 0 | |
| 101 MENU_CALL tDiveHudMask3, 0 | |
| 102 MENU_OPTION tCalibrationGas,oCalGasO2, 0 | |
| 103 MENU_CALL tCalibrate, do_calibrate_mix | |
| 104 MENU_CALL tExit, return_ccr_menu | |
| 105 MENU_END | |
| 106 | |
| 107 do_calibrate_mix: | |
| 108 extern calibrate_mix | |
| 109 call calibrate_mix ; Calibrate with opt_calibration_O2_ratio, also calibrate S8 HUD if connected | |
| 110 goto restart ; Restart into surface mode | |
| 111 | |
| 0 | 112 do_ccr_sensor: |
|
187
669b5d00706d
CHANGE: Longer timeout (4 min) for calibration menu
heinrichsweikamp
parents:
174
diff
changeset
|
113 call enable_ir_s8 ; Enable IR/S8-Port |
| 0 | 114 bsf menu_show_sensors ; Set flag |
|
145
e3ac5b2021bc
NEW: Setpoint-Fallback option for external O2 sensor failure
heinrichsweikamp
parents:
144
diff
changeset
|
115 MENU_BEGIN tCCRSensor, .5 |
| 0 | 116 MENU_CALL tDiveHudMask1, 0 |
| 117 MENU_CALL tDiveHudMask2, 0 | |
| 118 MENU_CALL tDiveHudMask3, 0 | |
|
145
e3ac5b2021bc
NEW: Setpoint-Fallback option for external O2 sensor failure
heinrichsweikamp
parents:
144
diff
changeset
|
119 MENU_OPTION tSensorFallback,oSensorFallback, 0 |
| 0 | 120 MENU_CALL tExit, return_ccr_menu |
| 121 MENU_END | |
| 122 | |
| 123 do_diluent_setup: | |
| 124 bsf ccr_diluent_setup ; =1: Setting up Diluents ("Gas6-10") | |
| 139 | 125 bcf short_gas_decriptions ; =1: Use short versions of gaslist_strcat_gas_mod and gaslist_strcat_setpoint |
| 0 | 126 call gaslist_cleanup_list ; Takes care that only one gas can be first and first has 0m change depth |
| 127 MENU_BEGIN tDiluentSetup, .6 | |
| 128 MENU_DYNAMIC gaslist_strcat_gas_mod, do_edit_gas_menu | |
| 129 MENU_DYNAMIC gaslist_strcat_gas_mod, do_edit_gas_menu | |
| 130 MENU_DYNAMIC gaslist_strcat_gas_mod, do_edit_gas_menu | |
| 131 MENU_DYNAMIC gaslist_strcat_gas_mod, do_edit_gas_menu | |
| 132 MENU_DYNAMIC gaslist_strcat_gas_mod, do_edit_gas_menu | |
| 133 MENU_CALL tExit, return_ccr_menu | |
| 134 MENU_END | |
| 135 | |
| 136 do_return_fixed_setpoints: | |
| 137 call menu_processor_pop ; drop exit line. | |
| 138 call menu_processor_pop ; back to last gas. | |
| 139 | |
| 140 do_fixed_setpoints: | |
| 139 | 141 bcf short_gas_decriptions ; =1: Use short versions of gaslist_strcat_gas_mod and gaslist_strcat_setpoint |
| 0 | 142 MENU_BEGIN tFixedSetpoints, .6 |
| 143 MENU_DYNAMIC gaslist_strcat_setpoint, do_edit_sp_menu | |
| 144 MENU_DYNAMIC gaslist_strcat_setpoint, do_edit_sp_menu | |
| 145 MENU_DYNAMIC gaslist_strcat_setpoint, do_edit_sp_menu | |
| 146 MENU_DYNAMIC gaslist_strcat_setpoint, do_edit_sp_menu | |
| 147 MENU_DYNAMIC gaslist_strcat_setpoint, do_edit_sp_menu | |
| 148 MENU_CALL tExit, return_ccr_menu | |
| 149 MENU_END | |
| 150 | |
| 151 do_edit_sp_menu: | |
| 152 call gaslist_setSP ; Save current item. | |
| 153 MENU_BEGIN tFixedSetpoints, .5 | |
| 154 MENU_DYNAMIC gaslist_strcat_setpoint_0,0 | |
| 155 MENU_CALL tSPPlus, gaslist_spplus | |
| 156 MENU_CALL tDepthPlus, gaslist_spdepthplus | |
| 157 MENU_CALL tDepthMinus, gaslist_spdepthminus | |
| 158 MENU_CALL tExit, do_return_fixed_setpoints | |
| 159 MENU_END | |
| 160 | |
| 161 ;============================================================================= | |
| 162 ; OC Gas Setup | |
| 163 | |
| 164 return_gas_menu: | |
| 165 call menu_processor_pop ; drop exit line. | |
| 166 call menu_processor_pop ; back to last gas. | |
| 167 | |
| 168 btfsc ccr_diluent_setup ; Return to CCR-Menu? | |
| 169 bra do_diluent_setup ; Yes. | |
| 170 do_gas_menu: | |
| 171 bcf ccr_diluent_setup ; =1: Setting up Diluents ("Gas6-10") | |
| 139 | 172 bcf short_gas_decriptions ; =1: Use short versions of gaslist_strcat_gas_mod and gaslist_strcat_setpoint |
| 0 | 173 call gaslist_cleanup_list ; Takes care that only one gas can be first and first has 0m change depth |
| 174 MENU_BEGIN tGaslist, .6 | |
| 175 MENU_DYNAMIC gaslist_strcat_gas_mod, do_edit_gas_menu | |
| 176 MENU_DYNAMIC gaslist_strcat_gas_mod, do_edit_gas_menu | |
| 177 MENU_DYNAMIC gaslist_strcat_gas_mod, do_edit_gas_menu | |
| 178 MENU_DYNAMIC gaslist_strcat_gas_mod, do_edit_gas_menu | |
| 179 MENU_DYNAMIC gaslist_strcat_gas_mod, do_edit_gas_menu | |
| 180 MENU_CALL tExit, do_continue_main_menu | |
| 181 MENU_END | |
| 182 | |
| 183 return_gas_depth: | |
| 184 call menu_processor_pop ; drop exit line. | |
| 185 call menu_processor_pop ; back to last gas. | |
| 186 bra do_edit_gas_menu_1 | |
| 187 | |
| 188 do_edit_gas_menu: | |
| 189 call gaslist_setgas ; Save current item. | |
| 190 do_edit_gas_menu_1: ; Keep current gas. | |
| 191 MENU_BEGIN tGasEdit, .6 | |
| 192 MENU_DYNAMIC gaslist_gastitle, 0 | |
| 193 MENU_DYNAMIC gaslist_MOD_END, 0 | |
| 194 MENU_DYNAMIC gaslist_show_type, gaslist_toggle_type | |
| 195 MENU_CALL tSetup_mix, do_setup_mix | |
| 196 MENU_CALL tGasDepth, do_gas_depth_menu | |
| 197 MENU_CALL tExit, return_gas_menu | |
| 198 MENU_END | |
| 199 | |
| 200 do_setup_mix: | |
| 201 MENU_BEGIN tGasEdit, .7 | |
| 202 MENU_DYNAMIC gaslist_gastitle, 0 | |
| 203 MENU_DYNAMIC gaslist_MOD_END, 0 | |
| 204 MENU_CALL tO2Plus, gaslist_pO2 | |
| 205 MENU_CALL tO2Minus, gaslist_mO2 | |
| 206 MENU_CALL tHePlus, gaslist_pHe | |
| 207 MENU_CALL tHeMinus, gaslist_mHe | |
| 208 MENU_CALL tExit, return_gas_depth | |
| 209 MENU_END | |
| 210 | |
| 211 global do_gas_depth_menu | |
| 212 do_gas_depth_menu: | |
|
174
932e91074bdb
CHANGE: Clarify Travel Gases with "---" as change depth
heinrichsweikamp
parents:
155
diff
changeset
|
213 movff gaslist_gas,WREG |
|
932e91074bdb
CHANGE: Clarify Travel Gases with "---" as change depth
heinrichsweikamp
parents:
155
diff
changeset
|
214 lfsr FSR1,opt_gas_type ; Read opt_gas_type[WREG] |
|
932e91074bdb
CHANGE: Clarify Travel Gases with "---" as change depth
heinrichsweikamp
parents:
155
diff
changeset
|
215 movff PLUSW1,lo ; Used as temp |
|
932e91074bdb
CHANGE: Clarify Travel Gases with "---" as change depth
heinrichsweikamp
parents:
155
diff
changeset
|
216 movlw .3 ; 3=Deco |
|
932e91074bdb
CHANGE: Clarify Travel Gases with "---" as change depth
heinrichsweikamp
parents:
155
diff
changeset
|
217 btfsc ccr_diluent_setup ; =1: Setting up Diluents ("Gas6-10") |
|
932e91074bdb
CHANGE: Clarify Travel Gases with "---" as change depth
heinrichsweikamp
parents:
155
diff
changeset
|
218 movlw .2 ; 2=Normal |
|
932e91074bdb
CHANGE: Clarify Travel Gases with "---" as change depth
heinrichsweikamp
parents:
155
diff
changeset
|
219 cpfseq lo |
|
932e91074bdb
CHANGE: Clarify Travel Gases with "---" as change depth
heinrichsweikamp
parents:
155
diff
changeset
|
220 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
|
221 |
|
154
afa31c815f24
NEW: Show ppO2 for change depth during gas setup
heinrichsweikamp
parents:
148
diff
changeset
|
222 MENU_BEGIN tGasEdit, .7 |
| 0 | 223 MENU_DYNAMIC gaslist_gastitle, 0 |
| 224 MENU_DYNAMIC gaslist_MOD_END, 0 | |
|
154
afa31c815f24
NEW: Show ppO2 for change depth during gas setup
heinrichsweikamp
parents:
148
diff
changeset
|
225 MENU_DYNAMIC gaslist_ppo2, 0 ; ppO2 at change depth |
| 0 | 226 MENU_CALL tDepthPlus, gaslist_pDepth |
| 227 MENU_CALL tDepthMinus, gaslist_mDepth | |
| 228 MENU_DYNAMIC gaslist_reset_mod_title,gaslist_reset_mod | |
| 229 MENU_CALL tExit, return_gas_depth | |
| 230 MENU_END | |
| 231 | |
| 232 ;============================================================================= | |
| 233 ; Simulator menus | |
| 234 | |
| 235 global do_planner_menu | |
| 236 | |
| 237 do_planner_menu_reset: | |
| 238 extern option_save_all | |
| 239 call option_save_all | |
| 240 ;---- Reset dive time/depth to default values | |
| 241 extern option_reset | |
| 242 lfsr FSR0,odiveInterval | |
| 243 call option_reset | |
| 244 lfsr FSR0,obottomTime | |
| 245 call option_reset | |
| 246 lfsr FSR0,obottomDepth | |
| 247 call option_reset | |
| 248 | |
| 249 do_planner_menu: | |
| 250 extern do_demo_planner | |
| 251 MENU_BEGIN tPlan, .6 | |
| 252 MENU_CALL tInter, do_demo_divemode | |
| 253 MENU_OPTION tIntvl, odiveInterval, 0 | |
| 254 MENU_OPTION tBtTm, obottomTime, 0 | |
| 255 MENU_OPTION tMxDep, obottomDepth, 0 | |
| 256 MENU_CALL tDeco, do_demo_planner | |
| 257 MENU_CALL tExit, do_continue_main_menu | |
| 258 MENU_END | |
| 259 | |
| 260 ;============================================================================= | |
| 261 ; Divemode menu | |
| 262 | |
| 263 do_return_divemode_menu: | |
| 264 call menu_processor_pop ; drop exit line. | |
| 265 call menu_processor_pop ; back to last gas. | |
| 266 | |
| 267 do_divemode_menu: | |
| 268 MENU_BEGIN tDiveModeMenu, .7 | |
| 269 MENU_OPTION tDvMode, oDiveMode, 0 | |
| 270 MENU_OPTION tDkMode, oDecoMode, 0 | |
|
104
223579e905c3
Show a Safety Stop if enabled (Menu "Deco Parameters")
heinrichsweikamp
parents:
90
diff
changeset
|
271 MENU_CALL tppO2settings, do_ppo2_menu |
|
223579e905c3
Show a Safety Stop if enabled (Menu "Deco Parameters")
heinrichsweikamp
parents:
90
diff
changeset
|
272 MENU_OPTION tsafetystopmenu,oSafetyStop, 0 |
| 0 | 273 MENU_OPTION tFTTSMenu, oExtraTime,0 |
| 274 MENU_CALL tDecoparameters, do_decoparameters_menu | |
| 275 MENU_CALL tExit, do_continue_main_menu | |
| 276 MENU_END | |
| 277 | |
|
104
223579e905c3
Show a Safety Stop if enabled (Menu "Deco Parameters")
heinrichsweikamp
parents:
90
diff
changeset
|
278 do_ppo2_menu: |
|
223579e905c3
Show a Safety Stop if enabled (Menu "Deco Parameters")
heinrichsweikamp
parents:
90
diff
changeset
|
279 MENU_BEGIN tppO2settings, .3 |
|
223579e905c3
Show a Safety Stop if enabled (Menu "Deco Parameters")
heinrichsweikamp
parents:
90
diff
changeset
|
280 MENU_DYNAMIC divesets_ppo2_max, do_toggle_ppo2_max |
|
223579e905c3
Show a Safety Stop if enabled (Menu "Deco Parameters")
heinrichsweikamp
parents:
90
diff
changeset
|
281 MENU_DYNAMIC divesets_ppo2_min, do_toggle_ppo2_min |
|
223579e905c3
Show a Safety Stop if enabled (Menu "Deco Parameters")
heinrichsweikamp
parents:
90
diff
changeset
|
282 MENU_CALL tExit, do_return_divemode_menu |
|
223579e905c3
Show a Safety Stop if enabled (Menu "Deco Parameters")
heinrichsweikamp
parents:
90
diff
changeset
|
283 MENU_END |
|
223579e905c3
Show a Safety Stop if enabled (Menu "Deco Parameters")
heinrichsweikamp
parents:
90
diff
changeset
|
284 |
| 0 | 285 do_return_decoparameters_menu: |
| 286 call menu_processor_pop ; drop exit line. | |
| 287 call menu_processor_pop ; back to setting | |
| 288 do_decoparameters_menu: | |
| 289 MENU_BEGIN tDecoparameters, .7 | |
| 290 MENU_OPTION tGF_low, oGF_low, 0 | |
| 291 MENU_OPTION tGF_high, oGF_high, 0 | |
| 292 MENU_CALL taGFMenu, do_aGF_menu | |
| 293 MENU_OPTION tSaturationMult,osatmult, 0 | |
| 294 MENU_OPTION tDesaturationMult,odesatmult,0 | |
| 295 MENU_OPTION tLastDecostop,oLastDeco, 0 | |
| 296 MENU_CALL tExit, do_return_divemode_menu | |
| 297 MENU_END | |
| 298 | |
| 299 do_aGF_menu: | |
| 300 MENU_BEGIN taGFMenu, .4 | |
| 301 MENU_OPTION taGF_enable,oEnable_aGF, 0 | |
| 302 MENU_OPTION taGF_low, oaGF_low, 0 | |
| 303 MENU_OPTION taGF_high, oaGF_high, 0 | |
| 304 MENU_CALL tExit, do_return_decoparameters_menu | |
| 305 MENU_END | |
| 306 ;============================================================================= | |
| 307 ; Setup Menu | |
| 308 | |
| 309 do_return_settings: | |
| 310 bcf settime_setdate ; Clear flag | |
| 311 call menu_processor_pop ; Drop exit entry | |
| 312 call menu_processor_pop ; Pop return line. | |
| 313 | |
| 314 extern compass_calibration_loop | |
| 315 do_settings_menu: | |
| 316 MENU_BEGIN tSystSets, .7 | |
| 317 MENU_CALL tInfoMenu, do_info_menu | |
| 318 MENU_CALL tSetTimeDate, do_date_time_menu | |
| 319 MENU_CALL tDispSets, do_dispsets_menu | |
| 320 MENU_OPTION tLanguage, oLanguage, 0 | |
|
155
5f71e31bd5b3
CHANGE: Re-arranged Settings Menu, add 180? rotate to menu
heinrichsweikamp
parents:
154
diff
changeset
|
321 MENU_CALL tResetMenu, do_reset_menu |
|
5f71e31bd5b3
CHANGE: Re-arranged Settings Menu, add 180? rotate to menu
heinrichsweikamp
parents:
154
diff
changeset
|
322 MENU_CALL tMore, do_settings_menu_more |
|
5f71e31bd5b3
CHANGE: Re-arranged Settings Menu, add 180? rotate to menu
heinrichsweikamp
parents:
154
diff
changeset
|
323 MENU_CALL tExit, do_continue_main_menu |
|
5f71e31bd5b3
CHANGE: Re-arranged Settings Menu, add 180? rotate to menu
heinrichsweikamp
parents:
154
diff
changeset
|
324 MENU_END |
|
5f71e31bd5b3
CHANGE: Re-arranged Settings Menu, add 180? rotate to menu
heinrichsweikamp
parents:
154
diff
changeset
|
325 |
|
220
effd7259f5a5
make button sensitivity configurable (cR hardware)
heinrichsweikamp
parents:
218
diff
changeset
|
326 |
|
155
5f71e31bd5b3
CHANGE: Re-arranged Settings Menu, add 180? rotate to menu
heinrichsweikamp
parents:
154
diff
changeset
|
327 do_settings_menu_more: |
|
220
effd7259f5a5
make button sensitivity configurable (cR hardware)
heinrichsweikamp
parents:
218
diff
changeset
|
328 btfsc cr_hardware |
|
effd7259f5a5
make button sensitivity configurable (cR hardware)
heinrichsweikamp
parents:
218
diff
changeset
|
329 bra do_settings_menu_more_c3 |
|
effd7259f5a5
make button sensitivity configurable (cR hardware)
heinrichsweikamp
parents:
218
diff
changeset
|
330 |
|
effd7259f5a5
make button sensitivity configurable (cR hardware)
heinrichsweikamp
parents:
218
diff
changeset
|
331 MENU_BEGIN tSystSets, .6 |
|
effd7259f5a5
make button sensitivity configurable (cR hardware)
heinrichsweikamp
parents:
218
diff
changeset
|
332 MENU_CALL tCompassMenu, do_compass_menu |
|
effd7259f5a5
make button sensitivity configurable (cR hardware)
heinrichsweikamp
parents:
218
diff
changeset
|
333 MENU_CALL tLogOffset, do_log_offset_menu |
|
effd7259f5a5
make button sensitivity configurable (cR hardware)
heinrichsweikamp
parents:
218
diff
changeset
|
334 MENU_OPTION tUnits, oUnits, 0 |
|
effd7259f5a5
make button sensitivity configurable (cR hardware)
heinrichsweikamp
parents:
218
diff
changeset
|
335 MENU_OPTION tSamplingrate,oSamplingRate,0 |
|
effd7259f5a5
make button sensitivity configurable (cR hardware)
heinrichsweikamp
parents:
218
diff
changeset
|
336 MENU_OPTION tDvSalinity,oDiveSalinity, 0 |
|
effd7259f5a5
make button sensitivity configurable (cR hardware)
heinrichsweikamp
parents:
218
diff
changeset
|
337 MENU_CALL tExit, do_return_settings |
|
effd7259f5a5
make button sensitivity configurable (cR hardware)
heinrichsweikamp
parents:
218
diff
changeset
|
338 MENU_END |
|
effd7259f5a5
make button sensitivity configurable (cR hardware)
heinrichsweikamp
parents:
218
diff
changeset
|
339 |
|
effd7259f5a5
make button sensitivity configurable (cR hardware)
heinrichsweikamp
parents:
218
diff
changeset
|
340 do_settings_menu_more_c3: |
| 218 | 341 MENU_BEGIN tSystSets, .7 |
|
18
4e3f133dfbf4
add new opt_compass_gain option to work with more magnetic battery types
heinrichsweikamp
parents:
0
diff
changeset
|
342 MENU_CALL tCompassMenu, do_compass_menu |
|
155
5f71e31bd5b3
CHANGE: Re-arranged Settings Menu, add 180? rotate to menu
heinrichsweikamp
parents:
154
diff
changeset
|
343 MENU_CALL tLogOffset, do_log_offset_menu |
|
5f71e31bd5b3
CHANGE: Re-arranged Settings Menu, add 180? rotate to menu
heinrichsweikamp
parents:
154
diff
changeset
|
344 MENU_OPTION tUnits, oUnits, 0 |
|
5f71e31bd5b3
CHANGE: Re-arranged Settings Menu, add 180? rotate to menu
heinrichsweikamp
parents:
154
diff
changeset
|
345 MENU_OPTION tSamplingrate,oSamplingRate,0 |
|
5f71e31bd5b3
CHANGE: Re-arranged Settings Menu, add 180? rotate to menu
heinrichsweikamp
parents:
154
diff
changeset
|
346 MENU_OPTION tDvSalinity,oDiveSalinity, 0 |
|
220
effd7259f5a5
make button sensitivity configurable (cR hardware)
heinrichsweikamp
parents:
218
diff
changeset
|
347 MENU_CALL tMore, do_settings_cr_menu |
|
155
5f71e31bd5b3
CHANGE: Re-arranged Settings Menu, add 180? rotate to menu
heinrichsweikamp
parents:
154
diff
changeset
|
348 MENU_CALL tExit, do_return_settings |
| 0 | 349 MENU_END |
| 350 | |
|
220
effd7259f5a5
make button sensitivity configurable (cR hardware)
heinrichsweikamp
parents:
218
diff
changeset
|
351 extern comm_mode0 |
|
effd7259f5a5
make button sensitivity configurable (cR hardware)
heinrichsweikamp
parents:
218
diff
changeset
|
352 do_settings_cr_menu: ; Menu with features only available in cR hardware |
|
effd7259f5a5
make button sensitivity configurable (cR hardware)
heinrichsweikamp
parents:
218
diff
changeset
|
353 MENU_BEGIN tSystSets, .4 |
|
effd7259f5a5
make button sensitivity configurable (cR hardware)
heinrichsweikamp
parents:
218
diff
changeset
|
354 MENU_CALL tUsbTitle, comm_mode0 |
|
effd7259f5a5
make button sensitivity configurable (cR hardware)
heinrichsweikamp
parents:
218
diff
changeset
|
355 MENU_OPTION tButtonleft,ocR_button_left ,0 ; left button sensitivity |
|
effd7259f5a5
make button sensitivity configurable (cR hardware)
heinrichsweikamp
parents:
218
diff
changeset
|
356 MENU_OPTION tButtonright,ocR_button_right,0 ; right button sensitivity |
|
effd7259f5a5
make button sensitivity configurable (cR hardware)
heinrichsweikamp
parents:
218
diff
changeset
|
357 MENU_CALL tExit, do_settings_menu_more_c3 |
|
effd7259f5a5
make button sensitivity configurable (cR hardware)
heinrichsweikamp
parents:
218
diff
changeset
|
358 MENU_END |
|
effd7259f5a5
make button sensitivity configurable (cR hardware)
heinrichsweikamp
parents:
218
diff
changeset
|
359 |
|
effd7259f5a5
make button sensitivity configurable (cR hardware)
heinrichsweikamp
parents:
218
diff
changeset
|
360 |
|
effd7259f5a5
make button sensitivity configurable (cR hardware)
heinrichsweikamp
parents:
218
diff
changeset
|
361 |
|
18
4e3f133dfbf4
add new opt_compass_gain option to work with more magnetic battery types
heinrichsweikamp
parents:
0
diff
changeset
|
362 do_compass_menu: |
|
90
3274e87fd027
NEW: automatic compass gain makes calibration quicker
heinrichsweikamp
parents:
78
diff
changeset
|
363 MENU_BEGIN tSystSets, .2 |
|
18
4e3f133dfbf4
add new opt_compass_gain option to work with more magnetic battery types
heinrichsweikamp
parents:
0
diff
changeset
|
364 MENU_CALL tCompassMenu, compass_calibration_loop |
|
90
3274e87fd027
NEW: automatic compass gain makes calibration quicker
heinrichsweikamp
parents:
78
diff
changeset
|
365 ; MENU_OPTION tCompassGain, oCompassGain, 0 |
|
18
4e3f133dfbf4
add new opt_compass_gain option to work with more magnetic battery types
heinrichsweikamp
parents:
0
diff
changeset
|
366 MENU_CALL tExit, do_return_settings |
|
4e3f133dfbf4
add new opt_compass_gain option to work with more magnetic battery types
heinrichsweikamp
parents:
0
diff
changeset
|
367 MENU_END |
|
4e3f133dfbf4
add new opt_compass_gain option to work with more magnetic battery types
heinrichsweikamp
parents:
0
diff
changeset
|
368 |
| 0 | 369 ;============================================================================= |
| 370 ; Reset and confirmation menu. | |
| 371 | |
| 372 do_reset_menu: | |
| 63 | 373 MENU_BEGIN tResetMenu, .6 |
| 0 | 374 MENU_CALL tExit, do_return_settings |
| 375 MENU_CALL tReboot, do_reset_menu2 ; Confirm | |
| 376 MENU_CALL tResetDeco, do_reset_menu3 ; Confirm | |
| 377 MENU_CALL tResetSettings, do_reset_menu4 ; Confirm | |
| 63 | 378 MENU_CALL tResetLogbook, do_reset_menu5 ; Confirm |
| 0 | 379 MENU_CALL tResetBattery, new_battery_menu ; New Battery submenu |
| 380 MENU_END | |
| 381 | |
| 382 do_reset_menu2: | |
| 383 MENU_BEGIN tResetMenu2, .2 | |
| 384 MENU_CALL tAbort, do_continue_menu_3stack | |
| 385 MENU_CALL tReboot, do_reboot ; Reboot | |
| 386 MENU_END | |
| 387 | |
| 388 do_reset_menu3: | |
| 389 MENU_BEGIN tResetMenu2, .2 | |
| 390 MENU_CALL tAbort, do_continue_menu_3stack | |
| 391 MENU_CALL tResetDeco, do_reset_deco ; Reset Deco | |
| 392 MENU_END | |
| 393 | |
| 394 do_reset_menu4: | |
| 395 MENU_BEGIN tResetMenu2, .2 | |
| 396 MENU_CALL tAbort, do_continue_menu_3stack | |
| 397 MENU_CALL tResetSettings, do_reset_settings ; Reset all settings | |
| 398 MENU_END | |
| 399 | |
| 63 | 400 do_reset_menu5: |
| 401 MENU_BEGIN tResetMenu2, .2 | |
| 402 MENU_CALL tAbort, do_continue_menu_3stack | |
| 403 MENU_CALL tResetLogbook, do_reset_logbook ; Reset logbook | |
| 404 MENU_END | |
| 405 | |
| 406 do_reset_logbook: | |
| 407 clrf EEADRH ; Make sure to select eeprom bank 0 | |
| 408 clrf EEDATA | |
|
78
668b432dcae9
BUGFIX: Reset Logbook did not reset Logbook TOC properly
mh@mh-THINK.localdomain
parents:
76
diff
changeset
|
409 read_int_eeprom .2 |
|
668b432dcae9
BUGFIX: Reset Logbook did not reset Logbook TOC properly
mh@mh-THINK.localdomain
parents:
76
diff
changeset
|
410 write_int_eeprom .15 |
|
668b432dcae9
BUGFIX: Reset Logbook did not reset Logbook TOC properly
mh@mh-THINK.localdomain
parents:
76
diff
changeset
|
411 read_int_eeprom .3 |
|
668b432dcae9
BUGFIX: Reset Logbook did not reset Logbook TOC properly
mh@mh-THINK.localdomain
parents:
76
diff
changeset
|
412 write_int_eeprom .16 ; Copy number of dives |
| 144 | 413 clrf EEDATA |
|
78
668b432dcae9
BUGFIX: Reset Logbook did not reset Logbook TOC properly
mh@mh-THINK.localdomain
parents:
76
diff
changeset
|
414 write_int_eeprom .2 |
|
668b432dcae9
BUGFIX: Reset Logbook did not reset Logbook TOC properly
mh@mh-THINK.localdomain
parents:
76
diff
changeset
|
415 write_int_eeprom .3 ; Clear total dives |
| 63 | 416 write_int_eeprom .4 |
| 417 write_int_eeprom .5 | |
| 418 write_int_eeprom .6 ; Reset logbook pointers | |
| 419 call ext_flash_erase_logbook ; And complete logbook (!) | |
| 420 goto do_continue_main_menu ; back to menu | |
| 421 | |
| 0 | 422 |
| 423 do_reset_deco: | |
| 424 movlw d'79' ; 79% N2 | |
| 425 movff WREG,char_I_N2_ratio | |
| 426 movlw d'0' | |
| 427 movff WREG,char_I_step_is_1min ; 2 second deco mode | |
| 428 SAFE_2BYTE_COPY amb_pressure,int_I_pres_respiration ; copy for deco routine | |
| 429 movff int_I_pres_respiration+0,int_I_pres_surface+0 ; copy for desat routine | |
| 430 movff int_I_pres_respiration+1,int_I_pres_surface+1 | |
| 431 | |
| 432 extern deco_reset | |
| 433 call deco_reset | |
| 434 call deco_calc_desaturation_time ; calculate desaturation time | |
| 435 banksel common | |
| 436 call deco_calc_wo_deco_step_1_min ; calculate deco in surface mode | |
| 437 banksel common | |
| 438 clrf nofly_time+0 ; Reset NoFly | |
| 439 clrf nofly_time+1 | |
| 440 clrf desaturation_time+0 ; Reset Desat | |
| 441 clrf desaturation_time+1 | |
| 442 goto do_return_settings ; back to menu | |
| 443 | |
| 444 do_reset_settings: | |
| 139 | 445 banksel common |
| 0 | 446 extern option_reset_all |
| 447 call option_reset_all ; Reset all options to factory default. | |
| 76 | 448 goto restart ; Restart into surfacemode |
| 0 | 449 |
| 450 do_continue_menu_3stack: ; Return three levels deep | |
| 451 call menu_processor_pop | |
| 452 goto do_return_settings | |
| 453 | |
| 454 do_reboot: | |
| 455 call ext_flash_enable_protection ; Enables write protection | |
| 456 reset | |
| 457 | |
| 458 | |
| 459 do_date_time_menu: | |
| 460 MENU_BEGIN tSetTimeDate, .4 | |
| 461 MENU_CALL tSetTime, do_time_menu | |
| 462 MENU_CALL tSetDate, do_date_menu | |
| 463 MENU_OPTION tDateFormat,oDateFormat, 0 | |
| 464 MENU_CALL tExit, do_return_settings | |
| 465 MENU_END | |
| 466 | |
| 467 do_date_menu: | |
| 468 bsf settime_setdate | |
| 469 MENU_BEGIN tSetDate, .4 | |
| 470 MENU_OPTION tSetDay, oSetDay, 0 | |
| 50 | 471 MENU_OPTION tSetMonth, oSetMonth, 0 |
| 0 | 472 MENU_OPTION tSetYear, oSetYear, 0 |
| 473 MENU_CALL tExit, do_continue_menu_3stack | |
| 474 MENU_END | |
| 475 | |
| 476 | |
| 477 do_reset_seconds: | |
| 478 clrf secs | |
| 479 extern rtc_set_rtc | |
| 480 call rtc_set_rtc ; writes mins,sec,hours,day,month and year to rtc module | |
| 481 do_time_menu: | |
| 482 bsf settime_setdate | |
| 483 MENU_BEGIN tSetTime, .4 | |
| 484 MENU_OPTION tSetHours, oSetHours, 0 | |
| 485 MENU_OPTION tSetMinutes,oSetMinutes, 0 | |
| 486 MENU_CALL tSetSeconds, do_reset_seconds | |
| 487 MENU_CALL tExit, do_continue_menu_3stack | |
| 488 MENU_END | |
| 489 | |
| 490 | |
| 491 do_toggle_ppo2_max: ; add 0.1bar, with hard-coded max. | |
| 492 movff opt_ppO2_max,lo ; banksafe | |
| 493 movlw .10 | |
| 494 addwf lo,F | |
| 495 movlw ppo2_highest_setting | |
| 496 cpfsgt lo | |
| 497 bra do_toggle_ppo2_max2 | |
| 498 movlw .120 | |
| 499 movwf lo | |
| 500 do_toggle_ppo2_max2: | |
| 501 movff lo,opt_ppO2_max | |
| 502 return | |
| 503 | |
| 504 do_toggle_ppo2_min: ; sub 0.1bar, with hard-coded min. | |
| 505 movff opt_ppO2_min,lo ; banksafe | |
| 506 incf lo,F | |
| 507 movlw .21 | |
| 508 cpfsgt lo | |
| 509 bra do_toggle_ppo2_min2 | |
| 510 movlw ppo2_lowest_setting | |
| 511 movwf lo | |
| 512 do_toggle_ppo2_min2: | |
| 513 movff lo,opt_ppO2_min | |
| 514 return | |
| 515 | |
| 516 | |
| 517 ; Logbook offset sub-menu | |
| 518 do_log_offset_menu: | |
| 519 MENU_BEGIN tLogOffset, .6 | |
| 520 MENU_DYNAMIC TFT_LogOffset_Logtitle, 0 | |
| 521 MENU_CALL tLogOffsetp1, do_logoffset_plus1 | |
| 522 MENU_CALL tLogOffsetp10, do_logoffset_plus10 | |
| 523 MENU_CALL tLogOffsetm1, do_logoffset_minus1 | |
| 524 MENU_CALL tLogOffsetm10, do_logoffset_minus10 | |
| 525 MENU_CALL tExit, do_dispsets_menu_3stack | |
| 526 MENU_END | |
| 527 | |
| 528 | |
| 529 do_logoffset_minus1: | |
| 530 call do_logoffset_common_read ; Read into lo:hi | |
| 531 movlw d'1' | |
| 532 subwf lo | |
| 533 movlw d'0' | |
| 534 subwfb hi | |
| 535 btfss hi,7 ; <0? | |
| 536 goto do_logoffset_common_write ; Store and return | |
| 537 clrf lo | |
| 538 clrf hi | |
| 539 goto do_logoffset_common_write ; Store and return | |
| 540 | |
| 541 do_logoffset_minus10: | |
| 542 call do_logoffset_common_read ; Read into lo:hi | |
| 543 movlw d'10' | |
| 544 subwf lo | |
| 545 movlw d'0' | |
| 546 subwfb hi | |
| 547 btfss hi,7 ; <0? | |
| 548 goto do_logoffset_common_write ; Store and return | |
| 549 clrf lo | |
| 550 clrf hi | |
| 551 goto do_logoffset_common_write ; Store and return | |
| 552 | |
| 553 do_logoffset_plus1: | |
| 554 call do_logoffset_common_read ; Read into lo:hi | |
| 148 | 555 infsnz lo,F |
| 556 incf hi,F | |
| 0 | 557 goto do_logoffset_common_write ; Store and return |
| 558 | |
| 559 do_logoffset_plus10: | |
| 560 call do_logoffset_common_read ; Read into lo:hi | |
| 561 movlw d'10' | |
| 562 addwf lo | |
| 563 movlw d'0' | |
| 564 addwfc hi | |
| 565 goto do_logoffset_common_write ; Store and return | |
| 566 | |
| 567 do_dispsets_menu_3stack: | |
| 50 | 568 bcf in_color_menu |
| 0 | 569 call menu_processor_pop |
| 570 call menu_processor_pop | |
| 571 | |
| 572 do_dispsets_menu: | |
|
155
5f71e31bd5b3
CHANGE: Re-arranged Settings Menu, add 180? rotate to menu
heinrichsweikamp
parents:
154
diff
changeset
|
573 MENU_BEGIN tDispSets, .4 |
| 0 | 574 MENU_OPTION tBright, oBrightness, 0 |
| 50 | 575 MENU_CALL tColorScheme, do_color_scheme |
|
155
5f71e31bd5b3
CHANGE: Re-arranged Settings Menu, add 180? rotate to menu
heinrichsweikamp
parents:
154
diff
changeset
|
576 MENU_OPTION tFlip, oFlipScreen, 0 |
| 0 | 577 MENU_CALL tExit, do_return_settings |
| 578 MENU_END | |
| 579 | |
| 50 | 580 |
| 581 extern oColorSetDive | |
| 582 do_color_scheme: | |
| 583 bsf in_color_menu | |
| 584 MENU_BEGIN tColorScheme, .2 | |
| 585 MENU_OPTION tColorSetDive,oColorSetDive, 0 | |
| 586 MENU_CALL tExit, do_dispsets_menu_3stack | |
| 587 MENU_END | |
| 588 | |
| 589 | |
| 0 | 590 ;============================================================================= |
| 591 | |
| 592 global new_battery_menu | |
| 593 new_battery_menu: | |
| 594 bsf enable_screen_dumps ; To prevent exiting into COMM mode immediately | |
| 595 call TFT_boot ; Initialize TFT (includes clear screen) | |
| 596 call TFT_Display_FadeIn ; Show splash | |
| 597 movlw .100 | |
| 598 movwf batt_percent ; make sure to reset batt_percent | |
| 599 | |
| 600 ; Default (In cases of timeout or USB): Use old battery | |
| 601 clrf EEADRH | |
| 602 read_int_eeprom 0x07 | |
| 603 movff EEDATA,battery_gauge+0 | |
| 604 read_int_eeprom 0x08 | |
| 605 movff EEDATA,battery_gauge+1 | |
| 606 read_int_eeprom 0x09 | |
| 607 movff EEDATA,battery_gauge+2 | |
| 608 read_int_eeprom 0x0A | |
| 609 movff EEDATA,battery_gauge+3 | |
| 610 read_int_eeprom 0x0B | |
| 611 movff EEDATA,battery_gauge+4 | |
| 612 read_int_eeprom 0x0C | |
| 613 movff EEDATA,battery_gauge+5 | |
| 614 | |
| 76 | 615 call menu_processor_reset ; restart from first icon. |
| 616 | |
| 0 | 617 MENU_BEGIN tNewBattTitle, .3 |
| 618 MENU_CALL tNewBattOld, use_old_batteries | |
| 619 MENU_CALL tNewBattNew36, use_new_36V_batteries | |
| 620 MENU_CALL tNewBattNew15, use_new_15V_batteries | |
| 621 MENU_END | |
| 622 | |
| 623 global use_old_batteries | |
| 624 use_old_batteries: | |
| 625 clrf EEADRH | |
| 626 read_int_eeprom 0x07 | |
| 627 movff EEDATA,battery_gauge+0 | |
| 628 read_int_eeprom 0x08 | |
| 629 movff EEDATA,battery_gauge+1 | |
| 630 read_int_eeprom 0x09 | |
| 631 movff EEDATA,battery_gauge+2 | |
| 632 read_int_eeprom 0x0A | |
| 633 movff EEDATA,battery_gauge+3 | |
| 634 read_int_eeprom 0x0B | |
| 635 movff EEDATA,battery_gauge+4 | |
| 636 read_int_eeprom 0x0C | |
| 637 movff EEDATA,battery_gauge+5 | |
| 638 movlw .100 | |
| 639 movwf batt_percent ; To have 1,5V batteries right after firmware update | |
| 640 goto power_on_return | |
| 641 | |
| 642 use_new_15V_batteries: | |
| 643 use_new_36V_batteries: | |
| 644 call reset_battery_pointer ; Resets battery pointer 0x07-0x0C and battery_gauge:5 | |
| 645 goto power_on_return | |
| 646 | |
| 647 END |
