Subversion Repositories FlightCtrl

Compare Revisions

Ignore whitespace Rev 1788 → Rev 1789

/branches/V0.80g-Arthur-P1/main.lst
1,1239 → 1,1332
1 .file "main.c"
2 .arch atmega644p
3 __SREG__ = 0x3f
4 __SP_H__ = 0x3e
5 __SP_L__ = 0x3d
2 __SREG__ = 0x3f
3 __SP_H__ = 0x3e
4 __SP_L__ = 0x3d
5 __CCP__ = 0x34
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 */
8 .text
9 .global LipoDetection
11 LipoDetection:
12 0000 1F93 push r17
13 0002 CF93 push r28
14 0004 DF93 push r29
15 /* prologue: function */
16 /* frame size = 0 */
17 0006 182F mov r17,r24
18 0008 8823 tst r24
19 000a 01F0 breq .L2
20 000c 00D0 rcall .
21 000e 00D0 rcall .
22 0010 80E0 ldi r24,lo8(gs(uart_putchar))
23 0012 90E0 ldi r25,hi8(gs(uart_putchar))
24 0014 ADB7 in r26,__SP_L__
25 0016 BEB7 in r27,__SP_H__
26 0018 1296 adiw r26,1+1
27 001a 9C93 st X,r25
28 001c 8E93 st -X,r24
29 001e 1197 sbiw r26,1
30 0020 80E0 ldi r24,lo8(__c.2236)
31 0022 90E0 ldi r25,hi8(__c.2236)
32 0024 1496 adiw r26,3+1
33 0026 9C93 st X,r25
34 0028 8E93 st -X,r24
35 002a 1397 sbiw r26,3
36 002c E091 0000 lds r30,_printf_P
37 0030 F091 0000 lds r31,(_printf_P)+1
38 0034 0995 icall
39 0036 0F90 pop __tmp_reg__
40 0038 0F90 pop __tmp_reg__
41 003a 0F90 pop __tmp_reg__
42 003c 0F90 pop __tmp_reg__
43 .L2:
44 003e 8091 0000 lds r24,EE_Parameter+36
45 0042 8233 cpi r24,lo8(50)
46 0044 00F0 brlo .+2
47 0046 00C0 rjmp .L3
48 0048 84EF ldi r24,lo8(500)
49 004a 91E0 ldi r25,hi8(500)
50 004c 0E94 0000 call SetDelay
51 0050 EC01 movw r28,r24
52 0052 1123 tst r17
53 0054 01F0 breq .L4
54 .L11:
55 0056 CE01 movw r24,r28
56 0058 0E94 0000 call CheckDelay
57 005c 8823 tst r24
58 005e 01F0 breq .L11
59 .L4:
60 0060 C2E0 ldi r28,lo8(2)
61 0062 D0E0 ldi r29,hi8(2)
62 0064 26E5 ldi r18,lo8(86)
63 0066 30E0 ldi r19,hi8(86)
64 .L7:
65 0068 8091 0000 lds r24,UBat
66 006c 9091 0000 lds r25,(UBat)+1
67 0070 8217 cp r24,r18
68 0072 9307 cpc r25,r19
69 0074 00F0 brlo .L6
70 0076 2196 adiw r28,1
71 0078 255D subi r18,lo8(-(43))
72 007a 3F4F sbci r19,hi8(-(43))
73 007c C730 cpi r28,7
74 007e D105 cpc r29,__zero_reg__
75 0080 01F4 brne .L7
76 .L6:
77 0082 8091 0000 lds r24,EE_Parameter+36
78 0086 90E0 ldi r25,lo8(0)
79 0088 FC01 movw r30,r24
80 008a CE9F mul r28,r30
81 008c C001 movw r24,r0
82 008e CF9F mul r28,r31
83 0090 900D add r25,r0
84 0092 DE9F mul r29,r30
85 0094 900D add r25,r0
86 0096 1124 clr r1
87 0098 8093 0000 sts BattLowVoltageWarning,r24
88 009c 1123 tst r17
89 009e 01F4 brne .+2
90 00a0 00C0 rjmp .L10
91 00a2 8C2F mov r24,r28
92 00a4 68EC ldi r22,lo8(200)
93 00a6 70E0 ldi r23,hi8(200)
94 00a8 0E94 0000 call Piep
95 00ac 00D0 rcall .
96 00ae 00D0 rcall .
97 00b0 00D0 rcall .
98 00b2 EDB7 in r30,__SP_L__
99 00b4 FEB7 in r31,__SP_H__
100 00b6 3196 adiw r30,1
101 00b8 80E0 ldi r24,lo8(gs(uart_putchar))
102 00ba 90E0 ldi r25,hi8(gs(uart_putchar))
103 00bc ADB7 in r26,__SP_L__
104 00be BEB7 in r27,__SP_H__
105 00c0 1296 adiw r26,1+1
106 00c2 9C93 st X,r25
107 00c4 8E93 st -X,r24
108 00c6 1197 sbiw r26,1
109 00c8 80E0 ldi r24,lo8(__c.2244)
110 00ca 90E0 ldi r25,hi8(__c.2244)
111 00cc 9383 std Z+3,r25
112 00ce 8283 std Z+2,r24
113 00d0 D583 std Z+5,r29
114 00d2 C483 std Z+4,r28
115 00d4 E091 0000 lds r30,_printf_P
116 00d8 F091 0000 lds r31,(_printf_P)+1
117 00dc 0995 icall
118 00de EDB7 in r30,__SP_L__
119 00e0 FEB7 in r31,__SP_H__
120 00e2 3696 adiw r30,6
121 00e4 EDBF out __SP_L__,r30
122 00e6 00C0 rjmp .L9
123 .L3:
124 00e8 8093 0000 sts BattLowVoltageWarning,r24
125 00ec 1123 tst r17
126 00ee 01F0 breq .L10
127 .L9:
128 00f0 2091 0000 lds r18,BattLowVoltageWarning
129 00f4 8DB7 in r24,__SP_L__
130 00f6 9EB7 in r25,__SP_H__
131 00f8 0897 sbiw r24,8
132 00fa 8DBF out __SP_L__,r24
133 00fc EDB7 in r30,__SP_L__
134 00fe FEB7 in r31,__SP_H__
135 0100 3196 adiw r30,1
136 0102 80E0 ldi r24,lo8(gs(uart_putchar))
137 0104 90E0 ldi r25,hi8(gs(uart_putchar))
138 0106 ADB7 in r26,__SP_L__
139 0108 BEB7 in r27,__SP_H__
140 010a 1296 adiw r26,1+1
141 010c 9C93 st X,r25
142 010e 8E93 st -X,r24
143 0110 1197 sbiw r26,1
144 0112 80E0 ldi r24,lo8(__c.2246)
145 0114 90E0 ldi r25,hi8(__c.2246)
146 0116 9383 std Z+3,r25
147 0118 8283 std Z+2,r24
148 011a 822F mov r24,r18
149 011c 6AE0 ldi r22,lo8(10)
150 011e 0E94 0000 call __udivmodqi4
151 0122 8483 std Z+4,r24
152 0124 1582 std Z+5,__zero_reg__
153 0126 822F mov r24,r18
154 0128 0E94 0000 call __udivmodqi4
155 012c 9683 std Z+6,r25
156 012e 1782 std Z+7,__zero_reg__
157 0130 E091 0000 lds r30,_printf_P
158 0134 F091 0000 lds r31,(_printf_P)+1
159 0138 0995 icall
160 013a EDB7 in r30,__SP_L__
161 013c FEB7 in r31,__SP_H__
162 013e 3896 adiw r30,8
163 0140 EDBF out __SP_L__,r30
164 .L10:
165 /* epilogue start */
166 0142 DF91 pop r29
167 0144 CF91 pop r28
168 0146 1F91 pop r17
169 0148 0895 ret
171 .global CalMk3Mag
173 CalMk3Mag:
174 /* prologue: function */
175 /* frame size = 0 */
176 014a 8091 0000 lds r24,EE_Parameter+1
177 014e A82F mov r26,r24
178 0150 B0E0 ldi r27,lo8(0)
179 0152 FD01 movw r30,r26
180 0154 EE0F lsl r30
181 0156 FF1F rol r31
182 0158 E050 subi r30,lo8(-(PPM_in))
183 015a F040 sbci r31,hi8(-(PPM_in))
184 015c 8081 ld r24,Z
185 015e 9181 ldd r25,Z+1
186 0160 8D5E subi r24,lo8(-19)
187 0162 9F4F sbci r25,hi8(-19)
188 0164 04F0 brlt .L15
189 0166 1092 0000 sts stick.2222,__zero_reg__
190 .L15:
191 016a AA0F lsl r26
192 016c BB1F rol r27
193 016e A050 subi r26,lo8(-(PPM_in))
194 0170 B040 sbci r27,hi8(-(PPM_in))
195 0172 8D91 ld r24,X+
196 0174 9C91 ld r25,X
197 0176 8A5B subi r24,lo8(-70)
198 0178 9F4F sbci r25,hi8(-70)
199 017a 04F4 brge .L16
200 017c 8091 0000 lds r24,stick.2222
201 0180 8823 tst r24
202 0182 01F4 brne .L16
203 0184 81E0 ldi r24,lo8(1)
204 0186 8093 0000 sts stick.2222,r24
205 018a 8091 0000 lds r24,WinkelOut+6
206 018e 8F5F subi r24,lo8(-(1))
207 0190 8093 0000 sts WinkelOut+6,r24
208 0194 8530 cpi r24,lo8(5)
209 0196 00F0 brlo .L17
210 0198 88EE ldi r24,lo8(1000)
211 019a 93E0 ldi r25,hi8(1000)
212 019c 9093 0000 sts (beeptime)+1,r25
213 01a0 8093 0000 sts beeptime,r24
214 01a4 00C0 rjmp .L16
215 .L17:
216 01a6 66E9 ldi r22,lo8(150)
217 01a8 70E0 ldi r23,hi8(150)
218 01aa 0E94 0000 call Piep
219 .L16:
220 01ae 8091 0000 lds r24,WinkelOut+6
221 01b2 8093 0000 sts DebugOut+40,r24
222 01b6 1092 0000 sts DebugOut+41,__zero_reg__
223 /* epilogue start */
224 01ba 0895 ret
226 .global main
228 main:
229 01bc A0E0 ldi r26,lo8(0)
230 01be B0E0 ldi r27,hi8(0)
231 01c0 E0E0 ldi r30,lo8(gs(1f))
232 01c2 F0E0 ldi r31,hi8(gs(1f))
233 01c4 0C94 0000 jmp __prologue_saves__+((18 - 18) * 2)
234 1:
235 /* prologue: function */
236 /* frame size = 0 */
237 01c8 14B8 out 36-32,__zero_reg__
238 01ca 15B8 out 37-32,__zero_reg__
239 01cc 189B sbis 35-32,0
240 01ce 00C0 rjmp .L20
241 01d0 199B sbis 35-32,1
242 01d2 00C0 rjmp .L21
243 01d4 8DE0 ldi r24,lo8(13)
244 01d6 00C0 rjmp .L97
245 .L21:
246 01d8 8BE0 ldi r24,lo8(11)
247 01da 00C0 rjmp .L97
248 .L20:
249 01dc 199B sbis 35-32,1
250 01de 00C0 rjmp .L23
251 01e0 84E1 ldi r24,lo8(20)
252 01e2 00C0 rjmp .L97
253 .L23:
254 01e4 8AE0 ldi r24,lo8(10)
255 .L97:
256 01e6 8093 0000 sts PlatinenVersion,r24
257 01ea 81E8 ldi r24,lo8(-127)
258 01ec 87B9 out 39-32,r24
259 01ee 3E9A sbi 39-32,6
260 01f0 8FEF ldi r24,lo8(-1)
261 01f2 88B9 out 40-32,r24
262 01f4 8BE1 ldi r24,lo8(27)
263 01f6 84B9 out 36-32,r24
264 01f8 81E0 ldi r24,lo8(1)
265 01fa 85B9 out 37-32,r24
266 01fc 8EE3 ldi r24,lo8(62)
267 01fe 8AB9 out 42-32,r24
268 0200 87E4 ldi r24,lo8(71)
269 0202 8BB9 out 43-32,r24
270 0204 469A sbi 40-32,6
271 0206 84B7 in r24,84-32
272 0208 877F andi r24,lo8(-9)
273 020a 84BF out 84-32,r24
274 020c 8091 6000 lds r24,96
275 0210 8861 ori r24,lo8(24)
276 0212 8093 6000 sts 96,r24
277 0216 1092 6000 sts 96,__zero_reg__
278 021a 84EC ldi r24,lo8(2500)
279 021c 99E0 ldi r25,hi8(2500)
280 021e 9093 0000 sts (beeptime)+1,r25
281 0222 8093 0000 sts beeptime,r24
282 0226 1092 0000 sts (StickGier)+1,__zero_reg__
283 022a 1092 0000 sts StickGier,__zero_reg__
284 022e 1092 0000 sts (PPM_in+4)+1,__zero_reg__
285 0232 1092 0000 sts PPM_in+4,__zero_reg__
286 0236 1092 0000 sts (StickRoll)+1,__zero_reg__
287 023a 1092 0000 sts StickRoll,__zero_reg__
288 023e 1092 0000 sts (StickNick)+1,__zero_reg__
289 0242 1092 0000 sts StickNick,__zero_reg__
290 0246 8091 0000 lds r24,PlatinenVersion
291 024a 8431 cpi r24,lo8(20)
292 024c 00F0 brlo .L24
293 024e 84EC ldi r24,lo8(1220)
294 0250 94E0 ldi r25,hi8(1220)
295 0252 A0E0 ldi r26,hlo8(1220)
296 0254 B0E0 ldi r27,hhi8(1220)
297 0256 00C0 rjmp .L98
298 .L24:
299 0258 8BE0 ldi r24,lo8(1291)
300 025a 95E0 ldi r25,hi8(1291)
301 025c A0E0 ldi r26,hlo8(1291)
302 025e B0E0 ldi r27,hhi8(1291)
303 .L98:
304 0260 8093 0000 sts GIER_GRAD_FAKTOR,r24
305 0264 9093 0000 sts (GIER_GRAD_FAKTOR)+1,r25
306 0268 A093 0000 sts (GIER_GRAD_FAKTOR)+2,r26
307 026c B093 0000 sts (GIER_GRAD_FAKTOR)+3,r27
308 0270 8091 0000 lds r24,PlatinenVersion
309 0274 8A30 cpi r24,lo8(10)
310 0276 01F0 breq .L26
311 0278 8431 cpi r24,lo8(20)
312 027a 00F0 brlo .L27
313 .L26:
314 027c 2898 cbi 37-32,0
315 027e 00C0 rjmp .L28
316 .L27:
317 0280 289A sbi 37-32,0
318 .L28:
319 0282 0E94 0000 call Timer_Init
320 0286 0E94 0000 call TIMER2_Init
321 028a 0E94 0000 call UART_Init
322 028e 0E94 0000 call rc_sum_init
323 0292 0E94 0000 call ADC_Init
324 0296 0E94 0000 call I2C_Init
325 029a 0E94 0000 call SPI_MasterInit
326 029e 0E94 0000 call Capacity_Init
327 02a2 0E94 0000 call LIBFC_Init
328 02a6 8091 0000 lds r24,PlatinenVersion
329 02aa 8C30 cpi r24,lo8(12)
330 02ac 00F4 brsh .L29
331 02ae 299A sbi 37-32,1
332 02b0 00C0 rjmp .L30
333 .L29:
334 02b2 2998 cbi 37-32,1
335 .L30:
336 /* #APP */
337 ; 164 "main.c" 1
338 02b4 7894 sei
339 ; 0 "" 2
340 /* #NOAPP */
341 02b6 0E94 0000 call ParamSet_Init
342 02ba 8091 0000 lds r24,BLFlags
343 02be 8260 ori r24,lo8(2)
344 02c0 8093 0000 sts BLFlags,r24
345 02c4 1092 0000 sts motor_read,__zero_reg__
346 02c8 0E94 0000 call SendMotorData
347 02cc 84EF ldi r24,lo8(500)
348 02ce 91E0 ldi r25,hi8(500)
349 02d0 0E94 0000 call SetDelay
350 02d4 8C01 movw r16,r24
351 .L32:
352 02d6 8091 0000 lds r24,BLFlags
353 02da 80FD sbrc r24,0
354 02dc 00C0 rjmp .L31
355 02de C801 movw r24,r16
356 02e0 0E94 0000 call CheckDelay
357 02e4 8823 tst r24
358 02e6 01F0 breq .L32
359 .L31:
360 02e8 00D0 rcall .
361 02ea 00D0 rcall .
362 02ec 00E0 ldi r16,lo8(gs(uart_putchar))
363 02ee 10E0 ldi r17,hi8(gs(uart_putchar))
364 02f0 ADB7 in r26,__SP_L__
365 02f2 BEB7 in r27,__SP_H__
366 02f4 1296 adiw r26,1+1
367 02f6 1C93 st X,r17
368 02f8 0E93 st -X,r16
369 02fa 1197 sbiw r26,1
370 02fc 80E0 ldi r24,lo8(__c.2277)
371 02fe 90E0 ldi r25,hi8(__c.2277)
372 0300 1496 adiw r26,3+1
373 0302 9C93 st X,r25
374 0304 8E93 st -X,r24
375 0306 1397 sbiw r26,3
376 0308 E091 0000 lds r30,_printf_P
377 030c F091 0000 lds r31,(_printf_P)+1
378 0310 0995 icall
379 0312 0F90 pop __tmp_reg__
380 0314 0F90 pop __tmp_reg__
381 0316 0F90 pop __tmp_reg__
382 0318 0F90 pop __tmp_reg__
383 031a 80EA ldi r24,lo8(4000)
384 031c 9FE0 ldi r25,hi8(4000)
385 031e 0E94 0000 call SetDelay
386 0322 4C01 movw r8,r24
387 0324 B0E0 ldi r27,lo8(Motor+3)
388 0326 CB2E mov r12,r27
389 0328 B0E0 ldi r27,hi8(Motor+3)
390 032a DB2E mov r13,r27
391 032c A0E0 ldi r26,lo8(Mixer+13)
392 032e 6A2E mov r6,r26
393 0330 A0E0 ldi r26,hi8(Mixer+13)
394 0332 7A2E mov r7,r26
395 0334 7601 movw r14,r12
396 0336 5301 movw r10,r6
397 0338 C1E0 ldi r28,lo8(1)
398 033a D0E0 ldi r29,hi8(1)
399 033c 2801 movw r4,r16
400 033e 00E0 ldi r16,lo8(__c.2288)
401 0340 10E0 ldi r17,hi8(__c.2288)
402 .L40:
403 0342 0E94 0000 call SendMotorData
404 .L34:
405 0346 8091 0000 lds r24,BLFlags
406 034a 80FD sbrc r24,0
407 034c 00C0 rjmp .L33
408 034e C401 movw r24,r8
409 0350 0E94 0000 call CheckDelay
410 0354 8823 tst r24
411 0356 01F0 breq .L34
412 .L33:
413 0358 F501 movw r30,r10
414 035a 8081 ld r24,Z
415 035c 1816 cp __zero_reg__,r24
416 035e 04F0 brlt .L95
417 0360 00C0 rjmp .L36
418 .L38:
419 0362 0E94 0000 call SendMotorData
420 .L37:
421 0366 8091 0000 lds r24,BLFlags
422 036a 80FD sbrc r24,0
423 036c 00C0 rjmp .L95
424 036e C401 movw r24,r8
425 0370 0E94 0000 call CheckDelay
426 0374 8823 tst r24
427 0376 01F0 breq .L37
428 .L95:
429 0378 C401 movw r24,r8
430 037a 0E94 0000 call CheckDelay
431 037e 8823 tst r24
432 0380 01F4 brne .L36
433 0382 D701 movw r26,r14
434 0384 8C91 ld r24,X
435 0386 87FF sbrs r24,7
436 0388 00C0 rjmp .L38
437 .L36:
438 038a F701 movw r30,r14
439 038c 8081 ld r24,Z
440 038e 87FF sbrs r24,7
441 0390 00C0 rjmp .L39
442 0392 00D0 rcall .
443 0394 00D0 rcall .
444 0396 00D0 rcall .
445 0398 EDB7 in r30,__SP_L__
446 039a FEB7 in r31,__SP_H__
447 039c 3196 adiw r30,1
448 039e ADB7 in r26,__SP_L__
449 03a0 BEB7 in r27,__SP_H__
450 03a2 1196 adiw r26,1
451 03a4 4C92 st X,r4
452 03a6 1197 sbiw r26,1
453 03a8 1296 adiw r26,2
454 03aa 5C92 st X,r5
455 03ac 1383 std Z+3,r17
456 03ae 0283 std Z+2,r16
457 03b0 D583 std Z+5,r29
458 03b2 C483 std Z+4,r28
459 03b4 E091 0000 lds r30,_printf_P
460 03b8 F091 0000 lds r31,(_printf_P)+1
461 03bc 0995 icall
462 03be 8091 0000 lds r24,FoundMotors
463 03c2 8F5F subi r24,lo8(-(1))
464 03c4 8093 0000 sts FoundMotors,r24
465 03c8 EDB7 in r30,__SP_L__
466 03ca FEB7 in r31,__SP_H__
467 03cc 3696 adiw r30,6
468 03ce EDBF out __SP_L__,r30
469 .L39:
470 03d0 2196 adiw r28,1
471 03d2 88E0 ldi r24,lo8(8)
472 03d4 90E0 ldi r25,hi8(8)
473 03d6 E80E add r14,r24
474 03d8 F91E adc r15,r25
475 03da A4E0 ldi r26,lo8(4)
476 03dc B0E0 ldi r27,hi8(4)
477 03de AA0E add r10,r26
478 03e0 BB1E adc r11,r27
479 03e2 CD30 cpi r28,13
480 03e4 D105 cpc r29,__zero_reg__
481 03e6 01F0 breq .+2
482 03e8 00C0 rjmp .L40
483 03ea 01E0 ldi r16,lo8(1)
484 03ec 10E0 ldi r17,hi8(1)
485 03ee F0E0 ldi r31,lo8(gs(uart_putchar))
486 03f0 EF2E mov r14,r31
487 03f2 F0E0 ldi r31,hi8(gs(uart_putchar))
488 03f4 FF2E mov r15,r31
489 03f6 C0E0 ldi r28,lo8(__c.2293)
490 03f8 D0E0 ldi r29,hi8(__c.2293)
491 03fa E2E0 ldi r30,lo8(2)
492 03fc BE2E mov r11,r30
493 .L42:
494 03fe F601 movw r30,r12
495 0400 8081 ld r24,Z
496 0402 87FD sbrc r24,7
497 0404 00C0 rjmp .L41
498 0406 D301 movw r26,r6
499 0408 8C91 ld r24,X
500 040a 1816 cp __zero_reg__,r24
501 040c 04F4 brge .L41
502 040e 00D0 rcall .
503 0410 00D0 rcall .
504 0412 00D0 rcall .
505 0414 EDB7 in r30,__SP_L__
506 0416 FEB7 in r31,__SP_H__
507 0418 3196 adiw r30,1
508 041a ADB7 in r26,__SP_L__
509 041c BEB7 in r27,__SP_H__
510 041e 1296 adiw r26,1+1
511 0420 FC92 st X,r15
512 0422 EE92 st -X,r14
513 0424 1197 sbiw r26,1
514 0426 D383 std Z+3,r29
515 0428 C283 std Z+2,r28
516 042a 1583 std Z+5,r17
517 042c 0483 std Z+4,r16
518 042e E091 0000 lds r30,_printf_P
519 0432 F091 0000 lds r31,(_printf_P)+1
520 0436 0995 icall
521 0438 B092 0000 sts ServoActive,r11
522 043c EDB7 in r30,__SP_L__
523 043e FEB7 in r31,__SP_H__
524 0440 3696 adiw r30,6
525 0442 EDBF out __SP_L__,r30
526 .L41:
527 0444 D601 movw r26,r12
528 0446 8C91 ld r24,X
529 0448 8078 andi r24,lo8(-128)
530 044a 8C93 st X,r24
531 044c 0F5F subi r16,lo8(-(1))
532 044e 1F4F sbci r17,hi8(-(1))
533 0450 E8E0 ldi r30,lo8(8)
534 0452 F0E0 ldi r31,hi8(8)
535 0454 CE0E add r12,r30
536 0456 DF1E adc r13,r31
537 0458 84E0 ldi r24,lo8(4)
538 045a 90E0 ldi r25,hi8(4)
539 045c 680E add r6,r24
540 045e 791E adc r7,r25
541 0460 0D30 cpi r16,13
542 0462 1105 cpc r17,__zero_reg__
543 0464 01F4 brne .L42
544 0466 00D0 rcall .
545 0468 00D0 rcall .
546 046a 80E0 ldi r24,lo8(gs(uart_putchar))
547 046c 90E0 ldi r25,hi8(gs(uart_putchar))
548 046e ADB7 in r26,__SP_L__
549 0470 BEB7 in r27,__SP_H__
550 0472 1296 adiw r26,1+1
551 0474 9C93 st X,r25
552 0476 8E93 st -X,r24
553 0478 1197 sbiw r26,1
554 047a 80E0 ldi r24,lo8(__c.2298)
555 047c 90E0 ldi r25,hi8(__c.2298)
556 047e 1496 adiw r26,3+1
557 0480 9C93 st X,r25
558 0482 8E93 st -X,r24
559 0484 1397 sbiw r26,3
560 0486 E091 0000 lds r30,_printf_P
561 048a F091 0000 lds r31,(_printf_P)+1
562 048e 0995 icall
563 0490 0F90 pop __tmp_reg__
564 0492 0F90 pop __tmp_reg__
565 0494 0F90 pop __tmp_reg__
566 0496 0F90 pop __tmp_reg__
567 0498 9091 0000 lds r25,RequiredMotors
568 049c 8091 0000 lds r24,FoundMotors
569 04a0 9817 cp r25,r24
570 04a2 00F4 brsh .L43
571 04a4 8091 0000 lds r24,VersionInfo+6
572 04a8 8061 ori r24,lo8(16)
573 04aa 8093 0000 sts VersionInfo+6,r24
574 .L43:
575 04ae 00D0 rcall .
576 04b0 00D0 rcall .
577 04b2 80E0 ldi r24,lo8(gs(uart_putchar))
578 04b4 90E0 ldi r25,hi8(gs(uart_putchar))
579 04b6 EDB7 in r30,__SP_L__
580 04b8 FEB7 in r31,__SP_H__
581 04ba 9283 std Z+2,r25
582 04bc 8183 std Z+1,r24
583 04be 80E0 ldi r24,lo8(__c.2300)
584 04c0 90E0 ldi r25,hi8(__c.2300)
585 04c2 9483 std Z+4,r25
586 04c4 8383 std Z+3,r24
587 04c6 E091 0000 lds r30,_printf_P
588 04ca F091 0000 lds r31,(_printf_P)+1
589 04ce 0995 icall
590 04d0 0F90 pop __tmp_reg__
591 04d2 0F90 pop __tmp_reg__
592 04d4 0F90 pop __tmp_reg__
593 04d6 0F90 pop __tmp_reg__
594 04d8 88EE ldi r24,lo8(1000)
595 04da 93E0 ldi r25,hi8(1000)
596 04dc 0E94 0000 call SetDelay
597 04e0 8C01 movw r16,r24
598 04e2 0E94 0000 call SucheLuftruckOffset
599 .L44:
600 04e6 C801 movw r24,r16
601 04e8 0E94 0000 call CheckDelay
602 04ec 8823 tst r24
603 04ee 01F0 breq .L44
604 04f0 00D0 rcall .
605 04f2 00D0 rcall .
606 04f4 80E0 ldi r24,lo8(gs(uart_putchar))
607 04f6 90E0 ldi r25,hi8(gs(uart_putchar))
608 04f8 ADB7 in r26,__SP_L__
609 04fa BEB7 in r27,__SP_H__
610 04fc 1296 adiw r26,1+1
611 04fe 9C93 st X,r25
612 0500 8E93 st -X,r24
613 0502 1197 sbiw r26,1
614 0504 80E0 ldi r24,lo8(__c.2305)
615 0506 90E0 ldi r25,hi8(__c.2305)
616 0508 1496 adiw r26,3+1
617 050a 9C93 st X,r25
618 050c 8E93 st -X,r24
619 050e 1397 sbiw r26,3
620 0510 E091 0000 lds r30,_printf_P
621 0514 F091 0000 lds r31,(_printf_P)+1
622 0518 0995 icall
623 051a 0F90 pop __tmp_reg__
624 051c 0F90 pop __tmp_reg__
625 051e 0F90 pop __tmp_reg__
626 0520 0F90 pop __tmp_reg__
627 0522 80E0 ldi r24,lo8(0)
628 0524 0E94 0000 call SetNeutral
629 0528 8091 0000 lds r24,PlatinenVersion
630 052c 8A30 cpi r24,lo8(10)
631 052e 01F0 breq .L45
632 0530 8431 cpi r24,lo8(20)
633 0532 00F0 brlo .L46
634 .L45:
635 0534 2898 cbi 37-32,0
636 0536 00C0 rjmp .L47
637 .L46:
638 0538 289A sbi 37-32,0
639 .L47:
640 053a 80ED ldi r24,lo8(2000)
641 053c 97E0 ldi r25,hi8(2000)
642 053e 9093 0000 sts (beeptime)+1,r25
643 0542 8093 0000 sts beeptime,r24
644 0546 85E5 ldi r24,lo8(85)
645 0548 8093 0000 sts ExternControl,r24
646 054c 8EE0 ldi r24,lo8(14)
647 054e 90E0 ldi r25,hi8(14)
648 0550 0E94 0000 call GetParamByte
649 0554 182F mov r17,r24
650 0556 8FE0 ldi r24,lo8(15)
651 0558 90E0 ldi r25,hi8(15)
652 055a 0E94 0000 call GetParamByte
653 055e 312F mov r19,r17
654 0560 20E0 ldi r18,lo8(0)
655 0562 280F add r18,r24
656 0564 311D adc r19,__zero_reg__
657 0566 3093 0000 sts (FlugMinuten)+1,r19
658 056a 2093 0000 sts FlugMinuten,r18
659 056e 8AE0 ldi r24,lo8(10)
660 0570 90E0 ldi r25,hi8(10)
661 0572 0E94 0000 call GetParamByte
662 0576 182F mov r17,r24
663 0578 8BE0 ldi r24,lo8(11)
664 057a 90E0 ldi r25,hi8(11)
665 057c 0E94 0000 call GetParamByte
666 0580 312F mov r19,r17
667 0582 20E0 ldi r18,lo8(0)
668 0584 280F add r18,r24
669 0586 311D adc r19,__zero_reg__
670 0588 3093 0000 sts (FlugMinutenGesamt)+1,r19
671 058c 2093 0000 sts FlugMinutenGesamt,r18
672 0590 2F5F subi r18,lo8(-1)
673 0592 3F4F sbci r19,hi8(-1)
674 0594 01F0 breq .L48
675 0596 8091 0000 lds r24,FlugMinuten
676 059a 9091 0000 lds r25,(FlugMinuten)+1
677 059e 8F5F subi r24,lo8(-1)
678 05a0 9F4F sbci r25,hi8(-1)
679 05a2 01F4 brne .L49
680 .L48:
681 05a4 1092 0000 sts (FlugMinuten)+1,__zero_reg__
682 05a8 1092 0000 sts FlugMinuten,__zero_reg__
683 05ac 1092 0000 sts (FlugMinutenGesamt)+1,__zero_reg__
684 05b0 1092 0000 sts FlugMinutenGesamt,__zero_reg__
685 .L49:
686 05b4 8DB7 in r24,__SP_L__
687 05b6 9EB7 in r25,__SP_H__
688 05b8 0897 sbiw r24,8
689 05ba 8DBF out __SP_L__,r24
690 05bc EDB7 in r30,__SP_L__
691 05be FEB7 in r31,__SP_H__
692 05c0 3196 adiw r30,1
693 05c2 00E0 ldi r16,lo8(gs(uart_putchar))
694 05c4 10E0 ldi r17,hi8(gs(uart_putchar))
695 05c6 ADB7 in r26,__SP_L__
696 05c8 BEB7 in r27,__SP_H__
697 05ca 1296 adiw r26,1+1
698 05cc 1C93 st X,r17
699 05ce 0E93 st -X,r16
700 05d0 1197 sbiw r26,1
701 05d2 80E0 ldi r24,lo8(__c.2307)
702 05d4 90E0 ldi r25,hi8(__c.2307)
703 05d6 9383 std Z+3,r25
704 05d8 8283 std Z+2,r24
705 05da 8091 0000 lds r24,FlugMinuten
706 05de 9091 0000 lds r25,(FlugMinuten)+1
707 05e2 9583 std Z+5,r25
708 05e4 8483 std Z+4,r24
709 05e6 8091 0000 lds r24,FlugMinutenGesamt
710 05ea 9091 0000 lds r25,(FlugMinutenGesamt)+1
711 05ee 9783 std Z+7,r25
712 05f0 8683 std Z+6,r24
713 05f2 E091 0000 lds r30,_printf_P
714 05f6 F091 0000 lds r31,(_printf_P)+1
715 05fa 0995 icall
716 05fc 0F90 pop __tmp_reg__
717 05fe 0F90 pop __tmp_reg__
718 0600 0F90 pop __tmp_reg__
719 0602 0F90 pop __tmp_reg__
720 0604 EDB7 in r30,__SP_L__
721 0606 FEB7 in r31,__SP_H__
722 0608 1283 std Z+2,r17
723 060a 0183 std Z+1,r16
724 060c 80E0 ldi r24,lo8(__c.2309)
725 060e 90E0 ldi r25,hi8(__c.2309)
726 0610 9483 std Z+4,r25
727 0612 8383 std Z+3,r24
728 0614 E091 0000 lds r30,_printf_P
729 0618 F091 0000 lds r31,(_printf_P)+1
730 061c 0995 icall
731 061e 8091 0000 lds r24,EE_Parameter+13
732 0622 0F90 pop __tmp_reg__
733 0624 0F90 pop __tmp_reg__
734 0626 0F90 pop __tmp_reg__
735 0628 0F90 pop __tmp_reg__
736 062a 82FF sbrs r24,2
737 062c 00C0 rjmp .L50
738 062e 00D0 rcall .
739 0630 00D0 rcall .
740 0632 ADB7 in r26,__SP_L__
741 0634 BEB7 in r27,__SP_H__
742 0636 1296 adiw r26,1+1
743 0638 1C93 st X,r17
744 063a 0E93 st -X,r16
745 063c 1197 sbiw r26,1
746 063e 80E0 ldi r24,lo8(__c.2311)
747 0640 90E0 ldi r25,hi8(__c.2311)
748 0642 1496 adiw r26,3+1
749 0644 9C93 st X,r25
750 0646 8E93 st -X,r24
751 0648 1397 sbiw r26,3
752 064a 00C0 rjmp .L99
753 .L50:
754 064c 00D0 rcall .
755 064e 00D0 rcall .
756 0650 EDB7 in r30,__SP_L__
757 0652 FEB7 in r31,__SP_H__
758 0654 1283 std Z+2,r17
759 0656 0183 std Z+1,r16
760 0658 80E0 ldi r24,lo8(__c.2313)
761 065a 90E0 ldi r25,hi8(__c.2313)
762 065c 9483 std Z+4,r25
763 065e 8383 std Z+3,r24
764 .L99:
765 0660 E091 0000 lds r30,_printf_P
766 0664 F091 0000 lds r31,(_printf_P)+1
767 0668 0995 icall
768 066a 0F90 pop __tmp_reg__
769 066c 0F90 pop __tmp_reg__
770 066e 0F90 pop __tmp_reg__
771 0670 0F90 pop __tmp_reg__
772 0672 0E94 0000 call LcdClear
773 0676 88E8 ldi r24,lo8(5000)
774 0678 93E1 ldi r25,hi8(5000)
775 067a 9093 0000 sts (I2CTimeout)+1,r25
776 067e 8093 0000 sts I2CTimeout,r24
777 0682 81E0 ldi r24,lo8(1)
778 0684 8093 0000 sts WinkelOut+7,r24
779 0688 0E94 0000 call LipoDetection
780 068c 8091 0000 lds r24,EE_Parameter+39
781 0690 0E94 0000 call LIBFC_ReceiverInit
782 0694 00D0 rcall .
783 0696 00D0 rcall .
784 0698 80E0 ldi r24,lo8(gs(uart_putchar))
785 069a 90E0 ldi r25,hi8(gs(uart_putchar))
786 069c ADB7 in r26,__SP_L__
787 069e BEB7 in r27,__SP_H__
788 06a0 1296 adiw r26,1+1
789 06a2 9C93 st X,r25
790 06a4 8E93 st -X,r24
791 06a6 1197 sbiw r26,1
792 06a8 80E0 ldi r24,lo8(__c.2315)
793 06aa 90E0 ldi r25,hi8(__c.2315)
794 06ac 1496 adiw r26,3+1
795 06ae 9C93 st X,r25
796 06b0 8E93 st -X,r24
797 06b2 1397 sbiw r26,3
798 06b4 E091 0000 lds r30,_printf_P
799 06b8 F091 0000 lds r31,(_printf_P)+1
800 06bc 0995 icall
801 06be 0F90 pop __tmp_reg__
802 06c0 0F90 pop __tmp_reg__
803 06c2 0F90 pop __tmp_reg__
804 06c4 0F90 pop __tmp_reg__
805 06c6 80ED ldi r24,lo8(2000)
806 06c8 97E0 ldi r25,hi8(2000)
807 06ca 0E94 0000 call SetDelay
808 06ce 8C01 movw r16,r24
809 06d0 8AEF ldi r24,lo8(250)
810 06d2 90E0 ldi r25,hi8(250)
811 06d4 0E94 0000 call SetDelay
812 06d8 7C01 movw r14,r24
813 06da 83E0 ldi r24,lo8(3)
814 06dc 8093 0000 sts DebugOut,r24
815 06e0 C0E0 ldi r28,lo8(0)
816 06e2 D0E0 ldi r29,hi8(0)
817 06e4 78E9 ldi r23,lo8(15000)
818 06e6 C72E mov r12,r23
819 06e8 7AE3 ldi r23,hi8(15000)
820 06ea D72E mov r13,r23
821 06ec 412C mov r4,__zero_reg__
822 06ee 68EA ldi r22,hi8(-22528)
823 06f0 562E mov r5,r22
824 06f2 212C mov r2,__zero_reg__
825 06f4 5CE0 ldi r21,hi8(3072)
826 06f6 352E mov r3,r21
827 06f8 40E1 ldi r20,lo8(10000)
828 06fa A42E mov r10,r20
829 06fc 47E2 ldi r20,hi8(10000)
830 06fe B42E mov r11,r20
831 0700 30E8 ldi r19,lo8(128)
832 0702 832E mov r8,r19
833 0704 912C mov r9,__zero_reg__
834 0706 25E0 ldi r18,lo8(5)
835 0708 622E mov r6,r18
836 070a 712C mov r7,__zero_reg__
837 .L96:
838 070c C701 movw r24,r14
839 070e 0E94 0000 call CheckDelay
840 0712 8823 tst r24
841 0714 01F0 breq .L52
842 0716 84E6 ldi r24,lo8(100)
843 0718 90E0 ldi r25,hi8(100)
844 071a 0E94 0000 call SetDelay
845 071e 7C01 movw r14,r24
846 0720 0E94 0000 call LIBFC_Polling
847 .L52:
848 0724 8091 0000 lds r24,UpdateMotor
849 0728 8823 tst r24
850 072a 01F4 brne .+2
851 072c 00C0 rjmp .L53
852 072e 8091 0000 lds r24,AdReady
853 0732 8823 tst r24
854 0734 01F4 brne .+2
855 0736 00C0 rjmp .L53
856 0738 1092 0000 sts UpdateMotor,__zero_reg__
857 073c 8091 0000 lds r24,WinkelOut+6
858 0740 8823 tst r24
859 0742 01F0 breq .L54
860 0744 0E94 0000 call CalMk3Mag
861 0748 00C0 rjmp .L55
862 .L54:
863 074a 0E94 0000 call MotorRegler
864 .L55:
865 074e 0E94 0000 call SendMotorData
866 0752 8091 0000 lds r24,PlatinenVersion
867 0756 8A30 cpi r24,lo8(10)
868 0758 01F0 breq .L56
869 075a 8431 cpi r24,lo8(20)
870 075c 00F0 brlo .L57
871 .L56:
872 075e 2898 cbi 37-32,0
873 0760 00C0 rjmp .L58
874 .L57:
875 0762 289A sbi 37-32,0
876 .L58:
877 0764 8091 0000 lds r24,SenderOkay
878 0768 8823 tst r24
879 076a 01F0 breq .L59
880 076c 8091 0000 lds r24,SenderOkay
881 0770 8150 subi r24,lo8(-(-1))
882 0772 8093 0000 sts SenderOkay,r24
883 0776 8091 0000 lds r24,VersionInfo+6
884 077a 877F andi r24,lo8(-9)
885 077c 00C0 rjmp .L100
886 .L59:
887 077e 8091 6F00 lds r24,111
888 0782 8062 ori r24,lo8(32)
889 0784 8093 6F00 sts 111,r24
890 0788 1092 0000 sts (PPM_in)+1,__zero_reg__
891 078c 1092 0000 sts PPM_in,__zero_reg__
892 0790 8091 0000 lds r24,VersionInfo+6
893 0794 8860 ori r24,lo8(8)
894 .L100:
895 0796 8093 0000 sts VersionInfo+6,r24
896 079a 8091 0000 lds r24,I2CTimeout
897 079e 9091 0000 lds r25,(I2CTimeout)+1
898 07a2 0197 sbiw r24,1
899 07a4 9093 0000 sts (I2CTimeout)+1,r25
900 07a8 8093 0000 sts I2CTimeout,r24
901 07ac 8091 0000 lds r24,I2CTimeout
902 07b0 9091 0000 lds r25,(I2CTimeout)+1
903 07b4 892B or r24,r25
904 07b6 01F0 breq .L61
905 07b8 8091 0000 lds r24,MissingMotor
906 07bc 8823 tst r24
907 07be 01F0 breq .L62
908 .L61:
909 07c0 8091 0000 lds r24,I2CTimeout
910 07c4 9091 0000 lds r25,(I2CTimeout)+1
911 07c8 892B or r24,r25
912 07ca 01F4 brne .L63
913 07cc 0E94 0000 call I2C_Reset
914 07d0 7092 0000 sts (I2CTimeout)+1,r7
915 07d4 6092 0000 sts I2CTimeout,r6
916 07d8 8091 0000 lds r24,DebugOut+58
917 07dc 9091 0000 lds r25,(DebugOut+58)+1
918 07e0 0196 adiw r24,1
919 07e2 9093 0000 sts (DebugOut+58)+1,r25
920 07e6 8093 0000 sts DebugOut+58,r24
921 07ea 8091 0000 lds r24,FCFlags
922 07ee 8068 ori r24,lo8(-128)
923 07f0 8093 0000 sts FCFlags,r24
924 07f4 8091 0000 lds r24,VersionInfo+6
925 07f8 8160 ori r24,lo8(1)
926 07fa 8093 0000 sts VersionInfo+6,r24
927 07fe 8091 0000 lds r24,DebugOut+1
928 0802 8260 ori r24,lo8(2)
929 0804 8093 0000 sts DebugOut+1,r24
930 .L63:
931 0808 8091 0000 lds r24,BeepMuster
932 080c 9091 0000 lds r25,(BeepMuster)+1
933 0810 8F5F subi r24,lo8(-1)
934 0812 9F4F sbci r25,hi8(-1)
935 0814 01F4 brne .L64
936 0816 8091 0000 lds r24,MotorenEin
937 081a 8823 tst r24
938 081c 01F0 breq .L64
939 081e B092 0000 sts (beeptime)+1,r11
940 0822 A092 0000 sts beeptime,r10
941 0826 9092 0000 sts (BeepMuster)+1,r9
942 082a 8092 0000 sts BeepMuster,r8
943 082e 00C0 rjmp .L64
944 .L62:
945 0830 8091 0000 lds r24,PlatinenVersion
946 0834 8A30 cpi r24,lo8(10)
947 0836 01F0 breq .L65
948 0838 8431 cpi r24,lo8(20)
949 083a 00F0 brlo .L66
950 .L65:
951 083c 2898 cbi 37-32,0
952 083e 00C0 rjmp .L67
953 .L66:
954 0840 289A sbi 37-32,0
955 .L67:
956 0842 8091 0000 lds r24,beeptime
957 0846 9091 0000 lds r25,(beeptime)+1
958 084a 892B or r24,r25
959 084c 01F4 brne .L64
960 084e 8091 0000 lds r24,FCFlags
961 0852 8F77 andi r24,lo8(127)
962 0854 8093 0000 sts FCFlags,r24
963 .L64:
964 0858 8091 0000 lds r24,UpdateMotor
965 085c 8823 tst r24
966 085e 01F0 breq .+2
967 0860 00C0 rjmp .L53
968 0862 0E94 0000 call DatenUebertragung
969 0866 0E94 0000 call BearbeiteRxDaten
970 086a C801 movw r24,r16
971 086c 0E94 0000 call CheckDelay
972 0870 8823 tst r24
973 0872 01F4 brne .+2
974 0874 00C0 rjmp .L68
975 0876 8091 0000 lds r24,MissingMotor
976 087a 8823 tst r24
977 087c 01F0 breq .L69
978 087e 8091 0000 lds r24,VersionInfo+6
979 0882 8260 ori r24,lo8(2)
980 0884 8093 0000 sts VersionInfo+6,r24
981 0888 8091 0000 lds r24,DebugOut+1
982 088c 8260 ori r24,lo8(2)
983 088e 00C0 rjmp .L101
984 .L69:
985 0890 8091 0000 lds r24,VersionInfo+6
986 0894 8D7F andi r24,lo8(-3)
987 0896 8093 0000 sts VersionInfo+6,r24
988 089a 8091 0000 lds r24,I2CTimeout
989 089e 9091 0000 lds r25,(I2CTimeout)+1
990 08a2 0797 sbiw r24,7
991 08a4 00F0 brlo .L70
992 08a6 8091 0000 lds r24,DebugOut+1
993 08aa 8D7F andi r24,lo8(-3)
994 .L101:
995 08ac 8093 0000 sts DebugOut+1,r24
996 .L70:
997 08b0 8091 0000 lds r24,I2CTimeout
998 08b4 9091 0000 lds r25,(I2CTimeout)+1
999 08b8 0797 sbiw r24,7
1000 08ba 00F0 brlo .L71
1001 08bc 8091 0000 lds r24,VersionInfo+6
1002 08c0 8E7F andi r24,lo8(-2)
1003 08c2 8093 0000 sts VersionInfo+6,r24
1004 .L71:
1005 08c6 8091 0000 lds r24,PcZugriff
1006 08ca 8823 tst r24
1007 08cc 01F0 breq .L72
1008 08ce 8150 subi r24,lo8(-(-1))
1009 08d0 8093 0000 sts PcZugriff,r24
1010 08d4 00C0 rjmp .L73
1011 .L72:
1012 08d6 1092 0000 sts ExternControl+10,__zero_reg__
1013 08da 1092 0000 sts (ExternStickNick)+1,__zero_reg__
1014 08de 1092 0000 sts ExternStickNick,__zero_reg__
1015 08e2 1092 0000 sts (ExternStickRoll)+1,__zero_reg__
1016 08e6 1092 0000 sts ExternStickRoll,__zero_reg__
1017 08ea 1092 0000 sts (ExternStickGier)+1,__zero_reg__
1018 08ee 1092 0000 sts ExternStickGier,__zero_reg__
1019 08f2 8091 0000 lds r24,BeepMuster
1020 08f6 9091 0000 lds r25,(BeepMuster)+1
1021 08fa 8F5F subi r24,lo8(-1)
1022 08fc 9F4F sbci r25,hi8(-1)
1023 08fe 01F4 brne .L73
1024 0900 8091 0000 lds r24,SenderOkay
1025 0904 8823 tst r24
1026 0906 01F4 brne .L73
1027 0908 D092 0000 sts (beeptime)+1,r13
1028 090c C092 0000 sts beeptime,r12
1029 0910 3092 0000 sts (BeepMuster)+1,r3
1030 0914 2092 0000 sts BeepMuster,r2
1031 .L73:
1032 0918 8091 0000 lds r24,NaviDataOkay
1033 091c 893C cpi r24,lo8(-55)
1034 091e 00F0 brlo .L74
1035 0920 8150 subi r24,lo8(-(-1))
1036 0922 8093 0000 sts NaviDataOkay,r24
1037 0926 8091 0000 lds r24,FCFlags
1038 092a 8F7B andi r24,lo8(-65)
1039 092c 8093 0000 sts FCFlags,r24
1040 0930 8091 0000 lds r24,VersionInfo+6
1041 0934 8B7F andi r24,lo8(-5)
1042 0936 8093 0000 sts VersionInfo+6,r24
1043 093a 00C0 rjmp .L75
1044 .L74:
1045 093c 8091 0000 lds r24,NC_Version+3
1046 0940 8823 tst r24
1047 0942 01F0 breq .L76
1048 0944 8091 0000 lds r24,FCFlags
1049 0948 8064 ori r24,lo8(64)
1050 094a 8093 0000 sts FCFlags,r24
1051 094e 8091 0000 lds r24,VersionInfo+6
1052 0952 8460 ori r24,lo8(4)
1053 0954 8093 0000 sts VersionInfo+6,r24
1054 0958 8091 0000 lds r24,BeepMuster
1055 095c 9091 0000 lds r25,(BeepMuster)+1
1056 0960 8F5F subi r24,lo8(-1)
1057 0962 9F4F sbci r25,hi8(-1)
1058 0964 01F4 brne .L76
1059 0966 8091 0000 lds r24,MotorenEin
1060 096a 8823 tst r24
1061 096c 01F0 breq .L76
1062 096e D092 0000 sts (beeptime)+1,r13
1063 0972 C092 0000 sts beeptime,r12
1064 0976 5092 0000 sts (BeepMuster)+1,r5
1065 097a 4092 0000 sts BeepMuster,r4
1066 .L76:
1067 097e 1092 0000 sts (GPS_Nick)+1,__zero_reg__
1068 0982 1092 0000 sts GPS_Nick,__zero_reg__
1069 0986 1092 0000 sts (GPS_Roll)+1,__zero_reg__
1070 098a 1092 0000 sts GPS_Roll,__zero_reg__
1071 098e 8FEF ldi r24,lo8(-1)
1072 0990 9FEF ldi r25,hi8(-1)
1073 0992 9093 0000 sts (FromNaviCtrl+7)+1,r25
1074 0996 8093 0000 sts FromNaviCtrl+7,r24
1075 099a 1092 0000 sts NaviDataOkay,__zero_reg__
1076 .L75:
1077 099e 2091 0000 lds r18,UBat
1078 09a2 3091 0000 lds r19,(UBat)+1
1079 09a6 8091 0000 lds r24,BattLowVoltageWarning
1080 09aa 90E0 ldi r25,lo8(0)
1081 09ac 2817 cp r18,r24
1082 09ae 3907 cpc r19,r25
1083 09b0 04F4 brge .L77
1084 09b2 8091 0000 lds r24,FCFlags
1085 09b6 8062 ori r24,lo8(32)
1086 09b8 8093 0000 sts FCFlags,r24
1087 09bc 8091 0000 lds r24,BeepMuster
1088 09c0 9091 0000 lds r25,(BeepMuster)+1
1089 09c4 8F5F subi r24,lo8(-1)
1090 09c6 9F4F sbci r25,hi8(-1)
1091 09c8 01F4 brne .L78
1092 09ca E0E7 ldi r30,lo8(6000)
1093 09cc F7E1 ldi r31,hi8(6000)
1094 09ce F093 0000 sts (beeptime)+1,r31
1095 09d2 E093 0000 sts beeptime,r30
1096 09d6 80E0 ldi r24,lo8(768)
1097 09d8 93E0 ldi r25,hi8(768)
1098 09da 9093 0000 sts (BeepMuster)+1,r25
1099 09de 8093 0000 sts BeepMuster,r24
1100 09e2 00C0 rjmp .L78
1101 .L77:
1102 09e4 8091 0000 lds r24,beeptime
1103 09e8 9091 0000 lds r25,(beeptime)+1
1104 09ec 892B or r24,r25
1105 09ee 01F4 brne .L78
1106 09f0 8091 0000 lds r24,FCFlags
1107 09f4 8F7D andi r24,lo8(-33)
1108 09f6 8093 0000 sts FCFlags,r24
1109 .L78:
1110 09fa 0E94 0000 call SPI_StartTransmitPacket
1111 09fe 94E0 ldi r25,lo8(4)
1112 0a00 9093 0000 sts SendSPI,r25
1113 0a04 8091 0000 lds r24,MotorenEin
1114 0a08 8823 tst r24
1115 0a0a 01F4 brne .L79
1116 0a0c CAEA ldi r28,lo8(1450)
1117 0a0e D5E0 ldi r29,hi8(1450)
1118 0a10 00C0 rjmp .L80
1119 .L79:
1120 0a12 8091 0000 lds r24,second.2317
1121 0a16 8F5F subi r24,lo8(-(1))
1122 0a18 8093 0000 sts second.2317,r24
1123 0a1c 8133 cpi r24,lo8(49)
1124 0a1e 01F4 brne .L80
1125 0a20 1092 0000 sts second.2317,__zero_reg__
1126 0a24 8091 0000 lds r24,FlugSekunden
1127 0a28 9091 0000 lds r25,(FlugSekunden)+1
1128 0a2c 0196 adiw r24,1
1129 0a2e 9093 0000 sts (FlugSekunden)+1,r25
1130 0a32 8093 0000 sts FlugSekunden,r24
1131 .L80:
1132 0a36 2196 adiw r28,1
1133 0a38 ABE0 ldi r26,hi8(2930)
1134 0a3a C237 cpi r28,lo8(2930)
1135 0a3c DA07 cpc r29,r26
1136 0a3e 01F0 breq .L81
1137 0a40 0C5E subi r16,lo8(-(20))
1138 0a42 1F4F sbci r17,hi8(-(20))
1139 0a44 00C0 rjmp .L68
1140 .L81:
1141 0a46 8091 0000 lds r24,FlugMinuten
1142 0a4a 9091 0000 lds r25,(FlugMinuten)+1
1143 0a4e 0196 adiw r24,1
1144 0a50 9093 0000 sts (FlugMinuten)+1,r25
1145 0a54 8093 0000 sts FlugMinuten,r24
1146 0a58 8091 0000 lds r24,FlugMinutenGesamt
1147 0a5c 9091 0000 lds r25,(FlugMinutenGesamt)+1
1148 0a60 0196 adiw r24,1
1149 0a62 9093 0000 sts (FlugMinutenGesamt)+1,r25
1150 0a66 8093 0000 sts FlugMinutenGesamt,r24
1151 0a6a 6091 0000 lds r22,FlugMinuten+1
1152 0a6e 8EE0 ldi r24,lo8(14)
1153 0a70 90E0 ldi r25,hi8(14)
1154 0a72 0E94 0000 call SetParamByte
1155 0a76 8FE0 ldi r24,lo8(15)
1156 0a78 90E0 ldi r25,hi8(15)
1157 0a7a 6091 0000 lds r22,FlugMinuten
1158 0a7e 0E94 0000 call SetParamByte
1159 0a82 6091 0000 lds r22,FlugMinutenGesamt+1
1160 0a86 8AE0 ldi r24,lo8(10)
1161 0a88 90E0 ldi r25,hi8(10)
1162 0a8a 0E94 0000 call SetParamByte
1163 0a8e 8BE0 ldi r24,lo8(11)
1164 0a90 90E0 ldi r25,hi8(11)
1165 0a92 6091 0000 lds r22,FlugMinutenGesamt
1166 0a96 0E94 0000 call SetParamByte
1167 0a9a 84E1 ldi r24,lo8(20)
1168 0a9c 90E0 ldi r25,hi8(20)
1169 0a9e 0E94 0000 call SetDelay
1170 0aa2 8C01 movw r16,r24
1171 0aa4 C0E0 ldi r28,lo8(0)
1172 0aa6 D0E0 ldi r29,hi8(0)
1173 .L68:
1174 0aa8 0E94 0000 call LED_Update
1175 0aac 0E94 0000 call Capacity_Update
1176 .L53:
1177 0ab0 8091 0000 lds r24,SendSPI
1178 0ab4 8823 tst r24
1179 0ab6 01F0 breq .+2
1180 0ab8 00C0 rjmp .L96
1181 0aba 0E94 0000 call SPI_TransmitByte
1182 0abe 00C0 rjmp .L96
1184 .global PlatinenVersion
1185 .data
1188 PlatinenVersion:
1189 0000 0A .byte 10
1190 .global SendVersionToNavi
1193 SendVersionToNavi:
1194 0001 01 .byte 1
1195 .global BattLowVoltageWarning
1198 BattLowVoltageWarning:
1199 0002 5E .byte 94
1200 .global FlugMinuten
1201 .global FlugMinuten
1202 .section .bss
1205 FlugMinuten:
1206 0000 0000 .skip 2,0
1207 .global FlugMinutenGesamt
1208 .global FlugMinutenGesamt
1211 FlugMinutenGesamt:
1212 0002 0000 .skip 2,0
1213 .global FlugSekunden
1214 .global FlugSekunden
1217 FlugSekunden:
1218 0004 0000 .skip 2,0
1219 .global FoundMotors
1220 .global FoundMotors
1223 FoundMotors:
1224 0006 00 .skip 1,0
1225 .lcomm second.2317,1
1226 .section .progmem.data,"a",@progbits
1229 __c.2315:
1230 0000 0A0D 3D3D .string "\n\r===================================\n\r"
1230 3D3D 3D3D
1230 3D3D 3D3D
1230 3D3D 3D3D
1230 3D3D 3D3D
1233 __c.2313:
1234 0028 4E6F 726D .string "Normal (ACC-Mode)"
1234 616C 2028
1234 4143 432D
1234 4D6F 6465
1234 2900
1237 __c.2311:
1238 003a 4865 6164 .string "HeadingHold"
1238 696E 6748
1238 6F6C 6400
1241 __c.2309:
1242 0046 0A0D 436F .string "\n\rControl: "
1242 6E74 726F
1242 6C3A 2000
1245 __c.2307:
1246 0052 0A0D 466C .string "\n\rFlight-time %u min Total:%u min"
1246 6967 6874
1246 2D74 696D
1246 6520 2575
1246 206D 696E
1249 __c.2305:
1250 0075 4F4B 0A0D .string "OK\n\r"
1250 00
1253 __c.2300:
1254 007a 0A0D 4361 .string "\n\rCalibrating pressure sensor.."
1254 6C69 6272
1254 6174 696E
1254 6720 7072
1254 6573 7375
1257 __c.2298:
1258 009a 0A0D 3D3D .string "\n\r==================================="
1258 3D3D 3D3D
1258 3D3D 3D3D
1258 3D3D 3D3D
1258 3D3D 3D3D
1261 __c.2293:
1262 00c0 0A0D 0A0D .string "\n\r\n\r!! MISSING BL-CTRL: %d !!"
1262 2121 204D
1262 4953 5349
1262 4E47 2042
1262 4C2D 4354
1265 __c.2288:
1266 00de 2564 00 .string "%d"
1269 __c.2277:
1270 00e1 0A0D 466F .string "\n\rFound BL-Ctrl: "
1270 756E 6420
1270 424C 2D43
1270 7472 6C3A
1270 2000
1273 __c.2246:
1274 00f3 204C 6F77 .string " Low warning level: %d.%d"
1274 2077 6172
1274 6E69 6E67
1274 206C 6576
1274 656C 3A20
1277 __c.2244:
1278 010d 2025 6420 .string " %d Cells "
1278 4365 6C6C
1278 7320 00
1281 __c.2236:
1282 0118 0A0D 4261 .string "\n\rBatt:"
1282 7474 3A00
1283 .data
1286 stick.2222:
1287 0003 01 .byte 1
1288 .comm _printf_P,2,1
1289 .global __do_copy_data
1290 .global __do_clear_bss
DEFINED SYMBOLS
*ABS*:00000000 main.c
C:\Users\Arthur-P\AppData\Local\Temp/cc27baaa.s:3 *ABS*:0000003f __SREG__
C:\Users\Arthur-P\AppData\Local\Temp/cc27baaa.s:4 *ABS*:0000003e __SP_H__
C:\Users\Arthur-P\AppData\Local\Temp/cc27baaa.s:5 *ABS*:0000003d __SP_L__
C:\Users\Arthur-P\AppData\Local\Temp/cc27baaa.s:6 *ABS*:00000000 __tmp_reg__
C:\Users\Arthur-P\AppData\Local\Temp/cc27baaa.s:7 *ABS*:00000001 __zero_reg__
C:\Users\Arthur-P\AppData\Local\Temp/cc27baaa.s:15 .bss:00000000 FoundMotors
C:\Users\Arthur-P\AppData\Local\Temp/cc27baaa.s:21 .bss:00000001 FlugSekunden
C:\Users\Arthur-P\AppData\Local\Temp/cc27baaa.s:27 .bss:00000003 FlugMinutenGesamt
C:\Users\Arthur-P\AppData\Local\Temp/cc27baaa.s:33 .bss:00000005 FlugMinuten
C:\Users\Arthur-P\AppData\Local\Temp/cc27baaa.s:39 .data:00000000 BattLowVoltageWarning
C:\Users\Arthur-P\AppData\Local\Temp/cc27baaa.s:44 .data:00000001 SendVersionToNavi
C:\Users\Arthur-P\AppData\Local\Temp/cc27baaa.s:49 .data:00000002 PlatinenVersion
C:\Users\Arthur-P\AppData\Local\Temp/cc27baaa.s:53 .data:00000003 stick.15
C:\Users\Arthur-P\AppData\Local\Temp/cc27baaa.s:58 .text:00000000 CalMk3Mag
C:\Users\Arthur-P\AppData\Local\Temp/cc27baaa.s:112 .progmem.data:00000000 __c.12
C:\Users\Arthur-P\AppData\Local\Temp/cc27baaa.s:116 .progmem.data:00000008 __c.13
C:\Users\Arthur-P\AppData\Local\Temp/cc27baaa.s:120 .progmem.data:00000013 __c.14
C:\Users\Arthur-P\AppData\Local\Temp/cc27baaa.s:125 .text:0000006a LipoDetection
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccWNlXkL.s:2 *ABS*:0000003f __SREG__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccWNlXkL.s:3 *ABS*:0000003e __SP_H__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccWNlXkL.s:4 *ABS*:0000003d __SP_L__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccWNlXkL.s:5 *ABS*:00000034 __CCP__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccWNlXkL.s:6 *ABS*:00000000 __tmp_reg__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccWNlXkL.s:7 *ABS*:00000001 __zero_reg__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccWNlXkL.s:11 .text:00000000 LipoDetection
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccWNlXkL.s:1281 .progmem.data:00000118 __c.2236
*COM*:00000002 _printf_P
C:\Users\Arthur-P\AppData\Local\Temp/cc27baaa.s:262 .progmem.data:0000002d __c.0
C:\Users\Arthur-P\AppData\Local\Temp/cc27baaa.s:266 .progmem.data:0000003f __c.1
C:\Users\Arthur-P\AppData\Local\Temp/cc27baaa.s:270 .progmem.data:00000042 __c.2
C:\Users\Arthur-P\AppData\Local\Temp/cc27baaa.s:274 .progmem.data:00000060 __c.3
C:\Users\Arthur-P\AppData\Local\Temp/cc27baaa.s:278 .progmem.data:00000086 __c.4
C:\Users\Arthur-P\AppData\Local\Temp/cc27baaa.s:282 .progmem.data:000000a6 __c.5
C:\Users\Arthur-P\AppData\Local\Temp/cc27baaa.s:286 .progmem.data:000000ab __c.6
C:\Users\Arthur-P\AppData\Local\Temp/cc27baaa.s:290 .progmem.data:000000ce __c.7
C:\Users\Arthur-P\AppData\Local\Temp/cc27baaa.s:294 .progmem.data:000000da __c.8
C:\Users\Arthur-P\AppData\Local\Temp/cc27baaa.s:298 .progmem.data:000000e6 __c.9
C:\Users\Arthur-P\AppData\Local\Temp/cc27baaa.s:302 .progmem.data:000000f8 __c.10
.bss:00000007 second.11
C:\Users\Arthur-P\AppData\Local\Temp/cc27baaa.s:308 .text:0000017e main
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccWNlXkL.s:1198 .data:00000002 BattLowVoltageWarning
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccWNlXkL.s:1277 .progmem.data:0000010d __c.2244
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccWNlXkL.s:1273 .progmem.data:000000f3 __c.2246
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccWNlXkL.s:173 .text:0000014a CalMk3Mag
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccWNlXkL.s:1286 .data:00000003 stick.2222
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccWNlXkL.s:228 .text:000001bc main
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccWNlXkL.s:1188 .data:00000000 PlatinenVersion
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccWNlXkL.s:1269 .progmem.data:000000e1 __c.2277
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccWNlXkL.s:1265 .progmem.data:000000de __c.2288
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccWNlXkL.s:1223 .bss:00000006 FoundMotors
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccWNlXkL.s:1261 .progmem.data:000000c0 __c.2293
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccWNlXkL.s:1257 .progmem.data:0000009a __c.2298
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccWNlXkL.s:1253 .progmem.data:0000007a __c.2300
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccWNlXkL.s:1249 .progmem.data:00000075 __c.2305
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccWNlXkL.s:1205 .bss:00000000 FlugMinuten
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccWNlXkL.s:1211 .bss:00000002 FlugMinutenGesamt
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccWNlXkL.s:1245 .progmem.data:00000052 __c.2307
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccWNlXkL.s:1241 .progmem.data:00000046 __c.2309
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccWNlXkL.s:1237 .progmem.data:0000003a __c.2311
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccWNlXkL.s:1233 .progmem.data:00000028 __c.2313
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccWNlXkL.s:1229 .progmem.data:00000000 __c.2315
.bss:00000007 second.2317
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccWNlXkL.s:1217 .bss:00000004 FlugSekunden
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccWNlXkL.s:1193 .data:00000001 SendVersionToNavi
 
UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
uart_putchar
EE_Parameter
SetDelay
CheckDelay
UBat
Piep
__udivmodqi4
PPM_in
WinkelOut
beeptime
Piep
DebugOut
uart_putchar
SetDelay
CheckDelay
UBat
__udivmodqi4
__stack
__prologue_saves__
StickGier
StickRoll
StickNick
1290,3 → 1383,5
LED_Update
Capacity_Update
SPI_TransmitByte
__do_copy_data
__do_clear_bss