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