Go to most recent revision | Blame | Last modification | View Log | RSS feed
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 .L233
332 .L28:
333 01a6 8BE0 ldi r24,lo8(11)
334 01a8 05C0 rjmp .L233
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 .L233
340 .L31:
341 01b2 8AE0 ldi r24,lo8(10)
342 .L233:
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 .L234
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 .L234:
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 81E0 ldi r24,lo8(1)
411 0262 0E94 0000 call I2C_Init
412 0266 0E94 0000 call SPI_MasterInit
413 026a 0E94 0000 call LIBFC_Init
414 026e 8091 0000 lds r24,PlatinenVersion
415 0272 8C30 cpi r24,lo8(12)
416 0274 10F4 brsh .L38
417 0276 299A sbi 37-0x20,1
418 0278 01C0 rjmp .L39
419 .L38:
420 027a 2998 cbi 37-0x20,1
421 .L39:
422 /* #APP */
423 027c 7894 sei
424 /* #NOAPP */
425 027e 0E94 0000 call ParamSet_Init
426 0282 0E94 0000 call Capacity_Init
427 0286 8091 0000 lds r24,BLFlags
428 028a 8260 ori r24,lo8(2)
429 028c 8093 0000 sts BLFlags,r24
430 0290 1092 0000 sts motor_read,__zero_reg__
431 0294 0E94 0000 call SendMotorData
432 0298 84EF ldi r24,lo8(500)
433 029a 91E0 ldi r25,hi8(500)
434 029c 0E94 0000 call SetDelay
435 02a0 8C01 movw r16,r24
436 .L40:
437 02a2 8091 0000 lds r24,BLFlags
438 02a6 80FD sbrc r24,0
439 02a8 05C0 rjmp .L41
440 02aa C801 movw r24,r16
441 02ac 0E94 0000 call CheckDelay
442 02b0 8823 tst r24
443 02b2 B9F3 breq .L40
444 .L41:
445 02b4 80E0 ldi r24,lo8(__c.0)
446 02b6 90E0 ldi r25,hi8(__c.0)
447 02b8 9F93 push r25
448 02ba 8F93 push r24
449 02bc B0E0 ldi r27,lo8(pm(uart_putchar))
450 02be AB2E mov r10,r27
451 02c0 B0E0 ldi r27,hi8(pm(uart_putchar))
452 02c2 BB2E mov r11,r27
453 02c4 BF92 push r11
454 02c6 AF92 push r10
455 02c8 E091 0000 lds r30,_printf_P
456 02cc F091 0000 lds r31,(_printf_P)+1
457 02d0 0995 icall
458 02d2 80EA ldi r24,lo8(4000)
459 02d4 9FE0 ldi r25,hi8(4000)
460 02d6 0E94 0000 call SetDelay
461 02da 8C01 movw r16,r24
462 02dc C0E0 ldi r28,lo8(0)
463 02de D0E0 ldi r29,hi8(0)
464 02e0 0F90 pop __tmp_reg__
465 02e2 0F90 pop __tmp_reg__
466 02e4 0F90 pop __tmp_reg__
467 02e6 0F90 pop __tmp_reg__
468 02e8 A0E0 ldi r26,lo8(Motor+3)
469 02ea EA2E mov r14,r26
470 02ec A0E0 ldi r26,hi8(Motor+3)
471 02ee FA2E mov r15,r26
472 02f0 F0E0 ldi r31,lo8(Mixer+13)
473 02f2 CF2E mov r12,r31
474 02f4 F0E0 ldi r31,hi8(Mixer+13)
475 02f6 DF2E mov r13,r31
476 .L57:
477 02f8 0E94 0000 call SendMotorData
478 .L46:
479 02fc 8091 0000 lds r24,BLFlags
480 0300 80FD sbrc r24,0
481 0302 05C0 rjmp .L47
482 0304 C801 movw r24,r16
483 0306 0E94 0000 call CheckDelay
484 030a 8823 tst r24
485 030c B9F3 breq .L46
486 .L47:
487 030e F601 movw r30,r12
488 0310 8081 ld r24,Z
489 0312 1816 cp __zero_reg__,r24
490 0314 ACF4 brge .L49
491 0316 0BC0 rjmp .L238
492 .L55:
493 0318 0E94 0000 call SendMotorData
494 .L52:
495 031c 8091 0000 lds r24,BLFlags
496 0320 80FD sbrc r24,0
497 0322 05C0 rjmp .L238
498 0324 C801 movw r24,r16
499 0326 0E94 0000 call CheckDelay
500 032a 8823 tst r24
501 032c B9F3 breq .L52
502 .L238:
503 032e C801 movw r24,r16
504 0330 0E94 0000 call CheckDelay
505 0334 8823 tst r24
506 0336 21F4 brne .L49
507 0338 F701 movw r30,r14
508 033a 8081 ld r24,Z
509 033c 8823 tst r24
510 033e 64F7 brge .L55
511 .L49:
512 0340 F701 movw r30,r14
513 0342 8081 ld r24,Z
514 0344 87FF sbrs r24,7
515 0346 18C0 rjmp .L45
516 0348 2196 adiw r28,1
517 034a DF93 push r29
518 034c CF93 push r28
519 034e 2197 sbiw r28,1
520 0350 80E0 ldi r24,lo8(__c.1)
521 0352 90E0 ldi r25,hi8(__c.1)
522 0354 9F93 push r25
523 0356 8F93 push r24
524 0358 BF92 push r11
525 035a AF92 push r10
526 035c E091 0000 lds r30,_printf_P
527 0360 F091 0000 lds r31,(_printf_P)+1
528 0364 0995 icall
529 0366 8091 0000 lds r24,FoundMotors
530 036a 8F5F subi r24,lo8(-(1))
531 036c 8093 0000 sts FoundMotors,r24
532 0370 8DB7 in r24,__SP_L__
533 0372 9EB7 in r25,__SP_H__
534 0374 0696 adiw r24,6
535 0376 8DBF out __SP_L__,r24
536 .L45:
537 0378 2196 adiw r28,1
538 037a E4E0 ldi r30,lo8(4)
539 037c F0E0 ldi r31,hi8(4)
540 037e CE0E add r12,r30
541 0380 DF1E adc r13,r31
542 0382 88E0 ldi r24,lo8(8)
543 0384 90E0 ldi r25,hi8(8)
544 0386 E80E add r14,r24
545 0388 F91E adc r15,r25
546 038a CC30 cpi r28,12
547 038c D105 cpc r29,__zero_reg__
548 038e 08F4 brsh .+2
549 0390 B3CF rjmp .L57
550 0392 C0E0 ldi r28,lo8(0)
551 0394 D0E0 ldi r29,hi8(0)
552 0396 00E0 ldi r16,lo8(Motor)
553 0398 10E0 ldi r17,hi8(Motor)
554 039a E0E0 ldi r30,lo8(Mixer+13)
555 039c EE2E mov r14,r30
556 039e E0E0 ldi r30,hi8(Mixer+13)
557 03a0 FE2E mov r15,r30
558 .L62:
559 03a2 F801 movw r30,r16
560 03a4 8381 ldd r24,Z+3
561 03a6 87FD sbrc r24,7
562 03a8 1CC0 rjmp .L61
563 03aa F701 movw r30,r14
564 03ac 8081 ld r24,Z
565 03ae 1816 cp __zero_reg__,r24
566 03b0 C4F4 brge .L61
567 03b2 2196 adiw r28,1
568 03b4 DF93 push r29
569 03b6 CF93 push r28
570 03b8 2197 sbiw r28,1
571 03ba 80E0 ldi r24,lo8(__c.2)
572 03bc 90E0 ldi r25,hi8(__c.2)
573 03be 9F93 push r25
574 03c0 8F93 push r24
575 03c2 80E0 ldi r24,lo8(pm(uart_putchar))
576 03c4 90E0 ldi r25,hi8(pm(uart_putchar))
577 03c6 9F93 push r25
578 03c8 8F93 push r24
579 03ca E091 0000 lds r30,_printf_P
580 03ce F091 0000 lds r31,(_printf_P)+1
581 03d2 0995 icall
582 03d4 82E0 ldi r24,lo8(2)
583 03d6 8093 0000 sts ServoActive,r24
584 03da 8DB7 in r24,__SP_L__
585 03dc 9EB7 in r25,__SP_H__
586 03de 0696 adiw r24,6
587 03e0 8DBF out __SP_L__,r24
588 .L61:
589 03e2 F801 movw r30,r16
590 03e4 8381 ldd r24,Z+3
591 03e6 8078 andi r24,lo8(-128)
592 03e8 8383 std Z+3,r24
593 03ea 2196 adiw r28,1
594 03ec 84E0 ldi r24,lo8(4)
595 03ee 90E0 ldi r25,hi8(4)
596 03f0 E80E add r14,r24
597 03f2 F91E adc r15,r25
598 03f4 085F subi r16,lo8(-(8))
599 03f6 1F4F sbci r17,hi8(-(8))
600 03f8 CC30 cpi r28,12
601 03fa D105 cpc r29,__zero_reg__
602 03fc 90F2 brlo .L62
603 03fe 80E0 ldi r24,lo8(__c.3)
604 0400 90E0 ldi r25,hi8(__c.3)
605 0402 9F93 push r25
606 0404 8F93 push r24
607 0406 C0E0 ldi r28,lo8(pm(uart_putchar))
608 0408 D0E0 ldi r29,hi8(pm(uart_putchar))
609 040a DF93 push r29
610 040c CF93 push r28
611 040e E091 0000 lds r30,_printf_P
612 0412 F091 0000 lds r31,(_printf_P)+1
613 0416 0995 icall
614 0418 9091 0000 lds r25,RequiredMotors
615 041c 8091 0000 lds r24,FoundMotors
616 0420 0F90 pop __tmp_reg__
617 0422 0F90 pop __tmp_reg__
618 0424 0F90 pop __tmp_reg__
619 0426 0F90 pop __tmp_reg__
620 0428 9817 cp r25,r24
621 042a 28F4 brsh .L63
622 042c 8091 0000 lds r24,VersionInfo+6
623 0430 8061 ori r24,lo8(16)
624 0432 8093 0000 sts VersionInfo+6,r24
625 .L63:
626 0436 80E0 ldi r24,lo8(__c.4)
627 0438 90E0 ldi r25,hi8(__c.4)
628 043a 9F93 push r25
629 043c 8F93 push r24
630 043e DF93 push r29
631 0440 CF93 push r28
632 0442 E091 0000 lds r30,_printf_P
633 0446 F091 0000 lds r31,(_printf_P)+1
634 044a 0995 icall
635 044c 88EE ldi r24,lo8(1000)
636 044e 93E0 ldi r25,hi8(1000)
637 0450 0E94 0000 call SetDelay
638 0454 8C01 movw r16,r24
639 0456 0E94 0000 call SucheLuftruckOffset
640 045a 0F90 pop __tmp_reg__
641 045c 0F90 pop __tmp_reg__
642 045e 0F90 pop __tmp_reg__
643 0460 0F90 pop __tmp_reg__
644 .L64:
645 0462 C801 movw r24,r16
646 0464 0E94 0000 call CheckDelay
647 0468 8823 tst r24
648 046a D9F3 breq .L64
649 046c 80E0 ldi r24,lo8(__c.5)
650 046e 90E0 ldi r25,hi8(__c.5)
651 0470 9F93 push r25
652 0472 8F93 push r24
653 0474 DF93 push r29
654 0476 CF93 push r28
655 0478 E091 0000 lds r30,_printf_P
656 047c F091 0000 lds r31,(_printf_P)+1
657 0480 0995 icall
658 0482 80E0 ldi r24,lo8(0)
659 0484 0E94 0000 call SetNeutral
660 0488 8091 0000 lds r24,PlatinenVersion
661 048c 0F90 pop __tmp_reg__
662 048e 0F90 pop __tmp_reg__
663 0490 0F90 pop __tmp_reg__
664 0492 0F90 pop __tmp_reg__
665 0494 8A30 cpi r24,lo8(10)
666 0496 11F0 breq .L68
667 0498 8431 cpi r24,lo8(20)
668 049a 10F0 brlo .L67
669 .L68:
670 049c 2898 cbi 37-0x20,0
671 049e 01C0 rjmp .L69
672 .L67:
673 04a0 289A sbi 37-0x20,0
674 .L69:
675 04a2 80ED ldi r24,lo8(2000)
676 04a4 97E0 ldi r25,hi8(2000)
677 04a6 9093 0000 sts (beeptime)+1,r25
678 04aa 8093 0000 sts beeptime,r24
679 04ae 85E5 ldi r24,lo8(85)
680 04b0 8093 0000 sts ExternControl,r24
681 04b4 8EE0 ldi r24,lo8(14)
682 04b6 90E0 ldi r25,hi8(14)
683 04b8 0E94 0000 call GetParamByte
684 04bc 9927 clr r25
685 04be 182F mov r17,r24
686 04c0 0027 clr r16
687 04c2 8FE0 ldi r24,lo8(15)
688 04c4 90E0 ldi r25,hi8(15)
689 04c6 0E94 0000 call GetParamByte
690 04ca 080F add r16,r24
691 04cc 111D adc r17,__zero_reg__
692 04ce 1093 0000 sts (FlugMinuten)+1,r17
693 04d2 0093 0000 sts FlugMinuten,r16
694 04d6 8AE0 ldi r24,lo8(10)
695 04d8 90E0 ldi r25,hi8(10)
696 04da 0E94 0000 call GetParamByte
697 04de 9927 clr r25
698 04e0 182F mov r17,r24
699 04e2 0027 clr r16
700 04e4 8BE0 ldi r24,lo8(11)
701 04e6 90E0 ldi r25,hi8(11)
702 04e8 0E94 0000 call GetParamByte
703 04ec 080F add r16,r24
704 04ee 111D adc r17,__zero_reg__
705 04f0 1093 0000 sts (FlugMinutenGesamt)+1,r17
706 04f4 0093 0000 sts FlugMinutenGesamt,r16
707 04f8 0F5F subi r16,lo8(-1)
708 04fa 1F4F sbci r17,hi8(-1)
709 04fc 39F0 breq .L71
710 04fe 8091 0000 lds r24,FlugMinuten
711 0502 9091 0000 lds r25,(FlugMinuten)+1
712 0506 8F5F subi r24,lo8(-1)
713 0508 9F4F sbci r25,hi8(-1)
714 050a 41F4 brne .L70
715 .L71:
716 050c 1092 0000 sts (FlugMinuten)+1,__zero_reg__
717 0510 1092 0000 sts FlugMinuten,__zero_reg__
718 0514 1092 0000 sts (FlugMinutenGesamt)+1,__zero_reg__
719 0518 1092 0000 sts FlugMinutenGesamt,__zero_reg__
720 .L70:
721 051c 8091 0000 lds r24,FlugMinutenGesamt
722 0520 9091 0000 lds r25,(FlugMinutenGesamt)+1
723 0524 9F93 push r25
724 0526 8F93 push r24
725 0528 8091 0000 lds r24,FlugMinuten
726 052c 9091 0000 lds r25,(FlugMinuten)+1
727 0530 9F93 push r25
728 0532 8F93 push r24
729 0534 80E0 ldi r24,lo8(__c.6)
730 0536 90E0 ldi r25,hi8(__c.6)
731 0538 9F93 push r25
732 053a 8F93 push r24
733 053c DF93 push r29
734 053e CF93 push r28
735 0540 E091 0000 lds r30,_printf_P
736 0544 F091 0000 lds r31,(_printf_P)+1
737 0548 0995 icall
738 054a 8DB7 in r24,__SP_L__
739 054c 9EB7 in r25,__SP_H__
740 054e 0896 adiw r24,8
741 0550 8DBF out __SP_L__,r24
742 0552 80E0 ldi r24,lo8(__c.7)
743 0554 90E0 ldi r25,hi8(__c.7)
744 0556 9F93 push r25
745 0558 8F93 push r24
746 055a DF93 push r29
747 055c CF93 push r28
748 055e E091 0000 lds r30,_printf_P
749 0562 F091 0000 lds r31,(_printf_P)+1
750 0566 0995 icall
751 0568 8091 0000 lds r24,EE_Parameter+13
752 056c 0F90 pop __tmp_reg__
753 056e 0F90 pop __tmp_reg__
754 0570 0F90 pop __tmp_reg__
755 0572 0F90 pop __tmp_reg__
756 0574 E091 0000 lds r30,_printf_P
757 0578 F091 0000 lds r31,(_printf_P)+1
758 057c 82FF sbrs r24,2
759 057e 07C0 rjmp .L72
760 0580 80E0 ldi r24,lo8(__c.8)
761 0582 90E0 ldi r25,hi8(__c.8)
762 0584 9F93 push r25
763 0586 8F93 push r24
764 0588 DF93 push r29
765 058a CF93 push r28
766 058c 08C0 rjmp .L235
767 .L72:
768 058e 80E0 ldi r24,lo8(__c.9)
769 0590 90E0 ldi r25,hi8(__c.9)
770 0592 9F93 push r25
771 0594 8F93 push r24
772 0596 80E0 ldi r24,lo8(pm(uart_putchar))
773 0598 90E0 ldi r25,hi8(pm(uart_putchar))
774 059a 9F93 push r25
775 059c 8F93 push r24
776 .L235:
777 059e 0995 icall
778 05a0 0F90 pop __tmp_reg__
779 05a2 0F90 pop __tmp_reg__
780 05a4 0F90 pop __tmp_reg__
781 05a6 0F90 pop __tmp_reg__
782 05a8 0E94 0000 call LcdClear
783 05ac 88E8 ldi r24,lo8(5000)
784 05ae 93E1 ldi r25,hi8(5000)
785 05b0 9093 0000 sts (I2CTimeout)+1,r25
786 05b4 8093 0000 sts I2CTimeout,r24
787 05b8 81E0 ldi r24,lo8(1)
788 05ba 8093 0000 sts WinkelOut+7,r24
789 05be 0E94 0000 call LipoDetection
790 05c2 8091 0000 lds r24,EE_Parameter+39
791 05c6 0E94 0000 call LIBFC_ReceiverInit
792 05ca 80E0 ldi r24,lo8(__c.10)
793 05cc 90E0 ldi r25,hi8(__c.10)
794 05ce 9F93 push r25
795 05d0 8F93 push r24
796 05d2 DF93 push r29
797 05d4 CF93 push r28
798 05d6 E091 0000 lds r30,_printf_P
799 05da F091 0000 lds r31,(_printf_P)+1
800 05de 0995 icall
801 05e0 80ED ldi r24,lo8(2000)
802 05e2 97E0 ldi r25,hi8(2000)
803 05e4 0E94 0000 call SetDelay
804 05e8 8C01 movw r16,r24
805 05ea 8AEF ldi r24,lo8(250)
806 05ec 90E0 ldi r25,hi8(250)
807 05ee 0E94 0000 call SetDelay
808 05f2 EC01 movw r28,r24
809 05f4 83E0 ldi r24,lo8(3)
810 05f6 8093 0000 sts DebugOut,r24
811 05fa 0F90 pop __tmp_reg__
812 05fc 0F90 pop __tmp_reg__
813 05fe 0F90 pop __tmp_reg__
814 0600 0F90 pop __tmp_reg__
815 .L239:
816 0602 8091 0000 lds r24,JetiUpdateModeActive
817 0606 8111 cpse r24,__zero_reg__
818 .L77:
819 0608 FFCF rjmp .L77
820 .L76:
821 060a CE01 movw r24,r28
822 060c 0E94 0000 call CheckDelay
823 0610 8823 tst r24
824 0612 39F0 breq .L79
825 0614 84E6 ldi r24,lo8(100)
826 0616 90E0 ldi r25,hi8(100)
827 0618 0E94 0000 call SetDelay
828 061c EC01 movw r28,r24
829 061e 0E94 0000 call LIBFC_Polling
830 .L79:
831 0622 8091 0000 lds r24,UpdateMotor
832 0626 8823 tst r24
833 0628 09F4 brne .+2
834 062a E0C1 rjmp .L80
835 062c 8091 0000 lds r24,AdReady
836 0630 8823 tst r24
837 0632 09F4 brne .+2
838 0634 DBC1 rjmp .L80
839 0636 1092 0000 sts UpdateMotor,__zero_reg__
840 063a 8091 0000 lds r24,WinkelOut+6
841 063e 8823 tst r24
842 0640 19F0 breq .L81
843 0642 0E94 0000 call CalMk3Mag
844 0646 02C0 rjmp .L82
845 .L81:
846 0648 0E94 0000 call MotorRegler
847 .L82:
848 064c 0E94 0000 call SendMotorData
849 0650 2091 0000 lds r18,PlatinenVersion
850 0654 2A30 cpi r18,lo8(10)
851 0656 11F0 breq .L84
852 0658 2431 cpi r18,lo8(20)
853 065a 10F0 brlo .L83
854 .L84:
855 065c 2898 cbi 37-0x20,0
856 065e 01C0 rjmp .L85
857 .L83:
858 0660 289A sbi 37-0x20,0
859 .L85:
860 0662 8091 0000 lds r24,SenderOkay
861 0666 9091 0000 lds r25,VersionInfo+6
862 066a 8823 tst r24
863 066c 39F0 breq .L86
864 066e 8091 0000 lds r24,SenderOkay
865 0672 8150 subi r24,lo8(-(-1))
866 0674 8093 0000 sts SenderOkay,r24
867 0678 977F andi r25,lo8(-9)
868 067a 0AC0 rjmp .L236
869 .L86:
870 067c 8091 6F00 lds r24,111
871 0680 8062 ori r24,lo8(32)
872 0682 8093 6F00 sts 111,r24
873 0686 1092 0000 sts (PPM_in)+1,__zero_reg__
874 068a 1092 0000 sts PPM_in,__zero_reg__
875 068e 9860 ori r25,lo8(8)
876 .L236:
877 0690 9093 0000 sts VersionInfo+6,r25
878 0694 8091 0000 lds r24,I2CTimeout
879 0698 9091 0000 lds r25,(I2CTimeout)+1
880 069c 0197 sbiw r24,1
881 069e 9093 0000 sts (I2CTimeout)+1,r25
882 06a2 8093 0000 sts I2CTimeout,r24
883 06a6 8091 0000 lds r24,I2CTimeout
884 06aa 9091 0000 lds r25,(I2CTimeout)+1
885 06ae 892B or r24,r25
886 06b0 21F0 breq .L89
887 06b2 8091 0000 lds r24,MissingMotor
888 06b6 8823 tst r24
889 06b8 C9F1 breq .L88
890 .L89:
891 06ba 8091 0000 lds r24,I2CTimeout
892 06be 9091 0000 lds r25,(I2CTimeout)+1
893 06c2 892B or r24,r25
894 06c4 D9F4 brne .L90
895 06c6 0E94 0000 call I2C_Reset
896 06ca 85E0 ldi r24,lo8(5)
897 06cc 90E0 ldi r25,hi8(5)
898 06ce 9093 0000 sts (I2CTimeout)+1,r25
899 06d2 8093 0000 sts I2CTimeout,r24
900 06d6 8091 0000 lds r24,DebugOut+58
901 06da 9091 0000 lds r25,(DebugOut+58)+1
902 06de 0196 adiw r24,1
903 06e0 9093 0000 sts (DebugOut+58)+1,r25
904 06e4 8093 0000 sts DebugOut+58,r24
905 06e8 8091 0000 lds r24,VersionInfo+6
906 06ec 8160 ori r24,lo8(1)
907 06ee 8093 0000 sts VersionInfo+6,r24
908 06f2 8091 0000 lds r24,DebugOut+1
909 06f6 8260 ori r24,lo8(2)
910 06f8 8093 0000 sts DebugOut+1,r24
911 .L90:
912 06fc 8091 0000 lds r24,BeepMuster
913 0700 9091 0000 lds r25,(BeepMuster)+1
914 0704 8F5F subi r24,lo8(-1)
915 0706 9F4F sbci r25,hi8(-1)
916 0708 19F5 brne .L92
917 070a 8091 0000 lds r24,MotorenEin
918 070e 8823 tst r24
919 0710 F9F0 breq .L92
920 0712 80E1 ldi r24,lo8(10000)
921 0714 97E2 ldi r25,hi8(10000)
922 0716 9093 0000 sts (beeptime)+1,r25
923 071a 8093 0000 sts beeptime,r24
924 071e 80E8 ldi r24,lo8(128)
925 0720 90E0 ldi r25,hi8(128)
926 0722 9093 0000 sts (BeepMuster)+1,r25
927 0726 8093 0000 sts BeepMuster,r24
928 072a 12C0 rjmp .L92
929 .L88:
930 072c 2A30 cpi r18,lo8(10)
931 072e 11F0 breq .L94
932 0730 2431 cpi r18,lo8(20)
933 0732 10F0 brlo .L93
934 .L94:
935 0734 2898 cbi 37-0x20,0
936 0736 01C0 rjmp .L95
937 .L93:
938 0738 289A sbi 37-0x20,0
939 .L95:
940 073a 8091 0000 lds r24,beeptime
941 073e 9091 0000 lds r25,(beeptime)+1
942 0742 892B or r24,r25
943 0744 29F4 brne .L92
944 0746 8091 0000 lds r24,VersionInfo+6
945 074a 8E7F andi r24,lo8(-2)
946 074c 8093 0000 sts VersionInfo+6,r24
947 .L92:
948 0750 8091 0000 lds r24,UpdateMotor
949 0754 8823 tst r24
950 0756 09F0 breq .+2
951 0758 49C1 rjmp .L80
952 075a 8091 0000 lds r24,CalculateServoSignals
953 075e 8823 tst r24
954 0760 11F0 breq .L98
955 0762 0E94 0000 call CalculateServo
956 .L98:
957 0766 0E94 0000 call DatenUebertragung
958 076a 0E94 0000 call BearbeiteRxDaten
959 076e C801 movw r24,r16
960 0770 0E94 0000 call CheckDelay
961 0774 8823 tst r24
962 0776 09F4 brne .+2
963 0778 35C1 rjmp .L99
964 077a 0C5E subi r16,lo8(-(20))
965 077c 1F4F sbci r17,hi8(-(20))
966 077e 8091 0000 lds r24,MissingMotor
967 0782 9091 0000 lds r25,VersionInfo+6
968 0786 8823 tst r24
969 0788 39F0 breq .L100
970 078a 9260 ori r25,lo8(2)
971 078c 9093 0000 sts VersionInfo+6,r25
972 0790 8091 0000 lds r24,DebugOut+1
973 0794 8260 ori r24,lo8(2)
974 0796 0CC0 rjmp .L237
975 .L100:
976 0798 9D7F andi r25,lo8(-3)
977 079a 9093 0000 sts VersionInfo+6,r25
978 079e 8091 0000 lds r24,I2CTimeout
979 07a2 9091 0000 lds r25,(I2CTimeout)+1
980 07a6 0797 sbiw r24,7
981 07a8 28F0 brlo .L101
982 07aa 8091 0000 lds r24,DebugOut+1
983 07ae 8D7F andi r24,lo8(-3)
984 .L237:
985 07b0 8093 0000 sts DebugOut+1,r24
986 .L101:
987 07b4 8091 0000 lds r24,I2CTimeout
988 07b8 9091 0000 lds r25,(I2CTimeout)+1
989 07bc 0797 sbiw r24,7
990 07be 28F0 brlo .L103
991 07c0 8091 0000 lds r24,VersionInfo+6
992 07c4 8E7F andi r24,lo8(-2)
993 07c6 8093 0000 sts VersionInfo+6,r24
994 .L103:
995 07ca 8091 0000 lds r24,PcZugriff
996 07ce 8823 tst r24
997 07d0 21F0 breq .L104
998 07d2 8150 subi r24,lo8(-(-1))
999 07d4 8093 0000 sts PcZugriff,r24
1000 07d8 25C0 rjmp .L105
1001 .L104:
1002 07da 8093 0000 sts ExternControl+10,r24
1003 07de 1092 0000 sts (ExternStickNick)+1,__zero_reg__
1004 07e2 1092 0000 sts ExternStickNick,__zero_reg__
1005 07e6 1092 0000 sts (ExternStickRoll)+1,__zero_reg__
1006 07ea 1092 0000 sts ExternStickRoll,__zero_reg__
1007 07ee 1092 0000 sts (ExternStickGier)+1,__zero_reg__
1008 07f2 1092 0000 sts ExternStickGier,__zero_reg__
1009 07f6 8091 0000 lds r24,BeepMuster
1010 07fa 9091 0000 lds r25,(BeepMuster)+1
1011 07fe 8F5F subi r24,lo8(-1)
1012 0800 9F4F sbci r25,hi8(-1)
1013 0802 81F4 brne .L105
1014 0804 8091 0000 lds r24,SenderOkay
1015 0808 8823 tst r24
1016 080a 61F4 brne .L105
1017 080c 88E9 ldi r24,lo8(15000)
1018 080e 9AE3 ldi r25,hi8(15000)
1019 0810 9093 0000 sts (beeptime)+1,r25
1020 0814 8093 0000 sts beeptime,r24
1021 0818 80E0 ldi r24,lo8(3072)
1022 081a 9CE0 ldi r25,hi8(3072)
1023 081c 9093 0000 sts (BeepMuster)+1,r25
1024 0820 8093 0000 sts BeepMuster,r24
1025 .L105:
1026 0824 8091 0000 lds r24,NaviDataOkay
1027 0828 893C cpi r24,lo8(-55)
1028 082a 48F0 brlo .L107
1029 082c 8150 subi r24,lo8(-(-1))
1030 082e 8093 0000 sts NaviDataOkay,r24
1031 0832 8091 0000 lds r24,VersionInfo+6
1032 0836 8B7F andi r24,lo8(-5)
1033 0838 8093 0000 sts VersionInfo+6,r24
1034 083c 30C0 rjmp .L108
1035 .L107:
1036 083e 8091 0000 lds r24,NC_Version+3
1037 0842 8823 tst r24
1038 0844 E1F0 breq .L109
1039 0846 8091 0000 lds r24,VersionInfo+6
1040 084a 8460 ori r24,lo8(4)
1041 084c 8093 0000 sts VersionInfo+6,r24
1042 0850 8091 0000 lds r24,BeepMuster
1043 0854 9091 0000 lds r25,(BeepMuster)+1
1044 0858 8F5F subi r24,lo8(-1)
1045 085a 9F4F sbci r25,hi8(-1)
1046 085c 81F4 brne .L109
1047 085e 8091 0000 lds r24,MotorenEin
1048 0862 8823 tst r24
1049 0864 61F0 breq .L109
1050 0866 88E9 ldi r24,lo8(15000)
1051 0868 9AE3 ldi r25,hi8(15000)
1052 086a 9093 0000 sts (beeptime)+1,r25
1053 086e 8093 0000 sts beeptime,r24
1054 0872 80E0 ldi r24,lo8(-22528)
1055 0874 98EA ldi r25,hi8(-22528)
1056 0876 9093 0000 sts (BeepMuster)+1,r25
1057 087a 8093 0000 sts BeepMuster,r24
1058 .L109:
1059 087e 1092 0000 sts (GPS_Nick)+1,__zero_reg__
1060 0882 1092 0000 sts GPS_Nick,__zero_reg__
1061 0886 1092 0000 sts (GPS_Roll)+1,__zero_reg__
1062 088a 1092 0000 sts GPS_Roll,__zero_reg__
1063 088e 8FEF ldi r24,lo8(-1)
1064 0890 9FEF ldi r25,hi8(-1)
1065 0892 9093 0000 sts (FromNaviCtrl+7)+1,r25
1066 0896 8093 0000 sts FromNaviCtrl+7,r24
1067 089a 1092 0000 sts NaviDataOkay,__zero_reg__
1068 .L108:
1069 089e 8091 0000 lds r24,BattLowVoltageWarning
1070 08a2 282F mov r18,r24
1071 08a4 3327 clr r19
1072 08a6 8091 0000 lds r24,UBat
1073 08aa 9091 0000 lds r25,(UBat)+1
1074 08ae 8217 cp r24,r18
1075 08b0 9307 cpc r25,r19
1076 08b2 5CF0 brlt .L112
1077 08b4 8091 0000 lds r24,Capacity+6
1078 08b8 9091 0000 lds r25,(Capacity+6)+1
1079 08bc 1816 cp __zero_reg__,r24
1080 08be 1906 cpc __zero_reg__,r25
1081 08c0 ECF0 brlt .L111
1082 08c2 8091 0000 lds r24,EE_Parameter+41
1083 08c6 8823 tst r24
1084 08c8 C9F0 breq .L111
1085 .L112:
1086 08ca 8091 0000 lds r24,FC_StatusFlags
1087 08ce 8062 ori r24,lo8(32)
1088 08d0 8093 0000 sts FC_StatusFlags,r24
1089 08d4 8091 0000 lds r24,BeepMuster
1090 08d8 9091 0000 lds r25,(BeepMuster)+1
1091 08dc 8F5F subi r24,lo8(-1)
1092 08de 9F4F sbci r25,hi8(-1)
1093 08e0 C1F4 brne .L114
1094 08e2 80E7 ldi r24,lo8(6000)
1095 08e4 97E1 ldi r25,hi8(6000)
1096 08e6 9093 0000 sts (beeptime)+1,r25
1097 08ea 8093 0000 sts beeptime,r24
1098 08ee 80E0 ldi r24,lo8(768)
1099 08f0 93E0 ldi r25,hi8(768)
1100 08f2 9093 0000 sts (BeepMuster)+1,r25
1101 08f6 8093 0000 sts BeepMuster,r24
1102 08fa 0BC0 rjmp .L114
1103 .L111:
1104 08fc 8091 0000 lds r24,beeptime
1105 0900 9091 0000 lds r25,(beeptime)+1
1106 0904 892B or r24,r25
1107 0906 29F4 brne .L114
1108 0908 8091 0000 lds r24,FC_StatusFlags
1109 090c 8F7D andi r24,lo8(-33)
1110 090e 8093 0000 sts FC_StatusFlags,r24
1111 .L114:
1112 0912 0E94 0000 call SPI_StartTransmitPacket
1113 0916 84E0 ldi r24,lo8(4)
1114 0918 8093 0000 sts SendSPI,r24
1115 091c 8091 0000 lds r24,MotorenEin
1116 0920 8823 tst r24
1117 0922 29F4 brne .L116
1118 0924 5AEA ldi r21,lo8(1450)
1119 0926 852E mov r8,r21
1120 0928 55E0 ldi r21,hi8(1450)
1121 092a 952E mov r9,r21
1122 092c 12C0 rjmp .L117
1123 .L116:
1124 092e 8091 0000 lds r24,second.11
1125 0932 8F5F subi r24,lo8(-(1))
1126 0934 8093 0000 sts second.11,r24
1127 0938 8133 cpi r24,lo8(49)
1128 093a 59F4 brne .L117
1129 093c 1092 0000 sts second.11,__zero_reg__
1130 0940 8091 0000 lds r24,FlugSekunden
1131 0944 9091 0000 lds r25,(FlugSekunden)+1
1132 0948 0196 adiw r24,1
1133 094a 9093 0000 sts (FlugSekunden)+1,r25
1134 094e 8093 0000 sts FlugSekunden,r24
1135 .L117:
1136 0952 0894 sec
1137 0954 811C adc r8,__zero_reg__
1138 0956 911C adc r9,__zero_reg__
1139 0958 F2E7 ldi r31,lo8(2930)
1140 095a 8F16 cp r8,r31
1141 095c FBE0 ldi r31,hi8(2930)
1142 095e 9F06 cpc r9,r31
1143 0960 09F0 breq .+2
1144 0962 40C0 rjmp .L99
1145 0964 8824 clr r8
1146 0966 9924 clr r9
1147 0968 2091 0000 lds r18,FlugMinuten
1148 096c 3091 0000 lds r19,(FlugMinuten)+1
1149 0970 2F5F subi r18,lo8(-(1))
1150 0972 3F4F sbci r19,hi8(-(1))
1151 0974 3093 0000 sts (FlugMinuten)+1,r19
1152 0978 2093 0000 sts FlugMinuten,r18
1153 097c 8091 0000 lds r24,FlugMinutenGesamt
1154 0980 9091 0000 lds r25,(FlugMinutenGesamt)+1
1155 0984 0196 adiw r24,1
1156 0986 9093 0000 sts (FlugMinutenGesamt)+1,r25
1157 098a 8093 0000 sts FlugMinutenGesamt,r24
1158 098e 832F mov r24,r19
1159 0990 9927 clr r25
1160 0992 682F mov r22,r24
1161 0994 8EE0 ldi r24,lo8(14)
1162 0996 90E0 ldi r25,hi8(14)
1163 0998 0E94 0000 call SetParamByte
1164 099c 8091 0000 lds r24,FlugMinuten
1165 09a0 9091 0000 lds r25,(FlugMinuten)+1
1166 09a4 9070 andi r25,hi8(255)
1167 09a6 682F mov r22,r24
1168 09a8 8FE0 ldi r24,lo8(15)
1169 09aa 90E0 ldi r25,hi8(15)
1170 09ac 0E94 0000 call SetParamByte
1171 09b0 8091 0000 lds r24,FlugMinutenGesamt
1172 09b4 9091 0000 lds r25,(FlugMinutenGesamt)+1
1173 09b8 892F mov r24,r25
1174 09ba 9927 clr r25
1175 09bc 682F mov r22,r24
1176 09be 8AE0 ldi r24,lo8(10)
1177 09c0 90E0 ldi r25,hi8(10)
1178 09c2 0E94 0000 call SetParamByte
1179 09c6 8091 0000 lds r24,FlugMinutenGesamt
1180 09ca 9091 0000 lds r25,(FlugMinutenGesamt)+1
1181 09ce 9070 andi r25,hi8(255)
1182 09d0 682F mov r22,r24
1183 09d2 8BE0 ldi r24,lo8(11)
1184 09d4 90E0 ldi r25,hi8(11)
1185 09d6 0E94 0000 call SetParamByte
1186 09da 84E1 ldi r24,lo8(20)
1187 09dc 90E0 ldi r25,hi8(20)
1188 09de 0E94 0000 call SetDelay
1189 09e2 8C01 movw r16,r24
1190 .L99:
1191 09e4 0E94 0000 call LED_Update
1192 09e8 0E94 0000 call Capacity_Update
1193 .L80:
1194 09ec 8091 0000 lds r24,SendSPI
1195 09f0 8823 tst r24
1196 09f2 09F0 breq .+2
1197 09f4 06CE rjmp .L239
1198 09f6 0E94 0000 call SPI_TransmitByte
1199 09fa 03CE rjmp .L239
1200 /* epilogue: frame size=0 */
1201 /* epilogue: noreturn */
1202 /* epilogue end (size=0) */
1203 /* function main size 1100 (1096) */
1205 .comm _printf_P,2,1
1206 /* File "main.c": code 1293 = 0x050d (1281), prologues 7, epilogues 5 */
DEFINED SYMBOLS
*ABS*:00000000 main.c
C:\Users\Thomas\AppData\Local\Temp/cc42aaaa.s:3 *ABS*:0000003f __SREG__
C:\Users\Thomas\AppData\Local\Temp/cc42aaaa.s:4 *ABS*:0000003e __SP_H__
C:\Users\Thomas\AppData\Local\Temp/cc42aaaa.s:5 *ABS*:0000003d __SP_L__
C:\Users\Thomas\AppData\Local\Temp/cc42aaaa.s:6 *ABS*:00000000 __tmp_reg__
C:\Users\Thomas\AppData\Local\Temp/cc42aaaa.s:7 *ABS*:00000001 __zero_reg__
C:\Users\Thomas\AppData\Local\Temp/cc42aaaa.s:15 .bss:00000000 FoundMotors
C:\Users\Thomas\AppData\Local\Temp/cc42aaaa.s:21 .bss:00000001 FlugSekunden
C:\Users\Thomas\AppData\Local\Temp/cc42aaaa.s:27 .bss:00000003 FlugMinutenGesamt
C:\Users\Thomas\AppData\Local\Temp/cc42aaaa.s:33 .bss:00000005 FlugMinuten
C:\Users\Thomas\AppData\Local\Temp/cc42aaaa.s:39 .data:00000000 BattLowVoltageWarning
C:\Users\Thomas\AppData\Local\Temp/cc42aaaa.s:44 .data:00000001 SendVersionToNavi
C:\Users\Thomas\AppData\Local\Temp/cc42aaaa.s:49 .data:00000002 PlatinenVersion
C:\Users\Thomas\AppData\Local\Temp/cc42aaaa.s:53 .data:00000003 stick.15
C:\Users\Thomas\AppData\Local\Temp/cc42aaaa.s:58 .text:00000000 CalMk3Mag
C:\Users\Thomas\AppData\Local\Temp/cc42aaaa.s:112 .progmem.data:00000000 __c.12
C:\Users\Thomas\AppData\Local\Temp/cc42aaaa.s:116 .progmem.data:00000008 __c.13
C:\Users\Thomas\AppData\Local\Temp/cc42aaaa.s:120 .progmem.data:00000013 __c.14
C:\Users\Thomas\AppData\Local\Temp/cc42aaaa.s:125 .text:0000006a LipoDetection
*COM*:00000002 _printf_P
C:\Users\Thomas\AppData\Local\Temp/cc42aaaa.s:262 .progmem.data:0000002d __c.0
C:\Users\Thomas\AppData\Local\Temp/cc42aaaa.s:266 .progmem.data:0000003f __c.1
C:\Users\Thomas\AppData\Local\Temp/cc42aaaa.s:270 .progmem.data:00000042 __c.2
C:\Users\Thomas\AppData\Local\Temp/cc42aaaa.s:274 .progmem.data:00000060 __c.3
C:\Users\Thomas\AppData\Local\Temp/cc42aaaa.s:278 .progmem.data:00000086 __c.4
C:\Users\Thomas\AppData\Local\Temp/cc42aaaa.s:282 .progmem.data:000000a6 __c.5
C:\Users\Thomas\AppData\Local\Temp/cc42aaaa.s:286 .progmem.data:000000ab __c.6
C:\Users\Thomas\AppData\Local\Temp/cc42aaaa.s:290 .progmem.data:000000ce __c.7
C:\Users\Thomas\AppData\Local\Temp/cc42aaaa.s:294 .progmem.data:000000da __c.8
C:\Users\Thomas\AppData\Local\Temp/cc42aaaa.s:298 .progmem.data:000000e6 __c.9
C:\Users\Thomas\AppData\Local\Temp/cc42aaaa.s:302 .progmem.data:000000f8 __c.10
.bss:00000007 second.11
C:\Users\Thomas\AppData\Local\Temp/cc42aaaa.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
LIBFC_Init
ParamSet_Init
Capacity_Init
BLFlags
motor_read
SendMotorData
Motor
Mixer
ServoActive
RequiredMotors
VersionInfo
SucheLuftruckOffset
SetNeutral
ExternControl
GetParamByte
LcdClear
I2CTimeout
LIBFC_ReceiverInit
JetiUpdateModeActive
LIBFC_Polling
UpdateMotor
AdReady
MotorRegler
SenderOkay
MissingMotor
I2C_Reset
BeepMuster
MotorenEin
CalculateServoSignals
CalculateServo
DatenUebertragung
BearbeiteRxDaten
PcZugriff
ExternStickNick
ExternStickRoll
ExternStickGier
NaviDataOkay
NC_Version
GPS_Nick
GPS_Roll
FromNaviCtrl
Capacity
FC_StatusFlags
SPI_StartTransmitPacket
SendSPI
SetParamByte
LED_Update
Capacity_Update
SPI_TransmitByte