0,0 → 1,708 |
1 .file "main.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 GetActiveParamSetNumber |
13 GetActiveParamSetNumber: |
14 /* prologue: frame size=0 */ |
15 /* prologue end (size=0) */ |
16 0000 20E0 ldi r18,lo8(EEPromArray+2) |
17 0002 30E0 ldi r19,hi8(EEPromArray+2) |
18 0004 D901 movw r26,r18 |
19 /* #APP */ |
20 0006 0E94 0000 call __eeprom_read_byte_1F2021 |
21 000a 802D mov r24,__tmp_reg__ |
22 /* #NOAPP */ |
23 000c 8630 cpi r24,lo8(6) |
24 000e 00F0 brlo .L2 |
25 0010 82E0 ldi r24,lo8(2) |
26 0012 D901 movw r26,r18 |
27 /* #APP */ |
28 0014 082E mov __tmp_reg__,r24 |
29 0016 0E94 0000 call __eeprom_write_byte_1F2021 |
30 /* #NOAPP */ |
31 .L2: |
32 001a 9927 clr r25 |
33 /* epilogue: frame size=0 */ |
34 001c 0895 ret |
35 /* epilogue end (size=1) */ |
36 /* function GetActiveParamSetNumber size 17 (16) */ |
38 .global WriteParameterSet |
40 WriteParameterSet: |
41 /* prologue: frame size=0 */ |
42 /* prologue end (size=0) */ |
43 001e FB01 movw r30,r22 |
44 0020 282F mov r18,r24 |
45 0022 8630 cpi r24,lo8(6) |
46 0024 00F0 brlo .L6 |
47 0026 25E0 ldi r18,lo8(5) |
48 .L6: |
49 0028 842F mov r24,r20 |
50 002a 9927 clr r25 |
51 002c 429F mul r20,r18 |
52 002e D001 movw r26,r0 |
53 0030 1124 clr r1 |
54 0032 A050 subi r26,lo8(-(EEPromArray+100)) |
55 0034 B040 sbci r27,hi8(-(EEPromArray+100)) |
56 /* #APP */ |
57 .34_start: |
58 0036 0197 sbiw r24,1 |
59 0038 04F0 brlt .34_finished |
60 003a 0190 ld __tmp_reg__,z+ |
61 003c 0E94 0000 call __eeprom_write_byte_1F2021 |
62 0040 00C0 rjmp .34_start |
63 .34_finished: |
64 /* #NOAPP */ |
65 0042 A0E0 ldi r26,lo8(EEPromArray+2) |
66 0044 B0E0 ldi r27,hi8(EEPromArray+2) |
67 /* #APP */ |
68 0046 022E mov __tmp_reg__,r18 |
69 0048 0E94 0000 call __eeprom_write_byte_1F2021 |
70 /* #NOAPP */ |
71 /* epilogue: frame size=0 */ |
72 004c 0895 ret |
73 /* epilogue end (size=1) */ |
74 /* function WriteParameterSet size 33 (32) */ |
76 .global ReadParameterSet |
78 ReadParameterSet: |
79 /* prologue: frame size=0 */ |
80 004e CF93 push r28 |
81 0050 DF93 push r29 |
82 /* prologue end (size=2) */ |
83 0052 FB01 movw r30,r22 |
84 0054 C42F mov r28,r20 |
85 0056 DD27 clr r29 |
86 0058 8630 cpi r24,lo8(6) |
87 005a 00F0 brlo .L9 |
88 005c 85E0 ldi r24,lo8(5) |
89 .L9: |
90 005e 489F mul r20,r24 |
91 0060 D001 movw r26,r0 |
92 0062 1124 clr r1 |
93 0064 A050 subi r26,lo8(-(EEPromArray+100)) |
94 0066 B040 sbci r27,hi8(-(EEPromArray+100)) |
95 /* #APP */ |
96 .52_start: |
97 0068 2197 sbiw r28,1 |
98 006a 04F0 brlt .52_finished |
99 006c 0E94 0000 call __eeprom_read_byte_1F2021 |
100 0070 0192 st z+,__tmp_reg__ |
101 0072 00C0 rjmp .52_start |
102 .52_finished: |
103 /* #NOAPP */ |
104 /* epilogue: frame size=0 */ |
105 0074 DF91 pop r29 |
106 0076 CF91 pop r28 |
107 0078 0895 ret |
108 /* epilogue end (size=3) */ |
109 /* function ReadParameterSet size 30 (25) */ |
111 .global main |
113 main: |
114 /* prologue: frame size=0 */ |
115 007a 1F93 push r17 |
116 007c CF93 push r28 |
117 007e DF93 push r29 |
118 /* prologue end (size=3) */ |
119 0080 14B8 out 36-0x20,__zero_reg__ |
120 0082 15B8 out 37-0x20,__zero_reg__ |
121 0084 189B sbis 35-0x20,0 |
122 0086 00C0 rjmp .L12 |
123 0088 8BE0 ldi r24,lo8(11) |
124 008a 00C0 rjmp .L79 |
125 .L12: |
126 008c 8AE0 ldi r24,lo8(10) |
127 .L79: |
128 008e 8093 0000 sts PlatinenVersion,r24 |
129 0092 81E8 ldi r24,lo8(-127) |
130 0094 87B9 out 39-0x20,r24 |
131 0096 8FEF ldi r24,lo8(-1) |
132 0098 88B9 out 40-0x20,r24 |
133 009a 8BE1 ldi r24,lo8(27) |
134 009c 84B9 out 36-0x20,r24 |
135 009e 81E0 ldi r24,lo8(1) |
136 00a0 85B9 out 37-0x20,r24 |
137 00a2 8AE2 ldi r24,lo8(42) |
138 00a4 8AB9 out 42-0x20,r24 |
139 00a6 579A sbi 42-0x20,7 |
140 00a8 87EF ldi r24,lo8(-9) |
141 00aa 8BB9 out 43-0x20,r24 |
142 00ac 84B7 in r24,84-0x20 |
143 00ae 877F andi r24,lo8(-9) |
144 00b0 84BF out 84-0x20,r24 |
145 00b2 8091 6000 lds r24,96 |
146 00b6 8861 ori r24,lo8(24) |
147 00b8 8093 6000 sts 96,r24 |
148 00bc 1092 6000 sts 96,__zero_reg__ |
149 00c0 80ED ldi r24,lo8(2000) |
150 00c2 97E0 ldi r25,hi8(2000) |
151 00c4 9093 0000 sts (beeptime)+1,r25 |
152 00c8 8093 0000 sts beeptime,r24 |
153 00cc 1092 0000 sts (StickGier)+1,__zero_reg__ |
154 00d0 1092 0000 sts StickGier,__zero_reg__ |
155 00d4 1092 0000 sts (PPM_in+4)+1,__zero_reg__ |
156 00d8 1092 0000 sts PPM_in+4,__zero_reg__ |
157 00dc 1092 0000 sts (StickRoll)+1,__zero_reg__ |
158 00e0 1092 0000 sts StickRoll,__zero_reg__ |
159 00e4 1092 0000 sts (StickNick)+1,__zero_reg__ |
160 00e8 1092 0000 sts StickNick,__zero_reg__ |
161 00ec 8091 0000 lds r24,PlatinenVersion |
162 00f0 8A30 cpi r24,lo8(10) |
163 00f2 01F4 brne .L15 |
164 00f4 2898 cbi 37-0x20,0 |
165 00f6 00C0 rjmp .L17 |
166 .L15: |
167 00f8 289A sbi 37-0x20,0 |
168 .L17: |
169 00fa 0E94 0000 call Timer_Init |
170 00fe 0E94 0000 call UART_Init |
171 0102 0E94 0000 call rc_sum_init |
172 0106 0E94 0000 call ADC_Init |
173 010a 0E94 0000 call i2c_init |
174 /* #APP */ |
175 010e 7894 sei |
176 /* #NOAPP */ |
177 0110 1092 0000 sts VersionInfo,__zero_reg__ |
178 0114 8AE5 ldi r24,lo8(90) |
179 0116 8093 0000 sts VersionInfo+1,r24 |
180 011a 87E0 ldi r24,lo8(7) |
181 011c 8093 0000 sts VersionInfo+2,r24 |
182 0120 2091 0000 lds r18,PlatinenVersion |
183 0124 82E6 ldi r24,lo8(98) |
184 0126 90E0 ldi r25,hi8(98) |
185 0128 9F93 push r25 |
186 012a 8F93 push r24 |
187 012c 8AE5 ldi r24,lo8(90) |
188 012e 90E0 ldi r25,hi8(90) |
189 0130 9F93 push r25 |
190 0132 8F93 push r24 |
191 0134 1F92 push __zero_reg__ |
192 0136 1F92 push __zero_reg__ |
193 0138 822F mov r24,r18 |
194 013a 6AE0 ldi r22,lo8(10) |
195 013c 0E94 0000 call __udivmodqi4 |
196 0140 892F mov r24,r25 |
197 0142 9927 clr r25 |
198 0144 9F93 push r25 |
199 0146 8F93 push r24 |
200 0148 822F mov r24,r18 |
201 014a 0E94 0000 call __udivmodqi4 |
202 014e 9927 clr r25 |
203 0150 9F93 push r25 |
204 0152 8F93 push r24 |
205 0154 80E0 ldi r24,lo8(__c.2061) |
206 0156 90E0 ldi r25,hi8(__c.2061) |
207 0158 9F93 push r25 |
208 015a 8F93 push r24 |
209 015c 1F92 push __zero_reg__ |
210 015e 0E94 0000 call _printf_P |
211 0162 80E0 ldi r24,lo8(__c.2063) |
212 0164 90E0 ldi r25,hi8(__c.2063) |
213 0166 9F93 push r25 |
214 0168 8F93 push r24 |
215 016a 1F92 push __zero_reg__ |
216 016c 0E94 0000 call _printf_P |
217 0170 299A sbi 37-0x20,1 |
218 0172 A0E0 ldi r26,lo8(EEPromArray+1) |
219 0174 B0E0 ldi r27,hi8(EEPromArray+1) |
220 /* #APP */ |
221 0176 0E94 0000 call __eeprom_read_byte_1F2021 |
222 017a 802D mov r24,__tmp_reg__ |
223 /* #NOAPP */ |
224 017c 2DB7 in r18,__SP_L__ |
225 017e 3EB7 in r19,__SP_H__ |
226 0180 205F subi r18,lo8(-(16)) |
227 0182 3F4F sbci r19,hi8(-(16)) |
228 0184 0FB6 in __tmp_reg__,__SREG__ |
229 0186 F894 cli |
230 0188 3EBF out __SP_H__,r19 |
231 018a 0FBE out __SREG__,__tmp_reg__ |
232 018c 2DBF out __SP_L__,r18 |
233 018e 8434 cpi r24,lo8(68) |
234 0190 01F4 brne .+2 |
235 0192 00C0 rjmp .L18 |
236 0194 80E0 ldi r24,lo8(__c.2065) |
237 0196 90E0 ldi r25,hi8(__c.2065) |
238 0198 9F93 push r25 |
239 019a 8F93 push r24 |
240 019c 1F92 push __zero_reg__ |
241 019e 0E94 0000 call _printf_P |
242 01a2 0E94 0000 call DefaultKonstanten1 |
243 01a6 10E0 ldi r17,lo8(0) |
244 01a8 0F90 pop __tmp_reg__ |
245 01aa 0F90 pop __tmp_reg__ |
246 01ac 0F90 pop __tmp_reg__ |
247 .L67: |
248 01ae 1230 cpi r17,lo8(2) |
249 01b0 01F4 brne .L21 |
250 01b2 0E94 0000 call DefaultKonstanten2 |
251 01b6 47E4 ldi r20,lo8(71) |
252 01b8 60E0 ldi r22,lo8(EE_Parameter) |
253 01ba 70E0 ldi r23,hi8(EE_Parameter) |
254 01bc 82E0 ldi r24,lo8(2) |
255 01be 0E94 0000 call WriteParameterSet |
256 01c2 00C0 rjmp .L69 |
257 .L21: |
258 01c4 1330 cpi r17,lo8(3) |
259 01c6 01F4 brne .L23 |
260 .L69: |
261 01c8 0E94 0000 call DefaultKonstanten3 |
262 01cc 47E4 ldi r20,lo8(71) |
263 01ce 60E0 ldi r22,lo8(EE_Parameter) |
264 01d0 70E0 ldi r23,hi8(EE_Parameter) |
265 01d2 83E0 ldi r24,lo8(3) |
266 01d4 0E94 0000 call WriteParameterSet |
267 01d8 14E0 ldi r17,lo8(4) |
268 01da 00C0 rjmp .L70 |
269 .L23: |
270 01dc 1430 cpi r17,lo8(4) |
271 01de 00F0 brlo .L25 |
272 .L70: |
273 01e0 0E94 0000 call DefaultKonstanten2 |
274 .L25: |
275 01e4 47E4 ldi r20,lo8(71) |
276 01e6 60E0 ldi r22,lo8(EE_Parameter) |
277 01e8 70E0 ldi r23,hi8(EE_Parameter) |
278 01ea 812F mov r24,r17 |
279 01ec 0E94 0000 call WriteParameterSet |
280 01f0 1F5F subi r17,lo8(-(1)) |
281 01f2 1630 cpi r17,lo8(6) |
282 01f4 00F0 brlo .L67 |
283 01f6 83E0 ldi r24,lo8(3) |
284 01f8 20E0 ldi r18,lo8(EEPromArray+2) |
285 01fa 30E0 ldi r19,hi8(EEPromArray+2) |
286 01fc D901 movw r26,r18 |
287 /* #APP */ |
288 01fe 082E mov __tmp_reg__,r24 |
289 0200 0E94 0000 call __eeprom_write_byte_1F2021 |
290 /* #NOAPP */ |
291 0204 84E4 ldi r24,lo8(68) |
292 0206 2150 subi r18,lo8(-(-1)) |
293 0208 3040 sbci r19,hi8(-(-1)) |
294 020a D901 movw r26,r18 |
295 /* #APP */ |
296 020c 082E mov __tmp_reg__,r24 |
297 020e 0E94 0000 call __eeprom_write_byte_1F2021 |
298 /* #NOAPP */ |
299 .L18: |
300 0212 C0E0 ldi r28,lo8(EEPromArray+4) |
301 0214 D0E0 ldi r29,hi8(EEPromArray+4) |
302 0216 DE01 movw r26,r28 |
303 /* #APP */ |
304 0218 0E94 0000 call __eeprom_read_byte_1F2021 |
305 021c 802D mov r24,__tmp_reg__ |
306 /* #NOAPP */ |
307 021e 8530 cpi r24,lo8(5) |
308 0220 00F0 brlo .L28 |
309 0222 80E0 ldi r24,lo8(__c.2072) |
310 0224 90E0 ldi r25,hi8(__c.2072) |
311 0226 9F93 push r25 |
312 0228 8F93 push r24 |
313 022a 1F92 push __zero_reg__ |
314 022c 0E94 0000 call _printf_P |
315 0230 0F90 pop __tmp_reg__ |
316 0232 0F90 pop __tmp_reg__ |
317 0234 0F90 pop __tmp_reg__ |
318 .L28: |
319 0236 2297 sbiw r28,2 |
320 0238 DE01 movw r26,r28 |
321 /* #APP */ |
322 023a 0E94 0000 call __eeprom_read_byte_1F2021 |
323 023e 802D mov r24,__tmp_reg__ |
324 /* #NOAPP */ |
325 0240 8630 cpi r24,lo8(6) |
326 0242 00F0 brlo .L30 |
327 0244 82E0 ldi r24,lo8(2) |
328 0246 DE01 movw r26,r28 |
329 /* #APP */ |
330 0248 082E mov __tmp_reg__,r24 |
331 024a 0E94 0000 call __eeprom_write_byte_1F2021 |
332 /* #NOAPP */ |
333 .L30: |
334 024e 47E4 ldi r20,lo8(71) |
335 0250 60E0 ldi r22,lo8(EE_Parameter) |
336 0252 70E0 ldi r23,hi8(EE_Parameter) |
337 0254 0E94 0000 call ReadParameterSet |
338 0258 DE01 movw r26,r28 |
339 /* #APP */ |
340 025a 0E94 0000 call __eeprom_read_byte_1F2021 |
341 025e 802D mov r24,__tmp_reg__ |
342 /* #NOAPP */ |
343 0260 8630 cpi r24,lo8(6) |
344 0262 00F0 brlo .L32 |
345 0264 82E0 ldi r24,lo8(2) |
346 0266 DE01 movw r26,r28 |
347 /* #APP */ |
348 0268 082E mov __tmp_reg__,r24 |
349 026a 0E94 0000 call __eeprom_write_byte_1F2021 |
350 /* #NOAPP */ |
351 .L32: |
352 026e 9927 clr r25 |
353 0270 9F93 push r25 |
354 0272 8F93 push r24 |
355 0274 80E0 ldi r24,lo8(__c.2074) |
356 0276 90E0 ldi r25,hi8(__c.2074) |
357 0278 9F93 push r25 |
358 027a 8F93 push r24 |
359 027c 1F92 push __zero_reg__ |
360 027e 0E94 0000 call _printf_P |
361 0282 8091 0000 lds r24,EE_Parameter+8 |
362 0286 0F90 pop __tmp_reg__ |
363 0288 0F90 pop __tmp_reg__ |
364 028a 0F90 pop __tmp_reg__ |
365 028c 0F90 pop __tmp_reg__ |
366 028e 0F90 pop __tmp_reg__ |
367 0290 80FD sbrc r24,0 |
368 0292 00C0 rjmp .L34 |
369 0294 C8EE ldi r28,lo8(1000) |
370 0296 D3E0 ldi r29,hi8(1000) |
371 0298 00C0 rjmp .L36 |
372 .L34: |
373 029a 80E0 ldi r24,lo8(__c.2076) |
374 029c 90E0 ldi r25,hi8(__c.2076) |
375 029e 9F93 push r25 |
376 02a0 8F93 push r24 |
377 02a2 1F92 push __zero_reg__ |
378 02a4 0E94 0000 call _printf_P |
379 02a8 88EE ldi r24,lo8(1000) |
380 02aa 93E0 ldi r25,hi8(1000) |
381 02ac 0E94 0000 call SetDelay |
382 02b0 EC01 movw r28,r24 |
383 02b2 0E94 0000 call SucheLuftruckOffset |
384 02b6 0F90 pop __tmp_reg__ |
385 02b8 0F90 pop __tmp_reg__ |
386 02ba 0F90 pop __tmp_reg__ |
387 .L37: |
388 02bc CE01 movw r24,r28 |
389 02be 0E94 0000 call CheckDelay |
390 02c2 8823 tst r24 |
391 02c4 01F0 breq .L37 |
392 02c6 80E0 ldi r24,lo8(__c.2081) |
393 02c8 90E0 ldi r25,hi8(__c.2081) |
394 02ca 9F93 push r25 |
395 02cc 8F93 push r24 |
396 02ce 1F92 push __zero_reg__ |
397 02d0 0E94 0000 call _printf_P |
398 02d4 0F90 pop __tmp_reg__ |
399 02d6 0F90 pop __tmp_reg__ |
400 02d8 0F90 pop __tmp_reg__ |
401 .L36: |
402 02da 0E94 0000 call SetNeutral |
403 02de 8091 0000 lds r24,PlatinenVersion |
404 02e2 8A30 cpi r24,lo8(10) |
405 02e4 01F4 brne .L39 |
406 02e6 2898 cbi 37-0x20,0 |
407 02e8 00C0 rjmp .L41 |
408 .L39: |
409 02ea 289A sbi 37-0x20,0 |
410 .L41: |
411 02ec 80ED ldi r24,lo8(2000) |
412 02ee 97E0 ldi r25,hi8(2000) |
413 02f0 9093 0000 sts (beeptime)+1,r25 |
414 02f4 8093 0000 sts beeptime,r24 |
415 02f8 88EE ldi r24,lo8(1000) |
416 02fa 93E0 ldi r25,hi8(1000) |
417 02fc 9093 0000 sts (DebugIn+5)+1,r25 |
418 0300 8093 0000 sts DebugIn+5,r24 |
419 0304 85E5 ldi r24,lo8(85) |
420 0306 8093 0000 sts DebugIn,r24 |
421 030a 80E0 ldi r24,lo8(__c.2083) |
422 030c 90E0 ldi r25,hi8(__c.2083) |
423 030e 9F93 push r25 |
424 0310 8F93 push r24 |
425 0312 1F92 push __zero_reg__ |
426 0314 0E94 0000 call _printf_P |
427 0318 8091 0000 lds r24,EE_Parameter+8 |
428 031c 0F90 pop __tmp_reg__ |
429 031e 0F90 pop __tmp_reg__ |
430 0320 0F90 pop __tmp_reg__ |
431 0322 82FF sbrs r24,2 |
432 0324 00C0 rjmp .L42 |
433 0326 80E0 ldi r24,lo8(__c.2085) |
434 0328 90E0 ldi r25,hi8(__c.2085) |
435 032a 00C0 rjmp .L80 |
436 .L42: |
437 032c 80E0 ldi r24,lo8(__c.2087) |
438 032e 90E0 ldi r25,hi8(__c.2087) |
439 .L80: |
440 0330 9F93 push r25 |
441 0332 8F93 push r24 |
442 0334 1F92 push __zero_reg__ |
443 0336 0E94 0000 call _printf_P |
444 033a 0F90 pop __tmp_reg__ |
445 033c 0F90 pop __tmp_reg__ |
446 033e 0F90 pop __tmp_reg__ |
447 0340 80E0 ldi r24,lo8(__c.2089) |
448 0342 90E0 ldi r25,hi8(__c.2089) |
449 0344 9F93 push r25 |
450 0346 8F93 push r24 |
451 0348 1F92 push __zero_reg__ |
452 034a 0E94 0000 call _printf_P |
453 034e 0E94 0000 call LcdClear |
454 0352 88E8 ldi r24,lo8(5000) |
455 0354 93E1 ldi r25,hi8(5000) |
456 0356 9093 0000 sts (I2CTimeout)+1,r25 |
457 035a 8093 0000 sts I2CTimeout,r24 |
458 035e 0F90 pop __tmp_reg__ |
459 0360 0F90 pop __tmp_reg__ |
460 0362 0F90 pop __tmp_reg__ |
461 .L81: |
462 0364 8091 0000 lds r24,UpdateMotor |
463 0368 8823 tst r24 |
464 036a 01F4 brne .+2 |
465 036c 00C0 rjmp .L46 |
466 036e 1092 0000 sts UpdateMotor,__zero_reg__ |
467 0372 0E94 0000 call MotorRegler |
468 0376 0E94 0000 call SendMotorData |
469 037a 2091 0000 lds r18,PlatinenVersion |
470 037e 2A30 cpi r18,lo8(10) |
471 0380 01F4 brne .L48 |
472 0382 2898 cbi 37-0x20,0 |
473 0384 00C0 rjmp .L50 |
474 .L48: |
475 0386 289A sbi 37-0x20,0 |
476 .L50: |
477 0388 8091 0000 lds r24,PcZugriff |
478 038c 8823 tst r24 |
479 038e 01F0 breq .L51 |
480 0390 8150 subi r24,lo8(-(-1)) |
481 0392 8093 0000 sts PcZugriff,r24 |
482 0396 00C0 rjmp .L53 |
483 .L51: |
484 0398 1092 0000 sts DubWiseKeys,__zero_reg__ |
485 039c 1092 0000 sts DubWiseKeys+1,__zero_reg__ |
486 03a0 1092 0000 sts (ExternStickNick)+1,__zero_reg__ |
487 03a4 1092 0000 sts ExternStickNick,__zero_reg__ |
488 03a8 1092 0000 sts (ExternStickRoll)+1,__zero_reg__ |
489 03ac 1092 0000 sts ExternStickRoll,__zero_reg__ |
490 03b0 1092 0000 sts (ExternStickGier)+1,__zero_reg__ |
491 03b4 1092 0000 sts ExternStickGier,__zero_reg__ |
492 .L53: |
493 03b8 8091 0000 lds r24,SenderOkay |
494 03bc 8823 tst r24 |
495 03be 01F0 breq .L54 |
496 03c0 8091 0000 lds r24,SenderOkay |
497 03c4 8150 subi r24,lo8(-(-1)) |
498 03c6 8093 0000 sts SenderOkay,r24 |
499 .L54: |
500 03ca 8091 0000 lds r24,I2CTimeout |
501 03ce 9091 0000 lds r25,(I2CTimeout)+1 |
502 03d2 892B or r24,r25 |
503 03d4 01F4 brne .L56 |
504 03d6 85E0 ldi r24,lo8(5) |
505 03d8 90E0 ldi r25,hi8(5) |
506 03da 9093 0000 sts (I2CTimeout)+1,r25 |
507 03de 8093 0000 sts I2CTimeout,r24 |
508 03e2 0E94 0000 call i2c_reset |
509 03e6 8091 0000 lds r24,BeepMuster |
510 03ea 9091 0000 lds r25,(BeepMuster)+1 |
511 03ee 8F5F subi r24,lo8(-1) |
512 03f0 9F4F sbci r25,hi8(-1) |
513 03f2 01F4 brne .L46 |
514 03f4 8091 0000 lds r24,MotorenEin |
515 03f8 8823 tst r24 |
516 03fa 01F0 breq .L46 |
517 03fc 80E1 ldi r24,lo8(10000) |
518 03fe 97E2 ldi r25,hi8(10000) |
519 0400 9093 0000 sts (beeptime)+1,r25 |
520 0404 8093 0000 sts beeptime,r24 |
521 0408 80E8 ldi r24,lo8(128) |
522 040a 90E0 ldi r25,hi8(128) |
523 040c 9093 0000 sts (BeepMuster)+1,r25 |
524 0410 8093 0000 sts BeepMuster,r24 |
525 0414 00C0 rjmp .L46 |
526 .L56: |
527 0416 8091 0000 lds r24,I2CTimeout |
528 041a 9091 0000 lds r25,(I2CTimeout)+1 |
529 041e 0197 sbiw r24,1 |
530 0420 9093 0000 sts (I2CTimeout)+1,r25 |
531 0424 8093 0000 sts I2CTimeout,r24 |
532 0428 2A30 cpi r18,lo8(10) |
533 042a 01F4 brne .L60 |
534 042c 2898 cbi 37-0x20,0 |
535 042e 00C0 rjmp .L46 |
536 .L60: |
537 0430 289A sbi 37-0x20,0 |
538 .L46: |
539 0432 0E94 0000 call DatenUebertragung |
540 0436 0E94 0000 call BearbeiteRxDaten |
541 043a CE01 movw r24,r28 |
542 043c 0E94 0000 call CheckDelay |
543 0440 8823 tst r24 |
544 0442 01F4 brne .+2 |
545 0444 00C0 rjmp .L81 |
546 0446 2091 0000 lds r18,UBat |
547 044a 3091 0000 lds r19,(UBat)+1 |
548 044e 8091 0000 lds r24,EE_Parameter+24 |
549 0452 9927 clr r25 |
550 0454 2817 cp r18,r24 |
551 0456 3907 cpc r19,r25 |
552 0458 04F4 brge .L63 |
553 045a 8091 0000 lds r24,BeepMuster |
554 045e 9091 0000 lds r25,(BeepMuster)+1 |
555 0462 8F5F subi r24,lo8(-1) |
556 0464 9F4F sbci r25,hi8(-1) |
557 0466 01F4 brne .L63 |
558 0468 80E7 ldi r24,lo8(6000) |
559 046a 97E1 ldi r25,hi8(6000) |
560 046c 9093 0000 sts (beeptime)+1,r25 |
561 0470 8093 0000 sts beeptime,r24 |
562 0474 80E0 ldi r24,lo8(768) |
563 0476 93E0 ldi r25,hi8(768) |
564 0478 9093 0000 sts (BeepMuster)+1,r25 |
565 047c 8093 0000 sts BeepMuster,r24 |
566 .L63: |
567 0480 84E6 ldi r24,lo8(100) |
568 0482 90E0 ldi r25,hi8(100) |
569 0484 0E94 0000 call SetDelay |
570 0488 EC01 movw r28,r24 |
571 048a 00C0 rjmp .L81 |
572 /* epilogue: frame size=0 */ |
573 /* epilogue: noreturn */ |
574 /* epilogue end (size=0) */ |
575 /* function main size 532 (529) */ |
577 .global PlatinenVersion |
578 .data |
581 PlatinenVersion: |
582 0000 0A .byte 10 |
583 .section .progmem.data,"a",@progbits |
586 __c.2089: |
587 0000 0A0A 0D00 .string "\n\n\r" |
590 __c.2087: |
591 0004 4E65 7574 .string "Neutral" |
591 7261 6C00 |
594 __c.2085: |
595 000c 4865 6164 .string "HeadingHold" |
595 696E 6748 |
595 6F6C 6400 |
598 __c.2083: |
599 0018 0A0D 5374 .string "\n\rSteuerung: " |
599 6575 6572 |
599 756E 673A |
599 2000 |
602 __c.2081: |
603 0026 4F4B 0A0D .string "OK\n\r" |
603 00 |
606 __c.2076: |
607 002b 0A0D 4162 .string "\n\rAbgleich Luftdrucksensor.." |
607 676C 6569 |
607 6368 204C |
607 7566 7464 |
607 7275 636B |
610 __c.2074: |
611 0048 0A0D 4265 .string "\n\rBenutze Parametersatz %d" |
611 6E75 747A |
611 6520 5061 |
611 7261 6D65 |
611 7465 7273 |
614 __c.2072: |
615 0063 0A0D 4143 .string "\n\rACC nicht abgeglichen!" |
615 4320 6E69 |
615 6368 7420 |
615 6162 6765 |
615 676C 6963 |
618 __c.2065: |
619 007c 0A0D 496E .string "\n\rInit. EEPROM: Generiere Default-Parameter..." |
619 6974 2E20 |
619 4545 5052 |
619 4F4D 3A20 |
619 4765 6E65 |
622 __c.2063: |
623 00ab 0A0D 3D3D .string "\n\r==============================" |
623 3D3D 3D3D |
623 3D3D 3D3D |
623 3D3D 3D3D |
623 3D3D 3D3D |
626 __c.2061: |
627 00cc 0A0D 466C .string "\n\rFlightControl\n\rHardware:%d.%d\n\rSoftware:V%d.%d%c " |
627 6967 6874 |
627 436F 6E74 |
627 726F 6C0A |
627 0D48 6172 |
628 .global EEPromArray |
629 .section .eeprom,"aw",@progbits |
632 EEPromArray: |
633 0000 0000 0000 .skip 2048,0 |
633 0000 0000 |
633 0000 0000 |
633 0000 0000 |
633 0000 0000 |
634 /* File "main.c": code 612 = 0x0264 ( 602), prologues 5, epilogues 5 */ |
DEFINED SYMBOLS |
*ABS*:00000000 main.c |
C:\Users\gunterl\AppData\Local\Temp/ccgFeh1K.s:3 *ABS*:0000003f __SREG__ |
C:\Users\gunterl\AppData\Local\Temp/ccgFeh1K.s:4 *ABS*:0000003e __SP_H__ |
C:\Users\gunterl\AppData\Local\Temp/ccgFeh1K.s:5 *ABS*:0000003d __SP_L__ |
C:\Users\gunterl\AppData\Local\Temp/ccgFeh1K.s:6 *ABS*:00000000 __tmp_reg__ |
C:\Users\gunterl\AppData\Local\Temp/ccgFeh1K.s:7 *ABS*:00000001 __zero_reg__ |
C:\Users\gunterl\AppData\Local\Temp/ccgFeh1K.s:13 .text:00000000 GetActiveParamSetNumber |
C:\Users\gunterl\AppData\Local\Temp/ccgFeh1K.s:632 .eeprom:00000000 EEPromArray |
C:\Users\gunterl\AppData\Local\Temp/ccgFeh1K.s:40 .text:0000001e WriteParameterSet |
C:\Users\gunterl\AppData\Local\Temp/ccgFeh1K.s:57 .text:00000036 .34_start |
C:\Users\gunterl\AppData\Local\Temp/ccgFeh1K.s:63 .text:00000042 .34_finished |
C:\Users\gunterl\AppData\Local\Temp/ccgFeh1K.s:78 .text:0000004e ReadParameterSet |
C:\Users\gunterl\AppData\Local\Temp/ccgFeh1K.s:96 .text:00000068 .52_start |
C:\Users\gunterl\AppData\Local\Temp/ccgFeh1K.s:102 .text:00000074 .52_finished |
C:\Users\gunterl\AppData\Local\Temp/ccgFeh1K.s:113 .text:0000007a main |
C:\Users\gunterl\AppData\Local\Temp/ccgFeh1K.s:581 .data:00000000 PlatinenVersion |
C:\Users\gunterl\AppData\Local\Temp/ccgFeh1K.s:626 .progmem.data:000000cc __c.2061 |
C:\Users\gunterl\AppData\Local\Temp/ccgFeh1K.s:622 .progmem.data:000000ab __c.2063 |
C:\Users\gunterl\AppData\Local\Temp/ccgFeh1K.s:618 .progmem.data:0000007c __c.2065 |
C:\Users\gunterl\AppData\Local\Temp/ccgFeh1K.s:614 .progmem.data:00000063 __c.2072 |
C:\Users\gunterl\AppData\Local\Temp/ccgFeh1K.s:610 .progmem.data:00000048 __c.2074 |
C:\Users\gunterl\AppData\Local\Temp/ccgFeh1K.s:606 .progmem.data:0000002b __c.2076 |
C:\Users\gunterl\AppData\Local\Temp/ccgFeh1K.s:602 .progmem.data:00000026 __c.2081 |
C:\Users\gunterl\AppData\Local\Temp/ccgFeh1K.s:598 .progmem.data:00000018 __c.2083 |
C:\Users\gunterl\AppData\Local\Temp/ccgFeh1K.s:594 .progmem.data:0000000c __c.2085 |
C:\Users\gunterl\AppData\Local\Temp/ccgFeh1K.s:590 .progmem.data:00000004 __c.2087 |
C:\Users\gunterl\AppData\Local\Temp/ccgFeh1K.s:586 .progmem.data:00000000 __c.2089 |
|
UNDEFINED SYMBOLS |
__do_copy_data |
__do_clear_bss |
__eeprom_read_byte_1F2021 |
__eeprom_write_byte_1F2021 |
beeptime |
StickGier |
PPM_in |
StickRoll |
StickNick |
Timer_Init |
UART_Init |
rc_sum_init |
ADC_Init |
i2c_init |
VersionInfo |
__udivmodqi4 |
_printf_P |
DefaultKonstanten1 |
DefaultKonstanten2 |
EE_Parameter |
DefaultKonstanten3 |
SetDelay |
SucheLuftruckOffset |
CheckDelay |
SetNeutral |
DebugIn |
LcdClear |
I2CTimeout |
UpdateMotor |
MotorRegler |
SendMotorData |
PcZugriff |
DubWiseKeys |
ExternStickNick |
ExternStickRoll |
ExternStickGier |
SenderOkay |
i2c_reset |
BeepMuster |
MotorenEin |
DatenUebertragung |
BearbeiteRxDaten |
UBat |