Rev 2301 | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
2286 | - | 1 | 1 .file "eeprom.c" |
2 | 2 .arch atmega1284p |
||
3 | 3 __SREG__ = 0x3f |
||
4 | 4 __SP_H__ = 0x3e |
||
5 | 5 __SP_L__ = 0x3d |
||
6 | 6 __tmp_reg__ = 0 |
||
7 | 7 __zero_reg__ = 1 |
||
8 | 8 .global __do_copy_data |
||
9 | 9 .global __do_clear_bss |
||
10 | 10 .text |
||
11 | 12 eeprom_read_byte: |
||
12 | 13 /* prologue: frame size=0 */ |
||
13 | 14 /* prologue end (size=0) */ |
||
14 | 15 .L2: |
||
15 | 16 0000 F999 sbic 63-0x20,1 |
||
16 | 17 0002 00C0 rjmp .L2 |
||
17 | 18 0004 92BD out (65)+1-0x20,r25 |
||
18 | 19 0006 81BD out 65-0x20,r24 |
||
19 | 20 /* #APP */ |
||
20 | 21 /* START EEPROM READ CRITICAL SECTION */ |
||
21 | 22 0008 F89A sbi 31, 0 |
||
22 | 23 000a 80B5 in r24, 32 |
||
23 | 24 /* END EEPROM READ CRITICAL SECTION */ |
||
24 | 25 |
||
25 | 26 /* #NOAPP */ |
||
26 | 27 000c 9927 clr r25 |
||
27 | 28 /* epilogue: frame size=0 */ |
||
28 | 29 000e 0895 ret |
||
29 | 30 /* epilogue end (size=1) */ |
||
30 | 31 /* function eeprom_read_byte size 16 (15) */ |
||
31 | 34 eeprom_write_byte: |
||
32 | 35 /* prologue: frame size=0 */ |
||
33 | 36 /* prologue end (size=0) */ |
||
34 | 37 .L6: |
||
35 | 38 0010 F999 sbic 63-0x20,1 |
||
36 | 39 0012 00C0 rjmp .L6 |
||
37 | 40 0014 1FBA out 63-0x20,__zero_reg__ |
||
38 | 41 0016 92BD out (65)+1-0x20,r25 |
||
39 | 42 0018 81BD out 65-0x20,r24 |
||
40 | 43 001a 60BD out 64-0x20,r22 |
||
41 | 44 /* #APP */ |
||
42 | 45 /* START EEPROM WRITE CRITICAL SECTION */ |
||
43 | 46 001c 0FB6 in r0, 63 |
||
44 | 47 001e F894 cli |
||
45 | 48 0020 FA9A sbi 31, 2 |
||
46 | 49 0022 F99A sbi 31, 1 |
||
47 | 50 0024 0FBE out 63, r0 |
||
48 | 51 /* END EEPROM WRITE CRITICAL SECTION */ |
||
49 | 52 /* #NOAPP */ |
||
50 | 53 /* epilogue: frame size=0 */ |
||
51 | 54 0026 0895 ret |
||
52 | 55 /* epilogue end (size=1) */ |
||
53 | 56 /* function eeprom_write_byte size 21 (20) */ |
||
54 | 58 .global RAM_Checksum |
||
55 | 60 RAM_Checksum: |
||
56 | 61 /* prologue: frame size=0 */ |
||
57 | 62 /* prologue end (size=0) */ |
||
58 | 63 0028 4AEA ldi r20,lo8(-86) |
||
59 | 64 002a 20E0 ldi r18,lo8(0) |
||
60 | 65 002c 30E0 ldi r19,hi8(0) |
||
61 | 66 002e 2617 cp r18,r22 |
||
62 | 67 0030 3707 cpc r19,r23 |
||
63 | 68 0032 00F4 brsh .L15 |
||
64 | 69 0034 FC01 movw r30,r24 |
||
65 | 70 .L13: |
||
66 | 71 0036 8191 ld r24,Z+ |
||
67 | 72 0038 480F add r20,r24 |
||
68 | 73 003a 2F5F subi r18,lo8(-(1)) |
||
69 | 74 003c 3F4F sbci r19,hi8(-(1)) |
||
70 | 75 003e 2617 cp r18,r22 |
||
71 | 76 0040 3707 cpc r19,r23 |
||
72 | 77 0042 00F0 brlo .L13 |
||
73 | 78 .L15: |
||
74 | 79 0044 842F mov r24,r20 |
||
75 | 80 0046 9927 clr r25 |
||
76 | 81 /* epilogue: frame size=0 */ |
||
77 | 82 0048 0895 ret |
||
78 | 83 /* epilogue end (size=1) */ |
||
79 | 84 /* function RAM_Checksum size 17 (16) */ |
||
80 | 86 .global EEProm_Checksum |
||
81 | 88 EEProm_Checksum: |
||
82 | 89 /* prologue: frame size=0 */ |
||
83 | 90 /* prologue end (size=0) */ |
||
84 | 91 004a EAEA ldi r30,lo8(-86) |
||
85 | 92 004c 40E0 ldi r20,lo8(0) |
||
86 | 93 004e 50E0 ldi r21,hi8(0) |
||
87 | 94 0050 4617 cp r20,r22 |
||
88 | 95 0052 5707 cpc r21,r23 |
||
89 | 96 0054 00F4 brsh .L26 |
||
90 | 97 0056 9C01 movw r18,r24 |
||
91 | 98 .L30: |
||
92 | 99 0058 F999 sbic 63-0x20,1 |
||
93 | 100 005a 00C0 rjmp .L30 |
||
94 | 101 005c 32BD out (65)+1-0x20,r19 |
||
95 | 102 005e 21BD out 65-0x20,r18 |
||
96 | 103 /* #APP */ |
||
97 | 104 /* START EEPROM READ CRITICAL SECTION */ |
||
98 | 105 0060 F89A sbi 31, 0 |
||
99 | 106 0062 80B5 in r24, 32 |
||
100 | 107 /* END EEPROM READ CRITICAL SECTION */ |
||
101 | 108 |
||
102 | 109 /* #NOAPP */ |
||
103 | 110 0064 E80F add r30,r24 |
||
104 | 111 0066 4F5F subi r20,lo8(-(1)) |
||
105 | 112 0068 5F4F sbci r21,hi8(-(1)) |
||
106 | 113 006a 2F5F subi r18,lo8(-(1)) |
||
107 | 114 006c 3F4F sbci r19,hi8(-(1)) |
||
108 | 115 006e 4617 cp r20,r22 |
||
109 | 116 0070 5707 cpc r21,r23 |
||
110 | 117 0072 00F0 brlo .L30 |
||
111 | 118 .L26: |
||
112 | 119 0074 8E2F mov r24,r30 |
||
113 | 120 0076 9927 clr r25 |
||
114 | 121 /* epilogue: frame size=0 */ |
||
115 | 122 0078 0895 ret |
||
116 | 123 /* epilogue end (size=1) */ |
||
117 | 124 /* function EEProm_Checksum size 32 (31) */ |
||
118 | 126 .global ParamSet_DefaultStickMapping |
||
119 | 128 ParamSet_DefaultStickMapping: |
||
120 | 129 /* prologue: frame size=0 */ |
||
121 | 130 /* prologue end (size=0) */ |
||
122 | 131 007a 81E0 ldi r24,lo8(1) |
||
123 | 132 007c 8093 0000 sts EE_Parameter+3,r24 |
||
124 | 133 0080 82E0 ldi r24,lo8(2) |
||
125 | 134 0082 8093 0000 sts EE_Parameter+2,r24 |
||
126 | 135 0086 83E0 ldi r24,lo8(3) |
||
127 | 136 0088 8093 0000 sts EE_Parameter+1,r24 |
||
128 | 137 008c 84E0 ldi r24,lo8(4) |
||
129 | 138 008e 8093 0000 sts EE_Parameter+4,r24 |
||
130 | 139 0092 85E0 ldi r24,lo8(5) |
||
131 | 140 0094 8093 0000 sts EE_Parameter+5,r24 |
||
132 | 141 0098 86E0 ldi r24,lo8(6) |
||
133 | 142 009a 8093 0000 sts EE_Parameter+6,r24 |
||
134 | 143 009e 87E0 ldi r24,lo8(7) |
||
135 | 144 00a0 8093 0000 sts EE_Parameter+7,r24 |
||
136 | 145 00a4 88E0 ldi r24,lo8(8) |
||
137 | 146 00a6 8093 0000 sts EE_Parameter+8,r24 |
||
138 | 147 00aa 89E0 ldi r24,lo8(9) |
||
139 | 148 00ac 8093 0000 sts EE_Parameter+9,r24 |
||
140 | 149 00b0 8AE0 ldi r24,lo8(10) |
||
141 | 150 00b2 8093 0000 sts EE_Parameter+10,r24 |
||
142 | 151 00b6 8BE0 ldi r24,lo8(11) |
||
143 | 152 00b8 8093 0000 sts EE_Parameter+11,r24 |
||
144 | 153 00bc 8CE0 ldi r24,lo8(12) |
||
145 | 154 00be 8093 0000 sts EE_Parameter+12,r24 |
||
146 | 155 /* epilogue: frame size=0 */ |
||
147 | 156 00c2 0895 ret |
||
148 | 157 /* epilogue end (size=1) */ |
||
149 | 158 /* function ParamSet_DefaultStickMapping size 37 (36) */ |
||
150 | 160 .global CommonDefaults |
||
151 | 162 CommonDefaults: |
||
152 | 163 /* prologue: frame size=0 */ |
||
153 | 164 /* prologue end (size=0) */ |
||
154 | 165 00c4 8CE5 ldi r24,lo8(92) |
||
155 | 166 00c6 8093 0000 sts EE_Parameter,r24 |
||
156 | 167 00ca 8CE0 ldi r24,lo8(12) |
||
157 | 168 00cc E0E0 ldi r30,lo8(EE_Parameter+112) |
||
158 | 169 00ce F0E0 ldi r31,hi8(EE_Parameter+112) |
||
159 | 170 00d0 1192 st Z+,__zero_reg__ |
||
160 | 171 00d2 8A95 dec r24 |
||
161 | 172 00d4 01F4 brne .-6 |
||
162 | 173 00d6 8091 0000 lds r24,PlatinenVersion |
||
163 | 174 00da 8431 cpi r24,lo8(20) |
||
164 | 175 00dc 00F0 brlo .L33 |
||
165 | 176 00de 8AE0 ldi r24,lo8(10) |
||
166 | 177 00e0 8093 0000 sts EE_Parameter+32,r24 |
||
167 | 178 00e4 1092 0000 sts EE_Parameter+68,__zero_reg__ |
||
168 | 179 00e8 8BE1 ldi r24,lo8(27) |
||
169 | 180 00ea 8093 0000 sts EE_Parameter+28,r24 |
||
170 | 181 00ee 8EE4 ldi r24,lo8(78) |
||
171 | 182 00f0 00C0 rjmp .L35 |
||
172 | 183 .L33: |
||
173 | 184 00f2 83E0 ldi r24,lo8(3) |
||
174 | 185 00f4 8093 0000 sts EE_Parameter+32,r24 |
||
175 | 186 00f8 80E2 ldi r24,lo8(32) |
||
176 | 187 00fa 8093 0000 sts EE_Parameter+68,r24 |
||
177 | 188 00fe 8EE1 ldi r24,lo8(30) |
||
178 | 189 0100 8093 0000 sts EE_Parameter+28,r24 |
||
179 | 190 0104 85E5 ldi r24,lo8(85) |
||
180 | 191 .L35: |
||
181 | 192 0106 8093 0000 sts EE_Parameter+65,r24 |
||
182 | 193 010a 8093 0000 sts EE_Parameter+66,r24 |
||
183 | 194 010e 80E2 ldi r24,lo8(32) |
||
184 | 195 0110 8093 0000 sts EE_Parameter+67,r24 |
||
185 | 196 0114 1092 0000 sts EE_Parameter+108,__zero_reg__ |
||
186 | 197 0118 8AE6 ldi r24,lo8(106) |
||
187 | 198 011a 8093 0000 sts EE_Parameter+13,r24 |
||
188 | 199 011e 82E2 ldi r24,lo8(34) |
||
189 | 200 0120 8093 0000 sts EE_Parameter+110,r24 |
||
190 | 201 0124 80E4 ldi r24,lo8(64) |
||
191 | 202 0126 8093 0000 sts EE_Parameter+111,r24 |
||
192 | 203 012a 66E0 ldi r22,lo8(6) |
||
193 | 204 012c 6093 0000 sts EE_Parameter+39,r22 |
||
194 | 205 0130 1092 0000 sts EE_Parameter+100,__zero_reg__ |
||
195 | 206 0134 1092 0000 sts EE_Parameter+97,__zero_reg__ |
||
196 | 207 0138 48E0 ldi r20,lo8(8) |
||
197 | 208 013a 4093 0000 sts EE_Parameter+26,r20 |
||
198 | 209 013e 56EE ldi r21,lo8(-26) |
||
199 | 210 0140 5093 0000 sts EE_Parameter+27,r21 |
||
200 | 211 0144 8093 0000 sts EE_Parameter+29,r24 |
||
201 | 212 0148 9EE1 ldi r25,lo8(30) |
||
202 | 213 014a 9093 0000 sts EE_Parameter+14,r25 |
||
203 | 214 014e 8FEF ldi r24,lo8(-1) |
||
204 | 215 0150 8093 0000 sts EE_Parameter+16,r24 |
||
205 | 216 0154 2FE0 ldi r18,lo8(15) |
||
206 | 217 0156 2093 0000 sts EE_Parameter+17,r18 |
||
207 | 218 015a 9093 0000 sts EE_Parameter+15,r25 |
||
208 | 219 015e 1092 0000 sts EE_Parameter+19,__zero_reg__ |
||
209 | 220 0162 4093 0000 sts EE_Parameter+20,r20 |
||
210 | 221 0166 84E1 ldi r24,lo8(20) |
||
211 | 222 0168 8093 0000 sts EE_Parameter+21,r24 |
||
212 | 223 016c 1092 0000 sts EE_Parameter+22,__zero_reg__ |
||
213 | 224 0170 2093 0000 sts EE_Parameter+18,r18 |
||
214 | 225 0174 1092 0000 sts EE_Parameter+41,__zero_reg__ |
||
215 | 226 0178 1092 0000 sts EE_Parameter+42,__zero_reg__ |
||
216 | 227 017c 1092 0000 sts EE_Parameter+43,__zero_reg__ |
||
217 | 228 0180 1092 0000 sts EE_Parameter+44,__zero_reg__ |
||
218 | 229 0184 1092 0000 sts EE_Parameter+70,__zero_reg__ |
||
219 | 230 0188 1092 0000 sts EE_Parameter+71,__zero_reg__ |
||
220 | 231 018c 1092 0000 sts EE_Parameter+72,__zero_reg__ |
||
221 | 232 0190 1092 0000 sts EE_Parameter+73,__zero_reg__ |
||
222 | 233 0194 90E8 ldi r25,lo8(-128) |
||
223 | 234 0196 9093 0000 sts EE_Parameter+45,r25 |
||
224 | 235 019a 32E3 ldi r19,lo8(50) |
||
225 | 236 019c 3093 0000 sts EE_Parameter+46,r19 |
||
226 | 237 01a0 82E0 ldi r24,lo8(2) |
||
227 | 238 01a2 8093 0000 sts EE_Parameter+109,r24 |
||
228 | 239 01a6 2093 0000 sts EE_Parameter+47,r18 |
||
229 | 240 01aa 5093 0000 sts EE_Parameter+48,r21 |
||
230 | 241 01ae 84E0 ldi r24,lo8(4) |
||
231 | 242 01b0 8093 0000 sts EE_Parameter+53,r24 |
||
232 | 243 01b4 8DE7 ldi r24,lo8(125) |
||
233 | 244 01b6 8093 0000 sts EE_Parameter+56,r24 |
||
234 | 245 01ba 8093 0000 sts EE_Parameter+57,r24 |
||
235 | 246 01be 8093 0000 sts EE_Parameter+58,r24 |
||
236 | 247 01c2 9093 0000 sts EE_Parameter+49,r25 |
||
237 | 248 01c6 25E5 ldi r18,lo8(85) |
||
238 | 249 01c8 2093 0000 sts EE_Parameter+50,r18 |
||
239 | 250 01cc 86E4 ldi r24,lo8(70) |
||
240 | 251 01ce 8093 0000 sts EE_Parameter+51,r24 |
||
241 | 252 01d2 8CED ldi r24,lo8(-36) |
||
242 | 253 01d4 8093 0000 sts EE_Parameter+52,r24 |
||
243 | 254 01d8 8CE3 ldi r24,lo8(60) |
||
244 | 255 01da 8093 0000 sts EE_Parameter+54,r24 |
||
245 | 256 01de 1092 0000 sts EE_Parameter+55,__zero_reg__ |
||
246 | 257 01e2 8FE5 ldi r24,lo8(95) |
||
247 | 258 01e4 8093 0000 sts EE_Parameter+74,r24 |
||
248 | 259 01e8 83EF ldi r24,lo8(-13) |
||
249 | 260 01ea 8093 0000 sts EE_Parameter+76,r24 |
||
250 | 261 01ee 8AEA ldi r24,lo8(-86) |
||
251 | 262 01f0 8093 0000 sts EE_Parameter+78,r24 |
||
252 | 263 01f4 8093 0000 sts EE_Parameter+79,r24 |
||
253 | 264 01f8 88E2 ldi r24,lo8(40) |
||
254 | 265 01fa 8093 0000 sts EE_Parameter+75,r24 |
||
255 | 266 01fe 8093 0000 sts EE_Parameter+77,r24 |
||
256 | 267 0202 1092 0000 sts EE_Parameter+80,__zero_reg__ |
||
257 | 268 0206 3093 0000 sts EE_Parameter+59,r19 |
||
258 | 269 020a 9AE5 ldi r25,lo8(90) |
||
259 | 270 020c 9093 0000 sts EE_Parameter+60,r25 |
||
260 | 271 0210 3093 0000 sts EE_Parameter+61,r19 |
||
261 | 272 0214 8EEF ldi r24,lo8(-2) |
||
262 | 273 0216 8093 0000 sts EE_Parameter+81,r24 |
||
263 | 274 021a 84E6 ldi r24,lo8(100) |
||
264 | 275 021c 8093 0000 sts EE_Parameter+82,r24 |
||
265 | 276 0220 9093 0000 sts EE_Parameter+83,r25 |
||
266 | 277 0224 9093 0000 sts EE_Parameter+84,r25 |
||
267 | 278 0228 9093 0000 sts EE_Parameter+85,r25 |
||
268 | 279 022c 8BE4 ldi r24,lo8(75) |
||
269 | 280 022e 8093 0000 sts EE_Parameter+86,r24 |
||
270 | 281 0232 2093 0000 sts EE_Parameter+87,r18 |
||
271 | 282 0236 8093 0000 sts EE_Parameter+88,r24 |
||
272 | 283 023a 1092 0000 sts EE_Parameter+89,__zero_reg__ |
||
273 | 284 023e 6093 0000 sts EE_Parameter+90,r22 |
||
274 | 285 0242 4093 0000 sts EE_Parameter+91,r20 |
||
275 | 286 0246 9093 0000 sts EE_Parameter+92,r25 |
||
276 | 287 024a 8AE2 ldi r24,lo8(42) |
||
277 | 288 024c 8093 0000 sts EE_Parameter+93,r24 |
||
278 | 289 0250 85EF ldi r24,lo8(-11) |
||
279 | 290 0252 8093 0000 sts EE_Parameter+94,r24 |
||
280 | 291 0256 8CE8 ldi r24,lo8(-116) |
||
281 | 292 0258 8093 0000 sts EE_Parameter+95,r24 |
||
282 | 293 025c 85E0 ldi r24,lo8(5) |
||
283 | 294 025e 8093 0000 sts EE_Parameter+96,r24 |
||
284 | 295 0262 1092 0000 sts EE_Parameter+98,__zero_reg__ |
||
285 | 296 0266 1092 0000 sts EE_Parameter+99,__zero_reg__ |
||
286 | 297 026a 81E2 ldi r24,lo8(33) |
||
287 | 298 026c 8093 0000 sts EE_Parameter+36,r24 |
||
288 | 299 0270 81E4 ldi r24,lo8(65) |
||
289 | 300 0272 8093 0000 sts EE_Parameter+37,r24 |
||
290 | 301 0276 9093 0000 sts EE_Parameter+38,r25 |
||
291 | 302 027a 1092 0000 sts EE_Parameter+101,__zero_reg__ |
||
292 | 303 027e 1092 0000 sts EE_Parameter+102,__zero_reg__ |
||
293 | 304 0282 1092 0000 sts EE_Parameter+103,__zero_reg__ |
||
294 | 305 0286 86E9 ldi r24,lo8(-106) |
||
295 | 306 0288 8093 0000 sts EE_Parameter+104,r24 |
||
296 | 307 028c 9093 0000 sts EE_Parameter+62,r25 |
||
297 | 308 0290 87E3 ldi r24,lo8(55) |
||
298 | 309 0292 8093 0000 sts EE_Parameter+63,r24 |
||
299 | 310 0296 1092 0000 sts EE_Parameter+105,__zero_reg__ |
||
300 | 311 029a 1092 0000 sts EE_Parameter+106,__zero_reg__ |
||
301 | 312 029e 1092 0000 sts EE_Parameter+107,__zero_reg__ |
||
302 | 313 /* epilogue: frame size=0 */ |
||
303 | 314 02a2 0895 ret |
||
304 | 315 /* epilogue end (size=1) */ |
||
305 | 316 /* function CommonDefaults size 240 (239) */ |
||
306 | 318 .global ParamSet_DefaultSet1 |
||
307 | 320 ParamSet_DefaultSet1: |
||
308 | 321 /* prologue: frame size=0 */ |
||
309 | 322 /* prologue end (size=0) */ |
||
310 | 323 02a4 0E94 0000 call CommonDefaults |
||
311 | 324 02a8 8AE0 ldi r24,lo8(10) |
||
312 | 325 02aa 8093 0000 sts EE_Parameter+23,r24 |
||
313 | 326 02ae 80E1 ldi r24,lo8(16) |
||
314 | 327 02b0 8093 0000 sts EE_Parameter+24,r24 |
||
315 | 328 02b4 26E0 ldi r18,lo8(6) |
||
316 | 329 02b6 2093 0000 sts EE_Parameter+25,r18 |
||
317 | 330 02ba 9AE5 ldi r25,lo8(90) |
||
318 | 331 02bc 9093 0000 sts EE_Parameter+30,r25 |
||
319 | 332 02c0 88E7 ldi r24,lo8(120) |
||
320 | 333 02c2 8093 0000 sts EE_Parameter+31,r24 |
||
321 | 334 02c6 9093 0000 sts EE_Parameter+33,r25 |
||
322 | 335 02ca 8093 0000 sts EE_Parameter+34,r24 |
||
323 | 336 02ce 2093 0000 sts EE_Parameter+35,r18 |
||
324 | 337 02d2 80E2 ldi r24,lo8(32) |
||
325 | 338 02d4 8093 0000 sts EE_Parameter+40,r24 |
||
326 | 339 02d8 8CE3 ldi r24,lo8(60) |
||
327 | 340 02da 8093 0000 sts EE_Parameter+64,r24 |
||
328 | 341 02de 8BE4 ldi r24,lo8(75) |
||
329 | 342 02e0 8093 0000 sts EE_Parameter+69,r24 |
||
330 | 343 02e4 86E4 ldi r24,lo8(1953718598) |
||
331 | 344 02e6 91E6 ldi r25,hi8(1953718598) |
||
332 | 345 02e8 A3E7 ldi r26,hlo8(1953718598) |
||
333 | 346 02ea B4E7 ldi r27,hhi8(1953718598) |
||
334 | 347 02ec 8093 0000 sts EE_Parameter+112,r24 |
||
335 | 348 02f0 9093 0000 sts (EE_Parameter+112)+1,r25 |
||
336 | 349 02f4 A093 0000 sts (EE_Parameter+112)+2,r26 |
||
337 | 350 02f8 B093 0000 sts (EE_Parameter+112)+3,r27 |
||
338 | 351 02fc 6CE7 ldi r22,lo8(124) |
||
339 | 352 02fe 70E0 ldi r23,hi8(124) |
||
340 | 353 0300 80E0 ldi r24,lo8(EE_Parameter) |
||
341 | 354 0302 90E0 ldi r25,hi8(EE_Parameter) |
||
342 | 355 0304 0E94 0000 call RAM_Checksum |
||
343 | 356 0308 8093 0000 sts EE_Parameter+124,r24 |
||
344 | 357 /* epilogue: frame size=0 */ |
||
345 | 358 030c 0895 ret |
||
346 | 359 /* epilogue end (size=1) */ |
||
347 | 360 /* function ParamSet_DefaultSet1 size 53 (52) */ |
||
348 | 362 .data |
||
349 | 363 .LC0: |
||
350 | 364 0000 4E6F 726D .string "Normal" |
||
351 | 364 616C 00 |
||
352 | 365 .text |
||
353 | 366 .global ParamSet_DefaultSet2 |
||
354 | 368 ParamSet_DefaultSet2: |
||
355 | 369 /* prologue: frame size=0 */ |
||
356 | 370 030e CF93 push r28 |
||
357 | 371 0310 DF93 push r29 |
||
358 | 372 /* prologue end (size=2) */ |
||
359 | 373 0312 0E94 0000 call CommonDefaults |
||
360 | 374 0316 88E0 ldi r24,lo8(8) |
||
361 | 375 0318 8093 0000 sts EE_Parameter+23,r24 |
||
362 | 376 031c 30E1 ldi r19,lo8(16) |
||
363 | 377 031e 3093 0000 sts EE_Parameter+24,r19 |
||
364 | 378 0322 26E0 ldi r18,lo8(6) |
||
365 | 379 0324 2093 0000 sts EE_Parameter+25,r18 |
||
366 | 380 0328 94E6 ldi r25,lo8(100) |
||
367 | 381 032a 9093 0000 sts EE_Parameter+30,r25 |
||
368 | 382 032e 88E7 ldi r24,lo8(120) |
||
369 | 383 0330 8093 0000 sts EE_Parameter+31,r24 |
||
370 | 384 0334 9093 0000 sts EE_Parameter+33,r25 |
||
371 | 385 0338 8093 0000 sts EE_Parameter+34,r24 |
||
372 | 386 033c 2093 0000 sts EE_Parameter+35,r18 |
||
373 | 387 0340 3093 0000 sts EE_Parameter+40,r19 |
||
374 | 388 0344 86E4 ldi r24,lo8(70) |
||
375 | 389 0346 8093 0000 sts EE_Parameter+64,r24 |
||
376 | 390 034a 8093 0000 sts EE_Parameter+69,r24 |
||
377 | 391 034e A0E0 ldi r26,lo8(EE_Parameter+112) |
||
378 | 392 0350 B0E0 ldi r27,hi8(EE_Parameter+112) |
||
379 | 393 0352 E0E0 ldi r30,lo8(.LC0) |
||
380 | 394 0354 F0E0 ldi r31,hi8(.LC0) |
||
381 | 395 0356 ED01 movw r28,r26 |
||
382 | 396 0358 0190 ld __tmp_reg__,Z+ |
||
383 | 397 035a 0992 st Y+,__tmp_reg__ |
||
384 | 398 035c 2A95 dec r18 |
||
385 | 399 035e 01F4 brne .-8 |
||
386 | 400 0360 6CE7 ldi r22,lo8(124) |
||
387 | 401 0362 70E0 ldi r23,hi8(124) |
||
388 | 402 0364 CD01 movw r24,r26 |
||
389 | 403 0366 8057 subi r24,lo8(-(-112)) |
||
390 | 404 0368 9040 sbci r25,hi8(-(-112)) |
||
391 | 405 036a 0E94 0000 call RAM_Checksum |
||
392 | 406 036e 8093 0000 sts EE_Parameter+124,r24 |
||
393 | 407 /* epilogue: frame size=0 */ |
||
394 | 408 0372 DF91 pop r29 |
||
395 | 409 0374 CF91 pop r28 |
||
396 | 410 0376 0895 ret |
||
397 | 411 /* epilogue end (size=3) */ |
||
398 | 412 /* function ParamSet_DefaultSet2 size 53 (48) */ |
||
399 | 414 .global ParamSet_DefaultSet3 |
||
400 | 416 ParamSet_DefaultSet3: |
||
401 | 417 /* prologue: frame size=0 */ |
||
402 | 418 /* prologue end (size=0) */ |
||
403 | 419 0378 0E94 0000 call CommonDefaults |
||
404 | 420 037c 26E0 ldi r18,lo8(6) |
||
405 | 421 037e 2093 0000 sts EE_Parameter+23,r18 |
||
406 | 422 0382 8AE0 ldi r24,lo8(10) |
||
407 | 423 0384 8093 0000 sts EE_Parameter+24,r24 |
||
408 | 424 0388 84E0 ldi r24,lo8(4) |
||
409 | 425 038a 8093 0000 sts EE_Parameter+25,r24 |
||
410 | 426 038e 94E6 ldi r25,lo8(100) |
||
411 | 427 0390 9093 0000 sts EE_Parameter+30,r25 |
||
412 | 428 0394 88E7 ldi r24,lo8(120) |
||
413 | 429 0396 8093 0000 sts EE_Parameter+31,r24 |
||
414 | 430 039a 9093 0000 sts EE_Parameter+33,r25 |
||
415 | 431 039e 8093 0000 sts EE_Parameter+34,r24 |
||
416 | 432 03a2 2093 0000 sts EE_Parameter+35,r18 |
||
417 | 433 03a6 80E1 ldi r24,lo8(16) |
||
418 | 434 03a8 8093 0000 sts EE_Parameter+40,r24 |
||
419 | 435 03ac 86E4 ldi r24,lo8(70) |
||
420 | 436 03ae 8093 0000 sts EE_Parameter+64,r24 |
||
421 | 437 03b2 8093 0000 sts EE_Parameter+69,r24 |
||
422 | 438 03b6 85E4 ldi r24,lo8(2037604677) |
||
423 | 439 03b8 91E6 ldi r25,hi8(2037604677) |
||
424 | 440 03ba A3E7 ldi r26,hlo8(2037604677) |
||
425 | 441 03bc B9E7 ldi r27,hhi8(2037604677) |
||
426 | 442 03be 8093 0000 sts EE_Parameter+112,r24 |
||
427 | 443 03c2 9093 0000 sts (EE_Parameter+112)+1,r25 |
||
428 | 444 03c6 A093 0000 sts (EE_Parameter+112)+2,r26 |
||
429 | 445 03ca B093 0000 sts (EE_Parameter+112)+3,r27 |
||
430 | 446 03ce 6CE7 ldi r22,lo8(124) |
||
431 | 447 03d0 70E0 ldi r23,hi8(124) |
||
432 | 448 03d2 80E0 ldi r24,lo8(EE_Parameter) |
||
433 | 449 03d4 90E0 ldi r25,hi8(EE_Parameter) |
||
434 | 450 03d6 0E94 0000 call RAM_Checksum |
||
435 | 451 03da 8093 0000 sts EE_Parameter+124,r24 |
||
436 | 452 /* epilogue: frame size=0 */ |
||
437 | 453 03de 0895 ret |
||
438 | 454 /* epilogue end (size=1) */ |
||
439 | 455 /* function ParamSet_DefaultSet3 size 52 (51) */ |
||
440 | 457 .global GetParamByte |
||
441 | 459 GetParamByte: |
||
442 | 460 /* prologue: frame size=0 */ |
||
443 | 461 /* prologue end (size=0) */ |
||
444 | 462 .L40: |
||
445 | 463 03e0 F999 sbic 63-0x20,1 |
||
446 | 464 03e2 00C0 rjmp .L40 |
||
447 | 465 03e4 92BD out (65)+1-0x20,r25 |
||
448 | 466 03e6 81BD out 65-0x20,r24 |
||
449 | 467 /* #APP */ |
||
450 | 468 /* START EEPROM READ CRITICAL SECTION */ |
||
451 | 469 03e8 F89A sbi 31, 0 |
||
452 | 470 03ea 80B5 in r24, 32 |
||
453 | 471 /* END EEPROM READ CRITICAL SECTION */ |
||
454 | 472 |
||
455 | 473 /* #NOAPP */ |
||
456 | 474 03ec 9927 clr r25 |
||
457 | 475 /* epilogue: frame size=0 */ |
||
458 | 476 03ee 0895 ret |
||
459 | 477 /* epilogue end (size=1) */ |
||
460 | 478 /* function GetParamByte size 16 (15) */ |
||
461 | 480 .global SetParamByte |
||
462 | 482 SetParamByte: |
||
463 | 483 /* prologue: frame size=0 */ |
||
464 | 484 /* prologue end (size=0) */ |
||
465 | 485 .L45: |
||
466 | 486 03f0 F999 sbic 63-0x20,1 |
||
467 | 487 03f2 00C0 rjmp .L45 |
||
468 | 488 03f4 1FBA out 63-0x20,__zero_reg__ |
||
469 | 489 03f6 92BD out (65)+1-0x20,r25 |
||
470 | 490 03f8 81BD out 65-0x20,r24 |
||
471 | 491 03fa 60BD out 64-0x20,r22 |
||
472 | 492 /* #APP */ |
||
473 | 493 /* START EEPROM WRITE CRITICAL SECTION */ |
||
474 | 494 03fc 0FB6 in r0, 63 |
||
475 | 495 03fe F894 cli |
||
476 | 496 0400 FA9A sbi 31, 2 |
||
477 | 497 0402 F99A sbi 31, 1 |
||
478 | 498 0404 0FBE out 63, r0 |
||
479 | 499 /* END EEPROM WRITE CRITICAL SECTION */ |
||
480 | 500 /* #NOAPP */ |
||
481 | 501 /* epilogue: frame size=0 */ |
||
482 | 502 0406 0895 ret |
||
483 | 503 /* epilogue end (size=1) */ |
||
484 | 504 /* function SetParamByte size 21 (20) */ |
||
485 | 506 .global GetParamWord |
||
486 | 508 GetParamWord: |
||
487 | 509 /* prologue: frame size=0 */ |
||
488 | 510 /* prologue end (size=0) */ |
||
489 | 511 0408 60E0 ldi r22,lo8(pm(eeprom_read_byte)) |
||
490 | 512 040a 70E0 ldi r23,hi8(pm(eeprom_read_byte)) |
||
491 | 513 040c 0E94 0000 call __eerd_word |
||
492 | 514 /* epilogue: frame size=0 */ |
||
493 | 515 0410 0895 ret |
||
494 | 516 /* epilogue end (size=1) */ |
||
495 | 517 /* function GetParamWord size 5 (4) */ |
||
496 | 519 .global SetParamWord |
||
497 | 521 SetParamWord: |
||
498 | 522 /* prologue: frame size=0 */ |
||
499 | 523 /* prologue end (size=0) */ |
||
500 | 524 0412 40E0 ldi r20,lo8(pm(eeprom_write_byte)) |
||
501 | 525 0414 50E0 ldi r21,hi8(pm(eeprom_write_byte)) |
||
502 | 526 0416 0E94 0000 call __eewr_word |
||
503 | 527 /* epilogue: frame size=0 */ |
||
504 | 528 041a 0895 ret |
||
505 | 529 /* epilogue end (size=1) */ |
||
506 | 530 /* function SetParamWord size 5 (4) */ |
||
507 | 532 .global ParamSet_ReadFromEEProm |
||
508 | 534 ParamSet_ReadFromEEProm: |
||
509 | 535 /* prologue: frame size=0 */ |
||
510 | 536 041c EF92 push r14 |
||
511 | 537 041e FF92 push r15 |
||
512 | 538 0420 0F93 push r16 |
||
513 | 539 0422 1F93 push r17 |
||
514 | 540 0424 CF93 push r28 |
||
515 | 541 /* prologue end (size=5) */ |
||
516 | 542 0426 C82F mov r28,r24 |
||
517 | 543 0428 8150 subi r24,lo8(-(-1)) |
||
518 | 544 042a 8530 cpi r24,lo8(5) |
||
519 | 545 042c 00F0 brlo .L54 |
||
520 | 546 042e C3E0 ldi r28,lo8(3) |
||
521 | 547 .L54: |
||
522 | 548 0430 8DE7 ldi r24,lo8(125) |
||
523 | 549 0432 C89F mul r28,r24 |
||
524 | 550 0434 8001 movw r16,r0 |
||
525 | 551 0436 1124 clr r1 |
||
526 | 552 0438 87EE ldi r24,lo8(-25) |
||
527 | 553 043a E82E mov r14,r24 |
||
528 | 554 043c 8FEF ldi r24,hi8(-25) |
||
529 | 555 043e F82E mov r15,r24 |
||
530 | 556 0440 E00E add r14,r16 |
||
531 | 557 0442 F11E adc r15,r17 |
||
532 | 558 0444 6CE7 ldi r22,lo8(124) |
||
533 | 559 0446 70E0 ldi r23,hi8(124) |
||
534 | 560 0448 C701 movw r24,r14 |
||
535 | 561 044a 0E94 0000 call EEProm_Checksum |
||
536 | 562 044e 682F mov r22,r24 |
||
537 | 563 0450 9801 movw r18,r16 |
||
538 | 564 0452 2D59 subi r18,lo8(-(99)) |
||
539 | 565 0454 3F4F sbci r19,hi8(-(99)) |
||
540 | 566 .L56: |
||
541 | 567 0456 8FB3 in r24,63-0x20 |
||
542 | 568 0458 9927 clr r25 |
||
543 | 569 045a AC01 movw r20,r24 |
||
544 | 570 045c 4270 andi r20,lo8(2) |
||
545 | 571 045e 5070 andi r21,hi8(2) |
||
546 | 572 0460 81FD sbrc r24,1 |
||
547 | 573 0462 00C0 rjmp .L56 |
||
548 | 574 0464 32BD out (65)+1-0x20,r19 |
||
549 | 575 0466 21BD out 65-0x20,r18 |
||
550 | 576 /* #APP */ |
||
551 | 577 /* START EEPROM READ CRITICAL SECTION */ |
||
552 | 578 0468 F89A sbi 31, 0 |
||
553 | 579 046a 80B5 in r24, 32 |
||
554 | 580 /* END EEPROM READ CRITICAL SECTION */ |
||
555 | 581 |
||
556 | 582 /* #NOAPP */ |
||
557 | 583 046c 8617 cp r24,r22 |
||
558 | 584 046e 01F0 breq .L61 |
||
559 | 585 0470 CA01 movw r24,r20 |
||
560 | 586 0472 00C0 rjmp .L53 |
||
561 | 587 .L61: |
||
562 | 588 0474 8FB3 in r24,63-0x20 |
||
563 | 589 0476 9927 clr r25 |
||
564 | 590 0478 9C01 movw r18,r24 |
||
565 | 591 047a 2270 andi r18,lo8(2) |
||
566 | 592 047c 3070 andi r19,hi8(2) |
||
567 | 593 047e 81FD sbrc r24,1 |
||
568 | 594 0480 00C0 rjmp .L61 |
||
569 | 595 0482 F2BC out (65)+1-0x20,r15 |
||
570 | 596 0484 E1BC out 65-0x20,r14 |
||
571 | 597 /* #APP */ |
||
572 | 598 /* START EEPROM READ CRITICAL SECTION */ |
||
573 | 599 0486 F89A sbi 31, 0 |
||
574 | 600 0488 80B5 in r24, 32 |
||
575 | 601 /* END EEPROM READ CRITICAL SECTION */ |
||
576 | 602 |
||
577 | 603 /* #NOAPP */ |
||
578 | 604 048a 8C35 cpi r24,lo8(92) |
||
579 | 605 048c 01F0 breq .L60 |
||
580 | 606 048e C901 movw r24,r18 |
||
581 | 607 0490 00C0 rjmp .L53 |
||
582 | 608 .L60: |
||
583 | 609 0492 8DE7 ldi r24,lo8(125) |
||
584 | 610 0494 C89F mul r28,r24 |
||
585 | 611 0496 C001 movw r24,r0 |
||
586 | 612 0498 1124 clr r1 |
||
587 | 613 049a 4997 sbiw r24,25 |
||
588 | 614 049c 20E0 ldi r18,lo8(pm(eeprom_read_byte)) |
||
589 | 615 049e 30E0 ldi r19,hi8(pm(eeprom_read_byte)) |
||
590 | 616 04a0 4DE7 ldi r20,lo8(125) |
||
591 | 617 04a2 50E0 ldi r21,hi8(125) |
||
592 | 618 04a4 BC01 movw r22,r24 |
||
593 | 619 04a6 80E0 ldi r24,lo8(EE_Parameter) |
||
594 | 620 04a8 90E0 ldi r25,hi8(EE_Parameter) |
||
595 | 621 04aa 0E94 0000 call __eerd_block |
||
596 | 622 04ae 0E94 0000 call LED_Init |
||
597 | 623 04b2 0E94 0000 call LIBFC_HoTT_Clear |
||
598 | 624 04b6 81E0 ldi r24,lo8(1) |
||
599 | 625 04b8 90E0 ldi r25,hi8(1) |
||
600 | 626 .L53: |
||
601 | 627 /* epilogue: frame size=0 */ |
||
602 | 628 04ba CF91 pop r28 |
||
603 | 629 04bc 1F91 pop r17 |
||
604 | 630 04be 0F91 pop r16 |
||
605 | 631 04c0 FF90 pop r15 |
||
606 | 632 04c2 EF90 pop r14 |
||
607 | 633 04c4 0895 ret |
||
608 | 634 /* epilogue end (size=6) */ |
||
609 | 635 /* function ParamSet_ReadFromEEProm size 101 (90) */ |
||
610 | 637 .global SetActiveParamSet |
||
611 | 639 SetActiveParamSet: |
||
612 | 640 /* prologue: frame size=0 */ |
||
613 | 641 /* prologue end (size=0) */ |
||
614 | 642 04c6 282F mov r18,r24 |
||
615 | 643 04c8 8630 cpi r24,lo8(6) |
||
616 | 644 04ca 00F0 brlo .L67 |
||
617 | 645 04cc 25E0 ldi r18,lo8(5) |
||
618 | 646 04ce 00C0 rjmp .L69 |
||
619 | 647 .L67: |
||
620 | 648 04d0 8823 tst r24 |
||
621 | 649 04d2 01F4 brne .L69 |
||
622 | 650 04d4 21E0 ldi r18,lo8(1) |
||
623 | 651 .L69: |
||
624 | 652 04d6 F999 sbic 63-0x20,1 |
||
625 | 653 04d8 00C0 rjmp .L69 |
||
626 | 654 04da 1FBA out 63-0x20,__zero_reg__ |
||
627 | 655 04dc 82E0 ldi r24,lo8(2) |
||
628 | 656 04de 90E0 ldi r25,hi8(2) |
||
629 | 657 04e0 92BD out (65)+1-0x20,r25 |
||
630 | 658 04e2 81BD out 65-0x20,r24 |
||
631 | 659 04e4 20BD out 64-0x20,r18 |
||
632 | 660 /* #APP */ |
||
633 | 661 /* START EEPROM WRITE CRITICAL SECTION */ |
||
634 | 662 04e6 0FB6 in r0, 63 |
||
635 | 663 04e8 F894 cli |
||
636 | 664 04ea FA9A sbi 31, 2 |
||
637 | 665 04ec F99A sbi 31, 1 |
||
638 | 666 04ee 0FBE out 63, r0 |
||
639 | 667 /* END EEPROM WRITE CRITICAL SECTION */ |
||
640 | 668 /* #NOAPP */ |
||
641 | 669 /* epilogue: frame size=0 */ |
||
642 | 670 04f0 0895 ret |
||
643 | 671 /* epilogue end (size=1) */ |
||
644 | 672 /* function SetActiveParamSet size 31 (30) */ |
||
645 | 674 .global ParamSet_WriteToEEProm |
||
646 | 676 ParamSet_WriteToEEProm: |
||
647 | 677 /* prologue: frame size=0 */ |
||
648 | 678 04f2 CF93 push r28 |
||
649 | 679 /* prologue end (size=1) */ |
||
650 | 680 04f4 C82F mov r28,r24 |
||
651 | 681 04f6 8091 0000 lds r24,EE_Parameter |
||
652 | 682 04fa 8C35 cpi r24,lo8(92) |
||
653 | 683 04fc 01F0 breq .+2 |
||
654 | 684 04fe 00C0 rjmp .L74 |
||
655 | 685 0500 C630 cpi r28,lo8(6) |
||
656 | 686 0502 00F0 brlo .L75 |
||
657 | 687 0504 C5E0 ldi r28,lo8(5) |
||
658 | 688 0506 00C0 rjmp .L76 |
||
659 | 689 .L75: |
||
660 | 690 0508 CC23 tst r28 |
||
661 | 691 050a 01F4 brne .+2 |
||
662 | 692 050c 00C0 rjmp .L74 |
||
663 | 693 .L76: |
||
664 | 694 050e 0E94 0000 call LIBFC_CheckSettings |
||
665 | 695 0512 8091 0000 lds r24,EE_Parameter+111 |
||
666 | 696 0516 82FF sbrs r24,2 |
||
667 | 697 0518 00C0 rjmp .L77 |
||
668 | 698 051a 8091 0000 lds r24,EE_Parameter+37 |
||
669 | 699 051e 8436 cpi r24,lo8(100) |
||
670 | 700 0520 00F0 brlo .L77 |
||
671 | 701 0522 80E5 ldi r24,lo8(80) |
||
672 | 702 0524 8093 0000 sts EE_Parameter+37,r24 |
||
673 | 703 .L77: |
||
674 | 704 0528 6CE7 ldi r22,lo8(124) |
||
675 | 705 052a 70E0 ldi r23,hi8(124) |
||
676 | 706 052c 80E0 ldi r24,lo8(EE_Parameter) |
||
677 | 707 052e 90E0 ldi r25,hi8(EE_Parameter) |
||
678 | 708 0530 0E94 0000 call RAM_Checksum |
||
679 | 709 0534 8093 0000 sts EE_Parameter+124,r24 |
||
680 | 710 0538 8DE7 ldi r24,lo8(125) |
||
681 | 711 053a C89F mul r28,r24 |
||
682 | 712 053c C001 movw r24,r0 |
||
683 | 713 053e 1124 clr r1 |
||
684 | 714 0540 20E0 ldi r18,lo8(pm(eeprom_write_byte)) |
||
685 | 715 0542 30E0 ldi r19,hi8(pm(eeprom_write_byte)) |
||
686 | 716 0544 4DE7 ldi r20,lo8(125) |
||
687 | 717 0546 50E0 ldi r21,hi8(125) |
||
688 | 718 0548 60E0 ldi r22,lo8(EE_Parameter) |
||
689 | 719 054a 70E0 ldi r23,hi8(EE_Parameter) |
||
690 | 720 054c 4997 sbiw r24,25 |
||
691 | 721 054e 0E94 0000 call __eewr_block |
||
692 | 722 0552 20E0 ldi r18,lo8(pm(eeprom_write_byte)) |
||
693 | 723 0554 30E0 ldi r19,hi8(pm(eeprom_write_byte)) |
||
694 | 724 0556 4CE0 ldi r20,lo8(12) |
||
695 | 725 0558 50E0 ldi r21,hi8(12) |
||
696 | 726 055a 60E0 ldi r22,lo8(EE_Parameter+1) |
||
697 | 727 055c 70E0 ldi r23,hi8(EE_Parameter+1) |
||
698 | 728 055e 80E5 ldi r24,lo8(80) |
||
699 | 729 0560 90E0 ldi r25,hi8(80) |
||
700 | 730 0562 0E94 0000 call __eewr_block |
||
701 | 731 0566 6CE0 ldi r22,lo8(12) |
||
702 | 732 0568 70E0 ldi r23,hi8(12) |
||
703 | 733 056a 80E0 ldi r24,lo8(EE_Parameter+1) |
||
704 | 734 056c 90E0 ldi r25,hi8(EE_Parameter+1) |
||
705 | 735 056e 0E94 0000 call RAM_Checksum |
||
706 | 736 0572 282F mov r18,r24 |
||
707 | 737 .L81: |
||
708 | 738 0574 F999 sbic 63-0x20,1 |
||
709 | 739 0576 00C0 rjmp .L81 |
||
710 | 740 0578 1FBA out 63-0x20,__zero_reg__ |
||
711 | 741 057a 8CE5 ldi r24,lo8(92) |
||
712 | 742 057c 90E0 ldi r25,hi8(92) |
||
713 | 743 057e 92BD out (65)+1-0x20,r25 |
||
714 | 744 0580 81BD out 65-0x20,r24 |
||
715 | 745 0582 20BD out 64-0x20,r18 |
||
716 | 746 /* #APP */ |
||
717 | 747 /* START EEPROM WRITE CRITICAL SECTION */ |
||
718 | 748 0584 0FB6 in r0, 63 |
||
719 | 749 0586 F894 cli |
||
720 | 750 0588 FA9A sbi 31, 2 |
||
721 | 751 058a F99A sbi 31, 1 |
||
722 | 752 058c 0FBE out 63, r0 |
||
723 | 753 /* END EEPROM WRITE CRITICAL SECTION */ |
||
724 | 754 /* #NOAPP */ |
||
725 | 755 058e 8C2F mov r24,r28 |
||
726 | 756 0590 0E94 0000 call SetActiveParamSet |
||
727 | 757 0594 0E94 0000 call LED_Init |
||
728 | 758 0598 0E94 0000 call LIBFC_HoTT_Clear |
||
729 | 759 059c 81E0 ldi r24,lo8(1) |
||
730 | 760 059e 90E0 ldi r25,hi8(1) |
||
731 | 761 05a0 00C0 rjmp .L73 |
||
732 | 762 .L74: |
||
733 | 763 05a2 80E0 ldi r24,lo8(0) |
||
734 | 764 05a4 90E0 ldi r25,hi8(0) |
||
735 | 765 .L73: |
||
736 | 766 /* epilogue: frame size=0 */ |
||
737 | 767 05a6 CF91 pop r28 |
||
738 | 768 05a8 0895 ret |
||
739 | 769 /* epilogue end (size=2) */ |
||
740 | 770 /* function ParamSet_WriteToEEProm size 101 (98) */ |
||
741 | 772 .global MixerTable_ReadFromEEProm |
||
742 | 774 MixerTable_ReadFromEEProm: |
||
743 | 775 /* prologue: frame size=0 */ |
||
744 | 776 /* prologue end (size=0) */ |
||
745 | 777 05aa 6DE4 ldi r22,lo8(77) |
||
746 | 778 05ac 70E0 ldi r23,hi8(77) |
||
747 | 779 05ae 88EE ldi r24,lo8(1000) |
||
748 | 780 05b0 93E0 ldi r25,hi8(1000) |
||
749 | 781 05b2 0E94 0000 call EEProm_Checksum |
||
750 | 782 05b6 482F mov r20,r24 |
||
751 | 783 .L87: |
||
752 | 784 05b8 8FB3 in r24,63-0x20 |
||
753 | 785 05ba 9927 clr r25 |
||
754 | 786 05bc 9C01 movw r18,r24 |
||
755 | 787 05be 2270 andi r18,lo8(2) |
||
756 | 788 05c0 3070 andi r19,hi8(2) |
||
757 | 789 05c2 81FD sbrc r24,1 |
||
758 | 790 05c4 00C0 rjmp .L87 |
||
759 | 791 05c6 85E3 ldi r24,lo8(1077) |
||
760 | 792 05c8 94E0 ldi r25,hi8(1077) |
||
761 | 793 05ca 92BD out (65)+1-0x20,r25 |
||
762 | 794 05cc 81BD out 65-0x20,r24 |
||
763 | 795 /* #APP */ |
||
764 | 796 /* START EEPROM READ CRITICAL SECTION */ |
||
765 | 797 05ce F89A sbi 31, 0 |
||
766 | 798 05d0 80B5 in r24, 32 |
||
767 | 799 /* END EEPROM READ CRITICAL SECTION */ |
||
768 | 800 |
||
769 | 801 /* #NOAPP */ |
||
770 | 802 05d2 8417 cp r24,r20 |
||
771 | 803 05d4 01F4 brne .L97 |
||
772 | 804 .L92: |
||
773 | 805 05d6 8FB3 in r24,63-0x20 |
||
774 | 806 05d8 9927 clr r25 |
||
775 | 807 05da 9C01 movw r18,r24 |
||
776 | 808 05dc 2270 andi r18,lo8(2) |
||
777 | 809 05de 3070 andi r19,hi8(2) |
||
778 | 810 05e0 81FD sbrc r24,1 |
||
779 | 811 05e2 00C0 rjmp .L92 |
||
780 | 812 05e4 88EE ldi r24,lo8(1000) |
||
781 | 813 05e6 93E0 ldi r25,hi8(1000) |
||
782 | 814 05e8 92BD out (65)+1-0x20,r25 |
||
783 | 815 05ea 81BD out 65-0x20,r24 |
||
784 | 816 /* #APP */ |
||
785 | 817 /* START EEPROM READ CRITICAL SECTION */ |
||
786 | 818 05ec F89A sbi 31, 0 |
||
787 | 819 05ee 80B5 in r24, 32 |
||
788 | 820 /* END EEPROM READ CRITICAL SECTION */ |
||
789 | 821 |
||
790 | 822 /* #NOAPP */ |
||
791 | 823 05f0 8130 cpi r24,lo8(1) |
||
792 | 824 05f2 01F0 breq .L91 |
||
793 | 825 .L97: |
||
794 | 826 05f4 C901 movw r24,r18 |
||
795 | 827 05f6 0895 ret |
||
796 | 828 .L91: |
||
797 | 829 05f8 20E0 ldi r18,lo8(pm(eeprom_read_byte)) |
||
798 | 830 05fa 30E0 ldi r19,hi8(pm(eeprom_read_byte)) |
||
799 | 831 05fc 4EE4 ldi r20,lo8(78) |
||
800 | 832 05fe 50E0 ldi r21,hi8(78) |
||
801 | 833 0600 68EE ldi r22,lo8(1000) |
||
802 | 834 0602 73E0 ldi r23,hi8(1000) |
||
803 | 835 0604 80E0 ldi r24,lo8(Mixer) |
||
804 | 836 0606 90E0 ldi r25,hi8(Mixer) |
||
805 | 837 0608 0E94 0000 call __eerd_block |
||
806 | 838 060c 81E0 ldi r24,lo8(1) |
||
807 | 839 060e 90E0 ldi r25,hi8(1) |
||
808 | 840 0610 0895 ret |
||
809 | 841 /* epilogue: frame size=0 */ |
||
810 | 842 /* epilogue: noreturn */ |
||
811 | 843 /* epilogue end (size=0) */ |
||
812 | 844 /* function MixerTable_ReadFromEEProm size 68 (68) */ |
||
813 | 846 .global MixerTable_WriteToEEProm |
||
814 | 848 MixerTable_WriteToEEProm: |
||
815 | 849 /* prologue: frame size=0 */ |
||
816 | 850 /* prologue end (size=0) */ |
||
817 | 851 0612 8091 0000 lds r24,Mixer |
||
818 | 852 0616 8130 cpi r24,lo8(1) |
||
819 | 853 0618 01F4 brne .L99 |
||
820 | 854 061a 6DE4 ldi r22,lo8(77) |
||
821 | 855 061c 70E0 ldi r23,hi8(77) |
||
822 | 856 061e 80E0 ldi r24,lo8(Mixer) |
||
823 | 857 0620 90E0 ldi r25,hi8(Mixer) |
||
824 | 858 0622 0E94 0000 call RAM_Checksum |
||
825 | 859 0626 8093 0000 sts Mixer+77,r24 |
||
826 | 860 062a 20E0 ldi r18,lo8(pm(eeprom_write_byte)) |
||
827 | 861 062c 30E0 ldi r19,hi8(pm(eeprom_write_byte)) |
||
828 | 862 062e 4EE4 ldi r20,lo8(78) |
||
829 | 863 0630 50E0 ldi r21,hi8(78) |
||
830 | 864 0632 60E0 ldi r22,lo8(Mixer) |
||
831 | 865 0634 70E0 ldi r23,hi8(Mixer) |
||
832 | 866 0636 88EE ldi r24,lo8(1000) |
||
833 | 867 0638 93E0 ldi r25,hi8(1000) |
||
834 | 868 063a 0E94 0000 call __eewr_block |
||
835 | 869 063e 81E0 ldi r24,lo8(1) |
||
836 | 870 0640 90E0 ldi r25,hi8(1) |
||
837 | 871 0642 0895 ret |
||
838 | 872 .L99: |
||
839 | 873 0644 80E0 ldi r24,lo8(0) |
||
840 | 874 0646 90E0 ldi r25,hi8(0) |
||
841 | 875 0648 0895 ret |
||
842 | 876 /* epilogue: frame size=0 */ |
||
843 | 877 /* epilogue: noreturn */ |
||
844 | 878 /* epilogue end (size=0) */ |
||
845 | 879 /* function MixerTable_WriteToEEProm size 28 (28) */ |
||
846 | 881 .data |
||
847 | 882 .LC1: |
||
848 | 883 0007 5175 6164 .string "Quadro" |
||
849 | 883 726F 00 |
||
850 | 884 000e 00 .string "" |
||
851 | 885 000f 00 .string "" |
||
852 | 886 0010 00 .string "" |
||
853 | 887 0011 00 .string "" |
||
854 | 888 0012 00 .string "" |
||
855 | 889 0013 00 .string "" |
||
856 | 890 .text |
||
857 | 891 .global MixerTable_Default |
||
858 | 893 MixerTable_Default: |
||
859 | 894 /* prologue: frame size=0 */ |
||
860 | 895 064a CF93 push r28 |
||
861 | 896 064c DF93 push r29 |
||
862 | 897 /* prologue end (size=2) */ |
||
863 | 898 064e 81E0 ldi r24,lo8(1) |
||
864 | 899 0650 8093 0000 sts Mixer,r24 |
||
865 | 900 0654 E0E0 ldi r30,lo8(Mixer) |
||
866 | 901 0656 F0E0 ldi r31,hi8(Mixer) |
||
867 | 902 0658 8FE0 ldi r24,lo8(15) |
||
868 | 903 .L106: |
||
869 | 904 065a 1586 std Z+13,__zero_reg__ |
||
870 | 905 065c 1686 std Z+14,__zero_reg__ |
||
871 | 906 065e 1786 std Z+15,__zero_reg__ |
||
872 | 907 0660 108A std Z+16,__zero_reg__ |
||
873 | 908 0662 8150 subi r24,lo8(-(-1)) |
||
874 | 909 0664 3496 adiw r30,4 |
||
875 | 910 0666 87FF sbrs r24,7 |
||
876 | 911 0668 00C0 rjmp .L106 |
||
877 | 912 066a 80E4 ldi r24,lo8(64) |
||
878 | 913 066c 8093 0000 sts Mixer+13,r24 |
||
879 | 914 0670 8093 0000 sts Mixer+14,r24 |
||
880 | 915 0674 1092 0000 sts Mixer+15,__zero_reg__ |
||
881 | 916 0678 8093 0000 sts Mixer+16,r24 |
||
882 | 917 067c 8093 0000 sts Mixer+17,r24 |
||
883 | 918 0680 90EC ldi r25,lo8(-64) |
||
884 | 919 0682 9093 0000 sts Mixer+18,r25 |
||
885 | 920 0686 1092 0000 sts Mixer+19,__zero_reg__ |
||
886 | 921 068a 8093 0000 sts Mixer+20,r24 |
||
887 | 922 068e 8093 0000 sts Mixer+21,r24 |
||
888 | 923 0692 1092 0000 sts Mixer+22,__zero_reg__ |
||
889 | 924 0696 9093 0000 sts Mixer+23,r25 |
||
890 | 925 069a 9093 0000 sts Mixer+24,r25 |
||
891 | 926 069e 8093 0000 sts Mixer+25,r24 |
||
892 | 927 06a2 1092 0000 sts Mixer+26,__zero_reg__ |
||
893 | 928 06a6 8093 0000 sts Mixer+27,r24 |
||
894 | 929 06aa 9093 0000 sts Mixer+28,r25 |
||
895 | 930 06ae A0E0 ldi r26,lo8(Mixer+1) |
||
896 | 931 06b0 B0E0 ldi r27,hi8(Mixer+1) |
||
897 | 932 06b2 8CE0 ldi r24,lo8(12) |
||
898 | 933 06b4 E0E0 ldi r30,lo8(.LC1) |
||
899 | 934 06b6 F0E0 ldi r31,hi8(.LC1) |
||
900 | 935 06b8 ED01 movw r28,r26 |
||
901 | 936 06ba 0190 ld __tmp_reg__,Z+ |
||
902 | 937 06bc 0992 st Y+,__tmp_reg__ |
||
903 | 938 06be 8A95 dec r24 |
||
904 | 939 06c0 01F4 brne .-8 |
||
905 | 940 06c2 6DE4 ldi r22,lo8(77) |
||
906 | 941 06c4 70E0 ldi r23,hi8(77) |
||
907 | 942 06c6 CD01 movw r24,r26 |
||
908 | 943 06c8 0197 sbiw r24,1 |
||
909 | 944 06ca 0E94 0000 call RAM_Checksum |
||
910 | 945 06ce 8093 0000 sts Mixer+77,r24 |
||
911 | 946 /* epilogue: frame size=0 */ |
||
912 | 947 06d2 DF91 pop r29 |
||
913 | 948 06d4 CF91 pop r28 |
||
914 | 949 06d6 0895 ret |
||
915 | 950 /* epilogue end (size=3) */ |
||
916 | 951 /* function MixerTable_Default size 71 (66) */ |
||
917 | 953 .global GetActiveParamSet |
||
918 | 955 GetActiveParamSet: |
||
919 | 956 /* prologue: frame size=0 */ |
||
920 | 957 /* prologue end (size=0) */ |
||
921 | 958 .L110: |
||
922 | 959 06d8 F999 sbic 63-0x20,1 |
||
923 | 960 06da 00C0 rjmp .L110 |
||
924 | 961 06dc 82E0 ldi r24,lo8(2) |
||
925 | 962 06de 90E0 ldi r25,hi8(2) |
||
926 | 963 06e0 92BD out (65)+1-0x20,r25 |
||
927 | 964 06e2 81BD out 65-0x20,r24 |
||
928 | 965 /* #APP */ |
||
929 | 966 /* START EEPROM READ CRITICAL SECTION */ |
||
930 | 967 06e4 F89A sbi 31, 0 |
||
931 | 968 06e6 80B5 in r24, 32 |
||
932 | 969 /* END EEPROM READ CRITICAL SECTION */ |
||
933 | 970 |
||
934 | 971 /* #NOAPP */ |
||
935 | 972 06e8 282F mov r18,r24 |
||
936 | 973 06ea 8630 cpi r24,lo8(6) |
||
937 | 974 06ec 00F0 brlo .L114 |
||
938 | 975 06ee 23E0 ldi r18,lo8(3) |
||
939 | 976 06f0 322F mov r19,r18 |
||
940 | 977 .L115: |
||
941 | 978 06f2 F999 sbic 63-0x20,1 |
||
942 | 979 06f4 00C0 rjmp .L115 |
||
943 | 980 06f6 1FBA out 63-0x20,__zero_reg__ |
||
944 | 981 06f8 82E0 ldi r24,lo8(2) |
||
945 | 982 06fa 90E0 ldi r25,hi8(2) |
||
946 | 983 06fc 92BD out (65)+1-0x20,r25 |
||
947 | 984 06fe 81BD out 65-0x20,r24 |
||
948 | 985 0700 30BD out 64-0x20,r19 |
||
949 | 986 /* #APP */ |
||
950 | 987 /* START EEPROM WRITE CRITICAL SECTION */ |
||
951 | 988 0702 0FB6 in r0, 63 |
||
952 | 989 0704 F894 cli |
||
953 | 990 0706 FA9A sbi 31, 2 |
||
954 | 991 0708 F99A sbi 31, 1 |
||
955 | 992 070a 0FBE out 63, r0 |
||
956 | 993 /* END EEPROM WRITE CRITICAL SECTION */ |
||
957 | 994 /* #NOAPP */ |
||
958 | 995 .L114: |
||
959 | 996 070c 822F mov r24,r18 |
||
960 | 997 070e 9927 clr r25 |
||
961 | 998 /* epilogue: frame size=0 */ |
||
962 | 999 0710 0895 ret |
||
963 | 1000 /* epilogue end (size=1) */ |
||
964 | 1001 /* function GetActiveParamSet size 46 (45) */ |
||
965 | 1003 .global SetDefaultParameter |
||
966 | 1005 SetDefaultParameter: |
||
967 | 1006 /* prologue: frame size=0 */ |
||
968 | 1007 0712 1F93 push r17 |
||
969 | 1008 0714 CF93 push r28 |
||
970 | 1009 /* prologue end (size=2) */ |
||
971 | 1010 0716 C82F mov r28,r24 |
||
972 | 1011 0718 162F mov r17,r22 |
||
973 | 1012 071a 8630 cpi r24,lo8(6) |
||
974 | 1013 071c 00F0 brlo .L120 |
||
975 | 1014 071e C5E0 ldi r28,lo8(5) |
||
976 | 1015 0720 00C0 rjmp .L121 |
||
977 | 1016 .L120: |
||
978 | 1017 0722 8823 tst r24 |
||
979 | 1018 0724 01F4 brne .L121 |
||
980 | 1019 0726 C1E0 ldi r28,lo8(1) |
||
981 | 1020 .L121: |
||
982 | 1021 0728 8C2F mov r24,r28 |
||
983 | 1022 072a 9927 clr r25 |
||
984 | 1023 072c 8230 cpi r24,2 |
||
985 | 1024 072e 9105 cpc r25,__zero_reg__ |
||
986 | 1025 0730 01F0 breq .L125 |
||
987 | 1026 0732 8330 cpi r24,3 |
||
988 | 1027 0734 9105 cpc r25,__zero_reg__ |
||
989 | 1028 0736 04F4 brge .L127 |
||
990 | 1029 0738 0197 sbiw r24,1 |
||
991 | 1030 073a 01F4 brne .L127 |
||
992 | 1031 073c 0E94 0000 call ParamSet_DefaultSet1 |
||
993 | 1032 0740 00C0 rjmp .L123 |
||
994 | 1033 .L125: |
||
995 | 1034 0742 0E94 0000 call ParamSet_DefaultSet2 |
||
996 | 1035 0746 00C0 rjmp .L123 |
||
997 | 1036 .L127: |
||
998 | 1037 0748 0E94 0000 call ParamSet_DefaultSet3 |
||
999 | 1038 .L123: |
||
1000 | 1039 074c 1123 tst r17 |
||
1001 | 1040 074e 01F0 breq .L129 |
||
1002 | 1041 0750 6CE0 ldi r22,lo8(12) |
||
1003 | 1042 0752 70E0 ldi r23,hi8(12) |
||
1004 | 1043 0754 80E5 ldi r24,lo8(80) |
||
1005 | 1044 0756 90E0 ldi r25,hi8(80) |
||
1006 | 1045 0758 0E94 0000 call EEProm_Checksum |
||
1007 | 1046 075c 282F mov r18,r24 |
||
1008 | 1047 .L131: |
||
1009 | 1048 075e F999 sbic 63-0x20,1 |
||
1010 | 1049 0760 00C0 rjmp .L131 |
||
1011 | 1050 0762 8CE5 ldi r24,lo8(92) |
||
1012 | 1051 0764 90E0 ldi r25,hi8(92) |
||
1013 | 1052 0766 92BD out (65)+1-0x20,r25 |
||
1014 | 1053 0768 81BD out 65-0x20,r24 |
||
1015 | 1054 /* #APP */ |
||
1016 | 1055 /* START EEPROM READ CRITICAL SECTION */ |
||
1017 | 1056 076a F89A sbi 31, 0 |
||
1018 | 1057 076c 80B5 in r24, 32 |
||
1019 | 1058 /* END EEPROM READ CRITICAL SECTION */ |
||
1020 | 1059 |
||
1021 | 1060 /* #NOAPP */ |
||
1022 | 1061 076e 8217 cp r24,r18 |
||
1023 | 1062 0770 01F4 brne .L129 |
||
1024 | 1063 0772 20E0 ldi r18,lo8(pm(eeprom_read_byte)) |
||
1025 | 1064 0774 30E0 ldi r19,hi8(pm(eeprom_read_byte)) |
||
1026 | 1065 0776 4CE0 ldi r20,lo8(12) |
||
1027 | 1066 0778 50E0 ldi r21,hi8(12) |
||
1028 | 1067 077a 60E5 ldi r22,lo8(80) |
||
1029 | 1068 077c 70E0 ldi r23,hi8(80) |
||
1030 | 1069 077e 80E0 ldi r24,lo8(EE_Parameter+1) |
||
1031 | 1070 0780 90E0 ldi r25,hi8(EE_Parameter+1) |
||
1032 | 1071 0782 0E94 0000 call __eerd_block |
||
1033 | 1072 0786 00C0 rjmp .L137 |
||
1034 | 1073 .L129: |
||
1035 | 1074 0788 0E94 0000 call ParamSet_DefaultStickMapping |
||
1036 | 1075 .L137: |
||
1037 | 1076 078c 8C2F mov r24,r28 |
||
1038 | 1077 078e 0E94 0000 call ParamSet_WriteToEEProm |
||
1039 | 1078 /* epilogue: frame size=0 */ |
||
1040 | 1079 0792 CF91 pop r28 |
||
1041 | 1080 0794 1F91 pop r17 |
||
1042 | 1081 0796 0895 ret |
||
1043 | 1082 /* epilogue end (size=3) */ |
||
1044 | 1083 /* function SetDefaultParameter size 76 (71) */ |
||
1045 | 1085 .section .progmem.data,"a",@progbits |
||
1046 | 1088 __c.0: |
||
1047 | 1089 0000 0A0D 4765 .string "\n\rGenerating default Parameter Set %d" |
||
1048 | 1089 6E65 7261 |
||
1049 | 1089 7469 6E67 |
||
1050 | 1089 2064 6566 |
||
1051 | 1089 6175 6C74 |
||
1052 | 1092 __c.1: |
||
1053 | 1093 0026 0A0D 5573 .string "\n\rUsing Parameter Set %d" |
||
1054 | 1093 696E 6720 |
||
1055 | 1093 5061 7261 |
||
1056 | 1093 6D65 7465 |
||
1057 | 1093 7220 5365 |
||
1058 | 1096 __c.2: |
||
1059 | 1097 003f 0A0D 4765 .string "\n\rGenerating default Mixer Table" |
||
1060 | 1097 6E65 7261 |
||
1061 | 1097 7469 6E67 |
||
1062 | 1097 2064 6566 |
||
1063 | 1097 6175 6C74 |
||
1064 | 1100 __c.3: |
||
1065 | 1101 0060 0A0D 4D69 .string "\n\rMixer-Config: '%s' (%u Motors)" |
||
1066 | 1101 7865 722D |
||
1067 | 1101 436F 6E66 |
||
1068 | 1101 6967 3A20 |
||
1069 | 1101 2725 7327 |
||
1070 | 1102 .text |
||
1071 | 1103 .global ParamSet_Init |
||
1072 | 1105 ParamSet_Init: |
||
1073 | 1106 /* prologue: frame size=0 */ |
||
1074 | 1107 0798 DF92 push r13 |
||
1075 | 1108 079a EF92 push r14 |
||
1076 | 1109 079c FF92 push r15 |
||
1077 | 1110 079e 0F93 push r16 |
||
1078 | 1111 07a0 1F93 push r17 |
||
1079 | 1112 07a2 CF93 push r28 |
||
1080 | 1113 /* prologue end (size=6) */ |
||
1081 | 1114 07a4 FF24 clr r15 |
||
1082 | 1115 07a6 DF2C mov r13,r15 |
||
1083 | 1116 07a8 EF2C mov r14,r15 |
||
1084 | 1117 07aa 81E0 ldi r24,lo8(1) |
||
1085 | 1118 07ac 90E0 ldi r25,hi8(1) |
||
1086 | 1119 07ae 0E94 0000 call GetParamByte |
||
1087 | 1120 07b2 8C35 cpi r24,lo8(92) |
||
1088 | 1121 07b4 01F0 breq .L139 |
||
1089 | 1122 07b6 31E0 ldi r19,lo8(1) |
||
1090 | 1123 07b8 E32E mov r14,r19 |
||
1091 | 1124 .L139: |
||
1092 | 1125 07ba 6CE0 ldi r22,lo8(12) |
||
1093 | 1126 07bc 70E0 ldi r23,hi8(12) |
||
1094 | 1127 07be 80E5 ldi r24,lo8(80) |
||
1095 | 1128 07c0 90E0 ldi r25,hi8(80) |
||
1096 | 1129 07c2 0E94 0000 call EEProm_Checksum |
||
1097 | 1130 07c6 C82F mov r28,r24 |
||
1098 | 1131 .L141: |
||
1099 | 1132 07c8 F999 sbic 63-0x20,1 |
||
1100 | 1133 07ca 00C0 rjmp .L141 |
||
1101 | 1134 07cc 8CE5 ldi r24,lo8(92) |
||
1102 | 1135 07ce 90E0 ldi r25,hi8(92) |
||
1103 | 1136 07d0 92BD out (65)+1-0x20,r25 |
||
1104 | 1137 07d2 81BD out 65-0x20,r24 |
||
1105 | 1138 /* #APP */ |
||
1106 | 1139 /* START EEPROM READ CRITICAL SECTION */ |
||
1107 | 1140 07d4 F89A sbi 31, 0 |
||
1108 | 1141 07d6 80B5 in r24, 32 |
||
1109 | 1142 /* END EEPROM READ CRITICAL SECTION */ |
||
1110 | 1143 |
||
1111 | 1144 /* #NOAPP */ |
||
1112 | 1145 07d8 8C17 cp r24,r28 |
||
1113 | 1146 07da 01F4 brne .L140 |
||
1114 | 1147 07dc 21E0 ldi r18,lo8(1) |
||
1115 | 1148 07de D22E mov r13,r18 |
||
1116 | 1149 .L140: |
||
1117 | 1150 07e0 C1E0 ldi r28,lo8(1) |
||
1118 | 1151 07e2 01E0 ldi r16,lo8(1) |
||
1119 | 1152 07e4 10E0 ldi r17,hi8(1) |
||
1120 | 1153 .L159: |
||
1121 | 1154 07e6 EE20 tst r14 |
||
1122 | 1155 07e8 01F4 brne .L149 |
||
1123 | 1156 07ea 8C2F mov r24,r28 |
||
1124 | 1157 07ec 0E94 0000 call ParamSet_ReadFromEEProm |
||
1125 | 1158 07f0 8823 tst r24 |
||
1126 | 1159 07f2 01F4 brne .L147 |
||
1127 | 1160 .L149: |
||
1128 | 1161 07f4 91E0 ldi r25,lo8(1) |
||
1129 | 1162 07f6 F92E mov r15,r25 |
||
1130 | 1163 07f8 1F93 push r17 |
||
1131 | 1164 07fa 0F93 push r16 |
||
1132 | 1165 07fc 80E0 ldi r24,lo8(__c.0) |
||
1133 | 1166 07fe 90E0 ldi r25,hi8(__c.0) |
||
1134 | 1167 0800 9F93 push r25 |
||
1135 | 1168 0802 8F93 push r24 |
||
1136 | 1169 0804 80E0 ldi r24,lo8(pm(uart_putchar)) |
||
1137 | 1170 0806 90E0 ldi r25,hi8(pm(uart_putchar)) |
||
1138 | 1171 0808 9F93 push r25 |
||
1139 | 1172 080a 8F93 push r24 |
||
1140 | 1173 080c E091 0000 lds r30,_printf_P |
||
1141 | 1174 0810 F091 0000 lds r31,(_printf_P)+1 |
||
1142 | 1175 0814 0995 icall |
||
1143 | 1176 0816 2DB7 in r18,__SP_L__ |
||
1144 | 1177 0818 3EB7 in r19,__SP_H__ |
||
1145 | 1178 081a 2A5F subi r18,lo8(-(6)) |
||
1146 | 1179 081c 3F4F sbci r19,hi8(-(6)) |
||
1147 | 1180 081e 2DBF out __SP_L__,r18 |
||
1148 | 1181 0820 0230 cpi r16,2 |
||
1149 | 1182 0822 1105 cpc r17,__zero_reg__ |
||
1150 | 1183 0824 01F0 breq .L152 |
||
1151 | 1184 0826 0330 cpi r16,3 |
||
1152 | 1185 0828 1105 cpc r17,__zero_reg__ |
||
1153 | 1186 082a 04F4 brge .L154 |
||
1154 | 1187 082c 0130 cpi r16,1 |
||
1155 | 1188 082e 1105 cpc r17,__zero_reg__ |
||
1156 | 1189 0830 01F4 brne .L154 |
||
1157 | 1190 0832 0E94 0000 call ParamSet_DefaultSet1 |
||
1158 | 1191 0836 00C0 rjmp .L150 |
||
1159 | 1192 .L152: |
||
1160 | 1193 0838 0E94 0000 call ParamSet_DefaultSet2 |
||
1161 | 1194 083c 00C0 rjmp .L150 |
||
1162 | 1195 .L154: |
||
1163 | 1196 083e 0E94 0000 call ParamSet_DefaultSet3 |
||
1164 | 1197 .L150: |
||
1165 | 1198 0842 DD20 tst r13 |
||
1166 | 1199 0844 01F0 breq .L156 |
||
1167 | 1200 0846 20E0 ldi r18,lo8(pm(eeprom_read_byte)) |
||
1168 | 1201 0848 30E0 ldi r19,hi8(pm(eeprom_read_byte)) |
||
1169 | 1202 084a 4CE0 ldi r20,lo8(12) |
||
1170 | 1203 084c 50E0 ldi r21,hi8(12) |
||
1171 | 1204 084e 60E5 ldi r22,lo8(80) |
||
1172 | 1205 0850 70E0 ldi r23,hi8(80) |
||
1173 | 1206 0852 80E0 ldi r24,lo8(EE_Parameter+1) |
||
1174 | 1207 0854 90E0 ldi r25,hi8(EE_Parameter+1) |
||
1175 | 1208 0856 0E94 0000 call __eerd_block |
||
1176 | 1209 085a 00C0 rjmp .L158 |
||
1177 | 1210 .L156: |
||
1178 | 1211 085c 0E94 0000 call ParamSet_DefaultStickMapping |
||
1179 | 1212 .L158: |
||
1180 | 1213 0860 8C2F mov r24,r28 |
||
1181 | 1214 0862 0E94 0000 call ParamSet_WriteToEEProm |
||
1182 | 1215 .L147: |
||
1183 | 1216 0866 CF5F subi r28,lo8(-(1)) |
||
1184 | 1217 0868 0F5F subi r16,lo8(-(1)) |
||
1185 | 1218 086a 1F4F sbci r17,hi8(-(1)) |
||
1186 | 1219 086c C630 cpi r28,lo8(6) |
||
1187 | 1220 086e 00F4 brsh .+2 |
||
1188 | 1221 0870 00C0 rjmp .L159 |
||
1189 | 1222 0872 FF20 tst r15 |
||
1190 | 1223 0874 01F0 breq .L160 |
||
1191 | 1224 0876 83E0 ldi r24,lo8(3) |
||
1192 | 1225 0878 0E94 0000 call SetActiveParamSet |
||
1193 | 1226 .L160: |
||
1194 | 1227 087c 0E94 0000 call GetActiveParamSet |
||
1195 | 1228 0880 C82F mov r28,r24 |
||
1196 | 1229 0882 0E94 0000 call ParamSet_ReadFromEEProm |
||
1197 | 1230 0886 8C2F mov r24,r28 |
||
1198 | 1231 0888 9927 clr r25 |
||
1199 | 1232 088a 9F93 push r25 |
||
1200 | 1233 088c 8F93 push r24 |
||
1201 | 1234 088e 80E0 ldi r24,lo8(__c.1) |
||
1202 | 1235 0890 90E0 ldi r25,hi8(__c.1) |
||
1203 | 1236 0892 9F93 push r25 |
||
1204 | 1237 0894 8F93 push r24 |
||
1205 | 1238 0896 00E0 ldi r16,lo8(pm(uart_putchar)) |
||
1206 | 1239 0898 10E0 ldi r17,hi8(pm(uart_putchar)) |
||
1207 | 1240 089a 1F93 push r17 |
||
1208 | 1241 089c 0F93 push r16 |
||
1209 | 1242 089e E091 0000 lds r30,_printf_P |
||
1210 | 1243 08a2 F091 0000 lds r31,(_printf_P)+1 |
||
1211 | 1244 08a6 0995 icall |
||
1212 | 1245 08a8 81E0 ldi r24,lo8(1) |
||
1213 | 1246 08aa 90E0 ldi r25,hi8(1) |
||
1214 | 1247 08ac 0E94 0000 call GetParamByte |
||
1215 | 1248 08b0 2DB7 in r18,__SP_L__ |
||
1216 | 1249 08b2 3EB7 in r19,__SP_H__ |
||
1217 | 1250 08b4 2A5F subi r18,lo8(-(6)) |
||
1218 | 1251 08b6 3F4F sbci r19,hi8(-(6)) |
||
1219 | 1252 08b8 2DBF out __SP_L__,r18 |
||
1220 | 1253 08ba 8F3F cpi r24,lo8(-1) |
||
1221 | 1254 08bc 01F0 breq .L162 |
||
1222 | 1255 08be 0E94 0000 call MixerTable_ReadFromEEProm |
||
1223 | 1256 08c2 8823 tst r24 |
||
1224 | 1257 08c4 01F4 brne .L161 |
||
1225 | 1258 .L162: |
||
1226 | 1259 08c6 80E0 ldi r24,lo8(__c.2) |
||
1227 | 1260 08c8 90E0 ldi r25,hi8(__c.2) |
||
1228 | 1261 08ca 9F93 push r25 |
||
1229 | 1262 08cc 8F93 push r24 |
||
1230 | 1263 08ce 1F93 push r17 |
||
1231 | 1264 08d0 0F93 push r16 |
||
1232 | 1265 08d2 E091 0000 lds r30,_printf_P |
||
1233 | 1266 08d6 F091 0000 lds r31,(_printf_P)+1 |
||
1234 | 1267 08da 0995 icall |
||
1235 | 1268 08dc 0E94 0000 call MixerTable_Default |
||
1236 | 1269 08e0 0E94 0000 call MixerTable_WriteToEEProm |
||
1237 | 1270 08e4 0F90 pop __tmp_reg__ |
||
1238 | 1271 08e6 0F90 pop __tmp_reg__ |
||
1239 | 1272 08e8 0F90 pop __tmp_reg__ |
||
1240 | 1273 08ea 0F90 pop __tmp_reg__ |
||
1241 | 1274 .L161: |
||
1242 | 1275 08ec EE20 tst r14 |
||
1243 | 1276 08ee 01F0 breq .L163 |
||
1244 | 1277 08f0 6CE5 ldi r22,lo8(92) |
||
1245 | 1278 08f2 81E0 ldi r24,lo8(1) |
||
1246 | 1279 08f4 90E0 ldi r25,hi8(1) |
||
1247 | 1280 08f6 0E94 0000 call SetParamByte |
||
1248 | 1281 .L163: |
||
1249 | 1282 08fa 1092 0000 sts RequiredMotors,__zero_reg__ |
||
1250 | 1283 08fe 90E0 ldi r25,lo8(0) |
||
1251 | 1284 0900 E0E0 ldi r30,lo8(Mixer+13) |
||
1252 | 1285 0902 F0E0 ldi r31,hi8(Mixer+13) |
||
1253 | 1286 0904 CFE0 ldi r28,lo8(15) |
||
1254 | 1287 .L168: |
||
1255 | 1288 0906 8081 ld r24,Z |
||
1256 | 1289 0908 3496 adiw r30,4 |
||
1257 | 1290 090a 1816 cp __zero_reg__,r24 |
||
1258 | 1291 090c 04F4 brge .L166 |
||
1259 | 1292 090e 9F5F subi r25,lo8(-(1)) |
||
1260 | 1293 .L166: |
||
1261 | 1294 0910 C150 subi r28,lo8(-(-1)) |
||
1262 | 1295 0912 C7FF sbrs r28,7 |
||
1263 | 1296 0914 00C0 rjmp .L168 |
||
1264 | 1297 0916 9093 0000 sts RequiredMotors,r25 |
||
1265 | 1298 091a 892F mov r24,r25 |
||
1266 | 1299 091c 9927 clr r25 |
||
1267 | 1300 091e 9F93 push r25 |
||
1268 | 1301 0920 8F93 push r24 |
||
1269 | 1302 0922 80E0 ldi r24,lo8(Mixer+1) |
||
1270 | 1303 0924 90E0 ldi r25,hi8(Mixer+1) |
||
1271 | 1304 0926 9F93 push r25 |
||
1272 | 1305 0928 8F93 push r24 |
||
1273 | 1306 092a 80E0 ldi r24,lo8(__c.3) |
||
1274 | 1307 092c 90E0 ldi r25,hi8(__c.3) |
||
1275 | 1308 092e 9F93 push r25 |
||
1276 | 1309 0930 8F93 push r24 |
||
1277 | 1310 0932 1F93 push r17 |
||
1278 | 1311 0934 0F93 push r16 |
||
1279 | 1312 0936 E091 0000 lds r30,_printf_P |
||
1280 | 1313 093a F091 0000 lds r31,(_printf_P)+1 |
||
1281 | 1314 093e 0995 icall |
||
1282 | 1315 0940 0E94 0000 call PrintLine |
||
1283 | 1316 0944 8DB7 in r24,__SP_L__ |
||
1284 | 1317 0946 9EB7 in r25,__SP_H__ |
||
1285 | 1318 0948 0896 adiw r24,8 |
||
1286 | 1319 094a 8DBF out __SP_L__,r24 |
||
1287 | 1320 /* epilogue: frame size=0 */ |
||
1288 | 1321 094c CF91 pop r28 |
||
1289 | 1322 094e 1F91 pop r17 |
||
1290 | 1323 0950 0F91 pop r16 |
||
1291 | 1324 0952 FF90 pop r15 |
||
1292 | 1325 0954 EF90 pop r14 |
||
1293 | 1326 0956 DF90 pop r13 |
||
1294 | 1327 0958 0895 ret |
||
1295 | 1328 /* epilogue end (size=7) */ |
||
1296 | 1329 /* function ParamSet_Init size 233 (220) */ |
||
1297 | 1331 .comm Mixer,78,1 |
||
1298 | 1332 .comm RequiredMotors,1,1 |
||
1299 | 1333 .comm EE_Parameter,125,1 |
||
1300 | 1334 /* File "eeprom.c": code 1323 = 0x052b (1267), prologues 18, epilogues 38 */ |
||
1301 | DEFINED SYMBOLS |
||
1302 | *ABS*:00000000 eeprom.c |
||
1303 | C:\Temp/ccwtIpkf.s:3 *ABS*:0000003f __SREG__ |
||
1304 | C:\Temp/ccwtIpkf.s:4 *ABS*:0000003e __SP_H__ |
||
1305 | C:\Temp/ccwtIpkf.s:5 *ABS*:0000003d __SP_L__ |
||
1306 | C:\Temp/ccwtIpkf.s:6 *ABS*:00000000 __tmp_reg__ |
||
1307 | C:\Temp/ccwtIpkf.s:7 *ABS*:00000001 __zero_reg__ |
||
1308 | C:\Temp/ccwtIpkf.s:12 .text:00000000 eeprom_read_byte |
||
1309 | C:\Temp/ccwtIpkf.s:34 .text:00000010 eeprom_write_byte |
||
1310 | C:\Temp/ccwtIpkf.s:60 .text:00000028 RAM_Checksum |
||
1311 | C:\Temp/ccwtIpkf.s:88 .text:0000004a EEProm_Checksum |
||
1312 | C:\Temp/ccwtIpkf.s:128 .text:0000007a ParamSet_DefaultStickMapping |
||
1313 | *COM*:0000007d EE_Parameter |
||
1314 | C:\Temp/ccwtIpkf.s:162 .text:000000c4 CommonDefaults |
||
1315 | C:\Temp/ccwtIpkf.s:320 .text:000002a4 ParamSet_DefaultSet1 |
||
1316 | C:\Temp/ccwtIpkf.s:368 .text:0000030e ParamSet_DefaultSet2 |
||
1317 | C:\Temp/ccwtIpkf.s:416 .text:00000378 ParamSet_DefaultSet3 |
||
1318 | C:\Temp/ccwtIpkf.s:459 .text:000003e0 GetParamByte |
||
1319 | C:\Temp/ccwtIpkf.s:482 .text:000003f0 SetParamByte |
||
1320 | C:\Temp/ccwtIpkf.s:508 .text:00000408 GetParamWord |
||
1321 | C:\Temp/ccwtIpkf.s:521 .text:00000412 SetParamWord |
||
1322 | C:\Temp/ccwtIpkf.s:534 .text:0000041c ParamSet_ReadFromEEProm |
||
1323 | C:\Temp/ccwtIpkf.s:639 .text:000004c6 SetActiveParamSet |
||
1324 | C:\Temp/ccwtIpkf.s:676 .text:000004f2 ParamSet_WriteToEEProm |
||
1325 | C:\Temp/ccwtIpkf.s:774 .text:000005aa MixerTable_ReadFromEEProm |
||
1326 | *COM*:0000004e Mixer |
||
1327 | C:\Temp/ccwtIpkf.s:848 .text:00000612 MixerTable_WriteToEEProm |
||
1328 | C:\Temp/ccwtIpkf.s:893 .text:0000064a MixerTable_Default |
||
1329 | C:\Temp/ccwtIpkf.s:955 .text:000006d8 GetActiveParamSet |
||
1330 | C:\Temp/ccwtIpkf.s:1005 .text:00000712 SetDefaultParameter |
||
1331 | C:\Temp/ccwtIpkf.s:1088 .progmem.data:00000000 __c.0 |
||
1332 | C:\Temp/ccwtIpkf.s:1092 .progmem.data:00000026 __c.1 |
||
1333 | C:\Temp/ccwtIpkf.s:1096 .progmem.data:0000003f __c.2 |
||
1334 | C:\Temp/ccwtIpkf.s:1100 .progmem.data:00000060 __c.3 |
||
1335 | C:\Temp/ccwtIpkf.s:1105 .text:00000798 ParamSet_Init |
||
1336 | *COM*:00000001 RequiredMotors |
||
1337 | |||
1338 | UNDEFINED SYMBOLS |
||
1339 | __do_copy_data |
||
1340 | __do_clear_bss |
||
1341 | PlatinenVersion |
||
1342 | __eerd_word |
||
1343 | __eewr_word |
||
1344 | __eerd_block |
||
1345 | LED_Init |
||
1346 | LIBFC_HoTT_Clear |
||
1347 | LIBFC_CheckSettings |
||
1348 | __eewr_block |
||
1349 | uart_putchar |
||
1350 | _printf_P |
||
1351 | PrintLine |