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