Go to most recent revision | Blame | Last modification | View Log | RSS feed
1 .file "eeprom.c"
2 .arch atmega644p
3 __SREG__ = 0x3f
4 __SP_H__ = 0x3e
5 __SP_L__ = 0x3d
6 __tmp_reg__ = 0
7 __zero_reg__ = 1
8 .global __do_copy_data
9 .global __do_clear_bss
10 .text
11 .global RAM_Checksum
13 RAM_Checksum:
14 /* prologue: frame size=0 */
15 /* prologue end (size=0) */
16 0000 4AEA ldi r20,lo8(-86)
17 0002 20E0 ldi r18,lo8(0)
18 0004 30E0 ldi r19,hi8(0)
19 0006 2617 cp r18,r22
20 0008 3707 cpc r19,r23
21 000a 40F4 brsh .L7
22 000c FC01 movw r30,r24
23 .L5:
24 000e 8191 ld r24,Z+
25 0010 480F add r20,r24
26 0012 2F5F subi r18,lo8(-(1))
27 0014 3F4F sbci r19,hi8(-(1))
28 0016 2617 cp r18,r22
29 0018 3707 cpc r19,r23
30 001a C8F3 brlo .L5
31 .L7:
32 001c 842F mov r24,r20
33 001e 9927 clr r25
34 /* epilogue: frame size=0 */
35 0020 0895 ret
36 /* epilogue end (size=1) */
37 /* function RAM_Checksum size 17 (16) */
39 .global EEProm_Checksum
41 EEProm_Checksum:
42 /* prologue: frame size=0 */
43 /* prologue end (size=0) */
44 0022 AC01 movw r20,r24
45 0024 9AEA ldi r25,lo8(-86)
46 0026 20E0 ldi r18,lo8(0)
47 0028 30E0 ldi r19,hi8(0)
48 .L16:
49 002a 2617 cp r18,r22
50 002c 3707 cpc r19,r23
51 002e 50F4 brsh .L15
52 0030 DA01 movw r26,r20
53 0032 A20F add r26,r18
54 0034 B31F adc r27,r19
55 /* #APP */
56 0036 0E94 0000 call __eeprom_read_byte_1F2021
57 003a 802D mov r24,__tmp_reg__
58 /* #NOAPP */
59 003c 980F add r25,r24
60 003e 2F5F subi r18,lo8(-(1))
61 0040 3F4F sbci r19,hi8(-(1))
62 0042 F3CF rjmp .L16
63 .L15:
64 0044 892F mov r24,r25
65 0046 9927 clr r25
66 /* epilogue: frame size=0 */
67 0048 0895 ret
68 /* epilogue end (size=1) */
69 /* function EEProm_Checksum size 21 (20) */
71 .global ParamSet_DefaultStickMapping
73 ParamSet_DefaultStickMapping:
74 /* prologue: frame size=0 */
75 /* prologue end (size=0) */
76 004a 81E0 ldi r24,lo8(1)
77 004c 8093 0000 sts EE_Parameter+3,r24
78 0050 82E0 ldi r24,lo8(2)
79 0052 8093 0000 sts EE_Parameter+2,r24
80 0056 83E0 ldi r24,lo8(3)
81 0058 8093 0000 sts EE_Parameter+1,r24
82 005c 84E0 ldi r24,lo8(4)
83 005e 8093 0000 sts EE_Parameter+4,r24
84 0062 85E0 ldi r24,lo8(5)
85 0064 8093 0000 sts EE_Parameter+5,r24
86 0068 86E0 ldi r24,lo8(6)
87 006a 8093 0000 sts EE_Parameter+6,r24
88 006e 87E0 ldi r24,lo8(7)
89 0070 8093 0000 sts EE_Parameter+7,r24
90 0074 88E0 ldi r24,lo8(8)
91 0076 8093 0000 sts EE_Parameter+8,r24
92 007a 89E0 ldi r24,lo8(9)
93 007c 8093 0000 sts EE_Parameter+9,r24
94 0080 8AE0 ldi r24,lo8(10)
95 0082 8093 0000 sts EE_Parameter+10,r24
96 0086 8BE0 ldi r24,lo8(11)
97 0088 8093 0000 sts EE_Parameter+11,r24
98 008c 8CE0 ldi r24,lo8(12)
99 008e 8093 0000 sts EE_Parameter+12,r24
100 /* epilogue: frame size=0 */
101 0092 0895 ret
102 /* epilogue end (size=1) */
103 /* function ParamSet_DefaultStickMapping size 37 (36) */
105 .global CommonDefaults
107 CommonDefaults:
108 /* prologue: frame size=0 */
109 /* prologue end (size=0) */
110 0094 95E5 ldi r25,lo8(85)
111 0096 9093 0000 sts EE_Parameter,r25
112 009a 8091 0000 lds r24,PlatinenVersion
113 009e 8431 cpi r24,lo8(20)
114 00a0 70F0 brlo .L19
115 00a2 8AE0 ldi r24,lo8(10)
116 00a4 8093 0000 sts EE_Parameter+32,r24
117 00a8 1092 0000 sts EE_Parameter+68,__zero_reg__
118 00ac 8BE1 ldi r24,lo8(27)
119 00ae 8093 0000 sts EE_Parameter+28,r24
120 00b2 8EE4 ldi r24,lo8(78)
121 00b4 8093 0000 sts EE_Parameter+65,r24
122 00b8 8093 0000 sts EE_Parameter+66,r24
123 00bc 0DC0 rjmp .L20
124 .L19:
125 00be 83E0 ldi r24,lo8(3)
126 00c0 8093 0000 sts EE_Parameter+32,r24
127 00c4 80E2 ldi r24,lo8(32)
128 00c6 8093 0000 sts EE_Parameter+68,r24
129 00ca 8EE1 ldi r24,lo8(30)
130 00cc 8093 0000 sts EE_Parameter+28,r24
131 00d0 9093 0000 sts EE_Parameter+65,r25
132 00d4 9093 0000 sts EE_Parameter+66,r25
133 .L20:
134 00d8 8AE6 ldi r24,lo8(106)
135 00da 8093 0000 sts EE_Parameter+13,r24
136 00de 83E0 ldi r24,lo8(3)
137 00e0 8093 0000 sts EE_Parameter+102,r24
138 00e4 81E0 ldi r24,lo8(1)
139 00e6 8093 0000 sts EE_Parameter+39,r24
140 00ea 1092 0000 sts EE_Parameter+99,__zero_reg__
141 00ee 1092 0000 sts EE_Parameter+96,__zero_reg__
142 00f2 68E0 ldi r22,lo8(8)
143 00f4 6093 0000 sts EE_Parameter+26,r22
144 00f8 86EE ldi r24,lo8(-26)
145 00fa 8093 0000 sts EE_Parameter+27,r24
146 00fe 80E8 ldi r24,lo8(-128)
147 0100 8093 0000 sts EE_Parameter+29,r24
148 0104 5EE1 ldi r21,lo8(30)
149 0106 5093 0000 sts EE_Parameter+14,r21
150 010a 8FEF ldi r24,lo8(-1)
151 010c 8093 0000 sts EE_Parameter+16,r24
152 0110 9FE0 ldi r25,lo8(15)
153 0112 9093 0000 sts EE_Parameter+17,r25
154 0116 5093 0000 sts EE_Parameter+15,r21
155 011a 1092 0000 sts EE_Parameter+19,__zero_reg__
156 011e 6093 0000 sts EE_Parameter+20,r22
157 0122 80E4 ldi r24,lo8(64)
158 0124 8093 0000 sts EE_Parameter+21,r24
159 0128 1092 0000 sts EE_Parameter+22,__zero_reg__
160 012c 9093 0000 sts EE_Parameter+18,r25
161 0130 1092 0000 sts EE_Parameter+41,__zero_reg__
162 0134 1092 0000 sts EE_Parameter+42,__zero_reg__
163 0138 1092 0000 sts EE_Parameter+43,__zero_reg__
164 013c 1092 0000 sts EE_Parameter+44,__zero_reg__
165 0140 1092 0000 sts EE_Parameter+70,__zero_reg__
166 0144 1092 0000 sts EE_Parameter+71,__zero_reg__
167 0148 1092 0000 sts EE_Parameter+72,__zero_reg__
168 014c 1092 0000 sts EE_Parameter+73,__zero_reg__
169 0150 38E7 ldi r19,lo8(120)
170 0152 3093 0000 sts EE_Parameter+45,r19
171 0156 48E2 ldi r20,lo8(40)
172 0158 4093 0000 sts EE_Parameter+46,r20
173 015c 72E0 ldi r23,lo8(2)
174 015e 7093 0000 sts EE_Parameter+101,r23
175 0162 9093 0000 sts EE_Parameter+47,r25
176 0166 27EF ldi r18,lo8(-9)
177 0168 2093 0000 sts EE_Parameter+48,r18
178 016c 85E0 ldi r24,lo8(5)
179 016e 8093 0000 sts EE_Parameter+53,r24
180 0172 8DE7 ldi r24,lo8(125)
181 0174 8093 0000 sts EE_Parameter+56,r24
182 0178 8093 0000 sts EE_Parameter+57,r24
183 017c 8093 0000 sts EE_Parameter+58,r24
184 0180 3093 0000 sts EE_Parameter+49,r19
185 0184 9AE5 ldi r25,lo8(90)
186 0186 9093 0000 sts EE_Parameter+50,r25
187 018a 1092 0000 sts EE_Parameter+51,__zero_reg__
188 018e 2093 0000 sts EE_Parameter+52,r18
189 0192 4093 0000 sts EE_Parameter+54,r20
190 0196 1092 0000 sts EE_Parameter+55,__zero_reg__
191 019a 8FE5 ldi r24,lo8(95)
192 019c 8093 0000 sts EE_Parameter+74,r24
193 01a0 83EF ldi r24,lo8(-13)
194 01a2 8093 0000 sts EE_Parameter+76,r24
195 01a6 8AEA ldi r24,lo8(-86)
196 01a8 8093 0000 sts EE_Parameter+78,r24
197 01ac 8093 0000 sts EE_Parameter+79,r24
198 01b0 84E1 ldi r24,lo8(20)
199 01b2 8093 0000 sts EE_Parameter+75,r24
200 01b6 8093 0000 sts EE_Parameter+77,r24
201 01ba 82E3 ldi r24,lo8(50)
202 01bc 8093 0000 sts EE_Parameter+59,r24
203 01c0 9093 0000 sts EE_Parameter+60,r25
204 01c4 8093 0000 sts EE_Parameter+61,r24
205 01c8 1092 0000 sts EE_Parameter+100,__zero_reg__
206 01cc 8EEF ldi r24,lo8(-2)
207 01ce 8093 0000 sts EE_Parameter+80,r24
208 01d2 24E6 ldi r18,lo8(100)
209 01d4 2093 0000 sts EE_Parameter+81,r18
210 01d8 9093 0000 sts EE_Parameter+82,r25
211 01dc 9093 0000 sts EE_Parameter+83,r25
212 01e0 9093 0000 sts EE_Parameter+84,r25
213 01e4 8BE4 ldi r24,lo8(75)
214 01e6 8093 0000 sts EE_Parameter+85,r24
215 01ea 8093 0000 sts EE_Parameter+86,r24
216 01ee 8093 0000 sts EE_Parameter+87,r24
217 01f2 1092 0000 sts EE_Parameter+88,__zero_reg__
218 01f6 86E0 ldi r24,lo8(6)
219 01f8 8093 0000 sts EE_Parameter+89,r24
220 01fc 6093 0000 sts EE_Parameter+90,r22
221 0200 9093 0000 sts EE_Parameter+91,r25
222 0204 5093 0000 sts EE_Parameter+92,r21
223 0208 2093 0000 sts EE_Parameter+93,r18
224 020c 2093 0000 sts EE_Parameter+94,r18
225 0210 7093 0000 sts EE_Parameter+95,r23
226 0214 1092 0000 sts EE_Parameter+97,__zero_reg__
227 0218 1092 0000 sts EE_Parameter+98,__zero_reg__
228 021c 81E2 ldi r24,lo8(33)
229 021e 8093 0000 sts EE_Parameter+36,r24
230 0222 8DE2 ldi r24,lo8(45)
231 0224 8093 0000 sts EE_Parameter+37,r24
232 0228 9093 0000 sts EE_Parameter+38,r25
233 /* epilogue: frame size=0 */
234 022c 0895 ret
235 /* epilogue end (size=1) */
236 /* function CommonDefaults size 205 (204) */
238 .data
239 .LC0:
240 0000 5370 6F72 .string "Sport"
240 7400
241 0006 00 .string ""
242 .text
243 .global ParamSet_DefaultSet1
245 ParamSet_DefaultSet1:
246 /* prologue: frame size=0 */
247 022e CF93 push r28
248 0230 DF93 push r29
249 /* prologue end (size=2) */
250 0232 0E94 0000 call CommonDefaults
251 0236 8EE0 ldi r24,lo8(14)
252 0238 8093 0000 sts EE_Parameter+23,r24
253 023c 20E1 ldi r18,lo8(16)
254 023e 2093 0000 sts EE_Parameter+24,r18
255 0242 3CE0 ldi r19,lo8(12)
256 0244 3093 0000 sts EE_Parameter+25,r19
257 0248 90E5 ldi r25,lo8(80)
258 024a 9093 0000 sts EE_Parameter+30,r25
259 024e 86E9 ldi r24,lo8(-106)
260 0250 8093 0000 sts EE_Parameter+31,r24
261 0254 9093 0000 sts EE_Parameter+33,r25
262 0258 8093 0000 sts EE_Parameter+34,r24
263 025c 86E0 ldi r24,lo8(6)
264 025e 8093 0000 sts EE_Parameter+35,r24
265 0262 80E2 ldi r24,lo8(32)
266 0264 8093 0000 sts EE_Parameter+40,r24
267 0268 8AE5 ldi r24,lo8(90)
268 026a 8093 0000 sts EE_Parameter+62,r24
269 026e 9093 0000 sts EE_Parameter+63,r25
270 0272 81E0 ldi r24,lo8(1)
271 0274 8093 0000 sts EE_Parameter+64,r24
272 0278 2093 0000 sts EE_Parameter+67,r18
273 027c 84E6 ldi r24,lo8(100)
274 027e 8093 0000 sts EE_Parameter+69,r24
275 0282 A0E0 ldi r26,lo8(EE_Parameter+103)
276 0284 B0E0 ldi r27,hi8(EE_Parameter+103)
277 0286 E0E0 ldi r30,lo8(.LC0)
278 0288 F0E0 ldi r31,hi8(.LC0)
279 028a ED01 movw r28,r26
280 028c 0190 ld __tmp_reg__,Z+
281 028e 0992 st Y+,__tmp_reg__
282 0290 3A95 dec r19
283 0292 E1F7 brne .-8
284 0294 63E7 ldi r22,lo8(115)
285 0296 70E0 ldi r23,hi8(115)
286 0298 CD01 movw r24,r26
287 029a 8756 subi r24,lo8(-(-103))
288 029c 9040 sbci r25,hi8(-(-103))
289 029e 0E94 0000 call RAM_Checksum
290 02a2 8093 0000 sts EE_Parameter+115,r24
291 /* epilogue: frame size=0 */
292 02a6 DF91 pop r29
293 02a8 CF91 pop r28
294 02aa 0895 ret
295 /* epilogue end (size=3) */
296 /* function ParamSet_DefaultSet1 size 63 (58) */
298 .data
299 .LC1:
300 0007 4E6F 726D .string "Normal"
300 616C 00
301 000e 00 .string ""
302 .text
303 .global ParamSet_DefaultSet2
305 ParamSet_DefaultSet2:
306 /* prologue: frame size=0 */
307 02ac CF93 push r28
308 02ae DF93 push r29
309 /* prologue end (size=2) */
310 02b0 0E94 0000 call CommonDefaults
311 02b4 8AE0 ldi r24,lo8(10)
312 02b6 8093 0000 sts EE_Parameter+23,r24
313 02ba 80E1 ldi r24,lo8(16)
314 02bc 8093 0000 sts EE_Parameter+24,r24
315 02c0 26E0 ldi r18,lo8(6)
316 02c2 2093 0000 sts EE_Parameter+25,r18
317 02c6 9AE5 ldi r25,lo8(90)
318 02c8 9093 0000 sts EE_Parameter+30,r25
319 02cc 88E7 ldi r24,lo8(120)
320 02ce 8093 0000 sts EE_Parameter+31,r24
321 02d2 9093 0000 sts EE_Parameter+33,r25
322 02d6 8093 0000 sts EE_Parameter+34,r24
323 02da 2093 0000 sts EE_Parameter+35,r18
324 02de 20E2 ldi r18,lo8(32)
325 02e0 2093 0000 sts EE_Parameter+40,r18
326 02e4 9093 0000 sts EE_Parameter+62,r25
327 02e8 80E5 ldi r24,lo8(80)
328 02ea 8093 0000 sts EE_Parameter+63,r24
329 02ee 8CE3 ldi r24,lo8(60)
330 02f0 8093 0000 sts EE_Parameter+64,r24
331 02f4 2093 0000 sts EE_Parameter+67,r18
332 02f8 8BE4 ldi r24,lo8(75)
333 02fa 8093 0000 sts EE_Parameter+69,r24
334 02fe A0E0 ldi r26,lo8(EE_Parameter+103)
335 0300 B0E0 ldi r27,hi8(EE_Parameter+103)
336 0302 8CE0 ldi r24,lo8(12)
337 0304 E0E0 ldi r30,lo8(.LC1)
338 0306 F0E0 ldi r31,hi8(.LC1)
339 0308 ED01 movw r28,r26
340 030a 0190 ld __tmp_reg__,Z+
341 030c 0992 st Y+,__tmp_reg__
342 030e 8A95 dec r24
343 0310 E1F7 brne .-8
344 0312 63E7 ldi r22,lo8(115)
345 0314 70E0 ldi r23,hi8(115)
346 0316 CD01 movw r24,r26
347 0318 8756 subi r24,lo8(-(-103))
348 031a 9040 sbci r25,hi8(-(-103))
349 031c 0E94 0000 call RAM_Checksum
350 0320 8093 0000 sts EE_Parameter+115,r24
351 /* epilogue: frame size=0 */
352 0324 DF91 pop r29
353 0326 CF91 pop r28
354 0328 0895 ret
355 /* epilogue end (size=3) */
356 /* function ParamSet_DefaultSet2 size 63 (58) */
358 .data
359 .LC2:
360 000f 4265 6769 .string "Beginner"
360 6E6E 6572
360 00
361 0018 00 .string ""
362 .text
363 .global ParamSet_DefaultSet3
365 ParamSet_DefaultSet3:
366 /* prologue: frame size=0 */
367 032a CF93 push r28
368 032c DF93 push r29
369 /* prologue end (size=2) */
370 032e 0E94 0000 call CommonDefaults
371 0332 88E0 ldi r24,lo8(8)
372 0334 8093 0000 sts EE_Parameter+23,r24
373 0338 30E1 ldi r19,lo8(16)
374 033a 3093 0000 sts EE_Parameter+24,r19
375 033e 26E0 ldi r18,lo8(6)
376 0340 2093 0000 sts EE_Parameter+25,r18
377 0344 94E6 ldi r25,lo8(100)
378 0346 9093 0000 sts EE_Parameter+30,r25
379 034a 88E7 ldi r24,lo8(120)
380 034c 8093 0000 sts EE_Parameter+31,r24
381 0350 9093 0000 sts EE_Parameter+33,r25
382 0354 8093 0000 sts EE_Parameter+34,r24
383 0358 2093 0000 sts EE_Parameter+35,r18
384 035c 3093 0000 sts EE_Parameter+40,r19
385 0360 8AE5 ldi r24,lo8(90)
386 0362 8093 0000 sts EE_Parameter+62,r24
387 0366 80E5 ldi r24,lo8(80)
388 0368 8093 0000 sts EE_Parameter+63,r24
389 036c 96E4 ldi r25,lo8(70)
390 036e 9093 0000 sts EE_Parameter+64,r25
391 0372 80E2 ldi r24,lo8(32)
392 0374 8093 0000 sts EE_Parameter+67,r24
393 0378 9093 0000 sts EE_Parameter+69,r25
394 037c A0E0 ldi r26,lo8(EE_Parameter+103)
395 037e B0E0 ldi r27,hi8(EE_Parameter+103)
396 0380 8CE0 ldi r24,lo8(12)
397 0382 E0E0 ldi r30,lo8(.LC2)
398 0384 F0E0 ldi r31,hi8(.LC2)
399 0386 ED01 movw r28,r26
400 0388 0190 ld __tmp_reg__,Z+
401 038a 0992 st Y+,__tmp_reg__
402 038c 8A95 dec r24
403 038e E1F7 brne .-8
404 0390 63E7 ldi r22,lo8(115)
405 0392 70E0 ldi r23,hi8(115)
406 0394 CD01 movw r24,r26
407 0396 8756 subi r24,lo8(-(-103))
408 0398 9040 sbci r25,hi8(-(-103))
409 039a 0E94 0000 call RAM_Checksum
410 039e 8093 0000 sts EE_Parameter+115,r24
411 /* epilogue: frame size=0 */
412 03a2 DF91 pop r29
413 03a4 CF91 pop r28
414 03a6 0895 ret
415 /* epilogue end (size=3) */
416 /* function ParamSet_DefaultSet3 size 63 (58) */
418 .global GetParamByte
420 GetParamByte:
421 /* prologue: frame size=0 */
422 /* prologue end (size=0) */
423 03a8 DC01 movw r26,r24
424 /* #APP */
425 03aa 0E94 0000 call __eeprom_read_byte_1F2021
426 03ae 802D mov r24,__tmp_reg__
427 /* #NOAPP */
428 03b0 9927 clr r25
429 /* epilogue: frame size=0 */
430 03b2 0895 ret
431 /* epilogue end (size=1) */
432 /* function GetParamByte size 7 (6) */
434 .global SetParamByte
436 SetParamByte:
437 /* prologue: frame size=0 */
438 /* prologue end (size=0) */
439 03b4 DC01 movw r26,r24
440 /* #APP */
441 03b6 062E mov __tmp_reg__,r22
442 03b8 0E94 0000 call __eeprom_write_byte_1F2021
443 /* #NOAPP */
444 /* epilogue: frame size=0 */
445 03bc 0895 ret
446 /* epilogue end (size=1) */
447 /* function SetParamByte size 6 (5) */
449 .global GetParamWord
451 GetParamWord:
452 /* prologue: frame size=0 */
453 /* prologue end (size=0) */
454 03be DC01 movw r26,r24
455 /* #APP */
456 03c0 0E94 0000 call __eeprom_read_word_1F2021
457
458 /* #NOAPP */
459 03c4 CF01 movw r24,r30
460 /* epilogue: frame size=0 */
461 03c6 0895 ret
462 /* epilogue end (size=1) */
463 /* function GetParamWord size 7 (6) */
465 .global SetParamWord
467 SetParamWord:
468 /* prologue: frame size=0 */
469 /* prologue end (size=0) */
470 03c8 DC01 movw r26,r24
471 /* #APP */
472 03ca 0B01 movw __tmp_reg__,r22
473 03cc 0E94 0000 call __eeprom_write_word_1F2021
474
475 /* #NOAPP */
476 /* epilogue: frame size=0 */
477 03d0 0895 ret
478 /* epilogue end (size=1) */
479 /* function SetParamWord size 8 (7) */
481 .global ParamSet_ReadFromEEProm
483 ParamSet_ReadFromEEProm:
484 /* prologue: frame size=0 */
485 03d2 FF92 push r15
486 03d4 0F93 push r16
487 03d6 1F93 push r17
488 03d8 CF93 push r28
489 03da DF93 push r29
490 /* prologue end (size=5) */
491 03dc 982F mov r25,r24
492 03de 8150 subi r24,lo8(-(-1))
493 03e0 8530 cpi r24,lo8(5)
494 03e2 08F0 brlo .L33
495 03e4 93E0 ldi r25,lo8(3)
496 .L33:
497 03e6 84E7 ldi r24,lo8(116)
498 03e8 F82E mov r15,r24
499 03ea 9F9D mul r25,r15
500 03ec 8001 movw r16,r0
501 03ee 1124 clr r1
502 03f0 E801 movw r28,r16
503 03f2 6097 sbiw r28,16
504 03f4 63E7 ldi r22,lo8(115)
505 03f6 70E0 ldi r23,hi8(115)
506 03f8 CE01 movw r24,r28
507 03fa 0E94 0000 call EEProm_Checksum
508 03fe 982F mov r25,r24
509 0400 D801 movw r26,r16
510 0402 AD59 subi r26,lo8(-(99))
511 0404 BF4F sbci r27,hi8(-(99))
512 /* #APP */
513 0406 0E94 0000 call __eeprom_read_byte_1F2021
514 040a 802D mov r24,__tmp_reg__
515 /* #NOAPP */
516 040c 8917 cp r24,r25
517 040e 31F4 brne .L45
518 0410 DE01 movw r26,r28
519 /* #APP */
520 0412 0E94 0000 call __eeprom_read_byte_1F2021
521 0416 802D mov r24,__tmp_reg__
522 /* #NOAPP */
523 0418 8535 cpi r24,lo8(85)
524 041a 19F0 breq .L36
525 .L45:
526 041c 80E0 ldi r24,lo8(0)
527 041e 90E0 ldi r25,hi8(0)
528 0420 0AC0 rjmp .L32
529 .L36:
530 0422 E0E0 ldi r30,lo8(EE_Parameter)
531 0424 F0E0 ldi r31,hi8(EE_Parameter)
532 0426 DE01 movw r26,r28
533 /* #APP */
534 0428 1F2C mov __zero_reg__,r15
535 042a 0E94 0000 call __eeprom_read_block_1F2021
536 /* #NOAPP */
537 042e 0E94 0000 call LED_Init
538 0432 81E0 ldi r24,lo8(1)
539 0434 90E0 ldi r25,hi8(1)
540 .L32:
541 /* epilogue: frame size=0 */
542 0436 E5E0 ldi r30,5
543 0438 CDB7 in r28,__SP_L__
544 043a DEB7 in r29,__SP_H__
545 043c 0C94 0000 jmp __epilogue_restores__+26
546 /* epilogue end (size=5) */
547 /* function ParamSet_ReadFromEEProm size 58 (48) */
549 .global SetActiveParamSet
551 SetActiveParamSet:
552 /* prologue: frame size=0 */
553 /* prologue end (size=0) */
554 0440 8630 cpi r24,lo8(6)
555 0442 10F0 brlo .L47
556 0444 85E0 ldi r24,lo8(5)
557 0446 03C0 rjmp .L48
558 .L47:
559 0448 8823 tst r24
560 044a 09F4 brne .L48
561 044c 81E0 ldi r24,lo8(1)
562 .L48:
563 044e A2E0 ldi r26,lo8(2)
564 0450 B0E0 ldi r27,hi8(2)
565 /* #APP */
566 0452 082E mov __tmp_reg__,r24
567 0454 0E94 0000 call __eeprom_write_byte_1F2021
568 /* #NOAPP */
569 /* epilogue: frame size=0 */
570 0458 0895 ret
571 /* epilogue end (size=1) */
572 /* function SetActiveParamSet size 14 (13) */
574 .global ParamSet_WriteToEEProm
576 ParamSet_WriteToEEProm:
577 /* prologue: frame size=0 */
578 045a 1F93 push r17
579 045c CF93 push r28
580 045e DF93 push r29
581 /* prologue end (size=3) */
582 0460 182F mov r17,r24
583 0462 C0E0 ldi r28,lo8(EE_Parameter)
584 0464 D0E0 ldi r29,hi8(EE_Parameter)
585 0466 8091 0000 lds r24,EE_Parameter
586 046a 8535 cpi r24,lo8(85)
587 046c 91F5 brne .L51
588 046e 1630 cpi r17,lo8(6)
589 0470 10F0 brlo .L52
590 0472 15E0 ldi r17,lo8(5)
591 0474 02C0 rjmp .L53
592 .L52:
593 0476 1123 tst r17
594 0478 61F1 breq .L51
595 .L53:
596 047a 63E7 ldi r22,lo8(115)
597 047c 70E0 ldi r23,hi8(115)
598 047e 80E0 ldi r24,lo8(EE_Parameter)
599 0480 90E0 ldi r25,hi8(EE_Parameter)
600 0482 0E94 0000 call RAM_Checksum
601 0486 8093 0000 sts EE_Parameter+115,r24
602 048a 84E7 ldi r24,lo8(116)
603 048c 189F mul r17,r24
604 048e D001 movw r26,r0
605 0490 1124 clr r1
606 0492 5097 sbiw r26,16
607 0494 FE01 movw r30,r28
608 /* #APP */
609 0496 182E mov __zero_reg__,r24
610 0498 0E94 0000 call __eeprom_write_block_1F2021
611 /* #NOAPP */
612 049c E0E0 ldi r30,lo8(EE_Parameter+1)
613 049e F0E0 ldi r31,hi8(EE_Parameter+1)
614 04a0 A0E5 ldi r26,lo8(80)
615 04a2 B0E0 ldi r27,hi8(80)
616 04a4 2CE0 ldi r18,lo8(12)
617 04a6 30E0 ldi r19,hi8(12)
618 /* #APP */
619 04a8 122E mov __zero_reg__,r18
620 04aa 0E94 0000 call __eeprom_write_block_1F2021
621 /* #NOAPP */
622 04ae B901 movw r22,r18
623 04b0 80E0 ldi r24,lo8(EE_Parameter+1)
624 04b2 90E0 ldi r25,hi8(EE_Parameter+1)
625 04b4 0E94 0000 call RAM_Checksum
626 04b8 ACE5 ldi r26,lo8(92)
627 04ba B0E0 ldi r27,hi8(92)
628 /* #APP */
629 04bc 082E mov __tmp_reg__,r24
630 04be 0E94 0000 call __eeprom_write_byte_1F2021
631 /* #NOAPP */
632 04c2 812F mov r24,r17
633 04c4 0E94 0000 call SetActiveParamSet
634 04c8 0E94 0000 call LED_Init
635 04cc 81E0 ldi r24,lo8(1)
636 04ce 90E0 ldi r25,hi8(1)
637 04d0 02C0 rjmp .L50
638 .L51:
639 04d2 80E0 ldi r24,lo8(0)
640 04d4 90E0 ldi r25,hi8(0)
641 .L50:
642 /* epilogue: frame size=0 */
643 04d6 DF91 pop r29
644 04d8 CF91 pop r28
645 04da 1F91 pop r17
646 04dc 0895 ret
647 /* epilogue end (size=4) */
648 /* function ParamSet_WriteToEEProm size 69 (62) */
650 .global MixerTable_ReadFromEEProm
652 MixerTable_ReadFromEEProm:
653 /* prologue: frame size=0 */
654 /* prologue end (size=0) */
655 04de 6DE4 ldi r22,lo8(77)
656 04e0 70E0 ldi r23,hi8(77)
657 04e2 88EE ldi r24,lo8(1000)
658 04e4 93E0 ldi r25,hi8(1000)
659 04e6 0E94 0000 call EEProm_Checksum
660 04ea A5E3 ldi r26,lo8(1077)
661 04ec B4E0 ldi r27,hi8(1077)
662 /* #APP */
663 04ee 0E94 0000 call __eeprom_read_byte_1F2021
664 04f2 902D mov r25,__tmp_reg__
665 /* #NOAPP */
666 04f4 9817 cp r25,r24
667 04f6 39F4 brne .L81
668 04f8 A8EE ldi r26,lo8(1000)
669 04fa B3E0 ldi r27,hi8(1000)
670 /* #APP */
671 04fc 0E94 0000 call __eeprom_read_byte_1F2021
672 0500 802D mov r24,__tmp_reg__
673 /* #NOAPP */
674 0502 8130 cpi r24,lo8(1)
675 0504 19F0 breq .L72
676 .L81:
677 0506 80E0 ldi r24,lo8(0)
678 0508 90E0 ldi r25,hi8(0)
679 050a 0895 ret
680 .L72:
681 050c E0E0 ldi r30,lo8(Mixer)
682 050e F0E0 ldi r31,hi8(Mixer)
683 0510 A8EE ldi r26,lo8(1000)
684 0512 B3E0 ldi r27,hi8(1000)
685 0514 8EE4 ldi r24,lo8(78)
686 /* #APP */
687 0516 182E mov __zero_reg__,r24
688 0518 0E94 0000 call __eeprom_read_block_1F2021
689 /* #NOAPP */
690 051c 81E0 ldi r24,lo8(1)
691 051e 90E0 ldi r25,hi8(1)
692 0520 0895 ret
693 /* epilogue: frame size=0 */
694 /* epilogue: noreturn */
695 /* epilogue end (size=0) */
696 /* function MixerTable_ReadFromEEProm size 37 (37) */
698 .global MixerTable_WriteToEEProm
700 MixerTable_WriteToEEProm:
701 /* prologue: frame size=0 */
702 0522 CF93 push r28
703 0524 DF93 push r29
704 /* prologue end (size=2) */
705 0526 C0E0 ldi r28,lo8(Mixer)
706 0528 D0E0 ldi r29,hi8(Mixer)
707 052a 8091 0000 lds r24,Mixer
708 052e 8130 cpi r24,lo8(1)
709 0530 89F4 brne .L83
710 0532 6DE4 ldi r22,lo8(77)
711 0534 70E0 ldi r23,hi8(77)
712 0536 CE01 movw r24,r28
713 0538 0E94 0000 call RAM_Checksum
714 053c 8093 0000 sts Mixer+77,r24
715 0540 A8EE ldi r26,lo8(1000)
716 0542 B3E0 ldi r27,hi8(1000)
717 0544 8EE4 ldi r24,lo8(78)
718 0546 FE01 movw r30,r28
719 /* #APP */
720 0548 182E mov __zero_reg__,r24
721 054a 0E94 0000 call __eeprom_write_block_1F2021
722 /* #NOAPP */
723 054e 81E0 ldi r24,lo8(1)
724 0550 90E0 ldi r25,hi8(1)
725 0552 02C0 rjmp .L82
726 .L83:
727 0554 80E0 ldi r24,lo8(0)
728 0556 90E0 ldi r25,hi8(0)
729 .L82:
730 /* epilogue: frame size=0 */
731 0558 DF91 pop r29
732 055a CF91 pop r28
733 055c 0895 ret
734 /* epilogue end (size=3) */
735 /* function MixerTable_WriteToEEProm size 31 (26) */
737 .data
738 .LC3:
739 0019 5175 6164 .string "Quadro"
739 726F 00
740 0020 00 .string ""
741 .text
742 .global MixerTable_Default
744 MixerTable_Default:
745 /* prologue: frame size=0 */
746 055e CF93 push r28
747 0560 DF93 push r29
748 /* prologue end (size=2) */
749 0562 81E0 ldi r24,lo8(1)
750 0564 8093 0000 sts Mixer,r24
751 0568 E0E0 ldi r30,lo8(Mixer)
752 056a F0E0 ldi r31,hi8(Mixer)
753 056c 8FE0 ldi r24,lo8(15)
754 .L96:
755 056e 1586 std Z+13,__zero_reg__
756 0570 1686 std Z+14,__zero_reg__
757 0572 1786 std Z+15,__zero_reg__
758 0574 108A std Z+16,__zero_reg__
759 0576 8150 subi r24,lo8(-(-1))
760 0578 3496 adiw r30,4
761 057a 87FF sbrs r24,7
762 057c F8CF rjmp .L96
763 057e 80E4 ldi r24,lo8(64)
764 0580 8093 0000 sts Mixer+13,r24
765 0584 8093 0000 sts Mixer+14,r24
766 0588 1092 0000 sts Mixer+15,__zero_reg__
767 058c 8093 0000 sts Mixer+16,r24
768 0590 8093 0000 sts Mixer+17,r24
769 0594 90EC ldi r25,lo8(-64)
770 0596 9093 0000 sts Mixer+18,r25
771 059a 1092 0000 sts Mixer+19,__zero_reg__
772 059e 8093 0000 sts Mixer+20,r24
773 05a2 8093 0000 sts Mixer+21,r24
774 05a6 1092 0000 sts Mixer+22,__zero_reg__
775 05aa 9093 0000 sts Mixer+23,r25
776 05ae 9093 0000 sts Mixer+24,r25
777 05b2 8093 0000 sts Mixer+25,r24
778 05b6 1092 0000 sts Mixer+26,__zero_reg__
779 05ba 8093 0000 sts Mixer+27,r24
780 05be 9093 0000 sts Mixer+28,r25
781 05c2 A0E0 ldi r26,lo8(Mixer+1)
782 05c4 B0E0 ldi r27,hi8(Mixer+1)
783 05c6 87E0 ldi r24,lo8(7)
784 05c8 E0E0 ldi r30,lo8(.LC3)
785 05ca F0E0 ldi r31,hi8(.LC3)
786 05cc ED01 movw r28,r26
787 05ce 0190 ld __tmp_reg__,Z+
788 05d0 0992 st Y+,__tmp_reg__
789 05d2 8A95 dec r24
790 05d4 E1F7 brne .-8
791 05d6 6DE4 ldi r22,lo8(77)
792 05d8 70E0 ldi r23,hi8(77)
793 05da CD01 movw r24,r26
794 05dc 0197 sbiw r24,1
795 05de 0E94 0000 call RAM_Checksum
796 05e2 8093 0000 sts Mixer+77,r24
797 /* epilogue: frame size=0 */
798 05e6 DF91 pop r29
799 05e8 CF91 pop r28
800 05ea 0895 ret
801 /* epilogue end (size=3) */
802 /* function MixerTable_Default size 71 (66) */
804 .global GetActiveParamSet
806 GetActiveParamSet:
807 /* prologue: frame size=0 */
808 /* prologue end (size=0) */
809 05ec A2E0 ldi r26,lo8(2)
810 05ee B0E0 ldi r27,hi8(2)
811 /* #APP */
812 05f0 0E94 0000 call __eeprom_read_byte_1F2021
813 05f4 802D mov r24,__tmp_reg__
814 /* #NOAPP */
815 05f6 8630 cpi r24,lo8(6)
816 05f8 30F0 brlo .L101
817 05fa 83E0 ldi r24,lo8(3)
818 05fc A2E0 ldi r26,lo8(2)
819 05fe B0E0 ldi r27,hi8(2)
820 /* #APP */
821 0600 082E mov __tmp_reg__,r24
822 0602 0E94 0000 call __eeprom_write_byte_1F2021
823 /* #NOAPP */
824 .L101:
825 0606 9927 clr r25
826 /* epilogue: frame size=0 */
827 0608 0895 ret
828 /* epilogue end (size=1) */
829 /* function GetActiveParamSet size 17 (16) */
831 .global SetDefaultParameter
833 SetDefaultParameter:
834 /* prologue: frame size=0 */
835 060a 1F93 push r17
836 060c CF93 push r28
837 /* prologue end (size=2) */
838 060e C82F mov r28,r24
839 0610 162F mov r17,r22
840 0612 8630 cpi r24,lo8(6)
841 0614 10F0 brlo .L104
842 0616 C5E0 ldi r28,lo8(5)
843 0618 03C0 rjmp .L105
844 .L104:
845 061a 8823 tst r24
846 061c 09F4 brne .L105
847 061e C1E0 ldi r28,lo8(1)
848 .L105:
849 0620 8C2F mov r24,r28
850 0622 9927 clr r25
851 0624 8230 cpi r24,2
852 0626 9105 cpc r25,__zero_reg__
853 0628 41F0 breq .L109
854 062a 8330 cpi r24,3
855 062c 9105 cpc r25,__zero_reg__
856 062e 44F4 brge .L111
857 0630 0197 sbiw r24,1
858 0632 31F4 brne .L111
859 0634 0E94 0000 call ParamSet_DefaultSet1
860 0638 05C0 rjmp .L107
861 .L109:
862 063a 0E94 0000 call ParamSet_DefaultSet2
863 063e 02C0 rjmp .L107
864 .L111:
865 0640 0E94 0000 call ParamSet_DefaultSet3
866 .L107:
867 0644 1123 tst r17
868 0646 B1F0 breq .L113
869 0648 6CE0 ldi r22,lo8(12)
870 064a 70E0 ldi r23,hi8(12)
871 064c 80E5 ldi r24,lo8(80)
872 064e 90E0 ldi r25,hi8(80)
873 0650 0E94 0000 call EEProm_Checksum
874 0654 ACE5 ldi r26,lo8(92)
875 0656 B0E0 ldi r27,hi8(92)
876 /* #APP */
877 0658 0E94 0000 call __eeprom_read_byte_1F2021
878 065c 902D mov r25,__tmp_reg__
879 /* #NOAPP */
880 065e 9817 cp r25,r24
881 0660 49F4 brne .L113
882 0662 E0E0 ldi r30,lo8(EE_Parameter+1)
883 0664 F0E0 ldi r31,hi8(EE_Parameter+1)
884 0666 A0E5 ldi r26,lo8(80)
885 0668 B0E0 ldi r27,hi8(80)
886 066a 8CE0 ldi r24,lo8(12)
887 /* #APP */
888 066c 182E mov __zero_reg__,r24
889 066e 0E94 0000 call __eeprom_read_block_1F2021
890 /* #NOAPP */
891 0672 02C0 rjmp .L124
892 .L113:
893 0674 0E94 0000 call ParamSet_DefaultStickMapping
894 .L124:
895 0678 8C2F mov r24,r28
896 067a 0E94 0000 call ParamSet_WriteToEEProm
897 /* epilogue: frame size=0 */
898 067e CF91 pop r28
899 0680 1F91 pop r17
900 0682 0895 ret
901 /* epilogue end (size=3) */
902 /* function SetDefaultParameter size 64 (59) */
904 .section .progmem.data,"a",@progbits
907 __c.0:
908 0000 0A0D 4765 .string "\n\rGenerating default Parameter Set %d"
908 6E65 7261
908 7469 6E67
908 2064 6566
908 6175 6C74
911 __c.1:
912 0026 0A0D 5573 .string "\n\rUsing Parameter Set %d"
912 696E 6720
912 5061 7261
912 6D65 7465
912 7220 5365
915 __c.2:
916 003f 0A0D 4765 .string "\n\rGenerating default Mixer Table"
916 6E65 7261
916 7469 6E67
916 2064 6566
916 6175 6C74
919 __c.3:
920 0060 0A0D 4D69 .string "\n\rMixer-Config: '%s' (%u Motors)"
920 7865 722D
920 436F 6E66
920 6967 3A20
920 2725 7327
923 __c.4:
924 0081 0A0D 3D3D .string "\n\r=============================="
924 3D3D 3D3D
924 3D3D 3D3D
924 3D3D 3D3D
924 3D3D 3D3D
925 .text
926 .global ParamSet_Init
928 ParamSet_Init:
929 /* prologue: frame size=0 */
930 0684 DF92 push r13
931 0686 EF92 push r14
932 0688 FF92 push r15
933 068a 0F93 push r16
934 068c 1F93 push r17
935 068e CF93 push r28
936 /* prologue end (size=6) */
937 0690 FF24 clr r15
938 0692 DF2C mov r13,r15
939 0694 EF2C mov r14,r15
940 0696 81E0 ldi r24,lo8(1)
941 0698 90E0 ldi r25,hi8(1)
942 069a 0E94 0000 call GetParamByte
943 069e 8535 cpi r24,lo8(85)
944 06a0 39F0 breq .L126
945 06a2 31E0 ldi r19,lo8(1)
946 06a4 E32E mov r14,r19
947 06a6 65E5 ldi r22,lo8(85)
948 06a8 81E0 ldi r24,lo8(1)
949 06aa 90E0 ldi r25,hi8(1)
950 06ac 0E94 0000 call SetParamByte
951 .L126:
952 06b0 6CE0 ldi r22,lo8(12)
953 06b2 70E0 ldi r23,hi8(12)
954 06b4 80E5 ldi r24,lo8(80)
955 06b6 90E0 ldi r25,hi8(80)
956 06b8 0E94 0000 call EEProm_Checksum
957 06bc C82F mov r28,r24
958 06be ACE5 ldi r26,lo8(92)
959 06c0 B0E0 ldi r27,hi8(92)
960 /* #APP */
961 06c2 0E94 0000 call __eeprom_read_byte_1F2021
962 06c6 802D mov r24,__tmp_reg__
963 /* #NOAPP */
964 06c8 8C17 cp r24,r28
965 06ca 11F4 brne .L127
966 06cc 21E0 ldi r18,lo8(1)
967 06ce D22E mov r13,r18
968 .L127:
969 06d0 C1E0 ldi r28,lo8(1)
970 06d2 01E0 ldi r16,lo8(1)
971 06d4 10E0 ldi r17,hi8(1)
972 .L149:
973 06d6 EE20 tst r14
974 06d8 29F4 brne .L133
975 06da 8C2F mov r24,r28
976 06dc 0E94 0000 call ParamSet_ReadFromEEProm
977 06e0 8823 tst r24
978 06e2 B1F5 brne .L131
979 .L133:
980 06e4 91E0 ldi r25,lo8(1)
981 06e6 F92E mov r15,r25
982 06e8 1F93 push r17
983 06ea 0F93 push r16
984 06ec 80E0 ldi r24,lo8(__c.0)
985 06ee 90E0 ldi r25,hi8(__c.0)
986 06f0 9F93 push r25
987 06f2 8F93 push r24
988 06f4 80E0 ldi r24,lo8(pm(uart_putchar))
989 06f6 90E0 ldi r25,hi8(pm(uart_putchar))
990 06f8 9F93 push r25
991 06fa 8F93 push r24
992 06fc E091 0000 lds r30,_printf_P
993 0700 F091 0000 lds r31,(_printf_P)+1
994 0704 0995 icall
995 0706 8DB7 in r24,__SP_L__
996 0708 9EB7 in r25,__SP_H__
997 070a 0696 adiw r24,6
998 070c 8DBF out __SP_L__,r24
999 070e 0230 cpi r16,2
1000 0710 1105 cpc r17,__zero_reg__
1001 0712 49F0 breq .L136
1002 0714 0330 cpi r16,3
1003 0716 1105 cpc r17,__zero_reg__
1004 0718 4CF4 brge .L138
1005 071a 0130 cpi r16,1
1006 071c 1105 cpc r17,__zero_reg__
1007 071e 31F4 brne .L138
1008 0720 0E94 0000 call ParamSet_DefaultSet1
1009 0724 05C0 rjmp .L134
1010 .L136:
1011 0726 0E94 0000 call ParamSet_DefaultSet2
1012 072a 02C0 rjmp .L134
1013 .L138:
1014 072c 0E94 0000 call ParamSet_DefaultSet3
1015 .L134:
1016 0730 DD20 tst r13
1017 0732 49F0 breq .L140
1018 0734 E0E0 ldi r30,lo8(EE_Parameter+1)
1019 0736 F0E0 ldi r31,hi8(EE_Parameter+1)
1020 0738 A0E5 ldi r26,lo8(80)
1021 073a B0E0 ldi r27,hi8(80)
1022 073c 8CE0 ldi r24,lo8(12)
1023 /* #APP */
1024 073e 182E mov __zero_reg__,r24
1025 0740 0E94 0000 call __eeprom_read_block_1F2021
1026 /* #NOAPP */
1027 0744 02C0 rjmp .L148
1028 .L140:
1029 0746 0E94 0000 call ParamSet_DefaultStickMapping
1030 .L148:
1031 074a 8C2F mov r24,r28
1032 074c 0E94 0000 call ParamSet_WriteToEEProm
1033 .L131:
1034 0750 CF5F subi r28,lo8(-(1))
1035 0752 0F5F subi r16,lo8(-(1))
1036 0754 1F4F sbci r17,hi8(-(1))
1037 0756 C630 cpi r28,lo8(6)
1038 0758 08F4 brsh .+2
1039 075a BDCF rjmp .L149
1040 075c FF20 tst r15
1041 075e 19F0 breq .L150
1042 0760 83E0 ldi r24,lo8(3)
1043 0762 0E94 0000 call SetActiveParamSet
1044 .L150:
1045 0766 0E94 0000 call GetActiveParamSet
1046 076a C82F mov r28,r24
1047 076c 0E94 0000 call ParamSet_ReadFromEEProm
1048 0770 8C2F mov r24,r28
1049 0772 9927 clr r25
1050 0774 9F93 push r25
1051 0776 8F93 push r24
1052 0778 80E0 ldi r24,lo8(__c.1)
1053 077a 90E0 ldi r25,hi8(__c.1)
1054 077c 9F93 push r25
1055 077e 8F93 push r24
1056 0780 00E0 ldi r16,lo8(pm(uart_putchar))
1057 0782 10E0 ldi r17,hi8(pm(uart_putchar))
1058 0784 1F93 push r17
1059 0786 0F93 push r16
1060 0788 E091 0000 lds r30,_printf_P
1061 078c F091 0000 lds r31,(_printf_P)+1
1062 0790 0995 icall
1063 0792 8DB7 in r24,__SP_L__
1064 0794 9EB7 in r25,__SP_H__
1065 0796 0696 adiw r24,6
1066 0798 8DBF out __SP_L__,r24
1067 079a EE20 tst r14
1068 079c 21F4 brne .L152
1069 079e 0E94 0000 call MixerTable_ReadFromEEProm
1070 07a2 8823 tst r24
1071 07a4 99F4 brne .L151
1072 .L152:
1073 07a6 80E0 ldi r24,lo8(__c.2)
1074 07a8 90E0 ldi r25,hi8(__c.2)
1075 07aa 9F93 push r25
1076 07ac 8F93 push r24
1077 07ae 1F93 push r17
1078 07b0 0F93 push r16
1079 07b2 E091 0000 lds r30,_printf_P
1080 07b6 F091 0000 lds r31,(_printf_P)+1
1081 07ba 0995 icall
1082 07bc 0E94 0000 call MixerTable_Default
1083 07c0 0E94 0000 call MixerTable_WriteToEEProm
1084 07c4 0F90 pop __tmp_reg__
1085 07c6 0F90 pop __tmp_reg__
1086 07c8 0F90 pop __tmp_reg__
1087 07ca 0F90 pop __tmp_reg__
1088 .L151:
1089 07cc 1092 0000 sts RequiredMotors,__zero_reg__
1090 07d0 90E0 ldi r25,lo8(0)
1091 07d2 E0E0 ldi r30,lo8(Mixer+13)
1092 07d4 F0E0 ldi r31,hi8(Mixer+13)
1093 07d6 CFE0 ldi r28,lo8(15)
1094 .L157:
1095 07d8 8081 ld r24,Z
1096 07da 3496 adiw r30,4
1097 07dc 1816 cp __zero_reg__,r24
1098 07de 0CF4 brge .L155
1099 07e0 9F5F subi r25,lo8(-(1))
1100 .L155:
1101 07e2 C150 subi r28,lo8(-(-1))
1102 07e4 C7FF sbrs r28,7
1103 07e6 F8CF rjmp .L157
1104 07e8 9093 0000 sts RequiredMotors,r25
1105 07ec 892F mov r24,r25
1106 07ee 9927 clr r25
1107 07f0 9F93 push r25
1108 07f2 8F93 push r24
1109 07f4 80E0 ldi r24,lo8(Mixer+1)
1110 07f6 90E0 ldi r25,hi8(Mixer+1)
1111 07f8 9F93 push r25
1112 07fa 8F93 push r24
1113 07fc 80E0 ldi r24,lo8(__c.3)
1114 07fe 90E0 ldi r25,hi8(__c.3)
1115 0800 9F93 push r25
1116 0802 8F93 push r24
1117 0804 1F93 push r17
1118 0806 0F93 push r16
1119 0808 E091 0000 lds r30,_printf_P
1120 080c F091 0000 lds r31,(_printf_P)+1
1121 0810 0995 icall
1122 0812 8DB7 in r24,__SP_L__
1123 0814 9EB7 in r25,__SP_H__
1124 0816 0896 adiw r24,8
1125 0818 8DBF out __SP_L__,r24
1126 081a 80E0 ldi r24,lo8(__c.4)
1127 081c 90E0 ldi r25,hi8(__c.4)
1128 081e 9F93 push r25
1129 0820 8F93 push r24
1130 0822 1F93 push r17
1131 0824 0F93 push r16
1132 0826 E091 0000 lds r30,_printf_P
1133 082a F091 0000 lds r31,(_printf_P)+1
1134 082e 0995 icall
1135 0830 0F90 pop __tmp_reg__
1136 0832 0F90 pop __tmp_reg__
1137 0834 0F90 pop __tmp_reg__
1138 0836 0F90 pop __tmp_reg__
1139 /* epilogue: frame size=0 */
1140 0838 CF91 pop r28
1141 083a 1F91 pop r17
1142 083c 0F91 pop r16
1143 083e FF90 pop r15
1144 0840 EF90 pop r14
1145 0842 DF90 pop r13
1146 0844 0895 ret
1147 /* epilogue end (size=7) */
1148 /* function ParamSet_Init size 227 (214) */
1150 .comm Mixer,78,1
1151 .comm RequiredMotors,1,1
1152 .comm EE_Parameter,116,1
1153 /* File "eeprom.c": code 1085 = 0x043d (1015), prologues 26, epilogues 44 */
DEFINED SYMBOLS
*ABS*:00000000 eeprom.c
C:\Users\Thomas\AppData\Local\Temp/ccSSbaaa.s:3 *ABS*:0000003f __SREG__
C:\Users\Thomas\AppData\Local\Temp/ccSSbaaa.s:4 *ABS*:0000003e __SP_H__
C:\Users\Thomas\AppData\Local\Temp/ccSSbaaa.s:5 *ABS*:0000003d __SP_L__
C:\Users\Thomas\AppData\Local\Temp/ccSSbaaa.s:6 *ABS*:00000000 __tmp_reg__
C:\Users\Thomas\AppData\Local\Temp/ccSSbaaa.s:7 *ABS*:00000001 __zero_reg__
C:\Users\Thomas\AppData\Local\Temp/ccSSbaaa.s:13 .text:00000000 RAM_Checksum
C:\Users\Thomas\AppData\Local\Temp/ccSSbaaa.s:41 .text:00000022 EEProm_Checksum
C:\Users\Thomas\AppData\Local\Temp/ccSSbaaa.s:73 .text:0000004a ParamSet_DefaultStickMapping
*COM*:00000074 EE_Parameter
C:\Users\Thomas\AppData\Local\Temp/ccSSbaaa.s:107 .text:00000094 CommonDefaults
C:\Users\Thomas\AppData\Local\Temp/ccSSbaaa.s:245 .text:0000022e ParamSet_DefaultSet1
C:\Users\Thomas\AppData\Local\Temp/ccSSbaaa.s:305 .text:000002ac ParamSet_DefaultSet2
C:\Users\Thomas\AppData\Local\Temp/ccSSbaaa.s:365 .text:0000032a ParamSet_DefaultSet3
C:\Users\Thomas\AppData\Local\Temp/ccSSbaaa.s:420 .text:000003a8 GetParamByte
C:\Users\Thomas\AppData\Local\Temp/ccSSbaaa.s:436 .text:000003b4 SetParamByte
C:\Users\Thomas\AppData\Local\Temp/ccSSbaaa.s:451 .text:000003be GetParamWord
C:\Users\Thomas\AppData\Local\Temp/ccSSbaaa.s:467 .text:000003c8 SetParamWord
C:\Users\Thomas\AppData\Local\Temp/ccSSbaaa.s:483 .text:000003d2 ParamSet_ReadFromEEProm
C:\Users\Thomas\AppData\Local\Temp/ccSSbaaa.s:551 .text:00000440 SetActiveParamSet
C:\Users\Thomas\AppData\Local\Temp/ccSSbaaa.s:576 .text:0000045a ParamSet_WriteToEEProm
C:\Users\Thomas\AppData\Local\Temp/ccSSbaaa.s:652 .text:000004de MixerTable_ReadFromEEProm
*COM*:0000004e Mixer
C:\Users\Thomas\AppData\Local\Temp/ccSSbaaa.s:700 .text:00000522 MixerTable_WriteToEEProm
C:\Users\Thomas\AppData\Local\Temp/ccSSbaaa.s:744 .text:0000055e MixerTable_Default
C:\Users\Thomas\AppData\Local\Temp/ccSSbaaa.s:806 .text:000005ec GetActiveParamSet
C:\Users\Thomas\AppData\Local\Temp/ccSSbaaa.s:833 .text:0000060a SetDefaultParameter
C:\Users\Thomas\AppData\Local\Temp/ccSSbaaa.s:907 .progmem.data:00000000 __c.0
C:\Users\Thomas\AppData\Local\Temp/ccSSbaaa.s:911 .progmem.data:00000026 __c.1
C:\Users\Thomas\AppData\Local\Temp/ccSSbaaa.s:915 .progmem.data:0000003f __c.2
C:\Users\Thomas\AppData\Local\Temp/ccSSbaaa.s:919 .progmem.data:00000060 __c.3
C:\Users\Thomas\AppData\Local\Temp/ccSSbaaa.s:923 .progmem.data:00000081 __c.4
C:\Users\Thomas\AppData\Local\Temp/ccSSbaaa.s:928 .text:00000684 ParamSet_Init
*COM*:00000001 RequiredMotors
UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
__eeprom_read_byte_1F2021
PlatinenVersion
__eeprom_write_byte_1F2021
__eeprom_read_word_1F2021
__eeprom_write_word_1F2021
__eeprom_read_block_1F2021
LED_Init
__epilogue_restores__
__eeprom_write_block_1F2021
uart_putchar
_printf_P