comparison code_part1/OSTC_code_asm_part1/menu_reset.asm @ 573:77c8ff191cd7

Preparations for third bank of Custom Functions
author heinrichsweikamp
date Sat, 21 Apr 2012 12:09:37 +0200
parents 44e9b961f156
children 101fec6a6137
comparison
equal deleted inserted replaced
572:80a1d2d5a9ee 573:77c8ff191cd7
106 106
107 ; resets all customfunctions to the following default values 107 ; resets all customfunctions to the following default values
108 cf_default_table0: 108 cf_default_table0:
109 ;---- BANK0 custom function defaults ------------------------------------- 109 ;---- BANK0 custom function defaults -------------------------------------
110 ; DEFAULT MIN MAX 110 ; DEFAULT MIN MAX
111 CF_DEFAULT CF_CENTI, d'100', d'50', d'250' ; dive_threshold 100cm 111 CF_DEFAULT CF_CENTI, d'100', d'50', d'250' ; CF00 dive_threshold 100cm
112 CF_DEFAULT CF_CENTI, d'30', d'10', d'100' ; surf_threshold 30cm 112 CF_DEFAULT CF_CENTI, d'30', d'10', d'100' ; CF01 surf_threshold 30cm
113 CF_DEFAULT CF_INT15, d'240', d'0', d'600' ; diveloop_timeout 240s 113 CF_DEFAULT CF_INT15, d'240', d'0', d'600' ; CF02 diveloop_timeout 240s
114 CF_DEFAULT CF_SEC, d'120', d'30', d'240' ; surfloop_timeout 120s 114 CF_DEFAULT CF_SEC, d'120', d'30', d'240' ; CF03 surfloop_timeout 120s
115 CF_DEFAULT CF_SEC, d'5', d'1', d'30' ; premenu_timeout 5s 115 CF_DEFAULT CF_SEC, d'5', d'1', d'30' ; CF04 premenu_timeout 5s
116 116
117 CF_DEFAULT CF_INT8, d'7', d'3', d'18' ; minimum_velocity 7min/min 117 CF_DEFAULT CF_INT8, d'7', d'3', d'18' ; CF05 minimum_velocity 7min/min
118 CF_DEFAULT CF_INT15, d'1160',d'950', 0 ; pressure_offset_divemode 1160mbar 118 CF_DEFAULT CF_INT15, d'1160',d'950', 0 ; pressure_offset_divemode 1160mbar
119 CF_DEFAULT CF_INT15, d'1080',d'1080', 0 ; max_surfpressure 1080mbar 119 CF_DEFAULT CF_INT15, d'1080',d'1080', 0 ; max_surfpressure 1080mbar
120 CF_DEFAULT CF_PERCENT, d'20', d'1', d'99' ; min_gradient_factor 20% 120 CF_DEFAULT CF_PERCENT, d'20', d'1', d'99' ; min_gradient_factor 20%
121 CF_DEFAULT CF_PERCENT, d'20', d'1', d'22' ; oxygen_threshold 22% 121 CF_DEFAULT CF_PERCENT, d'20', d'1', d'22' ; oxygen_threshold 22%
122 122
123 CF_DEFAULT CF_SEC, d'45', d'5', d'60' ; dive_menu_timeout 45s 123 CF_DEFAULT CF_SEC, d'45', d'5', d'60' ; CF10 dive_menu_timeout 45s
124 CF_DEFAULT CF_PERCENT, d'110', d'110', d'200' ; saturation_multiplier x1.10 124 CF_DEFAULT CF_PERCENT, d'110', d'110', d'200' ; saturation_multiplier x1.10
125 CF_DEFAULT CF_PERCENT, d'90', d'50', d'90' ; desaturation_multiplier x0.90 125 CF_DEFAULT CF_PERCENT, d'90', d'50', d'90' ; desaturation_multiplier x0.90
126 CF_DEFAULT CF_PERCENT, d'60', d'60', d'100' ; nofly_time_ratio 60% 126 CF_DEFAULT CF_PERCENT, d'60', d'60', d'100' ; nofly_time_ratio 60%
127 CF_DEFAULT CF_PERCENT, d'100', d'50', d'100' ; gradient_factor_alarm1 100% 127 CF_DEFAULT CF_PERCENT, d'100', d'50', d'100' ; gradient_factor_alarm1 100%
128 128
129 CF_DEFAULT CF_PERCENT, d'10', d'0', d'100' ; cns_display_surface 10% 129 CF_DEFAULT CF_PERCENT, d'10', d'0', d'100' ; CF15 cns_display_surface 10%
130 CF_DEFAULT CF_DECI, d'10', d'0', d'10' ; deco_distance_for_sim 1m 130 CF_DEFAULT CF_DECI, d'10', d'0', d'10' ; deco_distance_for_sim 1m
131 CF_DEFAULT CF_CENTI, d'019', d'19', d'021' ; ppo2_warning_low 0.19 bar 131 CF_DEFAULT CF_CENTI, d'019', d'19', d'021' ; ppo2_warning_low 0.19 bar
132 CF_DEFAULT CF_CENTI, d'160', d'0', d'160' ; ppo2_warning_high 1.60 bar 132 CF_DEFAULT CF_CENTI, d'160', d'0', d'160' ; ppo2_warning_high 1.60 bar
133 CF_DEFAULT CF_CENTI, d'140', d'0', d'150' ; ppo2_display_high 1.40 bar 133 CF_DEFAULT CF_CENTI, d'140', d'0', d'150' ; ppo2_display_high 1.40 bar
134 134
135 CF_DEFAULT CF_INT8, d'10', d'1', d'120' ; sampling_rate 10s 135 CF_DEFAULT CF_INT8, d'10', d'1', d'120' ; CF20 sampling_rate 10s
136 CF_DEFAULT CF_INT8, d'6', d'0', d'15' ; sampling_divisor_temp /6 136 CF_DEFAULT CF_INT8, d'6', d'0', d'15' ; sampling_divisor_temp /6
137 CF_DEFAULT CF_INT8, d'6', d'0', d'15' ; sampling_divisor_deco /6 137 CF_DEFAULT CF_INT8, d'6', d'0', d'15' ; sampling_divisor_deco /6
138 CF_DEFAULT CF_INT8, d'6', d'0', d'15' ; sampling_divisor_gf /6 138 CF_DEFAULT CF_INT8, d'6', d'0', d'15' ; sampling_divisor_gf /6
139 CF_DEFAULT CF_INT8, d'0', d'0', d'15' ; sampling_divisor_ppo2 never 139 CF_DEFAULT CF_INT8, d'0', d'0', d'15' ; sampling_divisor_ppo2 never
140 140
141 CF_DEFAULT CF_INT8, d'0', d'0', d'15' ; sampling_divisor_deco2 never 141 CF_DEFAULT CF_INT8, d'0', d'0', d'15' ; CF25 sampling_divisor_deco2 never
142 CF_DEFAULT CF_INT8, d'12', d'0', d'15' ; sampling_divisor_cns /12 142 CF_DEFAULT CF_INT8, d'12', d'0', d'15' ; sampling_divisor_cns /12
143 CF_DEFAULT CF_PERCENT, d'20', d'5', d'75' ; cns_display_high 20% 143 CF_DEFAULT CF_PERCENT, d'20', d'5', d'75' ; cns_display_high 20%
144 CF_DEFAULT CF_INT15, d'0', d'0', 0 ; logbook_offset No Offset, but 15Bit value 144 CF_DEFAULT CF_INT15, d'0', d'0', 0 ; logbook_offset No Offset, but 15Bit value
145 CF_DEFAULT CF_INT8, d'3', d'2', d'6' ; last_deco_depth 3m 145 CF_DEFAULT CF_INT8, d'3', d'2', d'6' ; last_deco_depth 3m
146 146
147 CF_DEFAULT CF_SEC, d'10', d'1', d'15' ; timeout_apnoe_mode 10min 147 CF_DEFAULT CF_SEC, d'10', d'1', d'15' ; CF30 timeout_apnoe_mode 10min
148 CF_DEFAULT CF_BOOL, d'0', 0, 0 ; show_voltage_value =1 Show value instead of symbol, =0 Show Symbol 148 CF_DEFAULT CF_BOOL, d'0', 0, 0 ; CF31 show_voltage_value =1 Show value instead of symbol, =0 Show Symbol
149 149
150 ;---- BANK1 custom function defaults ------------------------------------- 150 ;---- BANK1 custom function defaults -------------------------------------
151 cf_default_table1: 151 cf_default_table1:
152 ; DEFAULT MIN MAX 152 ; DEFAULT MIN MAX
153 CF_DEFAULT CF_PERCENT, d'30', d'5', d'90' ; GF_low_default 30% 153 CF_DEFAULT CF_PERCENT, d'30', d'5', d'90' ; CF32 GF_low_default 30%
154 CF_DEFAULT CF_PERCENT, d'90', d'30', d'95' ; GF_high_default 90% 154 CF_DEFAULT CF_PERCENT, d'90', d'30', d'95' ; CF33 GF_high_default 90%
155 CF_DEFAULT CF_COLOR, d'199', 0, 0 ; color_battery_surface Color Battery sign: Deep blue 155 CF_DEFAULT CF_COLOR, d'199', 0, 0 ; CF34 color_battery_surface Color Battery sign: Deep blue
156 CF_DEFAULT CF_COLOR, d'255', 0, 0 ; color_standard1 Color Standard: White 156 CF_DEFAULT CF_COLOR, d'255', 0, 0 ; CF35 color_standard1 Color Standard: White
157 CF_DEFAULT CF_COLOR, d'62', 0, 0 ; color_divemask Color Divemask: Light green 157 CF_DEFAULT CF_COLOR, d'62', 0, 0 ; CF36 color_divemask Color Divemask: Light green
158 158
159 CF_DEFAULT CF_COLOR, d'224', 0, 0 ; CF37 color_warnings Color Warnings: Red 159 CF_DEFAULT CF_COLOR, d'224', 0, 0 ; CF37 color_warnings Color Warnings: Red
160 CF_DEFAULT CF_BOOL, d'0', 0, 0 ; show_seconds_divemode =1 Show the seconds in Divemode 160 CF_DEFAULT CF_BOOL, d'0', 0, 0 ; CF38 show_seconds_divemode =1 Show the seconds in Divemode
161 CF_DEFAULT CF_BOOL, 0, 0, 0 ; Adjust SetPoint if Diluent ppO2 > SetPoint 161 CF_DEFAULT CF_BOOL, 0, 0, 0 ; CF39 Adjust SetPoint if Diluent ppO2 > SetPoint
162 CF_DEFAULT CF_BOOL, d'1', 0, 0 ; warn_ceiling_divemode =1 Warn ceiling violation in divemode 162 CF_DEFAULT CF_BOOL, d'1', 0, 0 ; CF40 warn_ceiling_divemode =1 Warn ceiling violation in divemode
163 CF_DEFAULT CF_BOOL, d'1', 0, 0 ; Show mix type is surfmode 163 CF_DEFAULT CF_BOOL, d'1', 0, 0 ; CF41 Show mix type is surfmode
164 164
165 CF_DEFAULT CF_BOOL, d'1', 0, 0 ; blink_gas_divemode =1 blink better gas 165 CF_DEFAULT CF_BOOL, d'1', 0, 0 ; CF42 blink_gas_divemode =1 blink better gas
166 CF_DEFAULT CF_INT15, d'13000', 0, d'13000' ; color_warn_depth_mbar Warn depths 166 CF_DEFAULT CF_INT15, d'13000', 0, d'13000' ; CF43 color_warn_depth_mbar Warn depths
167 CF_DEFAULT CF_PERCENT, d'101', d'50', d'101' ; color_warn_cns_percent Warn-% 167 CF_DEFAULT CF_PERCENT, d'101', d'50', d'101' ; CF44 color_warn_cns_percent Warn-%
168 CF_DEFAULT CF_PERCENT, d'101', d'50', d'101' ; color_warn_gf_percent Warn-% 168 CF_DEFAULT CF_PERCENT, d'101', d'50', d'101' ; CF45 color_warn_gf_percent Warn-%
169 CF_DEFAULT CF_CENTI, d'161', d'100', d'161' ; color_warn_ppo2_cbar ppO2 warn 169 CF_DEFAULT CF_CENTI, d'161', d'100', d'161' ; CF46 color_warn_ppo2_cbar ppO2 warn
170 170
171 CF_DEFAULT CF_INT8, d'15', d'7', d'20' ; CF47 color_warn_celocity_mmin warn at xx m/min 171 CF_DEFAULT CF_INT8, d'15', d'7', d'20' ; CF47 color_warn_celocity_mmin warn at xx m/min
172 CF_DEFAULT CF_SEC+CF_NEG,d'0', -d'120' ,d'120' ; CF48 time_correction_value_default Adds to Seconds on Midnight 172 CF_DEFAULT CF_SEC+CF_NEG,d'0', -d'120' ,d'120' ; CF48 time_correction_value_default Adds to Seconds on Midnight
173 CF_DEFAULT CF_BOOL, d'0', 0, 0 ; CF49 Show Altimeter in surface mode 173 CF_DEFAULT CF_BOOL, d'0', 0, 0 ; CF49 Show Altimeter in surface mode
174 CF_DEFAULT CF_BOOL, d'0', 0, 0 ; CF50 Show Log-Marker 174 CF_DEFAULT CF_BOOL, d'0', 0, 0 ; CF50 Show Log-Marker
186 CF_DEFAULT CF_BOOL, 0, 0, 0 ; CF60 Show Graphical ascend speed indicator 186 CF_DEFAULT CF_BOOL, 0, 0, 0 ; CF60 Show Graphical ascend speed indicator
187 CF_DEFAULT CF_BOOL, 0, 0, 0 ; CF61 Show pSCR ppO2 187 CF_DEFAULT CF_BOOL, 0, 0, 0 ; CF61 Show pSCR ppO2
188 188
189 CF_DEFAULT CF_PERCENT, .4, .0, .100 ; CF62 pSCR O2 Drop 189 CF_DEFAULT CF_PERCENT, .4, .0, .100 ; CF62 pSCR O2 Drop
190 CF_DEFAULT CF_INT8, .10, .0, .100 ; CF63 pSCR counterlung ratio 190 CF_DEFAULT CF_INT8, .10, .0, .100 ; CF63 pSCR counterlung ratio
191 ; CF_DEFAULT CF_INT15, 0, 0, 0 ; UNUSED
192 cf_default_table2: 191 cf_default_table2:
193 192 CF_DEFAULT CF_INT8, d'0', d'0', d'0' ; GF64 unused
193 CF_DEFAULT CF_INT8, d'0', d'0', d'0' ; GF65 unused
194 CF_DEFAULT CF_INT8, d'0', d'0', d'0' ; GF66 unused
195 CF_DEFAULT CF_INT8, d'0', d'0', d'0' ; GF67 unused
196 CF_DEFAULT CF_INT8, d'0', d'0', d'0' ; GF68 unused
197
198 CF_DEFAULT CF_INT8, d'0', d'0', d'0' ; GF69 unused
199 CF_DEFAULT CF_INT8, d'0', d'0', d'0' ; GF70 unused
200 CF_DEFAULT CF_INT8, d'0', d'0', d'0' ; GF71 unused
201 CF_DEFAULT CF_INT8, d'0', d'0', d'0' ; GF72 unused
202 CF_DEFAULT CF_INT8, d'0', d'0', d'0' ; GF73 unused
203
204 CF_DEFAULT CF_INT8, d'0', d'0', d'0' ; GF74 unused
205 CF_DEFAULT CF_INT8, d'0', d'0', d'0' ; GF75 unused
206 CF_DEFAULT CF_INT8, d'0', d'0', d'0' ; GF76 unused
207 CF_DEFAULT CF_INT8, d'0', d'0', d'0' ; GF77 unused
208 CF_DEFAULT CF_INT8, d'0', d'0', d'0' ; GF78 unused
209
210 CF_DEFAULT CF_INT8, d'0', d'0', d'0' ; GF79 unused
211 CF_DEFAULT CF_INT8, d'0', d'0', d'0' ; GF80 unused
212 CF_DEFAULT CF_INT8, d'0', d'0', d'0' ; GF81 unused
213 CF_DEFAULT CF_INT8, d'0', d'0', d'0' ; GF82 unused
214 CF_DEFAULT CF_INT8, d'0', d'0', d'0' ; GF83 unused
215
216 CF_DEFAULT CF_INT8, d'0', d'0', d'0' ; GF84 unused
217 CF_DEFAULT CF_INT8, d'0', d'0', d'0' ; GF85 unused
218 CF_DEFAULT CF_INT8, d'0', d'0', d'0' ; GF87 unused
219 CF_DEFAULT CF_INT8, d'0', d'0', d'0' ; GF88 unused
220 CF_DEFAULT CF_INT8, d'0', d'0', d'0' ; GF89 unused
221
222 CF_DEFAULT CF_INT8, d'0', d'0', d'0' ; GF90 unused
223 CF_DEFAULT CF_INT8, d'0', d'0', d'0' ; GF91 unused
224 CF_DEFAULT CF_INT8, d'0', d'0', d'0' ; GF92 unused
225 CF_DEFAULT CF_INT8, d'0', d'0', d'0' ; GF93 unused
226 CF_DEFAULT CF_INT8, d'0', d'0', d'0' ; GF94 unused
227
228 CF_DEFAULT CF_INT8, d'0', d'0', d'0' ; GF95 unused
229 cf_default_table3:
194 ;============================================================================= 230 ;=============================================================================
195 231
196 menu_reset: 232 menu_reset:
197 movlw d'1' 233 movlw d'1'
198 movwf menupos 234 movwf menupos
393 cf_bank0_loop: 429 cf_bank0_loop:
394 ; Did we already read 32 (decimal) words or double-words (with types) ? 430 ; Did we already read 32 (decimal) words or double-words (with types) ?
395 movf TBLPTRL,W 431 movf TBLPTRL,W
396 sublw LOW (cf_default_table1) 432 sublw LOW (cf_default_table1)
397 bz reset_all_cf_bank1 433 bz reset_all_cf_bank1
398
399 rcall reset_customfunction ; saves default and current value 434 rcall reset_customfunction ; saves default and current value
400 bra cf_bank0_loop 435 bra cf_bank0_loop
401 436
402 reset_all_cf_bank1: 437 reset_all_cf_bank1:
403 movlw d'1' 438 movlw d'1'
404 movwf EEADRH ; EEPROM BANK 1 !! 439 movwf EEADRH ; EEPROM BANK 1
405 movlw d'127' ; address of low byte of first custom function 440 movlw d'127' ; address of low byte of first custom function
406 movwf EEADR 441 movwf EEADR
407 442
408 cf_bank1_loop: 443 cf_bank1_loop:
409 ; Did we already read another 32 (decimal) words or double-words ? 444 ; Did we already read another 32 (decimal) words or double-words ?
410 movf TBLPTRL,W 445 movf TBLPTRL,W
411 sublw LOW (cf_default_table2) 446 sublw LOW (cf_default_table2)
412 bz cf_bank1_end 447 bz reset_all_cf_bank2
413
414 rcall reset_customfunction ; saves default and current value 448 rcall reset_customfunction ; saves default and current value
415 bra cf_bank1_loop 449 bra cf_bank1_loop
416 450
417 cf_bank1_end: 451 reset_all_cf_bank2:
418 clrf EEADRH ; EEPROM BANK 0 ! 452 movlw d'2'
453 movwf EEADRH ; EEPROM BANK 2
454 movlw d'127' ; address of low byte of first custom function
455 movwf EEADR
456
457 cf_bank2_loop:
458 ; Did we already read another 32 (decimal) words or double-words ?
459 movf TBLPTRL,W
460 sublw LOW (cf_default_table3)
461 bz cf_bank2_end
462 rcall reset_customfunction ; saves default and current value
463 bra cf_bank2_loop
464
465 cf_bank2_end:
466 clrf EEADRH ; EEPROM BANK 0
419 467
420 ;call reset_external_eeprom ; delete profile memory 468 ;call reset_external_eeprom ; delete profile memory
421 return 469 return
422 470
423 reset_gases: 471 reset_gases:
424 clrf EEADRH ; EEPROM BANK 0 ! 472 clrf EEADRH ; EEPROM BANK 0
425 473
426 movlw d'3' ; address of first gas-1 474 movlw d'3' ; address of first gas-1
427 movwf EEADR 475 movwf EEADR
428 clrf hi ; He part (default for all gases: 0%) 476 clrf hi ; He part (default for all gases: 0%)
429 movlw d'21' ; O2 part (21%) 477 movlw d'21' ; O2 part (21%)