Mercurial > public > mk2
annotate code_part1/OSTC_code_asm_part1/menu.asm @ 575:cbdcbbc91877
some code cleaning
author | heinrichsweikamp |
---|---|
date | Sat, 21 Apr 2012 15:08:09 +0200 |
parents | 101fec6a6137 |
children | ab2686087bce |
rev | line source |
---|---|
0 | 1 |
2 ; OSTC - diving computer code | |
3 ; Copyright (C) 2008 HeinrichsWeikamp GbR | |
4 | |
5 ; This program is free software: you can redistribute it and/or modify | |
6 ; it under the terms of the GNU General Public License as published by | |
7 ; the Free Software Foundation, either version 3 of the License, or | |
8 ; (at your option) any later version. | |
9 | |
10 ; This program is distributed in the hope that it will be useful, | |
11 ; but WITHOUT ANY WARRANTY; without even the implied warranty of | |
12 ; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
13 ; GNU General Public License for more details. | |
14 | |
15 ; You should have received a copy of the GNU General Public License | |
16 ; along with this program. If not, see <http://www.gnu.org/licenses/>. | |
17 | |
18 | |
19 ; Main Menu and Setup menu | |
20 ; written by: Matthias Heinrichs, info@heinrichsweikamp.com | |
21 ; written: 11/1/05 | |
22 ; last updated: 05/15/80 | |
23 ; known bugs: | |
24 ; ToDo: | |
25 | |
26 wait_switches: | |
27 bcf switch_left | |
28 bcf switch_right | |
41 | 29 return |
0 | 30 |
31 menu: | |
32 bcf deco_mode_changed ; Clear flag (Description is only showed once) | |
41 | 33 bcf LED_blue |
0 | 34 movlw d'1' |
35 movwf menupos | |
36 menu2: | |
37 | |
38 bcf leftbind | |
39 call PLED_ClearScreen | |
40 clrf timeout_counter2 | |
41 bcf sleepmode | |
42 bcf menubit2 | |
43 bcf menubit3 | |
44 bsf menubit | |
45 bsf cursor | |
46 call PLED_menu_mask | |
47 call PLED_menu_cursor | |
297
ceedf078b2d8
Gas Setup page 2 reworked, Texts 107, 108, 109,150, 149, 168, 42, 43, 53,54,55, 165 need update in french, spanish and german
Heinrichsweikamp
parents:
188
diff
changeset
|
48 rcall wait_switches |
0 | 49 |
50 menu_loop: | |
51 call check_switches_menu | |
52 | |
53 btfsc menubit2 | |
297
ceedf078b2d8
Gas Setup page 2 reworked, Texts 107, 108, 109,150, 149, 168, 42, 43, 53,54,55, 165 need update in french, spanish and german
Heinrichsweikamp
parents:
188
diff
changeset
|
54 bra do_menu ; call submenu |
0 | 55 |
56 btfss menubit | |
57 goto restart ; exit menu, restart | |
58 | |
59 btfsc onesecupdate | |
575 | 60 call menu_check_dive_and_timeout ; "Goto restart" or sets sleepmode flag |
0 | 61 |
62 bcf onesecupdate ; End of one second tasks | |
63 | |
64 btfsc sleepmode | |
65 goto restart | |
66 | |
67 bra menu_loop | |
68 | |
337 | 69 check_switches_menu: ; checks switches |
70 btfsc uart_dump_screen ; Asked to dump screen contains ? | |
71 call dump_screen ; Yes! | |
72 | |
0 | 73 btfss switch_right |
297
ceedf078b2d8
Gas Setup page 2 reworked, Texts 107, 108, 109,150, 149, 168, 42, 43, 53,54,55, 165 need update in french, spanish and german
Heinrichsweikamp
parents:
188
diff
changeset
|
74 bra check_switches_menu2 |
0 | 75 bsf menubit3 |
76 incf menupos,F | |
77 movlw d'6' | |
78 cpfsgt menupos | |
297
ceedf078b2d8
Gas Setup page 2 reworked, Texts 107, 108, 109,150, 149, 168, 42, 43, 53,54,55, 165 need update in french, spanish and german
Heinrichsweikamp
parents:
188
diff
changeset
|
79 bra refresh_cursor |
0 | 80 movlw d'1' |
81 movwf menupos | |
297
ceedf078b2d8
Gas Setup page 2 reworked, Texts 107, 108, 109,150, 149, 168, 42, 43, 53,54,55, 165 need update in french, spanish and german
Heinrichsweikamp
parents:
188
diff
changeset
|
82 bra refresh_cursor |
0 | 83 check_switches_menu2: |
84 btfsc switch_left | |
85 bsf menubit2 ; Enter! | |
86 return | |
87 | |
88 | |
89 do_menu: ; calls submenu | |
90 dcfsnz menupos,F | |
91 goto menu_logbook | |
92 dcfsnz menupos,F | |
93 goto menu_gassetup | |
94 dcfsnz menupos,F | |
95 goto menu_reset | |
96 dcfsnz menupos,F | |
97 goto setup_menu | |
98 dcfsnz menupos,F | |
99 goto more_menu | |
100 dcfsnz menupos,F | |
101 goto restart ; exit... | |
102 | |
103 refresh_cursor: | |
104 clrf timeout_counter2 | |
105 btfsc cursor | |
106 call PLED_menu_cursor | |
107 bcf switch_right | |
297
ceedf078b2d8
Gas Setup page 2 reworked, Texts 107, 108, 109,150, 149, 168, 42, 43, 53,54,55, 165 need update in french, spanish and german
Heinrichsweikamp
parents:
188
diff
changeset
|
108 bcf switch_left |
0 | 109 return |
110 | |
111 more_menu: | |
112 movlw d'1' | |
113 movwf menupos | |
114 more_menu2: | |
115 bcf leftbind | |
116 call PLED_ClearScreen | |
117 more_menu3: | |
118 clrf timeout_counter2 | |
119 bcf sleepmode | |
120 bcf menubit2 | |
121 bcf menubit3 | |
122 bsf menubit | |
123 bsf cursor | |
124 call PLED_more_menu_mask | |
125 call PLED_menu_cursor | |
126 bcf switch_left | |
127 bcf switch_right | |
128 more_menu_loop: | |
129 call check_switches_menu | |
130 | |
125 | 131 ; movlw d'5' ; 5 items in "More Menu" |
132 ; cpfseq menupos | |
133 ; bra more_menu_loop2 | |
134 ; movlw d'6' | |
135 ; movwf menupos | |
136 ; call PLED_menu_cursor | |
137 | |
138 ;more_menu_loop2: | |
0 | 139 btfsc menubit2 |
140 bra do_more_menu ; call submenu | |
141 | |
142 btfss menubit | |
143 bra menu ; exit setup menu and return to main menu | |
144 | |
145 btfsc onesecupdate | |
575 | 146 call menu_check_dive_and_timeout ; "Goto restart" or sets sleepmode flag |
0 | 147 |
148 bcf onesecupdate ; End of one second tasks | |
149 | |
150 btfsc sleepmode | |
151 bra menu | |
152 | |
153 bra more_menu_loop | |
154 | |
155 do_more_menu: ; calls submenu | |
156 dcfsnz menupos,F | |
157 goto menu_settime | |
158 dcfsnz menupos,F | |
159 goto menu_const_ppO2 | |
160 dcfsnz menupos,F | |
161 goto menu_battery_state | |
162 dcfsnz menupos,F | |
163 goto menu_simulator | |
164 dcfsnz menupos,F | |
125 | 165 goto altimeter_menu |
0 | 166 movlw d'5' |
167 movwf menupos | |
168 bra menu2 ; exit... | |
169 | |
170 setup_menu: | |
171 bcf deco_mode_changed ; Clear flag | |
172 movlw d'1' | |
173 movwf menupos | |
174 setup_menu2: | |
175 bcf leftbind | |
176 call PLED_ClearScreen | |
177 call PLED_setup_menu_mask | |
178 setup_menu3a: | |
179 clrf timeout_counter2 | |
180 bcf sleepmode | |
181 bcf menubit2 | |
182 bcf menubit3 | |
183 bsf menubit | |
184 bsf cursor | |
185 call show_decotype | |
186 call PLED_menu_cursor | |
187 bcf switch_left | |
188 bcf switch_right | |
189 | |
190 setup_menu_loop: | |
191 call check_switches_menu | |
192 | |
193 btfsc menubit2 | |
194 bra do_setup_menu ; call submenu | |
195 | |
196 btfss menubit | |
197 goto restart ; exit menu, restart and enter surfmode | |
575 | 198 |
0 | 199 btfsc onesecupdate |
575 | 200 call menu_check_dive_and_timeout ; "Goto restart" or sets sleepmode flag |
0 | 201 |
202 bcf onesecupdate ; End of one second tasks | |
203 | |
204 btfsc sleepmode | |
205 goto restart ; exit menu, restart and enter surfmode | |
206 | |
207 bra setup_menu_loop | |
208 | |
209 | |
210 do_setup_menu: ; calls submenu | |
211 dcfsnz menupos,F | |
212 goto menu_custom_functions | |
213 dcfsnz menupos,F | |
214 goto menu_custom_functions_page2 | |
215 dcfsnz menupos,F | |
574 | 216 bra menu_custom_functions_page3 |
0 | 217 dcfsnz menupos,F |
218 bra toggle_decotype | |
219 dcfsnz menupos,F | |
220 bra more_setup_menu | |
221 bra exit_setup_menu ; exit... | |
222 | |
223 toggle_decotype: | |
224 bsf deco_mode_changed ; Set flag | |
225 read_int_eeprom d'34' ; Read deco data | |
226 incf EEDATA,F | |
227 | |
228 toggle_decotype0: | |
229 movlw d'6' ; number of different modes | |
230 cpfseq EEDATA | |
231 bra toggle_decotype1 | |
232 clrf EEDATA | |
233 | |
234 toggle_decotype1: | |
235 call write_eeprom ; save new mode | |
236 movlw d'4' | |
237 movwf menupos | |
238 bcf switch_right | |
239 bra setup_menu3a ; return to manu loop | |
240 | |
241 show_decotype: | |
242 read_int_eeprom d'34' ; Read deco data | |
243 tstfsz EEDATA | |
244 bra show_decotype2 | |
245 DISPLAYTEXT .101 ; ZH-L16 OC =0 | |
246 return | |
247 show_decotype2: | |
248 decfsz EEDATA,F | |
249 bra show_decotype3 | |
250 DISPLAYTEXT .102 ; Gauge =1 | |
251 return | |
252 show_decotype3: | |
253 decfsz EEDATA,F | |
254 bra show_decotype4 | |
255 DISPLAYTEXT .104 ; ZH-L16 CC =2 | |
256 return | |
257 show_decotype4: | |
258 decfsz EEDATA,F | |
259 bra show_decotype5 | |
260 DISPLAYTEXT .138 ; Apnoe =3 | |
261 return | |
262 show_decotype5: | |
263 decfsz EEDATA,F | |
264 bra show_decotype6 | |
265 DISPLAYTEXT .152 ; L16-GF OC =4 | |
266 return | |
267 show_decotype6: | |
268 decfsz EEDATA,F | |
269 return | |
270 DISPLAYTEXT .236 ; L16-GF CC =5 | |
271 return | |
272 | |
273 exit_setup_menu: | |
274 btfss deco_mode_changed ; Was the decomode changed in Setup menu? | |
275 goto restart ; No, restart to surfacemode | |
276 | |
277 call PLED_ClearScreen | |
278 | |
279 deco_info_screen1: | |
280 call PLED_topline_box | |
281 WIN_INVERT .1 ; Init new Wordprocessor | |
282 DISPLAYTEXT .235 ;Decomode changed! | |
283 WIN_INVERT .0 ; Init new Wordprocessor | |
284 | |
285 read_int_eeprom d'34' ; Read deco data | |
286 | |
287 movlw d'7' ; length of description text | |
288 mulwf EEDATA ; Multiply with Decomode 0-5 (5=Spare) | |
289 | |
290 movf PRODL,W | |
574 | 291 addlw .314-.256 ; Description text offset |
0 | 292 movwf menupos ; Used as loop counter temp |
293 | |
294 movlw d'7' | |
295 movwf temp1 ; Loop 7 times | |
296 | |
297 menu0: | |
298 movf menupos,W | |
574 | 299 call displaytext_1_high ; Display text! |
0 | 300 incf menupos,F |
301 | |
302 decfsz temp1,F | |
303 bra menu0 ; loop 7 times | |
304 | |
305 movlw d'30' | |
306 call startup_screen3a | |
307 goto restart ; Restart to surfacemode | |
308 | |
309 more_setup_menu: | |
310 movlw d'1' | |
311 movwf menupos | |
312 more_setup_menu2: | |
313 bcf leftbind | |
314 call PLED_ClearScreen | |
315 call PLED_more_setup_menu_mask | |
316 more_setup_menu3a: | |
317 clrf timeout_counter2 | |
318 bcf sleepmode | |
319 bcf menubit2 | |
320 bcf menubit3 | |
321 bsf menubit | |
322 bsf cursor | |
323 call show_debugstate | |
324 call show_dateformat | |
574 | 325 call show_salinity_value |
0 | 326 call PLED_menu_cursor |
499
2ac77db9c150
Added OLED brightness setting, texts 280, 312 and 313 need update
heinrichsweikamp
parents:
445
diff
changeset
|
327 call toggle_brightness_show |
0 | 328 bcf switch_left |
329 bcf switch_right | |
330 | |
331 more_setup_menu_loop: | |
332 call check_switches_menu | |
333 | |
499
2ac77db9c150
Added OLED brightness setting, texts 280, 312 and 313 need update
heinrichsweikamp
parents:
445
diff
changeset
|
334 ; movlw d'5' ; x-1 menu entries |
2ac77db9c150
Added OLED brightness setting, texts 280, 312 and 313 need update
heinrichsweikamp
parents:
445
diff
changeset
|
335 ; cpfseq menupos |
2ac77db9c150
Added OLED brightness setting, texts 280, 312 and 313 need update
heinrichsweikamp
parents:
445
diff
changeset
|
336 ; bra more_setup_menu_loop2 |
2ac77db9c150
Added OLED brightness setting, texts 280, 312 and 313 need update
heinrichsweikamp
parents:
445
diff
changeset
|
337 ; movlw d'6' |
2ac77db9c150
Added OLED brightness setting, texts 280, 312 and 313 need update
heinrichsweikamp
parents:
445
diff
changeset
|
338 ; movwf menupos |
2ac77db9c150
Added OLED brightness setting, texts 280, 312 and 313 need update
heinrichsweikamp
parents:
445
diff
changeset
|
339 ; call PLED_menu_cursor |
2ac77db9c150
Added OLED brightness setting, texts 280, 312 and 313 need update
heinrichsweikamp
parents:
445
diff
changeset
|
340 ;more_setup_menu_loop2: |
2ac77db9c150
Added OLED brightness setting, texts 280, 312 and 313 need update
heinrichsweikamp
parents:
445
diff
changeset
|
341 ; |
0 | 342 btfsc menubit2 |
343 bra do_more_setup_menu ; call submenu | |
344 | |
345 btfss menubit | |
346 goto restart ; exit menu, restart and enter surfmode | |
347 | |
348 btfsc onesecupdate | |
575 | 349 call menu_check_dive_and_timeout ; "Goto restart" or sets sleepmode flag |
0 | 350 |
351 bcf onesecupdate ; End of one second tasks | |
352 | |
353 btfsc sleepmode | |
354 goto setup_menu ; exit menu | |
355 | |
356 bra more_setup_menu_loop | |
357 | |
358 do_more_setup_menu: ; calls submenu | |
359 dcfsnz menupos,F | |
360 bra toggle_datemode | |
361 dcfsnz menupos,F | |
362 bra toggle_debugmode | |
363 dcfsnz menupos,F | |
12 | 364 bra show_license |
0 | 365 dcfsnz menupos,F |
574 | 366 bra toggle_salinity |
0 | 367 dcfsnz menupos,F |
499
2ac77db9c150
Added OLED brightness setting, texts 280, 312 and 313 need update
heinrichsweikamp
parents:
445
diff
changeset
|
368 bra toggle_brightness ; toggle between ECO and HIGH |
0 | 369 movlw d'5' ; set cursor to "More again" |
370 movwf menupos | |
371 bra setup_menu2 ; exit... | |
372 | |
12 | 373 show_license: |
374 call startup_screen1 ;1/2 | |
375 call startup_screen2 ;1/2 | |
376 movlw d'3' | |
377 movwf menupos | |
378 bcf switch_right | |
379 bra more_setup_menu2 ; return to "more menu" loop | |
380 | |
0 | 381 toggle_salinity: |
382 ; Toggles between 1.00 and 1.04 | |
383 read_int_eeprom d'26' ; Read Salinity from EEPROM | |
384 incf EEDATA,F ; Increase value | |
385 | |
386 movlw d'99' ; 99% ? | |
387 cpfsgt EEDATA ; Salinity lower limit | |
388 bra toggle_salinity_reset ; Out of limit, reset value to 1.00 | |
389 movlw d'105' ; 105% ? | |
390 cpfslt EEDATA ; Salinity higher limit | |
391 bra toggle_salinity_reset ; Out of limit, reset value to 1.00 | |
392 | |
393 toggle_salinity2: | |
394 write_int_eeprom d'26' ; Store salinity | |
574 | 395 movlw d'4' |
0 | 396 movwf menupos |
397 bcf switch_right | |
574 | 398 bra more_setup_menu3a ; return to manu loop |
0 | 399 |
400 toggle_salinity_reset: | |
401 movlw d'100' | |
402 movwf EEDATA | |
403 bra toggle_salinity2 ; back | |
404 | |
405 show_salinity_value: | |
406 read_int_eeprom d'26' ; Read Salinity from EEPROM | |
407 movlw d'99' ; 99% ? | |
408 cpfsgt EEDATA ; Salinity lower limit | |
409 rcall toggle_salinity_reset2 ; Reset before display! | |
410 movlw d'105' ; 105% ? | |
411 cpfslt EEDATA ; Salinity higher limit | |
412 rcall toggle_salinity_reset2 ; Reset before display! | |
574 | 413 WIN_TOP .125 |
183 | 414 WIN_LEFT .90 ; +7 for spanish |
0 | 415 WIN_FONT FT_SMALL |
416 lfsr FSR2,letter | |
417 movff EEDATA,lo | |
418 clrf hi | |
419 bsf leftbind | |
420 output_16dp d'3' | |
421 bcf leftbind | |
445 | 422 STRCAT_PRINT TXT_KGL4 |
0 | 423 return |
424 | |
425 toggle_salinity_reset2: | |
426 movlw d'100' | |
427 movwf EEDATA | |
428 write_int_eeprom d'26' ; Store salinity | |
429 return | |
430 | |
431 toggle_datemode: | |
432 ; Toggles setting for | |
433 ; MM/DD/YY =0, Default | |
434 ; DD/MM/YY =1 | |
435 ; YY/MM/DD =2 | |
436 read_int_eeprom d'91' ; Read date format | |
437 incf EEDATA,F | |
438 movlw d'2' | |
439 cpfsgt EEDATA | |
440 bra toggle_datemode1 | |
441 clrf EEDATA | |
442 toggle_datemode1: | |
443 write_int_eeprom d'91' ; Store date format | |
444 movlw d'1' | |
445 movwf menupos | |
446 bcf switch_right | |
447 bra more_setup_menu3a ; return to manu loop | |
448 | |
449 show_dateformat: | |
450 read_int_eeprom d'91' ; Read date format (0=MMDDYY, 1=DDMMYY, 2=YYMMDD) | |
451 tstfsz EEDATA | |
452 bra show_dateformat2 | |
453 DISPLAYTEXTH .259 ; MM/DD/YY = 0 | |
454 return | |
455 show_dateformat2: | |
456 decfsz EEDATA,F | |
457 bra show_dateformat3 | |
458 DISPLAYTEXTH .260 ; DD/MM/YY = 1 | |
459 return | |
460 show_dateformat3: | |
461 DISPLAYTEXTH .261 ; YY/MM/DD = 2 | |
462 return | |
463 | |
499
2ac77db9c150
Added OLED brightness setting, texts 280, 312 and 313 need update
heinrichsweikamp
parents:
445
diff
changeset
|
464 toggle_brightness: |
2ac77db9c150
Added OLED brightness setting, texts 280, 312 and 313 need update
heinrichsweikamp
parents:
445
diff
changeset
|
465 movlw LOW 0x104 |
2ac77db9c150
Added OLED brightness setting, texts 280, 312 and 313 need update
heinrichsweikamp
parents:
445
diff
changeset
|
466 movwf EEADR |
2ac77db9c150
Added OLED brightness setting, texts 280, 312 and 313 need update
heinrichsweikamp
parents:
445
diff
changeset
|
467 movlw HIGH 0x104 |
2ac77db9c150
Added OLED brightness setting, texts 280, 312 and 313 need update
heinrichsweikamp
parents:
445
diff
changeset
|
468 movwf EEADRH ; OLED brightness (=0: Eco, =1: High) |
2ac77db9c150
Added OLED brightness setting, texts 280, 312 and 313 need update
heinrichsweikamp
parents:
445
diff
changeset
|
469 call read_eeprom ; read byte |
2ac77db9c150
Added OLED brightness setting, texts 280, 312 and 313 need update
heinrichsweikamp
parents:
445
diff
changeset
|
470 bcf oled_brightness_high ; Eco mode |
2ac77db9c150
Added OLED brightness setting, texts 280, 312 and 313 need update
heinrichsweikamp
parents:
445
diff
changeset
|
471 movlw .0 |
2ac77db9c150
Added OLED brightness setting, texts 280, 312 and 313 need update
heinrichsweikamp
parents:
445
diff
changeset
|
472 cpfseq EEDATA ; High? |
2ac77db9c150
Added OLED brightness setting, texts 280, 312 and 313 need update
heinrichsweikamp
parents:
445
diff
changeset
|
473 bsf oled_brightness_high ; Yes! |
2ac77db9c150
Added OLED brightness setting, texts 280, 312 and 313 need update
heinrichsweikamp
parents:
445
diff
changeset
|
474 |
2ac77db9c150
Added OLED brightness setting, texts 280, 312 and 313 need update
heinrichsweikamp
parents:
445
diff
changeset
|
475 ; Value loaded, now toggle it... |
2ac77db9c150
Added OLED brightness setting, texts 280, 312 and 313 need update
heinrichsweikamp
parents:
445
diff
changeset
|
476 btg oled_brightness_high |
2ac77db9c150
Added OLED brightness setting, texts 280, 312 and 313 need update
heinrichsweikamp
parents:
445
diff
changeset
|
477 |
2ac77db9c150
Added OLED brightness setting, texts 280, 312 and 313 need update
heinrichsweikamp
parents:
445
diff
changeset
|
478 ; ...Display it... |
2ac77db9c150
Added OLED brightness setting, texts 280, 312 and 313 need update
heinrichsweikamp
parents:
445
diff
changeset
|
479 rcall toggle_brightness_show |
2ac77db9c150
Added OLED brightness setting, texts 280, 312 and 313 need update
heinrichsweikamp
parents:
445
diff
changeset
|
480 call PLED_brightness_full ; Set OLED |
2ac77db9c150
Added OLED brightness setting, texts 280, 312 and 313 need update
heinrichsweikamp
parents:
445
diff
changeset
|
481 |
2ac77db9c150
Added OLED brightness setting, texts 280, 312 and 313 need update
heinrichsweikamp
parents:
445
diff
changeset
|
482 ; ...and write it again to EEPROM |
2ac77db9c150
Added OLED brightness setting, texts 280, 312 and 313 need update
heinrichsweikamp
parents:
445
diff
changeset
|
483 movlw LOW 0x104 |
2ac77db9c150
Added OLED brightness setting, texts 280, 312 and 313 need update
heinrichsweikamp
parents:
445
diff
changeset
|
484 movwf EEADR |
2ac77db9c150
Added OLED brightness setting, texts 280, 312 and 313 need update
heinrichsweikamp
parents:
445
diff
changeset
|
485 movlw HIGH 0x104 |
2ac77db9c150
Added OLED brightness setting, texts 280, 312 and 313 need update
heinrichsweikamp
parents:
445
diff
changeset
|
486 movwf EEADRH ; OLED brightness (=0: Eco, =1: High) |
2ac77db9c150
Added OLED brightness setting, texts 280, 312 and 313 need update
heinrichsweikamp
parents:
445
diff
changeset
|
487 movlw .0 |
2ac77db9c150
Added OLED brightness setting, texts 280, 312 and 313 need update
heinrichsweikamp
parents:
445
diff
changeset
|
488 btfsc oled_brightness_high |
2ac77db9c150
Added OLED brightness setting, texts 280, 312 and 313 need update
heinrichsweikamp
parents:
445
diff
changeset
|
489 movlw .1 |
2ac77db9c150
Added OLED brightness setting, texts 280, 312 and 313 need update
heinrichsweikamp
parents:
445
diff
changeset
|
490 movwf EEDATA |
2ac77db9c150
Added OLED brightness setting, texts 280, 312 and 313 need update
heinrichsweikamp
parents:
445
diff
changeset
|
491 call write_eeprom ; write byte |
2ac77db9c150
Added OLED brightness setting, texts 280, 312 and 313 need update
heinrichsweikamp
parents:
445
diff
changeset
|
492 clrf EEADRH ; Reset EEADRH |
2ac77db9c150
Added OLED brightness setting, texts 280, 312 and 313 need update
heinrichsweikamp
parents:
445
diff
changeset
|
493 |
2ac77db9c150
Added OLED brightness setting, texts 280, 312 and 313 need update
heinrichsweikamp
parents:
445
diff
changeset
|
494 movlw d'5' |
2ac77db9c150
Added OLED brightness setting, texts 280, 312 and 313 need update
heinrichsweikamp
parents:
445
diff
changeset
|
495 movwf menupos |
2ac77db9c150
Added OLED brightness setting, texts 280, 312 and 313 need update
heinrichsweikamp
parents:
445
diff
changeset
|
496 bcf switch_right |
2ac77db9c150
Added OLED brightness setting, texts 280, 312 and 313 need update
heinrichsweikamp
parents:
445
diff
changeset
|
497 bra more_setup_menu3a ; return to menu loop |
2ac77db9c150
Added OLED brightness setting, texts 280, 312 and 313 need update
heinrichsweikamp
parents:
445
diff
changeset
|
498 |
2ac77db9c150
Added OLED brightness setting, texts 280, 312 and 313 need update
heinrichsweikamp
parents:
445
diff
changeset
|
499 toggle_brightness_show: |
2ac77db9c150
Added OLED brightness setting, texts 280, 312 and 313 need update
heinrichsweikamp
parents:
445
diff
changeset
|
500 btfsc oled_brightness_high |
2ac77db9c150
Added OLED brightness setting, texts 280, 312 and 313 need update
heinrichsweikamp
parents:
445
diff
changeset
|
501 bra toggle_brightness_show2 |
2ac77db9c150
Added OLED brightness setting, texts 280, 312 and 313 need update
heinrichsweikamp
parents:
445
diff
changeset
|
502 DISPLAYTEXTH .312 ; Eco |
2ac77db9c150
Added OLED brightness setting, texts 280, 312 and 313 need update
heinrichsweikamp
parents:
445
diff
changeset
|
503 return |
2ac77db9c150
Added OLED brightness setting, texts 280, 312 and 313 need update
heinrichsweikamp
parents:
445
diff
changeset
|
504 toggle_brightness_show2: |
2ac77db9c150
Added OLED brightness setting, texts 280, 312 and 313 need update
heinrichsweikamp
parents:
445
diff
changeset
|
505 DISPLAYTEXTH .313 ; High |
2ac77db9c150
Added OLED brightness setting, texts 280, 312 and 313 need update
heinrichsweikamp
parents:
445
diff
changeset
|
506 return |
2ac77db9c150
Added OLED brightness setting, texts 280, 312 and 313 need update
heinrichsweikamp
parents:
445
diff
changeset
|
507 |
2ac77db9c150
Added OLED brightness setting, texts 280, 312 and 313 need update
heinrichsweikamp
parents:
445
diff
changeset
|
508 |
0 | 509 toggle_debugmode: |
510 read_int_eeprom d'39' ; Read status | |
511 incf EEDATA,F | |
512 movlw d'1' | |
513 cpfsgt EEDATA | |
514 bra toggle_debugmode1 | |
515 clrf EEDATA | |
516 toggle_debugmode1: | |
517 write_int_eeprom d'39' ; Store status | |
518 bsf debug_mode ; set flag | |
519 movlw d'1' | |
520 cpfseq EEDATA | |
521 bcf debug_mode ; clear flag | |
522 movlw d'2' | |
523 movwf menupos | |
524 bcf switch_right | |
499
2ac77db9c150
Added OLED brightness setting, texts 280, 312 and 313 need update
heinrichsweikamp
parents:
445
diff
changeset
|
525 bra more_setup_menu3a ; return to menu loop |
0 | 526 |
527 show_debugstate: | |
528 read_int_eeprom d'39' | |
529 tstfsz EEDATA | |
530 bra show_debugstate2 | |
531 DISPLAYTEXT .131 ; OFF | |
532 show_debugstate2: | |
533 decf EEDATA,F | |
534 tstfsz EEDATA | |
535 bra show_decotype3 | |
536 DISPLAYTEXT .130 ; ON | |
537 return | |
575 | 538 |
539 menu_check_dive_and_timeout: | |
540 call set_dive_modes ; Check thresholds | |
541 call timeout_surfmode ; Sets sleepmode flag if timeout | |
542 btfsc divemode | |
543 goto restart ; dive started! | |
544 return |