annotate src/menu_tree.asm @ 225:31088352ee32

BUGFIX: Show dives with >999mins divetime correctly
author heinrichsweikamp
date Sun, 01 Feb 2015 18:49:24 +0100
parents effd7259f5a5
children 23311219dacc
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
heinrichsweikamp
parents:
diff changeset
1 ;=============================================================================
heinrichsweikamp
parents:
diff changeset
2 ;
heinrichsweikamp
parents:
diff changeset
3 ; File menu_tree.asm
heinrichsweikamp
parents:
diff changeset
4 ;
heinrichsweikamp
parents:
diff changeset
5 ; OSTC3 menus
heinrichsweikamp
parents:
diff changeset
6 ;
heinrichsweikamp
parents:
diff changeset
7 ; Copyright (c) 2011, JD Gascuel, HeinrichsWeikamp, all right reserved.
heinrichsweikamp
parents:
diff changeset
8 ;=============================================================================
heinrichsweikamp
parents:
diff changeset
9 ; HISTORY
heinrichsweikamp
parents:
diff changeset
10 ; 2011-07-11 : [jDG] Creation.
heinrichsweikamp
parents:
diff changeset
11
heinrichsweikamp
parents:
diff changeset
12 #include "ostc3.inc" ; Mandatory header
heinrichsweikamp
parents:
diff changeset
13 #include "gaslist.inc"
heinrichsweikamp
parents:
diff changeset
14 #include "menu_processor.inc"
heinrichsweikamp
parents:
diff changeset
15 #include "start.inc"
heinrichsweikamp
parents:
diff changeset
16 #include "comm.inc"
heinrichsweikamp
parents:
diff changeset
17 #include "logbook.inc"
heinrichsweikamp
parents:
diff changeset
18 #include "tft.inc"
heinrichsweikamp
parents:
diff changeset
19 #include "eeprom_rs232.inc"
heinrichsweikamp
parents:
diff changeset
20 #include "external_flash.inc"
heinrichsweikamp
parents:
diff changeset
21 #include "shared_definitions.h" ; Mailbox from/to p2_deco.c
heinrichsweikamp
parents:
diff changeset
22 #include "isr.inc"
heinrichsweikamp
parents:
diff changeset
23 #include "ghostwriter.inc"
heinrichsweikamp
parents:
diff changeset
24 #include "adc_lightsensor.inc"
heinrichsweikamp
parents:
diff changeset
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
heinrichsweikamp
parents:
diff changeset
30 gui CODE
heinrichsweikamp
parents:
diff changeset
31 ;=============================================================================
heinrichsweikamp
parents:
diff changeset
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
heinrichsweikamp
parents:
diff changeset
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
heinrichsweikamp
parents:
diff changeset
37 bcf sleepmode ; for timeout
heinrichsweikamp
parents:
diff changeset
38 call menu_processor_reset ; restart from first icon.
heinrichsweikamp
parents:
diff changeset
39
heinrichsweikamp
parents:
diff changeset
40 do_continue_main_menu:
heinrichsweikamp
parents:
diff changeset
41 call menu_processor_pop ; drop exit line.
heinrichsweikamp
parents:
diff changeset
42 call menu_processor_pop ; back to last icon.
heinrichsweikamp
parents:
diff changeset
43
heinrichsweikamp
parents:
diff changeset
44 extern do_demo_divemode, restart
heinrichsweikamp
parents:
diff changeset
45 MENU_BEGIN tMainMenu, .7
heinrichsweikamp
parents:
diff changeset
46 MENU_CALL tLogbook, logbook
heinrichsweikamp
parents:
diff changeset
47 MENU_CALL tGasSetup, do_gas_menu
heinrichsweikamp
parents:
diff changeset
48 MENU_CALL tCCRSetup, do_ccr_menu
heinrichsweikamp
parents:
diff changeset
49 MENU_CALL tPlan, do_planner_menu_reset
heinrichsweikamp
parents:
diff changeset
50 MENU_CALL tDiveModeMenu, do_divemode_menu
heinrichsweikamp
parents:
diff changeset
51 MENU_CALL tSystSets, do_settings_menu
heinrichsweikamp
parents:
diff changeset
52 MENU_CALL tExit, restart
heinrichsweikamp
parents:
diff changeset
53 MENU_END
heinrichsweikamp
parents:
diff changeset
54
heinrichsweikamp
parents:
diff changeset
55 do_info_menu:
62
e7c7c7eeea58 show battery voltage in info menu
heinrichsweikamp
parents: 50
diff changeset
56 MENU_BEGIN tInfoMenu, .5
0
heinrichsweikamp
parents:
diff changeset
57 MENU_DYNAMIC info_menu_serial, 0
heinrichsweikamp
parents:
diff changeset
58 MENU_DYNAMIC info_menu_firmware, 0
heinrichsweikamp
parents:
diff changeset
59 MENU_DYNAMIC info_menu_total_dives, 0
62
e7c7c7eeea58 show battery voltage in info menu
heinrichsweikamp
parents: 50
diff changeset
60 MENU_DYNAMIC info_menu_battery_volts,0
0
heinrichsweikamp
parents:
diff changeset
61 MENU_CALL tExit, do_return_settings
heinrichsweikamp
parents:
diff changeset
62 MENU_END
heinrichsweikamp
parents:
diff changeset
63
heinrichsweikamp
parents:
diff changeset
64 ;=============================================================================
heinrichsweikamp
parents:
diff changeset
65 ; CCR Setup
heinrichsweikamp
parents:
diff changeset
66
heinrichsweikamp
parents:
diff changeset
67 return_ccr_menu:
heinrichsweikamp
parents:
diff changeset
68 call menu_processor_pop ; drop exit line.
heinrichsweikamp
parents:
diff changeset
69 call menu_processor_pop ; back to last gas.
heinrichsweikamp
parents:
diff changeset
70
heinrichsweikamp
parents:
diff changeset
71 do_ccr_menu:
113
heinrichsweikamp
parents: 104
diff changeset
72 bcf menu_show_sensors ; Clear flag
heinrichsweikamp
parents: 104
diff changeset
73 bcf menu_show_sensors2 ; Clear flag
200
dcd513840c6c cleanup
heinrichsweikamp
parents: 187
diff changeset
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
heinrichsweikamp
parents: 104
diff changeset
85 MENU_BEGIN tCCRSetup, .6
0
heinrichsweikamp
parents:
diff changeset
86 MENU_OPTION tCCRMode, oCCRMode, 0
heinrichsweikamp
parents:
diff changeset
87 MENU_CALL tCCRSensor, do_ccr_sensor
113
heinrichsweikamp
parents: 104
diff changeset
88 MENU_CALL tCalibrateMenu, do_calibrate_menu
0
heinrichsweikamp
parents:
diff changeset
89 MENU_CALL tDiluentSetup, do_diluent_setup
heinrichsweikamp
parents:
diff changeset
90 MENU_CALL tFixedSetpoints, do_fixed_setpoints
heinrichsweikamp
parents:
diff changeset
91 MENU_CALL tExit, do_continue_main_menu
heinrichsweikamp
parents:
diff changeset
92 MENU_END
heinrichsweikamp
parents:
diff changeset
93
113
heinrichsweikamp
parents: 104
diff changeset
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
heinrichsweikamp
parents: 104
diff changeset
96 bsf menu_show_sensors2 ; Set flag
heinrichsweikamp
parents: 104
diff changeset
97 do_calibrate_menu2:
heinrichsweikamp
parents: 104
diff changeset
98 MENU_BEGIN tCalibrateMenu, .6
heinrichsweikamp
parents: 104
diff changeset
99 MENU_CALL tDiveHudMask1, 0
heinrichsweikamp
parents: 104
diff changeset
100 MENU_CALL tDiveHudMask2, 0
heinrichsweikamp
parents: 104
diff changeset
101 MENU_CALL tDiveHudMask3, 0
heinrichsweikamp
parents: 104
diff changeset
102 MENU_OPTION tCalibrationGas,oCalGasO2, 0
heinrichsweikamp
parents: 104
diff changeset
103 MENU_CALL tCalibrate, do_calibrate_mix
heinrichsweikamp
parents: 104
diff changeset
104 MENU_CALL tExit, return_ccr_menu
heinrichsweikamp
parents: 104
diff changeset
105 MENU_END
heinrichsweikamp
parents: 104
diff changeset
106
heinrichsweikamp
parents: 104
diff changeset
107 do_calibrate_mix:
heinrichsweikamp
parents: 104
diff changeset
108 extern calibrate_mix
heinrichsweikamp
parents: 104
diff changeset
109 call calibrate_mix ; Calibrate with opt_calibration_O2_ratio, also calibrate S8 HUD if connected
heinrichsweikamp
parents: 104
diff changeset
110 goto restart ; Restart into surface mode
heinrichsweikamp
parents: 104
diff changeset
111
0
heinrichsweikamp
parents:
diff changeset
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
heinrichsweikamp
parents:
diff changeset
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
heinrichsweikamp
parents:
diff changeset
116 MENU_CALL tDiveHudMask1, 0
heinrichsweikamp
parents:
diff changeset
117 MENU_CALL tDiveHudMask2, 0
heinrichsweikamp
parents:
diff changeset
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
heinrichsweikamp
parents:
diff changeset
120 MENU_CALL tExit, return_ccr_menu
heinrichsweikamp
parents:
diff changeset
121 MENU_END
heinrichsweikamp
parents:
diff changeset
122
heinrichsweikamp
parents:
diff changeset
123 do_diluent_setup:
heinrichsweikamp
parents:
diff changeset
124 bsf ccr_diluent_setup ; =1: Setting up Diluents ("Gas6-10")
139
e0b758865e91 some cleanup
heinrichsweikamp
parents: 113
diff changeset
125 bcf short_gas_decriptions ; =1: Use short versions of gaslist_strcat_gas_mod and gaslist_strcat_setpoint
0
heinrichsweikamp
parents:
diff changeset
126 call gaslist_cleanup_list ; Takes care that only one gas can be first and first has 0m change depth
heinrichsweikamp
parents:
diff changeset
127 MENU_BEGIN tDiluentSetup, .6
heinrichsweikamp
parents:
diff changeset
128 MENU_DYNAMIC gaslist_strcat_gas_mod, do_edit_gas_menu
heinrichsweikamp
parents:
diff changeset
129 MENU_DYNAMIC gaslist_strcat_gas_mod, do_edit_gas_menu
heinrichsweikamp
parents:
diff changeset
130 MENU_DYNAMIC gaslist_strcat_gas_mod, do_edit_gas_menu
heinrichsweikamp
parents:
diff changeset
131 MENU_DYNAMIC gaslist_strcat_gas_mod, do_edit_gas_menu
heinrichsweikamp
parents:
diff changeset
132 MENU_DYNAMIC gaslist_strcat_gas_mod, do_edit_gas_menu
heinrichsweikamp
parents:
diff changeset
133 MENU_CALL tExit, return_ccr_menu
heinrichsweikamp
parents:
diff changeset
134 MENU_END
heinrichsweikamp
parents:
diff changeset
135
heinrichsweikamp
parents:
diff changeset
136 do_return_fixed_setpoints:
heinrichsweikamp
parents:
diff changeset
137 call menu_processor_pop ; drop exit line.
heinrichsweikamp
parents:
diff changeset
138 call menu_processor_pop ; back to last gas.
heinrichsweikamp
parents:
diff changeset
139
heinrichsweikamp
parents:
diff changeset
140 do_fixed_setpoints:
139
e0b758865e91 some cleanup
heinrichsweikamp
parents: 113
diff changeset
141 bcf short_gas_decriptions ; =1: Use short versions of gaslist_strcat_gas_mod and gaslist_strcat_setpoint
0
heinrichsweikamp
parents:
diff changeset
142 MENU_BEGIN tFixedSetpoints, .6
heinrichsweikamp
parents:
diff changeset
143 MENU_DYNAMIC gaslist_strcat_setpoint, do_edit_sp_menu
heinrichsweikamp
parents:
diff changeset
144 MENU_DYNAMIC gaslist_strcat_setpoint, do_edit_sp_menu
heinrichsweikamp
parents:
diff changeset
145 MENU_DYNAMIC gaslist_strcat_setpoint, do_edit_sp_menu
heinrichsweikamp
parents:
diff changeset
146 MENU_DYNAMIC gaslist_strcat_setpoint, do_edit_sp_menu
heinrichsweikamp
parents:
diff changeset
147 MENU_DYNAMIC gaslist_strcat_setpoint, do_edit_sp_menu
heinrichsweikamp
parents:
diff changeset
148 MENU_CALL tExit, return_ccr_menu
heinrichsweikamp
parents:
diff changeset
149 MENU_END
heinrichsweikamp
parents:
diff changeset
150
heinrichsweikamp
parents:
diff changeset
151 do_edit_sp_menu:
heinrichsweikamp
parents:
diff changeset
152 call gaslist_setSP ; Save current item.
heinrichsweikamp
parents:
diff changeset
153 MENU_BEGIN tFixedSetpoints, .5
heinrichsweikamp
parents:
diff changeset
154 MENU_DYNAMIC gaslist_strcat_setpoint_0,0
heinrichsweikamp
parents:
diff changeset
155 MENU_CALL tSPPlus, gaslist_spplus
heinrichsweikamp
parents:
diff changeset
156 MENU_CALL tDepthPlus, gaslist_spdepthplus
heinrichsweikamp
parents:
diff changeset
157 MENU_CALL tDepthMinus, gaslist_spdepthminus
heinrichsweikamp
parents:
diff changeset
158 MENU_CALL tExit, do_return_fixed_setpoints
heinrichsweikamp
parents:
diff changeset
159 MENU_END
heinrichsweikamp
parents:
diff changeset
160
heinrichsweikamp
parents:
diff changeset
161 ;=============================================================================
heinrichsweikamp
parents:
diff changeset
162 ; OC Gas Setup
heinrichsweikamp
parents:
diff changeset
163
heinrichsweikamp
parents:
diff changeset
164 return_gas_menu:
heinrichsweikamp
parents:
diff changeset
165 call menu_processor_pop ; drop exit line.
heinrichsweikamp
parents:
diff changeset
166 call menu_processor_pop ; back to last gas.
heinrichsweikamp
parents:
diff changeset
167
heinrichsweikamp
parents:
diff changeset
168 btfsc ccr_diluent_setup ; Return to CCR-Menu?
heinrichsweikamp
parents:
diff changeset
169 bra do_diluent_setup ; Yes.
heinrichsweikamp
parents:
diff changeset
170 do_gas_menu:
heinrichsweikamp
parents:
diff changeset
171 bcf ccr_diluent_setup ; =1: Setting up Diluents ("Gas6-10")
139
e0b758865e91 some cleanup
heinrichsweikamp
parents: 113
diff changeset
172 bcf short_gas_decriptions ; =1: Use short versions of gaslist_strcat_gas_mod and gaslist_strcat_setpoint
0
heinrichsweikamp
parents:
diff changeset
173 call gaslist_cleanup_list ; Takes care that only one gas can be first and first has 0m change depth
heinrichsweikamp
parents:
diff changeset
174 MENU_BEGIN tGaslist, .6
heinrichsweikamp
parents:
diff changeset
175 MENU_DYNAMIC gaslist_strcat_gas_mod, do_edit_gas_menu
heinrichsweikamp
parents:
diff changeset
176 MENU_DYNAMIC gaslist_strcat_gas_mod, do_edit_gas_menu
heinrichsweikamp
parents:
diff changeset
177 MENU_DYNAMIC gaslist_strcat_gas_mod, do_edit_gas_menu
heinrichsweikamp
parents:
diff changeset
178 MENU_DYNAMIC gaslist_strcat_gas_mod, do_edit_gas_menu
heinrichsweikamp
parents:
diff changeset
179 MENU_DYNAMIC gaslist_strcat_gas_mod, do_edit_gas_menu
heinrichsweikamp
parents:
diff changeset
180 MENU_CALL tExit, do_continue_main_menu
heinrichsweikamp
parents:
diff changeset
181 MENU_END
heinrichsweikamp
parents:
diff changeset
182
heinrichsweikamp
parents:
diff changeset
183 return_gas_depth:
heinrichsweikamp
parents:
diff changeset
184 call menu_processor_pop ; drop exit line.
heinrichsweikamp
parents:
diff changeset
185 call menu_processor_pop ; back to last gas.
heinrichsweikamp
parents:
diff changeset
186 bra do_edit_gas_menu_1
heinrichsweikamp
parents:
diff changeset
187
heinrichsweikamp
parents:
diff changeset
188 do_edit_gas_menu:
heinrichsweikamp
parents:
diff changeset
189 call gaslist_setgas ; Save current item.
heinrichsweikamp
parents:
diff changeset
190 do_edit_gas_menu_1: ; Keep current gas.
heinrichsweikamp
parents:
diff changeset
191 MENU_BEGIN tGasEdit, .6
heinrichsweikamp
parents:
diff changeset
192 MENU_DYNAMIC gaslist_gastitle, 0
heinrichsweikamp
parents:
diff changeset
193 MENU_DYNAMIC gaslist_MOD_END, 0
heinrichsweikamp
parents:
diff changeset
194 MENU_DYNAMIC gaslist_show_type, gaslist_toggle_type
heinrichsweikamp
parents:
diff changeset
195 MENU_CALL tSetup_mix, do_setup_mix
heinrichsweikamp
parents:
diff changeset
196 MENU_CALL tGasDepth, do_gas_depth_menu
heinrichsweikamp
parents:
diff changeset
197 MENU_CALL tExit, return_gas_menu
heinrichsweikamp
parents:
diff changeset
198 MENU_END
heinrichsweikamp
parents:
diff changeset
199
heinrichsweikamp
parents:
diff changeset
200 do_setup_mix:
heinrichsweikamp
parents:
diff changeset
201 MENU_BEGIN tGasEdit, .7
heinrichsweikamp
parents:
diff changeset
202 MENU_DYNAMIC gaslist_gastitle, 0
heinrichsweikamp
parents:
diff changeset
203 MENU_DYNAMIC gaslist_MOD_END, 0
heinrichsweikamp
parents:
diff changeset
204 MENU_CALL tO2Plus, gaslist_pO2
heinrichsweikamp
parents:
diff changeset
205 MENU_CALL tO2Minus, gaslist_mO2
heinrichsweikamp
parents:
diff changeset
206 MENU_CALL tHePlus, gaslist_pHe
heinrichsweikamp
parents:
diff changeset
207 MENU_CALL tHeMinus, gaslist_mHe
heinrichsweikamp
parents:
diff changeset
208 MENU_CALL tExit, return_gas_depth
heinrichsweikamp
parents:
diff changeset
209 MENU_END
heinrichsweikamp
parents:
diff changeset
210
heinrichsweikamp
parents:
diff changeset
211 global do_gas_depth_menu
heinrichsweikamp
parents:
diff changeset
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
heinrichsweikamp
parents:
diff changeset
223 MENU_DYNAMIC gaslist_gastitle, 0
heinrichsweikamp
parents:
diff changeset
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
heinrichsweikamp
parents:
diff changeset
226 MENU_CALL tDepthPlus, gaslist_pDepth
heinrichsweikamp
parents:
diff changeset
227 MENU_CALL tDepthMinus, gaslist_mDepth
heinrichsweikamp
parents:
diff changeset
228 MENU_DYNAMIC gaslist_reset_mod_title,gaslist_reset_mod
heinrichsweikamp
parents:
diff changeset
229 MENU_CALL tExit, return_gas_depth
heinrichsweikamp
parents:
diff changeset
230 MENU_END
heinrichsweikamp
parents:
diff changeset
231
heinrichsweikamp
parents:
diff changeset
232 ;=============================================================================
heinrichsweikamp
parents:
diff changeset
233 ; Simulator menus
heinrichsweikamp
parents:
diff changeset
234
heinrichsweikamp
parents:
diff changeset
235 global do_planner_menu
heinrichsweikamp
parents:
diff changeset
236
heinrichsweikamp
parents:
diff changeset
237 do_planner_menu_reset:
heinrichsweikamp
parents:
diff changeset
238 extern option_save_all
heinrichsweikamp
parents:
diff changeset
239 call option_save_all
heinrichsweikamp
parents:
diff changeset
240 ;---- Reset dive time/depth to default values
heinrichsweikamp
parents:
diff changeset
241 extern option_reset
heinrichsweikamp
parents:
diff changeset
242 lfsr FSR0,odiveInterval
heinrichsweikamp
parents:
diff changeset
243 call option_reset
heinrichsweikamp
parents:
diff changeset
244 lfsr FSR0,obottomTime
heinrichsweikamp
parents:
diff changeset
245 call option_reset
heinrichsweikamp
parents:
diff changeset
246 lfsr FSR0,obottomDepth
heinrichsweikamp
parents:
diff changeset
247 call option_reset
heinrichsweikamp
parents:
diff changeset
248
heinrichsweikamp
parents:
diff changeset
249 do_planner_menu:
heinrichsweikamp
parents:
diff changeset
250 extern do_demo_planner
heinrichsweikamp
parents:
diff changeset
251 MENU_BEGIN tPlan, .6
heinrichsweikamp
parents:
diff changeset
252 MENU_CALL tInter, do_demo_divemode
heinrichsweikamp
parents:
diff changeset
253 MENU_OPTION tIntvl, odiveInterval, 0
heinrichsweikamp
parents:
diff changeset
254 MENU_OPTION tBtTm, obottomTime, 0
heinrichsweikamp
parents:
diff changeset
255 MENU_OPTION tMxDep, obottomDepth, 0
heinrichsweikamp
parents:
diff changeset
256 MENU_CALL tDeco, do_demo_planner
heinrichsweikamp
parents:
diff changeset
257 MENU_CALL tExit, do_continue_main_menu
heinrichsweikamp
parents:
diff changeset
258 MENU_END
heinrichsweikamp
parents:
diff changeset
259
heinrichsweikamp
parents:
diff changeset
260 ;=============================================================================
heinrichsweikamp
parents:
diff changeset
261 ; Divemode menu
heinrichsweikamp
parents:
diff changeset
262
heinrichsweikamp
parents:
diff changeset
263 do_return_divemode_menu:
heinrichsweikamp
parents:
diff changeset
264 call menu_processor_pop ; drop exit line.
heinrichsweikamp
parents:
diff changeset
265 call menu_processor_pop ; back to last gas.
heinrichsweikamp
parents:
diff changeset
266
heinrichsweikamp
parents:
diff changeset
267 do_divemode_menu:
heinrichsweikamp
parents:
diff changeset
268 MENU_BEGIN tDiveModeMenu, .7
heinrichsweikamp
parents:
diff changeset
269 MENU_OPTION tDvMode, oDiveMode, 0
heinrichsweikamp
parents:
diff changeset
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
heinrichsweikamp
parents:
diff changeset
273 MENU_OPTION tFTTSMenu, oExtraTime,0
heinrichsweikamp
parents:
diff changeset
274 MENU_CALL tDecoparameters, do_decoparameters_menu
heinrichsweikamp
parents:
diff changeset
275 MENU_CALL tExit, do_continue_main_menu
heinrichsweikamp
parents:
diff changeset
276 MENU_END
heinrichsweikamp
parents:
diff changeset
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
heinrichsweikamp
parents:
diff changeset
285 do_return_decoparameters_menu:
heinrichsweikamp
parents:
diff changeset
286 call menu_processor_pop ; drop exit line.
heinrichsweikamp
parents:
diff changeset
287 call menu_processor_pop ; back to setting
heinrichsweikamp
parents:
diff changeset
288 do_decoparameters_menu:
heinrichsweikamp
parents:
diff changeset
289 MENU_BEGIN tDecoparameters, .7
heinrichsweikamp
parents:
diff changeset
290 MENU_OPTION tGF_low, oGF_low, 0
heinrichsweikamp
parents:
diff changeset
291 MENU_OPTION tGF_high, oGF_high, 0
heinrichsweikamp
parents:
diff changeset
292 MENU_CALL taGFMenu, do_aGF_menu
heinrichsweikamp
parents:
diff changeset
293 MENU_OPTION tSaturationMult,osatmult, 0
heinrichsweikamp
parents:
diff changeset
294 MENU_OPTION tDesaturationMult,odesatmult,0
heinrichsweikamp
parents:
diff changeset
295 MENU_OPTION tLastDecostop,oLastDeco, 0
heinrichsweikamp
parents:
diff changeset
296 MENU_CALL tExit, do_return_divemode_menu
heinrichsweikamp
parents:
diff changeset
297 MENU_END
heinrichsweikamp
parents:
diff changeset
298
heinrichsweikamp
parents:
diff changeset
299 do_aGF_menu:
heinrichsweikamp
parents:
diff changeset
300 MENU_BEGIN taGFMenu, .4
heinrichsweikamp
parents:
diff changeset
301 MENU_OPTION taGF_enable,oEnable_aGF, 0
heinrichsweikamp
parents:
diff changeset
302 MENU_OPTION taGF_low, oaGF_low, 0
heinrichsweikamp
parents:
diff changeset
303 MENU_OPTION taGF_high, oaGF_high, 0
heinrichsweikamp
parents:
diff changeset
304 MENU_CALL tExit, do_return_decoparameters_menu
heinrichsweikamp
parents:
diff changeset
305 MENU_END
heinrichsweikamp
parents:
diff changeset
306 ;=============================================================================
heinrichsweikamp
parents:
diff changeset
307 ; Setup Menu
heinrichsweikamp
parents:
diff changeset
308
heinrichsweikamp
parents:
diff changeset
309 do_return_settings:
heinrichsweikamp
parents:
diff changeset
310 bcf settime_setdate ; Clear flag
heinrichsweikamp
parents:
diff changeset
311 call menu_processor_pop ; Drop exit entry
heinrichsweikamp
parents:
diff changeset
312 call menu_processor_pop ; Pop return line.
heinrichsweikamp
parents:
diff changeset
313
heinrichsweikamp
parents:
diff changeset
314 extern compass_calibration_loop
heinrichsweikamp
parents:
diff changeset
315 do_settings_menu:
heinrichsweikamp
parents:
diff changeset
316 MENU_BEGIN tSystSets, .7
heinrichsweikamp
parents:
diff changeset
317 MENU_CALL tInfoMenu, do_info_menu
heinrichsweikamp
parents:
diff changeset
318 MENU_CALL tSetTimeDate, do_date_time_menu
heinrichsweikamp
parents:
diff changeset
319 MENU_CALL tDispSets, do_dispsets_menu
heinrichsweikamp
parents:
diff changeset
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
8fbd8c5ac51f 1.71beta start
heinrichsweikamp
parents: 200
diff changeset
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
heinrichsweikamp
parents:
diff changeset
349 MENU_END
heinrichsweikamp
parents:
diff changeset
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
heinrichsweikamp
parents:
diff changeset
369 ;=============================================================================
heinrichsweikamp
parents:
diff changeset
370 ; Reset and confirmation menu.
heinrichsweikamp
parents:
diff changeset
371
heinrichsweikamp
parents:
diff changeset
372 do_reset_menu:
63
5c4d4a42e7a0 allow logbook erase from reset menu
heinrichsweikamp
parents: 50
diff changeset
373 MENU_BEGIN tResetMenu, .6
0
heinrichsweikamp
parents:
diff changeset
374 MENU_CALL tExit, do_return_settings
heinrichsweikamp
parents:
diff changeset
375 MENU_CALL tReboot, do_reset_menu2 ; Confirm
heinrichsweikamp
parents:
diff changeset
376 MENU_CALL tResetDeco, do_reset_menu3 ; Confirm
heinrichsweikamp
parents:
diff changeset
377 MENU_CALL tResetSettings, do_reset_menu4 ; Confirm
63
5c4d4a42e7a0 allow logbook erase from reset menu
heinrichsweikamp
parents: 50
diff changeset
378 MENU_CALL tResetLogbook, do_reset_menu5 ; Confirm
0
heinrichsweikamp
parents:
diff changeset
379 MENU_CALL tResetBattery, new_battery_menu ; New Battery submenu
heinrichsweikamp
parents:
diff changeset
380 MENU_END
heinrichsweikamp
parents:
diff changeset
381
heinrichsweikamp
parents:
diff changeset
382 do_reset_menu2:
heinrichsweikamp
parents:
diff changeset
383 MENU_BEGIN tResetMenu2, .2
heinrichsweikamp
parents:
diff changeset
384 MENU_CALL tAbort, do_continue_menu_3stack
heinrichsweikamp
parents:
diff changeset
385 MENU_CALL tReboot, do_reboot ; Reboot
heinrichsweikamp
parents:
diff changeset
386 MENU_END
heinrichsweikamp
parents:
diff changeset
387
heinrichsweikamp
parents:
diff changeset
388 do_reset_menu3:
heinrichsweikamp
parents:
diff changeset
389 MENU_BEGIN tResetMenu2, .2
heinrichsweikamp
parents:
diff changeset
390 MENU_CALL tAbort, do_continue_menu_3stack
heinrichsweikamp
parents:
diff changeset
391 MENU_CALL tResetDeco, do_reset_deco ; Reset Deco
heinrichsweikamp
parents:
diff changeset
392 MENU_END
heinrichsweikamp
parents:
diff changeset
393
heinrichsweikamp
parents:
diff changeset
394 do_reset_menu4:
heinrichsweikamp
parents:
diff changeset
395 MENU_BEGIN tResetMenu2, .2
heinrichsweikamp
parents:
diff changeset
396 MENU_CALL tAbort, do_continue_menu_3stack
heinrichsweikamp
parents:
diff changeset
397 MENU_CALL tResetSettings, do_reset_settings ; Reset all settings
heinrichsweikamp
parents:
diff changeset
398 MENU_END
heinrichsweikamp
parents:
diff changeset
399
63
5c4d4a42e7a0 allow logbook erase from reset menu
heinrichsweikamp
parents: 50
diff changeset
400 do_reset_menu5:
5c4d4a42e7a0 allow logbook erase from reset menu
heinrichsweikamp
parents: 50
diff changeset
401 MENU_BEGIN tResetMenu2, .2
5c4d4a42e7a0 allow logbook erase from reset menu
heinrichsweikamp
parents: 50
diff changeset
402 MENU_CALL tAbort, do_continue_menu_3stack
5c4d4a42e7a0 allow logbook erase from reset menu
heinrichsweikamp
parents: 50
diff changeset
403 MENU_CALL tResetLogbook, do_reset_logbook ; Reset logbook
5c4d4a42e7a0 allow logbook erase from reset menu
heinrichsweikamp
parents: 50
diff changeset
404 MENU_END
5c4d4a42e7a0 allow logbook erase from reset menu
heinrichsweikamp
parents: 50
diff changeset
405
5c4d4a42e7a0 allow logbook erase from reset menu
heinrichsweikamp
parents: 50
diff changeset
406 do_reset_logbook:
5c4d4a42e7a0 allow logbook erase from reset menu
heinrichsweikamp
parents: 50
diff changeset
407 clrf EEADRH ; Make sure to select eeprom bank 0
5c4d4a42e7a0 allow logbook erase from reset menu
heinrichsweikamp
parents: 50
diff changeset
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
b839972db982 1.45 beta release
heinrichsweikamp
parents: 139
diff changeset
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
5c4d4a42e7a0 allow logbook erase from reset menu
heinrichsweikamp
parents: 50
diff changeset
416 write_int_eeprom .4
5c4d4a42e7a0 allow logbook erase from reset menu
heinrichsweikamp
parents: 50
diff changeset
417 write_int_eeprom .5
5c4d4a42e7a0 allow logbook erase from reset menu
heinrichsweikamp
parents: 50
diff changeset
418 write_int_eeprom .6 ; Reset logbook pointers
5c4d4a42e7a0 allow logbook erase from reset menu
heinrichsweikamp
parents: 50
diff changeset
419 call ext_flash_erase_logbook ; And complete logbook (!)
5c4d4a42e7a0 allow logbook erase from reset menu
heinrichsweikamp
parents: 50
diff changeset
420 goto do_continue_main_menu ; back to menu
5c4d4a42e7a0 allow logbook erase from reset menu
heinrichsweikamp
parents: 50
diff changeset
421
0
heinrichsweikamp
parents:
diff changeset
422
heinrichsweikamp
parents:
diff changeset
423 do_reset_deco:
heinrichsweikamp
parents:
diff changeset
424 movlw d'79' ; 79% N2
heinrichsweikamp
parents:
diff changeset
425 movff WREG,char_I_N2_ratio
heinrichsweikamp
parents:
diff changeset
426 movlw d'0'
heinrichsweikamp
parents:
diff changeset
427 movff WREG,char_I_step_is_1min ; 2 second deco mode
heinrichsweikamp
parents:
diff changeset
428 SAFE_2BYTE_COPY amb_pressure,int_I_pres_respiration ; copy for deco routine
heinrichsweikamp
parents:
diff changeset
429 movff int_I_pres_respiration+0,int_I_pres_surface+0 ; copy for desat routine
heinrichsweikamp
parents:
diff changeset
430 movff int_I_pres_respiration+1,int_I_pres_surface+1
heinrichsweikamp
parents:
diff changeset
431
heinrichsweikamp
parents:
diff changeset
432 extern deco_reset
heinrichsweikamp
parents:
diff changeset
433 call deco_reset
heinrichsweikamp
parents:
diff changeset
434 call deco_calc_desaturation_time ; calculate desaturation time
heinrichsweikamp
parents:
diff changeset
435 banksel common
heinrichsweikamp
parents:
diff changeset
436 call deco_calc_wo_deco_step_1_min ; calculate deco in surface mode
heinrichsweikamp
parents:
diff changeset
437 banksel common
heinrichsweikamp
parents:
diff changeset
438 clrf nofly_time+0 ; Reset NoFly
heinrichsweikamp
parents:
diff changeset
439 clrf nofly_time+1
heinrichsweikamp
parents:
diff changeset
440 clrf desaturation_time+0 ; Reset Desat
heinrichsweikamp
parents:
diff changeset
441 clrf desaturation_time+1
heinrichsweikamp
parents:
diff changeset
442 goto do_return_settings ; back to menu
heinrichsweikamp
parents:
diff changeset
443
heinrichsweikamp
parents:
diff changeset
444 do_reset_settings:
139
e0b758865e91 some cleanup
heinrichsweikamp
parents: 113
diff changeset
445 banksel common
0
heinrichsweikamp
parents:
diff changeset
446 extern option_reset_all
heinrichsweikamp
parents:
diff changeset
447 call option_reset_all ; Reset all options to factory default.
76
a5ea132770db 1.21 release
heinrichsweikamp
parents: 66
diff changeset
448 goto restart ; Restart into surfacemode
0
heinrichsweikamp
parents:
diff changeset
449
heinrichsweikamp
parents:
diff changeset
450 do_continue_menu_3stack: ; Return three levels deep
heinrichsweikamp
parents:
diff changeset
451 call menu_processor_pop
heinrichsweikamp
parents:
diff changeset
452 goto do_return_settings
heinrichsweikamp
parents:
diff changeset
453
heinrichsweikamp
parents:
diff changeset
454 do_reboot:
heinrichsweikamp
parents:
diff changeset
455 call ext_flash_enable_protection ; Enables write protection
heinrichsweikamp
parents:
diff changeset
456 reset
heinrichsweikamp
parents:
diff changeset
457
heinrichsweikamp
parents:
diff changeset
458
heinrichsweikamp
parents:
diff changeset
459 do_date_time_menu:
heinrichsweikamp
parents:
diff changeset
460 MENU_BEGIN tSetTimeDate, .4
heinrichsweikamp
parents:
diff changeset
461 MENU_CALL tSetTime, do_time_menu
heinrichsweikamp
parents:
diff changeset
462 MENU_CALL tSetDate, do_date_menu
heinrichsweikamp
parents:
diff changeset
463 MENU_OPTION tDateFormat,oDateFormat, 0
heinrichsweikamp
parents:
diff changeset
464 MENU_CALL tExit, do_return_settings
heinrichsweikamp
parents:
diff changeset
465 MENU_END
heinrichsweikamp
parents:
diff changeset
466
heinrichsweikamp
parents:
diff changeset
467 do_date_menu:
heinrichsweikamp
parents:
diff changeset
468 bsf settime_setdate
heinrichsweikamp
parents:
diff changeset
469 MENU_BEGIN tSetDate, .4
heinrichsweikamp
parents:
diff changeset
470 MENU_OPTION tSetDay, oSetDay, 0
50
ec4d8503ec45 NEW: user-selectable color schemes
heinrichsweikamp
parents: 39
diff changeset
471 MENU_OPTION tSetMonth, oSetMonth, 0
0
heinrichsweikamp
parents:
diff changeset
472 MENU_OPTION tSetYear, oSetYear, 0
heinrichsweikamp
parents:
diff changeset
473 MENU_CALL tExit, do_continue_menu_3stack
heinrichsweikamp
parents:
diff changeset
474 MENU_END
heinrichsweikamp
parents:
diff changeset
475
heinrichsweikamp
parents:
diff changeset
476
heinrichsweikamp
parents:
diff changeset
477 do_reset_seconds:
heinrichsweikamp
parents:
diff changeset
478 clrf secs
heinrichsweikamp
parents:
diff changeset
479 extern rtc_set_rtc
heinrichsweikamp
parents:
diff changeset
480 call rtc_set_rtc ; writes mins,sec,hours,day,month and year to rtc module
heinrichsweikamp
parents:
diff changeset
481 do_time_menu:
heinrichsweikamp
parents:
diff changeset
482 bsf settime_setdate
heinrichsweikamp
parents:
diff changeset
483 MENU_BEGIN tSetTime, .4
heinrichsweikamp
parents:
diff changeset
484 MENU_OPTION tSetHours, oSetHours, 0
heinrichsweikamp
parents:
diff changeset
485 MENU_OPTION tSetMinutes,oSetMinutes, 0
heinrichsweikamp
parents:
diff changeset
486 MENU_CALL tSetSeconds, do_reset_seconds
heinrichsweikamp
parents:
diff changeset
487 MENU_CALL tExit, do_continue_menu_3stack
heinrichsweikamp
parents:
diff changeset
488 MENU_END
heinrichsweikamp
parents:
diff changeset
489
heinrichsweikamp
parents:
diff changeset
490
heinrichsweikamp
parents:
diff changeset
491 do_toggle_ppo2_max: ; add 0.1bar, with hard-coded max.
heinrichsweikamp
parents:
diff changeset
492 movff opt_ppO2_max,lo ; banksafe
heinrichsweikamp
parents:
diff changeset
493 movlw .10
heinrichsweikamp
parents:
diff changeset
494 addwf lo,F
heinrichsweikamp
parents:
diff changeset
495 movlw ppo2_highest_setting
heinrichsweikamp
parents:
diff changeset
496 cpfsgt lo
heinrichsweikamp
parents:
diff changeset
497 bra do_toggle_ppo2_max2
heinrichsweikamp
parents:
diff changeset
498 movlw .120
heinrichsweikamp
parents:
diff changeset
499 movwf lo
heinrichsweikamp
parents:
diff changeset
500 do_toggle_ppo2_max2:
heinrichsweikamp
parents:
diff changeset
501 movff lo,opt_ppO2_max
heinrichsweikamp
parents:
diff changeset
502 return
heinrichsweikamp
parents:
diff changeset
503
heinrichsweikamp
parents:
diff changeset
504 do_toggle_ppo2_min: ; sub 0.1bar, with hard-coded min.
heinrichsweikamp
parents:
diff changeset
505 movff opt_ppO2_min,lo ; banksafe
heinrichsweikamp
parents:
diff changeset
506 incf lo,F
heinrichsweikamp
parents:
diff changeset
507 movlw .21
heinrichsweikamp
parents:
diff changeset
508 cpfsgt lo
heinrichsweikamp
parents:
diff changeset
509 bra do_toggle_ppo2_min2
heinrichsweikamp
parents:
diff changeset
510 movlw ppo2_lowest_setting
heinrichsweikamp
parents:
diff changeset
511 movwf lo
heinrichsweikamp
parents:
diff changeset
512 do_toggle_ppo2_min2:
heinrichsweikamp
parents:
diff changeset
513 movff lo,opt_ppO2_min
heinrichsweikamp
parents:
diff changeset
514 return
heinrichsweikamp
parents:
diff changeset
515
heinrichsweikamp
parents:
diff changeset
516
heinrichsweikamp
parents:
diff changeset
517 ; Logbook offset sub-menu
heinrichsweikamp
parents:
diff changeset
518 do_log_offset_menu:
heinrichsweikamp
parents:
diff changeset
519 MENU_BEGIN tLogOffset, .6
heinrichsweikamp
parents:
diff changeset
520 MENU_DYNAMIC TFT_LogOffset_Logtitle, 0
heinrichsweikamp
parents:
diff changeset
521 MENU_CALL tLogOffsetp1, do_logoffset_plus1
heinrichsweikamp
parents:
diff changeset
522 MENU_CALL tLogOffsetp10, do_logoffset_plus10
heinrichsweikamp
parents:
diff changeset
523 MENU_CALL tLogOffsetm1, do_logoffset_minus1
heinrichsweikamp
parents:
diff changeset
524 MENU_CALL tLogOffsetm10, do_logoffset_minus10
heinrichsweikamp
parents:
diff changeset
525 MENU_CALL tExit, do_dispsets_menu_3stack
heinrichsweikamp
parents:
diff changeset
526 MENU_END
heinrichsweikamp
parents:
diff changeset
527
heinrichsweikamp
parents:
diff changeset
528
heinrichsweikamp
parents:
diff changeset
529 do_logoffset_minus1:
heinrichsweikamp
parents:
diff changeset
530 call do_logoffset_common_read ; Read into lo:hi
heinrichsweikamp
parents:
diff changeset
531 movlw d'1'
heinrichsweikamp
parents:
diff changeset
532 subwf lo
heinrichsweikamp
parents:
diff changeset
533 movlw d'0'
heinrichsweikamp
parents:
diff changeset
534 subwfb hi
heinrichsweikamp
parents:
diff changeset
535 btfss hi,7 ; <0?
heinrichsweikamp
parents:
diff changeset
536 goto do_logoffset_common_write ; Store and return
heinrichsweikamp
parents:
diff changeset
537 clrf lo
heinrichsweikamp
parents:
diff changeset
538 clrf hi
heinrichsweikamp
parents:
diff changeset
539 goto do_logoffset_common_write ; Store and return
heinrichsweikamp
parents:
diff changeset
540
heinrichsweikamp
parents:
diff changeset
541 do_logoffset_minus10:
heinrichsweikamp
parents:
diff changeset
542 call do_logoffset_common_read ; Read into lo:hi
heinrichsweikamp
parents:
diff changeset
543 movlw d'10'
heinrichsweikamp
parents:
diff changeset
544 subwf lo
heinrichsweikamp
parents:
diff changeset
545 movlw d'0'
heinrichsweikamp
parents:
diff changeset
546 subwfb hi
heinrichsweikamp
parents:
diff changeset
547 btfss hi,7 ; <0?
heinrichsweikamp
parents:
diff changeset
548 goto do_logoffset_common_write ; Store and return
heinrichsweikamp
parents:
diff changeset
549 clrf lo
heinrichsweikamp
parents:
diff changeset
550 clrf hi
heinrichsweikamp
parents:
diff changeset
551 goto do_logoffset_common_write ; Store and return
heinrichsweikamp
parents:
diff changeset
552
heinrichsweikamp
parents:
diff changeset
553 do_logoffset_plus1:
heinrichsweikamp
parents:
diff changeset
554 call do_logoffset_common_read ; Read into lo:hi
148
022b886eddaf some cleanup
heinrichsweikamp
parents: 145
diff changeset
555 infsnz lo,F
022b886eddaf some cleanup
heinrichsweikamp
parents: 145
diff changeset
556 incf hi,F
0
heinrichsweikamp
parents:
diff changeset
557 goto do_logoffset_common_write ; Store and return
heinrichsweikamp
parents:
diff changeset
558
heinrichsweikamp
parents:
diff changeset
559 do_logoffset_plus10:
heinrichsweikamp
parents:
diff changeset
560 call do_logoffset_common_read ; Read into lo:hi
heinrichsweikamp
parents:
diff changeset
561 movlw d'10'
heinrichsweikamp
parents:
diff changeset
562 addwf lo
heinrichsweikamp
parents:
diff changeset
563 movlw d'0'
heinrichsweikamp
parents:
diff changeset
564 addwfc hi
heinrichsweikamp
parents:
diff changeset
565 goto do_logoffset_common_write ; Store and return
heinrichsweikamp
parents:
diff changeset
566
heinrichsweikamp
parents:
diff changeset
567 do_dispsets_menu_3stack:
50
ec4d8503ec45 NEW: user-selectable color schemes
heinrichsweikamp
parents: 39
diff changeset
568 bcf in_color_menu
0
heinrichsweikamp
parents:
diff changeset
569 call menu_processor_pop
heinrichsweikamp
parents:
diff changeset
570 call menu_processor_pop
heinrichsweikamp
parents:
diff changeset
571
heinrichsweikamp
parents:
diff changeset
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
heinrichsweikamp
parents:
diff changeset
574 MENU_OPTION tBright, oBrightness, 0
50
ec4d8503ec45 NEW: user-selectable color schemes
heinrichsweikamp
parents: 39
diff changeset
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
heinrichsweikamp
parents:
diff changeset
577 MENU_CALL tExit, do_return_settings
heinrichsweikamp
parents:
diff changeset
578 MENU_END
heinrichsweikamp
parents:
diff changeset
579
50
ec4d8503ec45 NEW: user-selectable color schemes
heinrichsweikamp
parents: 39
diff changeset
580
ec4d8503ec45 NEW: user-selectable color schemes
heinrichsweikamp
parents: 39
diff changeset
581 extern oColorSetDive
ec4d8503ec45 NEW: user-selectable color schemes
heinrichsweikamp
parents: 39
diff changeset
582 do_color_scheme:
ec4d8503ec45 NEW: user-selectable color schemes
heinrichsweikamp
parents: 39
diff changeset
583 bsf in_color_menu
ec4d8503ec45 NEW: user-selectable color schemes
heinrichsweikamp
parents: 39
diff changeset
584 MENU_BEGIN tColorScheme, .2
ec4d8503ec45 NEW: user-selectable color schemes
heinrichsweikamp
parents: 39
diff changeset
585 MENU_OPTION tColorSetDive,oColorSetDive, 0
ec4d8503ec45 NEW: user-selectable color schemes
heinrichsweikamp
parents: 39
diff changeset
586 MENU_CALL tExit, do_dispsets_menu_3stack
ec4d8503ec45 NEW: user-selectable color schemes
heinrichsweikamp
parents: 39
diff changeset
587 MENU_END
ec4d8503ec45 NEW: user-selectable color schemes
heinrichsweikamp
parents: 39
diff changeset
588
ec4d8503ec45 NEW: user-selectable color schemes
heinrichsweikamp
parents: 39
diff changeset
589
0
heinrichsweikamp
parents:
diff changeset
590 ;=============================================================================
heinrichsweikamp
parents:
diff changeset
591
heinrichsweikamp
parents:
diff changeset
592 global new_battery_menu
heinrichsweikamp
parents:
diff changeset
593 new_battery_menu:
heinrichsweikamp
parents:
diff changeset
594 bsf enable_screen_dumps ; To prevent exiting into COMM mode immediately
heinrichsweikamp
parents:
diff changeset
595 call TFT_boot ; Initialize TFT (includes clear screen)
heinrichsweikamp
parents:
diff changeset
596 call TFT_Display_FadeIn ; Show splash
heinrichsweikamp
parents:
diff changeset
597 movlw .100
heinrichsweikamp
parents:
diff changeset
598 movwf batt_percent ; make sure to reset batt_percent
heinrichsweikamp
parents:
diff changeset
599
heinrichsweikamp
parents:
diff changeset
600 ; Default (In cases of timeout or USB): Use old battery
heinrichsweikamp
parents:
diff changeset
601 clrf EEADRH
heinrichsweikamp
parents:
diff changeset
602 read_int_eeprom 0x07
heinrichsweikamp
parents:
diff changeset
603 movff EEDATA,battery_gauge+0
heinrichsweikamp
parents:
diff changeset
604 read_int_eeprom 0x08
heinrichsweikamp
parents:
diff changeset
605 movff EEDATA,battery_gauge+1
heinrichsweikamp
parents:
diff changeset
606 read_int_eeprom 0x09
heinrichsweikamp
parents:
diff changeset
607 movff EEDATA,battery_gauge+2
heinrichsweikamp
parents:
diff changeset
608 read_int_eeprom 0x0A
heinrichsweikamp
parents:
diff changeset
609 movff EEDATA,battery_gauge+3
heinrichsweikamp
parents:
diff changeset
610 read_int_eeprom 0x0B
heinrichsweikamp
parents:
diff changeset
611 movff EEDATA,battery_gauge+4
heinrichsweikamp
parents:
diff changeset
612 read_int_eeprom 0x0C
heinrichsweikamp
parents:
diff changeset
613 movff EEDATA,battery_gauge+5
heinrichsweikamp
parents:
diff changeset
614
76
a5ea132770db 1.21 release
heinrichsweikamp
parents: 66
diff changeset
615 call menu_processor_reset ; restart from first icon.
a5ea132770db 1.21 release
heinrichsweikamp
parents: 66
diff changeset
616
0
heinrichsweikamp
parents:
diff changeset
617 MENU_BEGIN tNewBattTitle, .3
heinrichsweikamp
parents:
diff changeset
618 MENU_CALL tNewBattOld, use_old_batteries
heinrichsweikamp
parents:
diff changeset
619 MENU_CALL tNewBattNew36, use_new_36V_batteries
heinrichsweikamp
parents:
diff changeset
620 MENU_CALL tNewBattNew15, use_new_15V_batteries
heinrichsweikamp
parents:
diff changeset
621 MENU_END
heinrichsweikamp
parents:
diff changeset
622
heinrichsweikamp
parents:
diff changeset
623 global use_old_batteries
heinrichsweikamp
parents:
diff changeset
624 use_old_batteries:
heinrichsweikamp
parents:
diff changeset
625 clrf EEADRH
heinrichsweikamp
parents:
diff changeset
626 read_int_eeprom 0x07
heinrichsweikamp
parents:
diff changeset
627 movff EEDATA,battery_gauge+0
heinrichsweikamp
parents:
diff changeset
628 read_int_eeprom 0x08
heinrichsweikamp
parents:
diff changeset
629 movff EEDATA,battery_gauge+1
heinrichsweikamp
parents:
diff changeset
630 read_int_eeprom 0x09
heinrichsweikamp
parents:
diff changeset
631 movff EEDATA,battery_gauge+2
heinrichsweikamp
parents:
diff changeset
632 read_int_eeprom 0x0A
heinrichsweikamp
parents:
diff changeset
633 movff EEDATA,battery_gauge+3
heinrichsweikamp
parents:
diff changeset
634 read_int_eeprom 0x0B
heinrichsweikamp
parents:
diff changeset
635 movff EEDATA,battery_gauge+4
heinrichsweikamp
parents:
diff changeset
636 read_int_eeprom 0x0C
heinrichsweikamp
parents:
diff changeset
637 movff EEDATA,battery_gauge+5
heinrichsweikamp
parents:
diff changeset
638 movlw .100
heinrichsweikamp
parents:
diff changeset
639 movwf batt_percent ; To have 1,5V batteries right after firmware update
heinrichsweikamp
parents:
diff changeset
640 goto power_on_return
heinrichsweikamp
parents:
diff changeset
641
heinrichsweikamp
parents:
diff changeset
642 use_new_15V_batteries:
heinrichsweikamp
parents:
diff changeset
643 use_new_36V_batteries:
heinrichsweikamp
parents:
diff changeset
644 call reset_battery_pointer ; Resets battery pointer 0x07-0x0C and battery_gauge:5
heinrichsweikamp
parents:
diff changeset
645 goto power_on_return
heinrichsweikamp
parents:
diff changeset
646
heinrichsweikamp
parents:
diff changeset
647 END