comparison code_part1/OSTC_code_asm_part1/menu_battery.asm @ 0:96a35aeda5f2

Initial setup
author heinrichsweikamp
date Tue, 12 Jan 2010 15:05:59 +0100
parents
children 6a94f96e9cea
comparison
equal deleted inserted replaced
-1:000000000000 0:96a35aeda5f2
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 ; Submenu battery state
20 ; written by: Matthias Heinrichs, info@heinrichsweikamp.com
21 ; written: 05/15/08
22 ; last updated: 05/15/08
23 ; known bugs:
24 ; ToDo:
25
26 menu_battery_state:
27 call PLED_ClearScreen
28 call PLED_topline_box
29 WIN_INVERT .1 ; Init new Wordprocessor
30 DISPLAYTEXT .114 ; Battery Information
31 WIN_INVERT .0 ; Init new Wordprocessor
32
33 WIN_TOP .35
34 WIN_LEFT .0
35 WIN_FONT FT_SMALL
36
37 lfsr FSR2,letter
38 OUTPUTTEXT .115 ; Cycles:
39 read_int_eeprom d'50' ; Get charge cycles
40 movff EEDATA,lo
41 read_int_eeprom d'51'
42 movff EEDATA,hi
43 bsf leftbind
44 output_16
45 movlw ' '
46 movwf POSTINC2
47 movlw '('
48 movwf POSTINC2
49 read_int_eeprom d'52' ; Get complete cycles
50 movff EEDATA,lo
51 read_int_eeprom d'53'
52 movff EEDATA,hi
53 bsf leftbind
54 output_16
55 movlw ')'
56 movwf POSTINC2
57 call word_processor
58
59 WIN_TOP .65
60 lfsr FSR2,letter
61 OUTPUTTEXT .117 ; Last Complete at:
62 read_int_eeprom d'47' ; Month
63 movff EEDATA,convert_value_temp+0
64 read_int_eeprom d'48' ; Day
65 movff EEDATA,convert_value_temp+1
66 read_int_eeprom d'49' ; Year
67 movff EEDATA,convert_value_temp+2
68 call PLED_convert_date ; coverts into "DD/MM/YY" or "MM/DD/YY" or "YY/MM/DD" in postinc2
69 call word_processor
70
71 WIN_TOP .95
72 lfsr FSR2,letter
73 OUTPUTTEXT .118 ; Lowest Battery:
74 read_int_eeprom d'40' ; Batt LOW
75 movff EEDATA,lo
76 read_int_eeprom d'41' ; Batt HIGH
77 movff EEDATA,hi
78 movlw d'1'
79 movwf ignore_digits
80 bsf leftbind
81 output_16dp d'2'
82 bcf leftbind
83 movlw 'V'
84 movwf POSTINC2
85 call word_processor
86
87 WIN_TOP .125
88 lfsr FSR2,letter
89 OUTPUTTEXT .119 ; Lowest Battery at:
90 read_int_eeprom d'42' ; Month
91 movff EEDATA,convert_value_temp+0
92 read_int_eeprom d'43' ; Day
93 movff EEDATA,convert_value_temp+1
94 read_int_eeprom d'44' ; Year
95 movff EEDATA,convert_value_temp+2
96 call PLED_convert_date ; coverts into "DD/MM/YY" or "MM/DD/YY" or "YY/MM/DD" in postinc2
97 call word_processor
98
99 WIN_TOP .155
100 lfsr FSR2,letter
101 OUTPUTTEXT .120 ; Temp min:
102 read_int_eeprom d'54' ; TEMP_min LOW
103 movff EEDATA,lo
104 read_int_eeprom d'55' ; TEMP_min HIGH
105 movff EEDATA,hi
106 movlw d'3'
107 movwf ignore_digits
108 bsf leftbind ; left orientated output
109 output_16dp d'2'
110 bcf leftbind
111 movlw '°'
112 movwf POSTINC2
113 movlw ' '
114 movwf POSTINC2
115 movlw '('
116 movwf POSTINC2
117 read_int_eeprom d'56' ; Month
118 movff EEDATA,convert_value_temp+0
119 read_int_eeprom d'57' ; Day
120 movff EEDATA,convert_value_temp+1
121 read_int_eeprom d'58' ; Year
122 movff EEDATA,convert_value_temp+2
123 call PLED_convert_date ; coverts into "DD/MM/YY" or "MM/DD/YY" or "YY/MM/DD" in postinc2
124 movlw ')'
125 movwf POSTINC2
126 movlw ' '
127 movwf POSTINC2
128 call word_processor
129
130 WIN_TOP .185
131 lfsr FSR2,letter
132 OUTPUTTEXT .121 ; Temp max:
133 read_int_eeprom d'59' ; TEMP_max LOW
134 movff EEDATA,lo
135 read_int_eeprom d'60' ; TEMP_max HIGH
136 movff EEDATA,hi
137 movlw d'3'
138 movwf ignore_digits
139 bsf leftbind ; left orientated output
140 output_16dp d'2'
141 bcf leftbind
142 movlw '°'
143 movwf POSTINC2
144 movlw ' '
145 movwf POSTINC2
146 movlw '('
147 movwf POSTINC2
148 read_int_eeprom d'61' ; Month
149 movff EEDATA,convert_value_temp+0
150 read_int_eeprom d'62' ; Day
151 movff EEDATA,convert_value_temp+1
152 read_int_eeprom d'63' ; Year
153 movff EEDATA,convert_value_temp+2
154 call PLED_convert_date ; coverts into "DD/MM/YY" or "MM/DD/YY" or "YY/MM/DD" in postinc2
155 movlw ')'
156 movwf POSTINC2
157 movlw ' '
158 movwf POSTINC2
159 call word_processor
160
161 menu_battery_state5:
162 btfss SWITCH2
163 bra menu_battery_state5
164
165 bcf switch_left
166 bcf switch_right
167 bcf menubit2
168 menu_battery_state_loop:
169 call check_switches_logbook
170
171 btfsc menubit2
172 bra menu_battery_state_exit ; Exit
173
174 btfsc divemode
175 goto restart ; dive started!
176
177 btfsc onesecupdate
178 call timeout_surfmode
179
180 btfsc onesecupdate
181 call set_dive_modes
182
183 bcf onesecupdate ; 1 sec. functions done
184
185 btfsc sleepmode
186 bra menu_battery_state_exit
187
188 bra menu_battery_state_loop
189
190 menu_battery_state_exit: ; exit...
191 movlw d'3'
192 movwf menupos
193 goto more_menu2