0,0 → 1,1292 |
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 .global FoundMotors |
11 .global FoundMotors |
12 .section .bss |
15 FoundMotors: |
16 0000 00 .skip 1,0 |
17 .global FlugSekunden |
18 .global FlugSekunden |
21 FlugSekunden: |
22 0001 0000 .skip 2,0 |
23 .global FlugMinutenGesamt |
24 .global FlugMinutenGesamt |
27 FlugMinutenGesamt: |
28 0003 0000 .skip 2,0 |
29 .global FlugMinuten |
30 .global FlugMinuten |
33 FlugMinuten: |
34 0005 0000 .skip 2,0 |
35 .global BattLowVoltageWarning |
36 .data |
39 BattLowVoltageWarning: |
40 0000 5E .byte 94 |
41 .global SendVersionToNavi |
44 SendVersionToNavi: |
45 0001 01 .byte 1 |
46 .global PlatinenVersion |
49 PlatinenVersion: |
50 0002 0A .byte 10 |
53 stick.15: |
54 0003 01 .byte 1 |
55 .text |
56 .global CalMk3Mag |
58 CalMk3Mag: |
59 /* prologue: frame size=0 */ |
60 /* prologue end (size=0) */ |
61 0000 8091 0000 lds r24,EE_Parameter+1 |
62 0004 E82F mov r30,r24 |
63 0006 FF27 clr r31 |
64 0008 EE0F add r30,r30 |
65 000a FF1F adc r31,r31 |
66 000c E050 subi r30,lo8(-(PPM_in)) |
67 000e F040 sbci r31,hi8(-(PPM_in)) |
68 0010 8081 ld r24,Z |
69 0012 9181 ldd r25,Z+1 |
70 0014 8D5E subi r24,lo8(-19) |
71 0016 9F4F sbci r25,hi8(-19) |
72 0018 14F0 brlt .L2 |
73 001a 1092 0000 sts stick.15,__zero_reg__ |
74 .L2: |
75 001e 8081 ld r24,Z |
76 0020 9181 ldd r25,Z+1 |
77 0022 8A5B subi r24,lo8(-70) |
78 0024 9F4F sbci r25,hi8(-70) |
79 0026 CCF4 brge .L3 |
80 0028 8091 0000 lds r24,stick.15 |
81 002c 8823 tst r24 |
82 002e A9F4 brne .L3 |
83 0030 81E0 ldi r24,lo8(1) |
84 0032 8093 0000 sts stick.15,r24 |
85 0036 8091 0000 lds r24,WinkelOut+6 |
86 003a 8F5F subi r24,lo8(-(1)) |
87 003c 8093 0000 sts WinkelOut+6,r24 |
88 0040 8530 cpi r24,lo8(5) |
89 0042 38F0 brlo .L4 |
90 0044 88EE ldi r24,lo8(1000) |
91 0046 93E0 ldi r25,hi8(1000) |
92 0048 9093 0000 sts (beeptime)+1,r25 |
93 004c 8093 0000 sts beeptime,r24 |
94 0050 04C0 rjmp .L3 |
95 .L4: |
96 0052 66E9 ldi r22,lo8(150) |
97 0054 70E0 ldi r23,hi8(150) |
98 0056 0E94 0000 call Piep |
99 .L3: |
100 005a 8091 0000 lds r24,WinkelOut+6 |
101 005e 9927 clr r25 |
102 0060 9093 0000 sts (DebugOut+40)+1,r25 |
103 0064 8093 0000 sts DebugOut+40,r24 |
104 /* epilogue: frame size=0 */ |
105 0068 0895 ret |
106 /* epilogue end (size=1) */ |
107 /* function CalMk3Mag size 55 (54) */ |
109 .section .progmem.data,"a",@progbits |
112 __c.12: |
113 0000 0A0D 4261 .string "\n\rBatt:" |
113 7474 3A00 |
116 __c.13: |
117 0008 2025 6420 .string " %d Cells " |
117 4365 6C6C |
117 7320 00 |
120 __c.14: |
121 0013 204C 6F77 .string " Low warning level: %d.%d" |
121 2077 6172 |
121 6E69 6E67 |
121 206C 6576 |
121 656C 3A20 |
122 .text |
123 .global LipoDetection |
125 LipoDetection: |
126 /* prologue: frame size=0 */ |
127 006a 1F93 push r17 |
128 006c CF93 push r28 |
129 006e DF93 push r29 |
130 /* prologue end (size=3) */ |
131 0070 182F mov r17,r24 |
132 0072 8823 tst r24 |
133 0074 89F0 breq .L7 |
134 0076 80E0 ldi r24,lo8(__c.12) |
135 0078 90E0 ldi r25,hi8(__c.12) |
136 007a 9F93 push r25 |
137 007c 8F93 push r24 |
138 007e 80E0 ldi r24,lo8(pm(uart_putchar)) |
139 0080 90E0 ldi r25,hi8(pm(uart_putchar)) |
140 0082 9F93 push r25 |
141 0084 8F93 push r24 |
142 0086 E091 0000 lds r30,_printf_P |
143 008a F091 0000 lds r31,(_printf_P)+1 |
144 008e 0995 icall |
145 0090 0F90 pop __tmp_reg__ |
146 0092 0F90 pop __tmp_reg__ |
147 0094 0F90 pop __tmp_reg__ |
148 0096 0F90 pop __tmp_reg__ |
149 .L7: |
150 0098 8091 0000 lds r24,EE_Parameter+36 |
151 009c 8233 cpi r24,lo8(50) |
152 009e 08F0 brlo .+2 |
153 00a0 44C0 rjmp .L8 |
154 00a2 84EF ldi r24,lo8(500) |
155 00a4 91E0 ldi r25,hi8(500) |
156 00a6 0E94 0000 call SetDelay |
157 00aa EC01 movw r28,r24 |
158 00ac 1123 tst r17 |
159 00ae 29F0 breq .L9 |
160 .L10: |
161 00b0 CE01 movw r24,r28 |
162 00b2 0E94 0000 call CheckDelay |
163 00b6 8823 tst r24 |
164 00b8 D9F3 breq .L10 |
165 .L9: |
166 00ba C2E0 ldi r28,lo8(2) |
167 00bc D0E0 ldi r29,hi8(2) |
168 00be 26E5 ldi r18,lo8(86) |
169 00c0 30E0 ldi r19,hi8(86) |
170 .L17: |
171 00c2 8091 0000 lds r24,UBat |
172 00c6 9091 0000 lds r25,(UBat)+1 |
173 00ca 8217 cp r24,r18 |
174 00cc 9307 cpc r25,r19 |
175 00ce 30F0 brlo .L14 |
176 00d0 2196 adiw r28,1 |
177 00d2 255D subi r18,lo8(-(43)) |
178 00d4 3F4F sbci r19,hi8(-(43)) |
179 00d6 C730 cpi r28,7 |
180 00d8 D105 cpc r29,__zero_reg__ |
181 00da 98F3 brlo .L17 |
182 .L14: |
183 00dc 8091 0000 lds r24,EE_Parameter+36 |
184 00e0 9927 clr r25 |
185 00e2 C89F mul r28,r24 |
186 00e4 9001 movw r18,r0 |
187 00e6 C99F mul r28,r25 |
188 00e8 300D add r19,r0 |
189 00ea D89F mul r29,r24 |
190 00ec 300D add r19,r0 |
191 00ee 1124 clr r1 |
192 00f0 2093 0000 sts BattLowVoltageWarning,r18 |
193 00f4 1123 tst r17 |
194 00f6 D9F0 breq .L19 |
195 00f8 68EC ldi r22,lo8(200) |
196 00fa 70E0 ldi r23,hi8(200) |
197 00fc 8C2F mov r24,r28 |
198 00fe 0E94 0000 call Piep |
199 0102 DF93 push r29 |
200 0104 CF93 push r28 |
201 0106 80E0 ldi r24,lo8(__c.13) |
202 0108 90E0 ldi r25,hi8(__c.13) |
203 010a 9F93 push r25 |
204 010c 8F93 push r24 |
205 010e 80E0 ldi r24,lo8(pm(uart_putchar)) |
206 0110 90E0 ldi r25,hi8(pm(uart_putchar)) |
207 0112 9F93 push r25 |
208 0114 8F93 push r24 |
209 0116 E091 0000 lds r30,_printf_P |
210 011a F091 0000 lds r31,(_printf_P)+1 |
211 011e 0995 icall |
212 0120 8DB7 in r24,__SP_L__ |
213 0122 9EB7 in r25,__SP_H__ |
214 0124 0696 adiw r24,6 |
215 0126 8DBF out __SP_L__,r24 |
216 0128 02C0 rjmp .L19 |
217 .L8: |
218 012a 8093 0000 sts BattLowVoltageWarning,r24 |
219 .L19: |
220 012e 1123 tst r17 |
221 0130 11F1 breq .L6 |
222 0132 8091 0000 lds r24,BattLowVoltageWarning |
223 0136 6AE0 ldi r22,lo8(10) |
224 0138 0E94 0000 call __udivmodqi4 |
225 013c 892F mov r24,r25 |
226 013e 9927 clr r25 |
227 0140 9F93 push r25 |
228 0142 8F93 push r24 |
229 0144 8091 0000 lds r24,BattLowVoltageWarning |
230 0148 0E94 0000 call __udivmodqi4 |
231 014c 9927 clr r25 |
232 014e 9F93 push r25 |
233 0150 8F93 push r24 |
234 0152 80E0 ldi r24,lo8(__c.14) |
235 0154 90E0 ldi r25,hi8(__c.14) |
236 0156 9F93 push r25 |
237 0158 8F93 push r24 |
238 015a 80E0 ldi r24,lo8(pm(uart_putchar)) |
239 015c 90E0 ldi r25,hi8(pm(uart_putchar)) |
240 015e 9F93 push r25 |
241 0160 8F93 push r24 |
242 0162 E091 0000 lds r30,_printf_P |
243 0166 F091 0000 lds r31,(_printf_P)+1 |
244 016a 0995 icall |
245 016c 2DB7 in r18,__SP_L__ |
246 016e 3EB7 in r19,__SP_H__ |
247 0170 285F subi r18,lo8(-(8)) |
248 0172 3F4F sbci r19,hi8(-(8)) |
249 0174 2DBF out __SP_L__,r18 |
250 .L6: |
251 /* epilogue: frame size=0 */ |
252 0176 DF91 pop r29 |
253 0178 CF91 pop r28 |
254 017a 1F91 pop r17 |
255 017c 0895 ret |
256 /* epilogue end (size=4) */ |
257 /* function LipoDetection size 138 (131) */ |
259 .section .progmem.data |
262 __c.0: |
263 002d 0A0D 466F .string "\n\rFound BL-Ctrl: " |
263 756E 6420 |
263 424C 2D43 |
263 7472 6C3A |
263 2000 |
266 __c.1: |
267 003f 2564 00 .string "%d" |
270 __c.2: |
271 0042 0A0D 0A0D .string "\n\r\n\r!! MISSING BL-CTRL: %d !!" |
271 2121 204D |
271 4953 5349 |
271 4E47 2042 |
271 4C2D 4354 |
274 __c.3: |
275 0060 0A0D 3D3D .string "\n\r===================================" |
275 3D3D 3D3D |
275 3D3D 3D3D |
275 3D3D 3D3D |
275 3D3D 3D3D |
278 __c.4: |
279 0086 0A0D 4361 .string "\n\rCalibrating pressure sensor.." |
279 6C69 6272 |
279 6174 696E |
279 6720 7072 |
279 6573 7375 |
282 __c.5: |
283 00a6 4F4B 0A0D .string "OK\n\r" |
283 00 |
286 __c.6: |
287 00ab 0A0D 466C .string "\n\rFlight-time %u min Total:%u min" |
287 6967 6874 |
287 2D74 696D |
287 6520 2575 |
287 206D 696E |
290 __c.7: |
291 00ce 0A0D 436F .string "\n\rControl: " |
291 6E74 726F |
291 6C3A 2000 |
294 __c.8: |
295 00da 4865 6164 .string "HeadingHold" |
295 696E 6748 |
295 6F6C 6400 |
298 __c.9: |
299 00e6 4E6F 726D .string "Normal (ACC-Mode)" |
299 616C 2028 |
299 4143 432D |
299 4D6F 6465 |
299 2900 |
302 __c.10: |
303 00f8 0A0D 3D3D .string "\n\r===================================\n\r" |
303 3D3D 3D3D |
303 3D3D 3D3D |
303 3D3D 3D3D |
303 3D3D 3D3D |
304 .lcomm second.11,1 |
305 .text |
306 .global main |
308 main: |
309 /* prologue: frame size=0 */ |
310 017e C0E0 ldi r28,lo8(__stack - 0) |
311 0180 D0E0 ldi r29,hi8(__stack - 0) |
312 0182 DEBF out __SP_H__,r29 |
313 0184 CDBF out __SP_L__,r28 |
314 /* prologue end (size=4) */ |
315 0186 8824 clr r8 |
316 0188 9924 clr r9 |
317 018a 14B8 out 36-0x20,__zero_reg__ |
318 018c 15B8 out 37-0x20,__zero_reg__ |
319 018e 07EE ldi r16,lo8(999) |
320 0190 13E0 ldi r17,hi8(999) |
321 .L26: |
322 0192 0253 subi r16,lo8(-(-50)) |
323 0194 1040 sbci r17,hi8(-(-50)) |
324 0196 17FF sbrs r17,7 |
325 0198 FCCF rjmp .L26 |
326 019a 189B sbis 35-0x20,0 |
327 019c 06C0 rjmp .L27 |
328 019e 199B sbis 35-0x20,1 |
329 01a0 02C0 rjmp .L28 |
330 01a2 8DE0 ldi r24,lo8(13) |
331 01a4 07C0 rjmp .L228 |
332 .L28: |
333 01a6 8BE0 ldi r24,lo8(11) |
334 01a8 05C0 rjmp .L228 |
335 .L27: |
336 01aa 199B sbis 35-0x20,1 |
337 01ac 02C0 rjmp .L31 |
338 01ae 84E1 ldi r24,lo8(20) |
339 01b0 01C0 rjmp .L228 |
340 .L31: |
341 01b2 8AE0 ldi r24,lo8(10) |
342 .L228: |
343 01b4 8093 0000 sts PlatinenVersion,r24 |
344 01b8 81E8 ldi r24,lo8(-127) |
345 01ba 87B9 out 39-0x20,r24 |
346 01bc 3E9A sbi 39-0x20,6 |
347 01be 8FEF ldi r24,lo8(-1) |
348 01c0 88B9 out 40-0x20,r24 |
349 01c2 8BE1 ldi r24,lo8(27) |
350 01c4 84B9 out 36-0x20,r24 |
351 01c6 81E0 ldi r24,lo8(1) |
352 01c8 85B9 out 37-0x20,r24 |
353 01ca 8EE3 ldi r24,lo8(62) |
354 01cc 8AB9 out 42-0x20,r24 |
355 01ce 87E4 ldi r24,lo8(71) |
356 01d0 8BB9 out 43-0x20,r24 |
357 01d2 469A sbi 40-0x20,6 |
358 01d4 84B7 in r24,84-0x20 |
359 01d6 877F andi r24,lo8(-9) |
360 01d8 84BF out 84-0x20,r24 |
361 01da 8091 6000 lds r24,96 |
362 01de 8861 ori r24,lo8(24) |
363 01e0 8093 6000 sts 96,r24 |
364 01e4 1092 6000 sts 96,__zero_reg__ |
365 01e8 84EC ldi r24,lo8(2500) |
366 01ea 99E0 ldi r25,hi8(2500) |
367 01ec 9093 0000 sts (beeptime)+1,r25 |
368 01f0 8093 0000 sts beeptime,r24 |
369 01f4 1092 0000 sts (StickGier)+1,__zero_reg__ |
370 01f8 1092 0000 sts StickGier,__zero_reg__ |
371 01fc 1092 0000 sts (PPM_in+4)+1,__zero_reg__ |
372 0200 1092 0000 sts PPM_in+4,__zero_reg__ |
373 0204 1092 0000 sts (StickRoll)+1,__zero_reg__ |
374 0208 1092 0000 sts StickRoll,__zero_reg__ |
375 020c 1092 0000 sts (StickNick)+1,__zero_reg__ |
376 0210 1092 0000 sts StickNick,__zero_reg__ |
377 0214 2091 0000 lds r18,PlatinenVersion |
378 0218 2431 cpi r18,lo8(20) |
379 021a 28F0 brlo .L33 |
380 021c 84EC ldi r24,lo8(1220) |
381 021e 94E0 ldi r25,hi8(1220) |
382 0220 A0E0 ldi r26,hlo8(1220) |
383 0222 B0E0 ldi r27,hhi8(1220) |
384 0224 04C0 rjmp .L229 |
385 .L33: |
386 0226 8BE0 ldi r24,lo8(1291) |
387 0228 95E0 ldi r25,hi8(1291) |
388 022a A0E0 ldi r26,hlo8(1291) |
389 022c B0E0 ldi r27,hhi8(1291) |
390 .L229: |
391 022e 8093 0000 sts GIER_GRAD_FAKTOR,r24 |
392 0232 9093 0000 sts (GIER_GRAD_FAKTOR)+1,r25 |
393 0236 A093 0000 sts (GIER_GRAD_FAKTOR)+2,r26 |
394 023a B093 0000 sts (GIER_GRAD_FAKTOR)+3,r27 |
395 023e 2A30 cpi r18,lo8(10) |
396 0240 11F0 breq .L36 |
397 0242 2431 cpi r18,lo8(20) |
398 0244 10F0 brlo .L35 |
399 .L36: |
400 0246 2898 cbi 37-0x20,0 |
401 0248 01C0 rjmp .L37 |
402 .L35: |
403 024a 289A sbi 37-0x20,0 |
404 .L37: |
405 024c 0E94 0000 call Timer_Init |
406 0250 0E94 0000 call TIMER2_Init |
407 0254 0E94 0000 call UART_Init |
408 0258 0E94 0000 call rc_sum_init |
409 025c 0E94 0000 call ADC_Init |
410 0260 0E94 0000 call I2C_Init |
411 0264 0E94 0000 call SPI_MasterInit |
412 0268 0E94 0000 call Capacity_Init |
413 026c 0E94 0000 call LIBFC_Init |
414 0270 8091 0000 lds r24,PlatinenVersion |
415 0274 8C30 cpi r24,lo8(12) |
416 0276 10F4 brsh .L38 |
417 0278 299A sbi 37-0x20,1 |
418 027a 01C0 rjmp .L39 |
419 .L38: |
420 027c 2998 cbi 37-0x20,1 |
421 .L39: |
422 /* #APP */ |
423 027e 7894 sei |
424 /* #NOAPP */ |
425 0280 0E94 0000 call ParamSet_Init |
426 0284 8091 0000 lds r24,BLFlags |
427 0288 8260 ori r24,lo8(2) |
428 028a 8093 0000 sts BLFlags,r24 |
429 028e 1092 0000 sts motor_read,__zero_reg__ |
430 0292 0E94 0000 call SendMotorData |
431 0296 84EF ldi r24,lo8(500) |
432 0298 91E0 ldi r25,hi8(500) |
433 029a 0E94 0000 call SetDelay |
434 029e 8C01 movw r16,r24 |
435 .L40: |
436 02a0 8091 0000 lds r24,BLFlags |
437 02a4 80FD sbrc r24,0 |
438 02a6 05C0 rjmp .L41 |
439 02a8 C801 movw r24,r16 |
440 02aa 0E94 0000 call CheckDelay |
441 02ae 8823 tst r24 |
442 02b0 B9F3 breq .L40 |
443 .L41: |
444 02b2 80E0 ldi r24,lo8(__c.0) |
445 02b4 90E0 ldi r25,hi8(__c.0) |
446 02b6 9F93 push r25 |
447 02b8 8F93 push r24 |
448 02ba B0E0 ldi r27,lo8(pm(uart_putchar)) |
449 02bc AB2E mov r10,r27 |
450 02be B0E0 ldi r27,hi8(pm(uart_putchar)) |
451 02c0 BB2E mov r11,r27 |
452 02c2 BF92 push r11 |
453 02c4 AF92 push r10 |
454 02c6 E091 0000 lds r30,_printf_P |
455 02ca F091 0000 lds r31,(_printf_P)+1 |
456 02ce 0995 icall |
457 02d0 80EA ldi r24,lo8(4000) |
458 02d2 9FE0 ldi r25,hi8(4000) |
459 02d4 0E94 0000 call SetDelay |
460 02d8 8C01 movw r16,r24 |
461 02da C0E0 ldi r28,lo8(0) |
462 02dc D0E0 ldi r29,hi8(0) |
463 02de 0F90 pop __tmp_reg__ |
464 02e0 0F90 pop __tmp_reg__ |
465 02e2 0F90 pop __tmp_reg__ |
466 02e4 0F90 pop __tmp_reg__ |
467 02e6 A0E0 ldi r26,lo8(Motor+3) |
468 02e8 EA2E mov r14,r26 |
469 02ea A0E0 ldi r26,hi8(Motor+3) |
470 02ec FA2E mov r15,r26 |
471 02ee F0E0 ldi r31,lo8(Mixer+13) |
472 02f0 CF2E mov r12,r31 |
473 02f2 F0E0 ldi r31,hi8(Mixer+13) |
474 02f4 DF2E mov r13,r31 |
475 .L57: |
476 02f6 0E94 0000 call SendMotorData |
477 .L46: |
478 02fa 8091 0000 lds r24,BLFlags |
479 02fe 80FD sbrc r24,0 |
480 0300 05C0 rjmp .L47 |
481 0302 C801 movw r24,r16 |
482 0304 0E94 0000 call CheckDelay |
483 0308 8823 tst r24 |
484 030a B9F3 breq .L46 |
485 .L47: |
486 030c F601 movw r30,r12 |
487 030e 8081 ld r24,Z |
488 0310 1816 cp __zero_reg__,r24 |
489 0312 ACF4 brge .L49 |
490 0314 0BC0 rjmp .L233 |
491 .L55: |
492 0316 0E94 0000 call SendMotorData |
493 .L52: |
494 031a 8091 0000 lds r24,BLFlags |
495 031e 80FD sbrc r24,0 |
496 0320 05C0 rjmp .L233 |
497 0322 C801 movw r24,r16 |
498 0324 0E94 0000 call CheckDelay |
499 0328 8823 tst r24 |
500 032a B9F3 breq .L52 |
501 .L233: |
502 032c C801 movw r24,r16 |
503 032e 0E94 0000 call CheckDelay |
504 0332 8823 tst r24 |
505 0334 21F4 brne .L49 |
506 0336 F701 movw r30,r14 |
507 0338 8081 ld r24,Z |
508 033a 8823 tst r24 |
509 033c 64F7 brge .L55 |
510 .L49: |
511 033e F701 movw r30,r14 |
512 0340 8081 ld r24,Z |
513 0342 87FF sbrs r24,7 |
514 0344 18C0 rjmp .L45 |
515 0346 2196 adiw r28,1 |
516 0348 DF93 push r29 |
517 034a CF93 push r28 |
518 034c 2197 sbiw r28,1 |
519 034e 80E0 ldi r24,lo8(__c.1) |
520 0350 90E0 ldi r25,hi8(__c.1) |
521 0352 9F93 push r25 |
522 0354 8F93 push r24 |
523 0356 BF92 push r11 |
524 0358 AF92 push r10 |
525 035a E091 0000 lds r30,_printf_P |
526 035e F091 0000 lds r31,(_printf_P)+1 |
527 0362 0995 icall |
528 0364 8091 0000 lds r24,FoundMotors |
529 0368 8F5F subi r24,lo8(-(1)) |
530 036a 8093 0000 sts FoundMotors,r24 |
531 036e 8DB7 in r24,__SP_L__ |
532 0370 9EB7 in r25,__SP_H__ |
533 0372 0696 adiw r24,6 |
534 0374 8DBF out __SP_L__,r24 |
535 .L45: |
536 0376 2196 adiw r28,1 |
537 0378 E4E0 ldi r30,lo8(4) |
538 037a F0E0 ldi r31,hi8(4) |
539 037c CE0E add r12,r30 |
540 037e DF1E adc r13,r31 |
541 0380 88E0 ldi r24,lo8(8) |
542 0382 90E0 ldi r25,hi8(8) |
543 0384 E80E add r14,r24 |
544 0386 F91E adc r15,r25 |
545 0388 CC30 cpi r28,12 |
546 038a D105 cpc r29,__zero_reg__ |
547 038c 08F4 brsh .+2 |
548 038e B3CF rjmp .L57 |
549 0390 C0E0 ldi r28,lo8(0) |
550 0392 D0E0 ldi r29,hi8(0) |
551 0394 00E0 ldi r16,lo8(Motor) |
552 0396 10E0 ldi r17,hi8(Motor) |
553 0398 E0E0 ldi r30,lo8(Mixer+13) |
554 039a EE2E mov r14,r30 |
555 039c E0E0 ldi r30,hi8(Mixer+13) |
556 039e FE2E mov r15,r30 |
557 .L62: |
558 03a0 F801 movw r30,r16 |
559 03a2 8381 ldd r24,Z+3 |
560 03a4 87FD sbrc r24,7 |
561 03a6 1CC0 rjmp .L61 |
562 03a8 F701 movw r30,r14 |
563 03aa 8081 ld r24,Z |
564 03ac 1816 cp __zero_reg__,r24 |
565 03ae C4F4 brge .L61 |
566 03b0 2196 adiw r28,1 |
567 03b2 DF93 push r29 |
568 03b4 CF93 push r28 |
569 03b6 2197 sbiw r28,1 |
570 03b8 80E0 ldi r24,lo8(__c.2) |
571 03ba 90E0 ldi r25,hi8(__c.2) |
572 03bc 9F93 push r25 |
573 03be 8F93 push r24 |
574 03c0 80E0 ldi r24,lo8(pm(uart_putchar)) |
575 03c2 90E0 ldi r25,hi8(pm(uart_putchar)) |
576 03c4 9F93 push r25 |
577 03c6 8F93 push r24 |
578 03c8 E091 0000 lds r30,_printf_P |
579 03cc F091 0000 lds r31,(_printf_P)+1 |
580 03d0 0995 icall |
581 03d2 82E0 ldi r24,lo8(2) |
582 03d4 8093 0000 sts ServoActive,r24 |
583 03d8 8DB7 in r24,__SP_L__ |
584 03da 9EB7 in r25,__SP_H__ |
585 03dc 0696 adiw r24,6 |
586 03de 8DBF out __SP_L__,r24 |
587 .L61: |
588 03e0 F801 movw r30,r16 |
589 03e2 8381 ldd r24,Z+3 |
590 03e4 8078 andi r24,lo8(-128) |
591 03e6 8383 std Z+3,r24 |
592 03e8 2196 adiw r28,1 |
593 03ea 84E0 ldi r24,lo8(4) |
594 03ec 90E0 ldi r25,hi8(4) |
595 03ee E80E add r14,r24 |
596 03f0 F91E adc r15,r25 |
597 03f2 085F subi r16,lo8(-(8)) |
598 03f4 1F4F sbci r17,hi8(-(8)) |
599 03f6 CC30 cpi r28,12 |
600 03f8 D105 cpc r29,__zero_reg__ |
601 03fa 90F2 brlo .L62 |
602 03fc 80E0 ldi r24,lo8(__c.3) |
603 03fe 90E0 ldi r25,hi8(__c.3) |
604 0400 9F93 push r25 |
605 0402 8F93 push r24 |
606 0404 C0E0 ldi r28,lo8(pm(uart_putchar)) |
607 0406 D0E0 ldi r29,hi8(pm(uart_putchar)) |
608 0408 DF93 push r29 |
609 040a CF93 push r28 |
610 040c E091 0000 lds r30,_printf_P |
611 0410 F091 0000 lds r31,(_printf_P)+1 |
612 0414 0995 icall |
613 0416 9091 0000 lds r25,RequiredMotors |
614 041a 8091 0000 lds r24,FoundMotors |
615 041e 0F90 pop __tmp_reg__ |
616 0420 0F90 pop __tmp_reg__ |
617 0422 0F90 pop __tmp_reg__ |
618 0424 0F90 pop __tmp_reg__ |
619 0426 9817 cp r25,r24 |
620 0428 28F4 brsh .L63 |
621 042a 8091 0000 lds r24,VersionInfo+6 |
622 042e 8061 ori r24,lo8(16) |
623 0430 8093 0000 sts VersionInfo+6,r24 |
624 .L63: |
625 0434 80E0 ldi r24,lo8(__c.4) |
626 0436 90E0 ldi r25,hi8(__c.4) |
627 0438 9F93 push r25 |
628 043a 8F93 push r24 |
629 043c DF93 push r29 |
630 043e CF93 push r28 |
631 0440 E091 0000 lds r30,_printf_P |
632 0444 F091 0000 lds r31,(_printf_P)+1 |
633 0448 0995 icall |
634 044a 88EE ldi r24,lo8(1000) |
635 044c 93E0 ldi r25,hi8(1000) |
636 044e 0E94 0000 call SetDelay |
637 0452 8C01 movw r16,r24 |
638 0454 0E94 0000 call SucheLuftruckOffset |
639 0458 0F90 pop __tmp_reg__ |
640 045a 0F90 pop __tmp_reg__ |
641 045c 0F90 pop __tmp_reg__ |
642 045e 0F90 pop __tmp_reg__ |
643 .L64: |
644 0460 C801 movw r24,r16 |
645 0462 0E94 0000 call CheckDelay |
646 0466 8823 tst r24 |
647 0468 D9F3 breq .L64 |
648 046a 80E0 ldi r24,lo8(__c.5) |
649 046c 90E0 ldi r25,hi8(__c.5) |
650 046e 9F93 push r25 |
651 0470 8F93 push r24 |
652 0472 DF93 push r29 |
653 0474 CF93 push r28 |
654 0476 E091 0000 lds r30,_printf_P |
655 047a F091 0000 lds r31,(_printf_P)+1 |
656 047e 0995 icall |
657 0480 80E0 ldi r24,lo8(0) |
658 0482 0E94 0000 call SetNeutral |
659 0486 8091 0000 lds r24,PlatinenVersion |
660 048a 0F90 pop __tmp_reg__ |
661 048c 0F90 pop __tmp_reg__ |
662 048e 0F90 pop __tmp_reg__ |
663 0490 0F90 pop __tmp_reg__ |
664 0492 8A30 cpi r24,lo8(10) |
665 0494 11F0 breq .L68 |
666 0496 8431 cpi r24,lo8(20) |
667 0498 10F0 brlo .L67 |
668 .L68: |
669 049a 2898 cbi 37-0x20,0 |
670 049c 01C0 rjmp .L69 |
671 .L67: |
672 049e 289A sbi 37-0x20,0 |
673 .L69: |
674 04a0 80ED ldi r24,lo8(2000) |
675 04a2 97E0 ldi r25,hi8(2000) |
676 04a4 9093 0000 sts (beeptime)+1,r25 |
677 04a8 8093 0000 sts beeptime,r24 |
678 04ac 85E5 ldi r24,lo8(85) |
679 04ae 8093 0000 sts ExternControl,r24 |
680 04b2 8EE0 ldi r24,lo8(14) |
681 04b4 90E0 ldi r25,hi8(14) |
682 04b6 0E94 0000 call GetParamByte |
683 04ba 9927 clr r25 |
684 04bc 182F mov r17,r24 |
685 04be 0027 clr r16 |
686 04c0 8FE0 ldi r24,lo8(15) |
687 04c2 90E0 ldi r25,hi8(15) |
688 04c4 0E94 0000 call GetParamByte |
689 04c8 080F add r16,r24 |
690 04ca 111D adc r17,__zero_reg__ |
691 04cc 1093 0000 sts (FlugMinuten)+1,r17 |
692 04d0 0093 0000 sts FlugMinuten,r16 |
693 04d4 8AE0 ldi r24,lo8(10) |
694 04d6 90E0 ldi r25,hi8(10) |
695 04d8 0E94 0000 call GetParamByte |
696 04dc 9927 clr r25 |
697 04de 182F mov r17,r24 |
698 04e0 0027 clr r16 |
699 04e2 8BE0 ldi r24,lo8(11) |
700 04e4 90E0 ldi r25,hi8(11) |
701 04e6 0E94 0000 call GetParamByte |
702 04ea 080F add r16,r24 |
703 04ec 111D adc r17,__zero_reg__ |
704 04ee 1093 0000 sts (FlugMinutenGesamt)+1,r17 |
705 04f2 0093 0000 sts FlugMinutenGesamt,r16 |
706 04f6 0F5F subi r16,lo8(-1) |
707 04f8 1F4F sbci r17,hi8(-1) |
708 04fa 39F0 breq .L71 |
709 04fc 8091 0000 lds r24,FlugMinuten |
710 0500 9091 0000 lds r25,(FlugMinuten)+1 |
711 0504 8F5F subi r24,lo8(-1) |
712 0506 9F4F sbci r25,hi8(-1) |
713 0508 41F4 brne .L70 |
714 .L71: |
715 050a 1092 0000 sts (FlugMinuten)+1,__zero_reg__ |
716 050e 1092 0000 sts FlugMinuten,__zero_reg__ |
717 0512 1092 0000 sts (FlugMinutenGesamt)+1,__zero_reg__ |
718 0516 1092 0000 sts FlugMinutenGesamt,__zero_reg__ |
719 .L70: |
720 051a 8091 0000 lds r24,FlugMinutenGesamt |
721 051e 9091 0000 lds r25,(FlugMinutenGesamt)+1 |
722 0522 9F93 push r25 |
723 0524 8F93 push r24 |
724 0526 8091 0000 lds r24,FlugMinuten |
725 052a 9091 0000 lds r25,(FlugMinuten)+1 |
726 052e 9F93 push r25 |
727 0530 8F93 push r24 |
728 0532 80E0 ldi r24,lo8(__c.6) |
729 0534 90E0 ldi r25,hi8(__c.6) |
730 0536 9F93 push r25 |
731 0538 8F93 push r24 |
732 053a DF93 push r29 |
733 053c CF93 push r28 |
734 053e E091 0000 lds r30,_printf_P |
735 0542 F091 0000 lds r31,(_printf_P)+1 |
736 0546 0995 icall |
737 0548 8DB7 in r24,__SP_L__ |
738 054a 9EB7 in r25,__SP_H__ |
739 054c 0896 adiw r24,8 |
740 054e 8DBF out __SP_L__,r24 |
741 0550 80E0 ldi r24,lo8(__c.7) |
742 0552 90E0 ldi r25,hi8(__c.7) |
743 0554 9F93 push r25 |
744 0556 8F93 push r24 |
745 0558 DF93 push r29 |
746 055a CF93 push r28 |
747 055c E091 0000 lds r30,_printf_P |
748 0560 F091 0000 lds r31,(_printf_P)+1 |
749 0564 0995 icall |
750 0566 8091 0000 lds r24,EE_Parameter+13 |
751 056a 0F90 pop __tmp_reg__ |
752 056c 0F90 pop __tmp_reg__ |
753 056e 0F90 pop __tmp_reg__ |
754 0570 0F90 pop __tmp_reg__ |
755 0572 E091 0000 lds r30,_printf_P |
756 0576 F091 0000 lds r31,(_printf_P)+1 |
757 057a 82FF sbrs r24,2 |
758 057c 07C0 rjmp .L72 |
759 057e 80E0 ldi r24,lo8(__c.8) |
760 0580 90E0 ldi r25,hi8(__c.8) |
761 0582 9F93 push r25 |
762 0584 8F93 push r24 |
763 0586 DF93 push r29 |
764 0588 CF93 push r28 |
765 058a 08C0 rjmp .L230 |
766 .L72: |
767 058c 80E0 ldi r24,lo8(__c.9) |
768 058e 90E0 ldi r25,hi8(__c.9) |
769 0590 9F93 push r25 |
770 0592 8F93 push r24 |
771 0594 80E0 ldi r24,lo8(pm(uart_putchar)) |
772 0596 90E0 ldi r25,hi8(pm(uart_putchar)) |
773 0598 9F93 push r25 |
774 059a 8F93 push r24 |
775 .L230: |
776 059c 0995 icall |
777 059e 0F90 pop __tmp_reg__ |
778 05a0 0F90 pop __tmp_reg__ |
779 05a2 0F90 pop __tmp_reg__ |
780 05a4 0F90 pop __tmp_reg__ |
781 05a6 0E94 0000 call LcdClear |
782 05aa 88E8 ldi r24,lo8(5000) |
783 05ac 93E1 ldi r25,hi8(5000) |
784 05ae 9093 0000 sts (I2CTimeout)+1,r25 |
785 05b2 8093 0000 sts I2CTimeout,r24 |
786 05b6 81E0 ldi r24,lo8(1) |
787 05b8 8093 0000 sts WinkelOut+7,r24 |
788 05bc 0E94 0000 call LipoDetection |
789 05c0 8091 0000 lds r24,EE_Parameter+39 |
790 05c4 0E94 0000 call LIBFC_ReceiverInit |
791 05c8 80E0 ldi r24,lo8(__c.10) |
792 05ca 90E0 ldi r25,hi8(__c.10) |
793 05cc 9F93 push r25 |
794 05ce 8F93 push r24 |
795 05d0 DF93 push r29 |
796 05d2 CF93 push r28 |
797 05d4 E091 0000 lds r30,_printf_P |
798 05d8 F091 0000 lds r31,(_printf_P)+1 |
799 05dc 0995 icall |
800 05de 80ED ldi r24,lo8(2000) |
801 05e0 97E0 ldi r25,hi8(2000) |
802 05e2 0E94 0000 call SetDelay |
803 05e6 8C01 movw r16,r24 |
804 05e8 8AEF ldi r24,lo8(250) |
805 05ea 90E0 ldi r25,hi8(250) |
806 05ec 0E94 0000 call SetDelay |
807 05f0 EC01 movw r28,r24 |
808 05f2 83E0 ldi r24,lo8(3) |
809 05f4 8093 0000 sts DebugOut,r24 |
810 05f8 0F90 pop __tmp_reg__ |
811 05fa 0F90 pop __tmp_reg__ |
812 05fc 0F90 pop __tmp_reg__ |
813 05fe 0F90 pop __tmp_reg__ |
814 .L234: |
815 0600 CE01 movw r24,r28 |
816 0602 0E94 0000 call CheckDelay |
817 0606 8823 tst r24 |
818 0608 39F0 breq .L76 |
819 060a 84E6 ldi r24,lo8(100) |
820 060c 90E0 ldi r25,hi8(100) |
821 060e 0E94 0000 call SetDelay |
822 0612 EC01 movw r28,r24 |
823 0614 0E94 0000 call LIBFC_Polling |
824 .L76: |
825 0618 8091 0000 lds r24,UpdateMotor |
826 061c 8823 tst r24 |
827 061e 09F4 brne .+2 |
828 0620 DFC1 rjmp .L77 |
829 0622 8091 0000 lds r24,AdReady |
830 0626 8823 tst r24 |
831 0628 09F4 brne .+2 |
832 062a DAC1 rjmp .L77 |
833 062c 1092 0000 sts UpdateMotor,__zero_reg__ |
834 0630 8091 0000 lds r24,WinkelOut+6 |
835 0634 8823 tst r24 |
836 0636 19F0 breq .L78 |
837 0638 0E94 0000 call CalMk3Mag |
838 063c 02C0 rjmp .L79 |
839 .L78: |
840 063e 0E94 0000 call MotorRegler |
841 .L79: |
842 0642 0E94 0000 call SendMotorData |
843 0646 2091 0000 lds r18,PlatinenVersion |
844 064a 2A30 cpi r18,lo8(10) |
845 064c 11F0 breq .L81 |
846 064e 2431 cpi r18,lo8(20) |
847 0650 10F0 brlo .L80 |
848 .L81: |
849 0652 2898 cbi 37-0x20,0 |
850 0654 01C0 rjmp .L82 |
851 .L80: |
852 0656 289A sbi 37-0x20,0 |
853 .L82: |
854 0658 8091 0000 lds r24,SenderOkay |
855 065c 9091 0000 lds r25,VersionInfo+6 |
856 0660 8823 tst r24 |
857 0662 39F0 breq .L83 |
858 0664 8091 0000 lds r24,SenderOkay |
859 0668 8150 subi r24,lo8(-(-1)) |
860 066a 8093 0000 sts SenderOkay,r24 |
861 066e 977F andi r25,lo8(-9) |
862 0670 0AC0 rjmp .L231 |
863 .L83: |
864 0672 8091 6F00 lds r24,111 |
865 0676 8062 ori r24,lo8(32) |
866 0678 8093 6F00 sts 111,r24 |
867 067c 1092 0000 sts (PPM_in)+1,__zero_reg__ |
868 0680 1092 0000 sts PPM_in,__zero_reg__ |
869 0684 9860 ori r25,lo8(8) |
870 .L231: |
871 0686 9093 0000 sts VersionInfo+6,r25 |
872 068a 8091 0000 lds r24,I2CTimeout |
873 068e 9091 0000 lds r25,(I2CTimeout)+1 |
874 0692 0197 sbiw r24,1 |
875 0694 9093 0000 sts (I2CTimeout)+1,r25 |
876 0698 8093 0000 sts I2CTimeout,r24 |
877 069c 8091 0000 lds r24,I2CTimeout |
878 06a0 9091 0000 lds r25,(I2CTimeout)+1 |
879 06a4 892B or r24,r25 |
880 06a6 29F0 breq .L86 |
881 06a8 8091 0000 lds r24,MissingMotor |
882 06ac 8823 tst r24 |
883 06ae 09F4 brne .+2 |
884 06b0 3EC0 rjmp .L85 |
885 .L86: |
886 06b2 8091 0000 lds r24,I2CTimeout |
887 06b6 9091 0000 lds r25,(I2CTimeout)+1 |
888 06ba 892B or r24,r25 |
889 06bc 01F5 brne .L87 |
890 06be 0E94 0000 call I2C_Reset |
891 06c2 85E0 ldi r24,lo8(5) |
892 06c4 90E0 ldi r25,hi8(5) |
893 06c6 9093 0000 sts (I2CTimeout)+1,r25 |
894 06ca 8093 0000 sts I2CTimeout,r24 |
895 06ce 8091 0000 lds r24,DebugOut+58 |
896 06d2 9091 0000 lds r25,(DebugOut+58)+1 |
897 06d6 0196 adiw r24,1 |
898 06d8 9093 0000 sts (DebugOut+58)+1,r25 |
899 06dc 8093 0000 sts DebugOut+58,r24 |
900 06e0 8091 0000 lds r24,FCFlags |
901 06e4 8068 ori r24,lo8(-128) |
902 06e6 8093 0000 sts FCFlags,r24 |
903 06ea 8091 0000 lds r24,VersionInfo+6 |
904 06ee 8160 ori r24,lo8(1) |
905 06f0 8093 0000 sts VersionInfo+6,r24 |
906 06f4 8091 0000 lds r24,DebugOut+1 |
907 06f8 8260 ori r24,lo8(2) |
908 06fa 8093 0000 sts DebugOut+1,r24 |
909 .L87: |
910 06fe 8091 0000 lds r24,BeepMuster |
911 0702 9091 0000 lds r25,(BeepMuster)+1 |
912 0706 8F5F subi r24,lo8(-1) |
913 0708 9F4F sbci r25,hi8(-1) |
914 070a 19F5 brne .L89 |
915 070c 8091 0000 lds r24,MotorenEin |
916 0710 8823 tst r24 |
917 0712 F9F0 breq .L89 |
918 0714 80E1 ldi r24,lo8(10000) |
919 0716 97E2 ldi r25,hi8(10000) |
920 0718 9093 0000 sts (beeptime)+1,r25 |
921 071c 8093 0000 sts beeptime,r24 |
922 0720 80E8 ldi r24,lo8(128) |
923 0722 90E0 ldi r25,hi8(128) |
924 0724 9093 0000 sts (BeepMuster)+1,r25 |
925 0728 8093 0000 sts BeepMuster,r24 |
926 072c 12C0 rjmp .L89 |
927 .L85: |
928 072e 2A30 cpi r18,lo8(10) |
929 0730 11F0 breq .L91 |
930 0732 2431 cpi r18,lo8(20) |
931 0734 10F0 brlo .L90 |
932 .L91: |
933 0736 2898 cbi 37-0x20,0 |
934 0738 01C0 rjmp .L92 |
935 .L90: |
936 073a 289A sbi 37-0x20,0 |
937 .L92: |
938 073c 8091 0000 lds r24,beeptime |
939 0740 9091 0000 lds r25,(beeptime)+1 |
940 0744 892B or r24,r25 |
941 0746 29F4 brne .L89 |
942 0748 8091 0000 lds r24,FCFlags |
943 074c 8F77 andi r24,lo8(127) |
944 074e 8093 0000 sts FCFlags,r24 |
945 .L89: |
946 0752 8091 0000 lds r24,UpdateMotor |
947 0756 8823 tst r24 |
948 0758 09F0 breq .+2 |
949 075a 42C1 rjmp .L77 |
950 075c 0E94 0000 call DatenUebertragung |
951 0760 0E94 0000 call BearbeiteRxDaten |
952 0764 C801 movw r24,r16 |
953 0766 0E94 0000 call CheckDelay |
954 076a 8823 tst r24 |
955 076c 09F4 brne .+2 |
956 076e 34C1 rjmp .L95 |
957 0770 0C5E subi r16,lo8(-(20)) |
958 0772 1F4F sbci r17,hi8(-(20)) |
959 0774 8091 0000 lds r24,MissingMotor |
960 0778 9091 0000 lds r25,VersionInfo+6 |
961 077c 8823 tst r24 |
962 077e 39F0 breq .L96 |
963 0780 9260 ori r25,lo8(2) |
964 0782 9093 0000 sts VersionInfo+6,r25 |
965 0786 8091 0000 lds r24,DebugOut+1 |
966 078a 8260 ori r24,lo8(2) |
967 078c 0CC0 rjmp .L232 |
968 .L96: |
969 078e 9D7F andi r25,lo8(-3) |
970 0790 9093 0000 sts VersionInfo+6,r25 |
971 0794 8091 0000 lds r24,I2CTimeout |
972 0798 9091 0000 lds r25,(I2CTimeout)+1 |
973 079c 0797 sbiw r24,7 |
974 079e 28F0 brlo .L97 |
975 07a0 8091 0000 lds r24,DebugOut+1 |
976 07a4 8D7F andi r24,lo8(-3) |
977 .L232: |
978 07a6 8093 0000 sts DebugOut+1,r24 |
979 .L97: |
980 07aa 8091 0000 lds r24,I2CTimeout |
981 07ae 9091 0000 lds r25,(I2CTimeout)+1 |
982 07b2 0797 sbiw r24,7 |
983 07b4 28F0 brlo .L99 |
984 07b6 8091 0000 lds r24,VersionInfo+6 |
985 07ba 8E7F andi r24,lo8(-2) |
986 07bc 8093 0000 sts VersionInfo+6,r24 |
987 .L99: |
988 07c0 8091 0000 lds r24,PcZugriff |
989 07c4 8823 tst r24 |
990 07c6 21F0 breq .L100 |
991 07c8 8150 subi r24,lo8(-(-1)) |
992 07ca 8093 0000 sts PcZugriff,r24 |
993 07ce 25C0 rjmp .L101 |
994 .L100: |
995 07d0 8093 0000 sts ExternControl+10,r24 |
996 07d4 1092 0000 sts (ExternStickNick)+1,__zero_reg__ |
997 07d8 1092 0000 sts ExternStickNick,__zero_reg__ |
998 07dc 1092 0000 sts (ExternStickRoll)+1,__zero_reg__ |
999 07e0 1092 0000 sts ExternStickRoll,__zero_reg__ |
1000 07e4 1092 0000 sts (ExternStickGier)+1,__zero_reg__ |
1001 07e8 1092 0000 sts ExternStickGier,__zero_reg__ |
1002 07ec 8091 0000 lds r24,BeepMuster |
1003 07f0 9091 0000 lds r25,(BeepMuster)+1 |
1004 07f4 8F5F subi r24,lo8(-1) |
1005 07f6 9F4F sbci r25,hi8(-1) |
1006 07f8 81F4 brne .L101 |
1007 07fa 8091 0000 lds r24,SenderOkay |
1008 07fe 8823 tst r24 |
1009 0800 61F4 brne .L101 |
1010 0802 88E9 ldi r24,lo8(15000) |
1011 0804 9AE3 ldi r25,hi8(15000) |
1012 0806 9093 0000 sts (beeptime)+1,r25 |
1013 080a 8093 0000 sts beeptime,r24 |
1014 080e 80E0 ldi r24,lo8(3072) |
1015 0810 9CE0 ldi r25,hi8(3072) |
1016 0812 9093 0000 sts (BeepMuster)+1,r25 |
1017 0816 8093 0000 sts BeepMuster,r24 |
1018 .L101: |
1019 081a 8091 0000 lds r24,NaviDataOkay |
1020 081e 893C cpi r24,lo8(-55) |
1021 0820 70F0 brlo .L103 |
1022 0822 8150 subi r24,lo8(-(-1)) |
1023 0824 8093 0000 sts NaviDataOkay,r24 |
1024 0828 8091 0000 lds r24,FCFlags |
1025 082c 8F7B andi r24,lo8(-65) |
1026 082e 8093 0000 sts FCFlags,r24 |
1027 0832 8091 0000 lds r24,VersionInfo+6 |
1028 0836 8B7F andi r24,lo8(-5) |
1029 0838 8093 0000 sts VersionInfo+6,r24 |
1030 083c 35C0 rjmp .L104 |
1031 .L103: |
1032 083e 8091 0000 lds r24,NC_Version+3 |
1033 0842 8823 tst r24 |
1034 0844 09F1 breq .L105 |
1035 0846 8091 0000 lds r24,FCFlags |
1036 084a 8064 ori r24,lo8(64) |
1037 084c 8093 0000 sts FCFlags,r24 |
1038 0850 8091 0000 lds r24,VersionInfo+6 |
1039 0854 8460 ori r24,lo8(4) |
1040 0856 8093 0000 sts VersionInfo+6,r24 |
1041 085a 8091 0000 lds r24,BeepMuster |
1042 085e 9091 0000 lds r25,(BeepMuster)+1 |
1043 0862 8F5F subi r24,lo8(-1) |
1044 0864 9F4F sbci r25,hi8(-1) |
1045 0866 81F4 brne .L105 |
1046 0868 8091 0000 lds r24,MotorenEin |
1047 086c 8823 tst r24 |
1048 086e 61F0 breq .L105 |
1049 0870 88E9 ldi r24,lo8(15000) |
1050 0872 9AE3 ldi r25,hi8(15000) |
1051 0874 9093 0000 sts (beeptime)+1,r25 |
1052 0878 8093 0000 sts beeptime,r24 |
1053 087c 80E0 ldi r24,lo8(-22528) |
1054 087e 98EA ldi r25,hi8(-22528) |
1055 0880 9093 0000 sts (BeepMuster)+1,r25 |
1056 0884 8093 0000 sts BeepMuster,r24 |
1057 .L105: |
1058 0888 1092 0000 sts (GPS_Nick)+1,__zero_reg__ |
1059 088c 1092 0000 sts GPS_Nick,__zero_reg__ |
1060 0890 1092 0000 sts (GPS_Roll)+1,__zero_reg__ |
1061 0894 1092 0000 sts GPS_Roll,__zero_reg__ |
1062 0898 8FEF ldi r24,lo8(-1) |
1063 089a 9FEF ldi r25,hi8(-1) |
1064 089c 9093 0000 sts (FromNaviCtrl+7)+1,r25 |
1065 08a0 8093 0000 sts FromNaviCtrl+7,r24 |
1066 08a4 1092 0000 sts NaviDataOkay,__zero_reg__ |
1067 .L104: |
1068 08a8 8091 0000 lds r24,BattLowVoltageWarning |
1069 08ac 282F mov r18,r24 |
1070 08ae 3327 clr r19 |
1071 08b0 8091 0000 lds r24,UBat |
1072 08b4 9091 0000 lds r25,(UBat)+1 |
1073 08b8 8217 cp r24,r18 |
1074 08ba 9307 cpc r25,r19 |
1075 08bc CCF4 brge .L107 |
1076 08be 8091 0000 lds r24,FCFlags |
1077 08c2 8062 ori r24,lo8(32) |
1078 08c4 8093 0000 sts FCFlags,r24 |
1079 08c8 8091 0000 lds r24,BeepMuster |
1080 08cc 9091 0000 lds r25,(BeepMuster)+1 |
1081 08d0 8F5F subi r24,lo8(-1) |
1082 08d2 9F4F sbci r25,hi8(-1) |
1083 08d4 C1F4 brne .L109 |
1084 08d6 80E7 ldi r24,lo8(6000) |
1085 08d8 97E1 ldi r25,hi8(6000) |
1086 08da 9093 0000 sts (beeptime)+1,r25 |
1087 08de 8093 0000 sts beeptime,r24 |
1088 08e2 80E0 ldi r24,lo8(768) |
1089 08e4 93E0 ldi r25,hi8(768) |
1090 08e6 9093 0000 sts (BeepMuster)+1,r25 |
1091 08ea 8093 0000 sts BeepMuster,r24 |
1092 08ee 0BC0 rjmp .L109 |
1093 .L107: |
1094 08f0 8091 0000 lds r24,beeptime |
1095 08f4 9091 0000 lds r25,(beeptime)+1 |
1096 08f8 892B or r24,r25 |
1097 08fa 29F4 brne .L109 |
1098 08fc 8091 0000 lds r24,FCFlags |
1099 0900 8F7D andi r24,lo8(-33) |
1100 0902 8093 0000 sts FCFlags,r24 |
1101 .L109: |
1102 0906 0E94 0000 call SPI_StartTransmitPacket |
1103 090a 84E0 ldi r24,lo8(4) |
1104 090c 8093 0000 sts SendSPI,r24 |
1105 0910 8091 0000 lds r24,MotorenEin |
1106 0914 8823 tst r24 |
1107 0916 29F4 brne .L111 |
1108 0918 5AEA ldi r21,lo8(1450) |
1109 091a 852E mov r8,r21 |
1110 091c 55E0 ldi r21,hi8(1450) |
1111 091e 952E mov r9,r21 |
1112 0920 12C0 rjmp .L112 |
1113 .L111: |
1114 0922 8091 0000 lds r24,second.11 |
1115 0926 8F5F subi r24,lo8(-(1)) |
1116 0928 8093 0000 sts second.11,r24 |
1117 092c 8133 cpi r24,lo8(49) |
1118 092e 59F4 brne .L112 |
1119 0930 1092 0000 sts second.11,__zero_reg__ |
1120 0934 8091 0000 lds r24,FlugSekunden |
1121 0938 9091 0000 lds r25,(FlugSekunden)+1 |
1122 093c 0196 adiw r24,1 |
1123 093e 9093 0000 sts (FlugSekunden)+1,r25 |
1124 0942 8093 0000 sts FlugSekunden,r24 |
1125 .L112: |
1126 0946 0894 sec |
1127 0948 811C adc r8,__zero_reg__ |
1128 094a 911C adc r9,__zero_reg__ |
1129 094c F2E7 ldi r31,lo8(2930) |
1130 094e 8F16 cp r8,r31 |
1131 0950 FBE0 ldi r31,hi8(2930) |
1132 0952 9F06 cpc r9,r31 |
1133 0954 09F0 breq .+2 |
1134 0956 40C0 rjmp .L95 |
1135 0958 8824 clr r8 |
1136 095a 9924 clr r9 |
1137 095c 2091 0000 lds r18,FlugMinuten |
1138 0960 3091 0000 lds r19,(FlugMinuten)+1 |
1139 0964 2F5F subi r18,lo8(-(1)) |
1140 0966 3F4F sbci r19,hi8(-(1)) |
1141 0968 3093 0000 sts (FlugMinuten)+1,r19 |
1142 096c 2093 0000 sts FlugMinuten,r18 |
1143 0970 8091 0000 lds r24,FlugMinutenGesamt |
1144 0974 9091 0000 lds r25,(FlugMinutenGesamt)+1 |
1145 0978 0196 adiw r24,1 |
1146 097a 9093 0000 sts (FlugMinutenGesamt)+1,r25 |
1147 097e 8093 0000 sts FlugMinutenGesamt,r24 |
1148 0982 832F mov r24,r19 |
1149 0984 9927 clr r25 |
1150 0986 682F mov r22,r24 |
1151 0988 8EE0 ldi r24,lo8(14) |
1152 098a 90E0 ldi r25,hi8(14) |
1153 098c 0E94 0000 call SetParamByte |
1154 0990 8091 0000 lds r24,FlugMinuten |
1155 0994 9091 0000 lds r25,(FlugMinuten)+1 |
1156 0998 9070 andi r25,hi8(255) |
1157 099a 682F mov r22,r24 |
1158 099c 8FE0 ldi r24,lo8(15) |
1159 099e 90E0 ldi r25,hi8(15) |
1160 09a0 0E94 0000 call SetParamByte |
1161 09a4 8091 0000 lds r24,FlugMinutenGesamt |
1162 09a8 9091 0000 lds r25,(FlugMinutenGesamt)+1 |
1163 09ac 892F mov r24,r25 |
1164 09ae 9927 clr r25 |
1165 09b0 682F mov r22,r24 |
1166 09b2 8AE0 ldi r24,lo8(10) |
1167 09b4 90E0 ldi r25,hi8(10) |
1168 09b6 0E94 0000 call SetParamByte |
1169 09ba 8091 0000 lds r24,FlugMinutenGesamt |
1170 09be 9091 0000 lds r25,(FlugMinutenGesamt)+1 |
1171 09c2 9070 andi r25,hi8(255) |
1172 09c4 682F mov r22,r24 |
1173 09c6 8BE0 ldi r24,lo8(11) |
1174 09c8 90E0 ldi r25,hi8(11) |
1175 09ca 0E94 0000 call SetParamByte |
1176 09ce 84E1 ldi r24,lo8(20) |
1177 09d0 90E0 ldi r25,hi8(20) |
1178 09d2 0E94 0000 call SetDelay |
1179 09d6 8C01 movw r16,r24 |
1180 .L95: |
1181 09d8 0E94 0000 call LED_Update |
1182 09dc 0E94 0000 call Capacity_Update |
1183 .L77: |
1184 09e0 8091 0000 lds r24,SendSPI |
1185 09e4 8823 tst r24 |
1186 09e6 09F0 breq .+2 |
1187 09e8 0BCE rjmp .L234 |
1188 09ea 0E94 0000 call SPI_TransmitByte |
1189 09ee 08CE rjmp .L234 |
1190 /* epilogue: frame size=0 */ |
1191 /* epilogue: noreturn */ |
1192 /* epilogue end (size=0) */ |
1193 /* function main size 1092 (1088) */ |
1195 .comm _printf_P,2,1 |
1196 /* File "main.c": code 1285 = 0x0505 (1273), prologues 7, epilogues 5 */ |
DEFINED SYMBOLS |
*ABS*:00000000 main.c |
C:\Users\Arthur-P\AppData\Local\Temp/cc8Waaaa.s:3 *ABS*:0000003f __SREG__ |
C:\Users\Arthur-P\AppData\Local\Temp/cc8Waaaa.s:4 *ABS*:0000003e __SP_H__ |
C:\Users\Arthur-P\AppData\Local\Temp/cc8Waaaa.s:5 *ABS*:0000003d __SP_L__ |
C:\Users\Arthur-P\AppData\Local\Temp/cc8Waaaa.s:6 *ABS*:00000000 __tmp_reg__ |
C:\Users\Arthur-P\AppData\Local\Temp/cc8Waaaa.s:7 *ABS*:00000001 __zero_reg__ |
C:\Users\Arthur-P\AppData\Local\Temp/cc8Waaaa.s:15 .bss:00000000 FoundMotors |
C:\Users\Arthur-P\AppData\Local\Temp/cc8Waaaa.s:21 .bss:00000001 FlugSekunden |
C:\Users\Arthur-P\AppData\Local\Temp/cc8Waaaa.s:27 .bss:00000003 FlugMinutenGesamt |
C:\Users\Arthur-P\AppData\Local\Temp/cc8Waaaa.s:33 .bss:00000005 FlugMinuten |
C:\Users\Arthur-P\AppData\Local\Temp/cc8Waaaa.s:39 .data:00000000 BattLowVoltageWarning |
C:\Users\Arthur-P\AppData\Local\Temp/cc8Waaaa.s:44 .data:00000001 SendVersionToNavi |
C:\Users\Arthur-P\AppData\Local\Temp/cc8Waaaa.s:49 .data:00000002 PlatinenVersion |
C:\Users\Arthur-P\AppData\Local\Temp/cc8Waaaa.s:53 .data:00000003 stick.15 |
C:\Users\Arthur-P\AppData\Local\Temp/cc8Waaaa.s:58 .text:00000000 CalMk3Mag |
C:\Users\Arthur-P\AppData\Local\Temp/cc8Waaaa.s:112 .progmem.data:00000000 __c.12 |
C:\Users\Arthur-P\AppData\Local\Temp/cc8Waaaa.s:116 .progmem.data:00000008 __c.13 |
C:\Users\Arthur-P\AppData\Local\Temp/cc8Waaaa.s:120 .progmem.data:00000013 __c.14 |
C:\Users\Arthur-P\AppData\Local\Temp/cc8Waaaa.s:125 .text:0000006a LipoDetection |
*COM*:00000002 _printf_P |
C:\Users\Arthur-P\AppData\Local\Temp/cc8Waaaa.s:262 .progmem.data:0000002d __c.0 |
C:\Users\Arthur-P\AppData\Local\Temp/cc8Waaaa.s:266 .progmem.data:0000003f __c.1 |
C:\Users\Arthur-P\AppData\Local\Temp/cc8Waaaa.s:270 .progmem.data:00000042 __c.2 |
C:\Users\Arthur-P\AppData\Local\Temp/cc8Waaaa.s:274 .progmem.data:00000060 __c.3 |
C:\Users\Arthur-P\AppData\Local\Temp/cc8Waaaa.s:278 .progmem.data:00000086 __c.4 |
C:\Users\Arthur-P\AppData\Local\Temp/cc8Waaaa.s:282 .progmem.data:000000a6 __c.5 |
C:\Users\Arthur-P\AppData\Local\Temp/cc8Waaaa.s:286 .progmem.data:000000ab __c.6 |
C:\Users\Arthur-P\AppData\Local\Temp/cc8Waaaa.s:290 .progmem.data:000000ce __c.7 |
C:\Users\Arthur-P\AppData\Local\Temp/cc8Waaaa.s:294 .progmem.data:000000da __c.8 |
C:\Users\Arthur-P\AppData\Local\Temp/cc8Waaaa.s:298 .progmem.data:000000e6 __c.9 |
C:\Users\Arthur-P\AppData\Local\Temp/cc8Waaaa.s:302 .progmem.data:000000f8 __c.10 |
.bss:00000007 second.11 |
C:\Users\Arthur-P\AppData\Local\Temp/cc8Waaaa.s:308 .text:0000017e main |
|
UNDEFINED SYMBOLS |
__do_copy_data |
__do_clear_bss |
EE_Parameter |
PPM_in |
WinkelOut |
beeptime |
Piep |
DebugOut |
uart_putchar |
SetDelay |
CheckDelay |
UBat |
__udivmodqi4 |
__stack |
StickGier |
StickRoll |
StickNick |
GIER_GRAD_FAKTOR |
Timer_Init |
TIMER2_Init |
UART_Init |
rc_sum_init |
ADC_Init |
I2C_Init |
SPI_MasterInit |
Capacity_Init |
LIBFC_Init |
ParamSet_Init |
BLFlags |
motor_read |
SendMotorData |
Motor |
Mixer |
ServoActive |
RequiredMotors |
VersionInfo |
SucheLuftruckOffset |
SetNeutral |
ExternControl |
GetParamByte |
LcdClear |
I2CTimeout |
LIBFC_ReceiverInit |
LIBFC_Polling |
UpdateMotor |
AdReady |
MotorRegler |
SenderOkay |
MissingMotor |
I2C_Reset |
FCFlags |
BeepMuster |
MotorenEin |
DatenUebertragung |
BearbeiteRxDaten |
PcZugriff |
ExternStickNick |
ExternStickRoll |
ExternStickGier |
NaviDataOkay |
NC_Version |
GPS_Nick |
GPS_Roll |
FromNaviCtrl |
SPI_StartTransmitPacket |
SendSPI |
SetParamByte |
LED_Update |
Capacity_Update |
SPI_TransmitByte |