Blame | Last modification | View Log | RSS feed
1 .file "uart.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 ANALOG_TEXT
11 .section .progmem.data,"a",@progbits
14 ANALOG_TEXT:
15 0000 416E 676C .ascii "AngleNick "
15 654E 6963
15 6B20 2020
15 2020 2020
16 0010 416E 676C .ascii "AngleRoll "
16 6552 6F6C
16 6C20 2020
16 2020 2020
17 0020 4163 634E .ascii "AccNick "
17 6963 6B20
17 2020 2020
17 2020 2020
18 0030 4163 6352 .ascii "AccRoll "
18 6F6C 6C20
18 2020 2020
18 2020 2020
19 0040 5961 7747 .ascii "YawGyro "
19 7972 6F20
19 2020 2020
19 2020 2020
20 0050 4865 6967 .ascii "Height Value "
20 6874 2056
20 616C 7565
20 2020 2020
21 0060 4163 635A .ascii "AccZ "
21 2020 2020
21 2020 2020
21 2020 2020
22 0070 4761 7320 .ascii "Gas "
22 2020 2020
22 2020 2020
22 2020 2020
23 0080 436F 6D70 .ascii "Compass Value "
23 6173 7320
23 5661 6C75
23 6520 2020
24 0090 566F 6C74 .ascii "Voltage [0.1V] "
24 6167 6520
24 5B30 2E31
24 565D 2020
25 00a0 5265 6365 .ascii "Receiver Level "
25 6976 6572
25 204C 6576
25 656C 2020
26 00b0 4779 726F .ascii "Gyro Compass "
26 2043 6F6D
26 7061 7373
26 2020 2020
27 00c0 4D6F 746F .ascii "Motor 1 "
27 7220 3120
27 2020 2020
27 2020 2020
28 00d0 4D6F 746F .ascii "Motor 2 "
28 7220 3220
28 2020 2020
28 2020 2020
29 00e0 4D6F 746F .ascii "Motor 3 "
29 7220 3320
29 2020 2020
29 2020 2020
30 00f0 4D6F 746F .ascii "Motor 4 "
30 7220 3420
30 2020 2020
30 2020 2020
31 0100 3136 2020 .ascii "16 "
31 2020 2020
31 2020 2020
31 2020 2020
32 0110 3137 2020 .ascii "17 "
32 2020 2020
32 2020 2020
32 2020 2020
33 0120 3138 2020 .ascii "18 "
33 2020 2020
33 2020 2020
33 2020 2020
34 0130 3139 2020 .ascii "19 "
34 2020 2020
34 2020 2020
34 2020 2020
35 0140 5365 7276 .ascii "Servo "
35 6F20 2020
35 2020 2020
35 2020 2020
36 0150 486F 7665 .ascii "Hovergas "
36 7267 6173
36 2020 2020
36 2020 2020
37 0160 4375 7272 .ascii "Current [0.1A] "
37 656E 7420
37 5B30 2E31
37 415D 2020
38 0170 4361 7061 .ascii "Capacity [mAh] "
38 6369 7479
38 205B 6D41
38 685D 2020
39 0180 3234 2020 .ascii "24 "
39 2020 2020
39 2020 2020
39 2020 2020
40 0190 3235 2020 .ascii "25 "
40 2020 2020
40 2020 2020
40 2020 2020
41 01a0 3236 2020 .ascii "26 "
41 2020 2020
41 2020 2020
41 2020 2020
42 01b0 3237 2020 .ascii "27 "
42 2020 2020
42 2020 2020
42 2020 2020
43 01c0 4932 432D .ascii "I2C-Error "
43 4572 726F
43 7220 2020
43 2020 2020
44 01d0 424C 204C .ascii "BL Limit "
44 696D 6974
44 2020 2020
44 2020 2020
45 01e0 4750 535F .ascii "GPS_Nick "
45 4E69 636B
45 2020 2020
45 2020 2020
46 01f0 4750 535F .ascii "GPS_Roll "
46 526F 6C6C
46 2020 2020
46 2020 2020
47 .global AboTimeOut
48 .global AboTimeOut
49 .section .bss
52 AboTimeOut:
53 0000 0000 .skip 2,0
54 .global Display_Interval
55 .global Display_Interval
58 Display_Interval:
59 0002 0000 .skip 2,0
60 .global Intervall3D
61 .global Intervall3D
64 Intervall3D:
65 0004 0000 .skip 2,0
66 .global DebugDataIntervall
67 .global DebugDataIntervall
70 DebugDataIntervall:
71 0006 0000 .skip 2,0
72 .global MeineSlaveAdresse
73 .data
76 MeineSlaveAdresse:
77 0000 01 .byte 1
78 .global PcZugriff
81 PcZugriff:
82 0001 64 .byte 100
83 .global DebugTextAnforderung
86 DebugTextAnforderung:
87 0002 FF .byte -1
88 .global PC_MotortestActive
89 .global PC_MotortestActive
90 .section .bss
93 PC_MotortestActive:
94 0008 00 .skip 1,0
95 .global PC_DebugTimeout
96 .global PC_DebugTimeout
99 PC_DebugTimeout:
100 0009 00 .skip 1,0
101 .global RxDataLen
102 .global RxDataLen
105 RxDataLen:
106 000a 00 .skip 1,0
107 .global pRxData
108 .global pRxData
111 pRxData:
112 000b 0000 .skip 2,0
113 .global AnzahlEmpfangsBytes
114 .global AnzahlEmpfangsBytes
117 AnzahlEmpfangsBytes:
118 000d 00 .skip 1,0
119 .global CntCrcError
120 .global CntCrcError
123 CntCrcError:
124 000e 00 .skip 1,0
125 .global UebertragungAbgeschlossen
126 .data
129 UebertragungAbgeschlossen:
130 0003 01 .byte 1
131 .global NeueKoordinateEmpfangen
132 .global NeueKoordinateEmpfangen
133 .section .bss
136 NeueKoordinateEmpfangen:
137 000f 00 .skip 1,0
138 .global NeuerDatensatzEmpfangen
139 .global NeuerDatensatzEmpfangen
142 NeuerDatensatzEmpfangen:
143 0010 00 .skip 1,0
144 .global SioTmp
145 .global SioTmp
148 SioTmp:
149 0011 00 .skip 1,0
150 .global DisplayLine
151 .global DisplayLine
154 DisplayLine:
155 0012 00 .skip 1,0
156 .global GetPPMChannelAnforderung
157 .global GetPPMChannelAnforderung
160 GetPPMChannelAnforderung:
161 0013 00 .skip 1,0
162 .global GetVersionAnforderung
163 .global GetVersionAnforderung
166 GetVersionAnforderung:
167 0014 00 .skip 1,0
168 .global DebugDataAnforderung
169 .global DebugDataAnforderung
172 DebugDataAnforderung:
173 0015 00 .skip 1,0
174 .global DebugDisplayAnforderung
175 .global DebugDisplayAnforderung
178 DebugDisplayAnforderung:
179 0016 00 .skip 1,0
180 .global DebugDisplayAnforderung1
181 .global DebugDisplayAnforderung1
184 DebugDisplayAnforderung1:
185 0017 00 .skip 1,0
186 .global GetExternalControl
187 .global GetExternalControl
190 GetExternalControl:
191 0018 00 .skip 1,0
192 .lcomm ptr.6,2
193 .text
194 .global __vector_22
196 __vector_22:
197 /* prologue: frame size=0 */
198 0000 1F92 push __zero_reg__
199 0002 0F92 push __tmp_reg__
200 0004 0FB6 in __tmp_reg__,__SREG__
201 0006 0F92 push __tmp_reg__
202 0008 1124 clr __zero_reg__
203 000a 8F93 push r24
204 000c 9F93 push r25
205 000e EF93 push r30
206 0010 FF93 push r31
207 /* prologue end (size=9) */
208 0012 8091 0000 lds r24,UebertragungAbgeschlossen
209 0016 8823 tst r24
210 0018 E1F4 brne .L2
211 001a 8091 0000 lds r24,ptr.6
212 001e 9091 0000 lds r25,(ptr.6)+1
213 0022 0196 adiw r24,1
214 0024 9093 0000 sts (ptr.6)+1,r25
215 0028 8093 0000 sts ptr.6,r24
216 002c FC01 movw r30,r24
217 002e E050 subi r30,lo8(-(TxdBuffer))
218 0030 F040 sbci r31,hi8(-(TxdBuffer))
219 0032 E081 ld r30,Z
220 0034 ED30 cpi r30,lo8(13)
221 0036 19F0 breq .L4
222 0038 803A cpi r24,160
223 003a 9105 cpc r25,__zero_reg__
224 003c 39F4 brne .L3
225 .L4:
226 003e 1092 0000 sts (ptr.6)+1,__zero_reg__
227 0042 1092 0000 sts ptr.6,__zero_reg__
228 0046 81E0 ldi r24,lo8(1)
229 0048 8093 0000 sts UebertragungAbgeschlossen,r24
230 .L3:
231 004c E093 C600 sts 198,r30
232 0050 04C0 rjmp .L1
233 .L2:
234 0052 1092 0000 sts (ptr.6)+1,__zero_reg__
235 0056 1092 0000 sts ptr.6,__zero_reg__
236 .L1:
237 /* epilogue: frame size=0 */
238 005a FF91 pop r31
239 005c EF91 pop r30
240 005e 9F91 pop r25
241 0060 8F91 pop r24
242 0062 0F90 pop __tmp_reg__
243 0064 0FBE out __SREG__,__tmp_reg__
244 0066 0F90 pop __tmp_reg__
245 0068 1F90 pop __zero_reg__
246 006a 1895 reti
247 /* epilogue end (size=9) */
248 /* function __vector_22 size 54 (36) */
250 .lcomm crc.1,2
251 .lcomm crc1.2,1
252 .lcomm crc2.3,1
253 .lcomm buf_ptr.4,1
254 .lcomm UartState.5,1
255 .global __vector_20
257 __vector_20:
258 /* prologue: frame size=0 */
259 006c 1F92 push __zero_reg__
260 006e 0F92 push __tmp_reg__
261 0070 0FB6 in __tmp_reg__,__SREG__
262 0072 0F92 push __tmp_reg__
263 0074 1124 clr __zero_reg__
264 0076 2F93 push r18
265 0078 3F93 push r19
266 007a 4F93 push r20
267 007c 5F93 push r21
268 007e 6F93 push r22
269 0080 7F93 push r23
270 0082 8F93 push r24
271 0084 9F93 push r25
272 0086 AF93 push r26
273 0088 BF93 push r27
274 008a CF93 push r28
275 008c EF93 push r30
276 008e FF93 push r31
277 /* prologue end (size=18) */
278 0090 90E0 ldi r25,lo8(0)
279 0092 8091 C600 lds r24,198
280 0096 8093 0000 sts SioTmp,r24
281 009a 5091 0000 lds r21,buf_ptr.4
282 009e 503A cpi r21,lo8(-96)
283 00a0 10F0 brlo .L7
284 00a2 9093 0000 sts UartState.5,r25
285 .L7:
286 00a6 8091 0000 lds r24,SioTmp
287 00aa 8D30 cpi r24,lo8(13)
288 00ac 09F0 breq .+2
289 00ae 65C0 rjmp .L8
290 00b0 8091 0000 lds r24,UartState.5
291 00b4 8230 cpi r24,lo8(2)
292 00b6 09F0 breq .+2
293 00b8 60C0 rjmp .L8
294 00ba 9093 0000 sts UartState.5,r25
295 00be 852F mov r24,r21
296 00c0 9927 clr r25
297 00c2 8050 subi r24,lo8(-(RxdBuffer))
298 00c4 9040 sbci r25,hi8(-(RxdBuffer))
299 00c6 FC01 movw r30,r24
300 00c8 3297 sbiw r30,2
301 00ca 4081 ld r20,Z
302 00cc 2091 0000 lds r18,crc.1
303 00d0 3091 0000 lds r19,(crc.1)+1
304 00d4 241B sub r18,r20
305 00d6 3109 sbc r19,__zero_reg__
306 00d8 DC01 movw r26,r24
307 00da 1197 sbiw r26,1
308 00dc 8C91 ld r24,X
309 00de 281B sub r18,r24
310 00e0 3109 sbc r19,__zero_reg__
311 00e2 C901 movw r24,r18
312 00e4 9F70 andi r25,hi8(4095)
313 00e6 9093 0000 sts (crc.1)+1,r25
314 00ea 8093 0000 sts crc.1,r24
315 00ee 46E0 ldi r20,6
316 00f0 9695 1: lsr r25
317 00f2 8795 ror r24
318 00f4 4A95 dec r20
319 00f6 E1F7 brne 1b
320 00f8 982F mov r25,r24
321 00fa 935C subi r25,lo8(-(61))
322 00fc 9093 0000 sts crc1.2,r25
323 0100 2F73 andi r18,lo8(63)
324 0102 3070 andi r19,hi8(63)
325 0104 235C subi r18,lo8(-(61))
326 0106 2093 0000 sts crc2.3,r18
327 010a 8081 ld r24,Z
328 010c 9817 cp r25,r24
329 010e 29F4 brne .L9
330 0110 8C91 ld r24,X
331 0112 2817 cp r18,r24
332 0114 11F4 brne .L9
333 0116 91E0 ldi r25,lo8(1)
334 0118 06C0 rjmp .L10
335 .L9:
336 011a 90E0 ldi r25,lo8(0)
337 011c 8091 0000 lds r24,CntCrcError
338 0120 8F5F subi r24,lo8(-(1))
339 0122 8093 0000 sts CntCrcError,r24
340 .L10:
341 0126 C091 0000 lds r28,NeuerDatensatzEmpfangen
342 012a CC23 tst r28
343 012c 09F0 breq .+2
344 012e 74C0 rjmp .L6
345 0130 9923 tst r25
346 0132 09F4 brne .+2
347 0134 71C0 rjmp .L6
348 0136 81E0 ldi r24,lo8(1)
349 0138 8093 0000 sts NeuerDatensatzEmpfangen,r24
350 013c 580F add r21,r24
351 013e 5093 0000 sts AnzahlEmpfangsBytes,r21
352 0142 5150 subi r21,lo8(-(-1))
353 0144 E52F mov r30,r21
354 0146 FF27 clr r31
355 0148 E050 subi r30,lo8(-(RxdBuffer))
356 014a F040 sbci r31,hi8(-(RxdBuffer))
357 014c 8DE0 ldi r24,lo8(13)
358 014e 8083 st Z,r24
359 0150 8091 0000 lds r24,RxdBuffer+2
360 0154 8235 cpi r24,lo8(82)
361 0156 09F0 breq .+2
362 0158 5FC0 rjmp .L6
363 015a 0E94 0000 call LcdClear
364 015e 88E1 ldi r24,lo8(24)
365 0160 90E0 ldi r25,hi8(24)
366 0162 2CE0 ldi r18,lo8(12)
367 /* #APP */
368 0164 0FB6 in __tmp_reg__,__SREG__
369 0166 F894 cli
370 0168 A895 wdr
371 016a 8093 6000 sts 96,r24
372 016e 0FBE out __SREG__,__tmp_reg__
373 0170 2093 6000 sts 96,r18
374 /* #NOAPP */
375 0174 C093 0000 sts ServoActive,r28
376 0178 4FC0 rjmp .L6
377 .L8:
378 017a 2091 0000 lds r18,UartState.5
379 017e 822F mov r24,r18
380 0180 9927 clr r25
381 0182 8130 cpi r24,1
382 0184 9105 cpc r25,__zero_reg__
383 0186 F9F0 breq .L17
384 0188 8230 cpi r24,2
385 018a 9105 cpc r25,__zero_reg__
386 018c 1CF4 brge .L22
387 018e 892B or r24,r25
388 0190 21F0 breq .L15
389 0192 40C0 rjmp .L21
390 .L22:
391 0194 0297 sbiw r24,2
392 0196 11F1 breq .L18
393 0198 3DC0 rjmp .L21
394 .L15:
395 019a 8091 0000 lds r24,SioTmp
396 019e 8332 cpi r24,lo8(35)
397 01a0 39F4 brne .L16
398 01a2 8091 0000 lds r24,NeuerDatensatzEmpfangen
399 01a6 8823 tst r24
400 01a8 19F4 brne .L16
401 01aa 81E0 ldi r24,lo8(1)
402 01ac 8093 0000 sts UartState.5,r24
403 .L16:
404 01b0 8091 0000 lds r24,SioTmp
405 01b4 8093 0000 sts RxdBuffer,r24
406 01b8 81E0 ldi r24,lo8(1)
407 01ba 8093 0000 sts buf_ptr.4,r24
408 01be 8091 0000 lds r24,SioTmp
409 01c2 9927 clr r25
410 01c4 22C0 rjmp .L23
411 .L17:
412 01c6 2F5F subi r18,lo8(-(1))
413 01c8 2093 0000 sts UartState.5,r18
414 01cc E52F mov r30,r21
415 01ce FF27 clr r31
416 01d0 E050 subi r30,lo8(-(RxdBuffer))
417 01d2 F040 sbci r31,hi8(-(RxdBuffer))
418 01d4 8091 0000 lds r24,SioTmp
419 01d8 8083 st Z,r24
420 01da 09C0 rjmp .L24
421 .L18:
422 01dc E52F mov r30,r21
423 01de FF27 clr r31
424 01e0 E050 subi r30,lo8(-(RxdBuffer))
425 01e2 F040 sbci r31,hi8(-(RxdBuffer))
426 01e4 8091 0000 lds r24,SioTmp
427 01e8 8083 st Z,r24
428 01ea 503A cpi r21,lo8(-96)
429 01ec 20F4 brsh .L19
430 .L24:
431 01ee 5F5F subi r21,lo8(-(1))
432 01f0 5093 0000 sts buf_ptr.4,r21
433 01f4 02C0 rjmp .L20
434 .L19:
435 01f6 1092 0000 sts UartState.5,__zero_reg__
436 .L20:
437 01fa 2091 0000 lds r18,SioTmp
438 01fe 8091 0000 lds r24,crc.1
439 0202 9091 0000 lds r25,(crc.1)+1
440 0206 820F add r24,r18
441 0208 911D adc r25,__zero_reg__
442 .L23:
443 020a 9093 0000 sts (crc.1)+1,r25
444 020e 8093 0000 sts crc.1,r24
445 0212 02C0 rjmp .L6
446 .L21:
447 0214 1092 0000 sts UartState.5,__zero_reg__
448 .L6:
449 /* epilogue: frame size=0 */
450 0218 FF91 pop r31
451 021a EF91 pop r30
452 021c CF91 pop r28
453 021e BF91 pop r27
454 0220 AF91 pop r26
455 0222 9F91 pop r25
456 0224 8F91 pop r24
457 0226 7F91 pop r23
458 0228 6F91 pop r22
459 022a 5F91 pop r21
460 022c 4F91 pop r20
461 022e 3F91 pop r19
462 0230 2F91 pop r18
463 0232 0F90 pop __tmp_reg__
464 0234 0FBE out __SREG__,__tmp_reg__
465 0236 0F90 pop __tmp_reg__
466 0238 1F90 pop __zero_reg__
467 023a 1895 reti
468 /* epilogue end (size=18) */
469 /* function __vector_20 size 238 (202) */
471 .global AddCRC
473 AddCRC:
474 /* prologue: frame size=0 */
475 /* prologue end (size=0) */
476 023c AC01 movw r20,r24
477 023e A0E0 ldi r26,lo8(0)
478 0240 B0E0 ldi r27,hi8(0)
479 0242 9D01 movw r18,r26
480 0244 A817 cp r26,r24
481 0246 B907 cpc r27,r25
482 0248 48F4 brsh .L31
483 024a E0E0 ldi r30,lo8(TxdBuffer)
484 024c F0E0 ldi r31,hi8(TxdBuffer)
485 .L29:
486 024e 8191 ld r24,Z+
487 0250 280F add r18,r24
488 0252 311D adc r19,__zero_reg__
489 0254 1196 adiw r26,1
490 0256 A417 cp r26,r20
491 0258 B507 cpc r27,r21
492 025a C8F3 brlo .L29
493 .L31:
494 025c 3F70 andi r19,hi8(4095)
495 025e FD01 movw r30,r26
496 0260 E050 subi r30,lo8(-(TxdBuffer))
497 0262 F040 sbci r31,hi8(-(TxdBuffer))
498 0264 C901 movw r24,r18
499 0266 56E0 ldi r21,6
500 0268 9695 1: lsr r25
501 026a 8795 ror r24
502 026c 5A95 dec r21
503 026e E1F7 brne 1b
504 0270 835C subi r24,lo8(-(61))
505 0272 8083 st Z,r24
506 0274 1196 adiw r26,1
507 0276 FD01 movw r30,r26
508 0278 E050 subi r30,lo8(-(TxdBuffer))
509 027a F040 sbci r31,hi8(-(TxdBuffer))
510 027c 2F73 andi r18,lo8(63)
511 027e 3070 andi r19,hi8(63)
512 0280 822F mov r24,r18
513 0282 835C subi r24,lo8(-(61))
514 0284 8083 st Z,r24
515 0286 A050 subi r26,lo8(-(TxdBuffer+1))
516 0288 B040 sbci r27,hi8(-(TxdBuffer+1))
517 028a 8DE0 ldi r24,lo8(13)
518 028c 8C93 st X,r24
519 028e 1092 0000 sts UebertragungAbgeschlossen,__zero_reg__
520 0292 8091 0000 lds r24,TxdBuffer
521 0296 8093 C600 sts 198,r24
522 /* epilogue: frame size=0 */
523 029a 0895 ret
524 /* epilogue end (size=1) */
525 /* function AddCRC size 49 (48) */
527 .global SendOutData
529 SendOutData:
530 /* prologue: frame size=0 */
531 029c A0E0 ldi r26,lo8(0)
532 029e B0E0 ldi r27,hi8(0)
533 02a0 E0E0 ldi r30,pm_lo8(1f)
534 02a2 F0E0 ldi r31,pm_hi8(1f)
535 02a4 0C94 0000 jmp __prologue_saves__+18
536 1:
537 /* prologue end (size=6) */
538 02a8 2C85 ldd r18,Y+12
539 02aa 9D85 ldd r25,Y+13
540 02ac 0E85 ldd r16,Y+14
541 02ae BB24 clr r11
542 02b0 83E2 ldi r24,lo8(35)
543 02b2 8093 0000 sts TxdBuffer,r24
544 02b6 9F59 subi r25,lo8(-(97))
545 02b8 9093 0000 sts TxdBuffer+1,r25
546 02bc 2093 0000 sts TxdBuffer+2,r18
547 02c0 33E0 ldi r19,lo8(3)
548 02c2 E32E mov r14,r19
549 02c4 F12C mov r15,__zero_reg__
550 02c6 0023 tst r16
551 02c8 09F4 brne .+2
552 02ca 9EC0 rjmp .L47
553 02cc CF84 ldd r12,Y+15
554 02ce D888 ldd r13,Y+16
555 02d0 BE01 movw r22,r28
556 02d2 6D5E subi r22,lo8(-(19))
557 02d4 7F4F sbci r23,hi8(-(19))
558 02d6 A989 ldd r26,Y+17
559 02d8 BA89 ldd r27,Y+18
560 02da 0150 subi r16,lo8(-(-1))
561 .L48:
562 02dc 1097 sbiw r26,0
563 02de 09F4 brne .+2
564 02e0 93C0 rjmp .L47
565 02e2 1097 sbiw r26,0
566 02e4 B9F0 breq .L36
567 02e6 F601 movw r30,r12
568 02e8 EB0D add r30,r11
569 02ea F11D adc r31,__zero_reg__
570 02ec B394 inc r11
571 02ee 9081 ld r25,Z
572 02f0 1197 sbiw r26,1
573 02f2 91F4 brne .L38
574 02f4 0023 tst r16
575 02f6 49F1 breq .L39
576 02f8 FB01 movw r30,r22
577 02fa 6E5F subi r22,lo8(-(2))
578 02fc 7F4F sbci r23,hi8(-(2))
579 02fe DB01 movw r26,r22
580 0300 C080 ld r12,Z
581 0302 D180 ldd r13,Z+1
582 0304 6E5F subi r22,lo8(-(2))
583 0306 7F4F sbci r23,hi8(-(2))
584 0308 0D90 ld __tmp_reg__,X+
585 030a BC91 ld r27,X
586 030c A02D mov r26,__tmp_reg__
587 030e BB24 clr r11
588 0310 0150 subi r16,lo8(-(-1))
589 0312 02C0 rjmp .L38
590 .L36:
591 0314 90E0 ldi r25,lo8(0)
592 0316 19C0 rjmp .L39
593 .L38:
594 0318 1097 sbiw r26,0
595 031a B9F0 breq .L39
596 031c F601 movw r30,r12
597 031e EB0D add r30,r11
598 0320 F11D adc r31,__zero_reg__
599 0322 B394 inc r11
600 0324 4081 ld r20,Z
601 0326 1197 sbiw r26,1
602 0328 91F4 brne .L41
603 032a 0023 tst r16
604 032c 41F1 breq .L42
605 032e FB01 movw r30,r22
606 0330 6E5F subi r22,lo8(-(2))
607 0332 7F4F sbci r23,hi8(-(2))
608 0334 DB01 movw r26,r22
609 0336 C080 ld r12,Z
610 0338 D180 ldd r13,Z+1
611 033a 6E5F subi r22,lo8(-(2))
612 033c 7F4F sbci r23,hi8(-(2))
613 033e 0D90 ld __tmp_reg__,X+
614 0340 BC91 ld r27,X
615 0342 A02D mov r26,__tmp_reg__
616 0344 BB24 clr r11
617 0346 0150 subi r16,lo8(-(-1))
618 0348 02C0 rjmp .L41
619 .L39:
620 034a 40E0 ldi r20,lo8(0)
621 034c 18C0 rjmp .L42
622 .L41:
623 034e 1097 sbiw r26,0
624 0350 B1F0 breq .L42
625 0352 F601 movw r30,r12
626 0354 EB0D add r30,r11
627 0356 F11D adc r31,__zero_reg__
628 0358 B394 inc r11
629 035a 1081 ld r17,Z
630 035c 1197 sbiw r26,1
631 035e 81F4 brne .L44
632 0360 0023 tst r16
633 0362 71F0 breq .L44
634 0364 FB01 movw r30,r22
635 0366 3296 adiw r30,2
636 0368 DB01 movw r26,r22
637 036a CD90 ld r12,X+
638 036c DC90 ld r13,X
639 036e BF01 movw r22,r30
640 0370 6E5F subi r22,lo8(-(2))
641 0372 7F4F sbci r23,hi8(-(2))
642 0374 A081 ld r26,Z
643 0376 B181 ldd r27,Z+1
644 0378 BB24 clr r11
645 037a 0150 subi r16,lo8(-(-1))
646 037c 01C0 rjmp .L44
647 .L42:
648 037e 10E0 ldi r17,lo8(0)
649 .L44:
650 0380 F701 movw r30,r14
651 0382 E050 subi r30,lo8(-(TxdBuffer))
652 0384 F040 sbci r31,hi8(-(TxdBuffer))
653 0386 892F mov r24,r25
654 0388 8695 lsr r24
655 038a 8695 lsr r24
656 038c 835C subi r24,lo8(-(61))
657 038e 8083 st Z,r24
658 0390 0894 sec
659 0392 E11C adc r14,__zero_reg__
660 0394 F11C adc r15,__zero_reg__
661 0396 F701 movw r30,r14
662 0398 E050 subi r30,lo8(-(TxdBuffer))
663 039a F040 sbci r31,hi8(-(TxdBuffer))
664 039c 892F mov r24,r25
665 039e 9927 clr r25
666 03a0 8370 andi r24,lo8(3)
667 03a2 9070 andi r25,hi8(3)
668 03a4 24E0 ldi r18,4
669 03a6 880F 1: lsl r24
670 03a8 991F rol r25
671 03aa 2A95 dec r18
672 03ac E1F7 brne 1b
673 03ae 5527 clr r21
674 03b0 9A01 movw r18,r20
675 03b2 94E0 ldi r25,4
676 03b4 3695 1: lsr r19
677 03b6 2795 ror r18
678 03b8 9A95 dec r25
679 03ba E1F7 brne 1b
680 03bc 822B or r24,r18
681 03be 835C subi r24,lo8(-(61))
682 03c0 8083 st Z,r24
683 03c2 0894 sec
684 03c4 E11C adc r14,__zero_reg__
685 03c6 F11C adc r15,__zero_reg__
686 03c8 F701 movw r30,r14
687 03ca E050 subi r30,lo8(-(TxdBuffer))
688 03cc F040 sbci r31,hi8(-(TxdBuffer))
689 03ce 4F70 andi r20,lo8(15)
690 03d0 5070 andi r21,hi8(15)
691 03d2 440F lsl r20
692 03d4 551F rol r21
693 03d6 440F lsl r20
694 03d8 551F rol r21
695 03da 812F mov r24,r17
696 03dc 9927 clr r25
697 03de 26E0 ldi r18,6
698 03e0 9695 1: lsr r25
699 03e2 8795 ror r24
700 03e4 2A95 dec r18
701 03e6 E1F7 brne 1b
702 03e8 842B or r24,r20
703 03ea 835C subi r24,lo8(-(61))
704 03ec 8083 st Z,r24
705 03ee 0894 sec
706 03f0 E11C adc r14,__zero_reg__
707 03f2 F11C adc r15,__zero_reg__
708 03f4 F701 movw r30,r14
709 03f6 E050 subi r30,lo8(-(TxdBuffer))
710 03f8 F040 sbci r31,hi8(-(TxdBuffer))
711 03fa 1F73 andi r17,lo8(63)
712 03fc 135C subi r17,lo8(-(61))
713 03fe 1083 st Z,r17
714 0400 0894 sec
715 0402 E11C adc r14,__zero_reg__
716 0404 F11C adc r15,__zero_reg__
717 0406 6ACF rjmp .L48
718 .L47:
719 0408 C701 movw r24,r14
720 040a 0E94 0000 call AddCRC
721 /* epilogue: frame size=0 */
722 040e E9E0 ldi r30,9
723 0410 0C94 0000 jmp __epilogue_restores__+18
724 /* epilogue end (size=3) */
725 /* function SendOutData size 191 (182) */
727 .global Decode64
729 Decode64:
730 /* prologue: frame size=0 */
731 /* prologue end (size=0) */
732 0414 A3E0 ldi r26,lo8(3)
733 0416 7A2F mov r23,r26
734 0418 4091 0000 lds r20,AnzahlEmpfangsBytes
735 041c 4650 subi r20,lo8(-(-6))
736 .L60:
737 041e 4423 tst r20
738 0420 09F4 brne .+2
739 0422 58C0 rjmp .L51
740 0424 E72F mov r30,r23
741 0426 FF27 clr r31
742 0428 E050 subi r30,lo8(-(RxdBuffer))
743 042a F040 sbci r31,hi8(-(RxdBuffer))
744 042c 8081 ld r24,Z
745 042e 8D53 subi r24,lo8(-(-61))
746 0430 7F5F subi r23,lo8(-(1))
747 0432 E72F mov r30,r23
748 0434 FF27 clr r31
749 0436 E050 subi r30,lo8(-(RxdBuffer))
750 0438 F040 sbci r31,hi8(-(RxdBuffer))
751 043a 2081 ld r18,Z
752 043c 2D53 subi r18,lo8(-(-61))
753 043e 7F5F subi r23,lo8(-(1))
754 0440 E72F mov r30,r23
755 0442 FF27 clr r31
756 0444 E050 subi r30,lo8(-(RxdBuffer))
757 0446 F040 sbci r31,hi8(-(RxdBuffer))
758 0448 3081 ld r19,Z
759 044a 3D53 subi r19,lo8(-(-61))
760 044c 7F5F subi r23,lo8(-(1))
761 044e E72F mov r30,r23
762 0450 FF27 clr r31
763 0452 E050 subi r30,lo8(-(RxdBuffer))
764 0454 F040 sbci r31,hi8(-(RxdBuffer))
765 0456 6081 ld r22,Z
766 0458 6D53 subi r22,lo8(-(-61))
767 045a 7F5F subi r23,lo8(-(1))
768 045c 9927 clr r25
769 045e 880F lsl r24
770 0460 991F rol r25
771 0462 880F lsl r24
772 0464 991F rol r25
773 0466 522F mov r21,r18
774 0468 5295 swap r21
775 046a 5F70 andi r21,0x0f
776 046c 582B or r21,r24
777 046e 822F mov r24,r18
778 0470 9927 clr r25
779 0472 8F70 andi r24,lo8(15)
780 0474 9070 andi r25,hi8(15)
781 0476 F4E0 ldi r31,4
782 0478 880F 1: lsl r24
783 047a 991F rol r25
784 047c FA95 dec r31
785 047e E1F7 brne 1b
786 0480 232F mov r18,r19
787 0482 2695 lsr r18
788 0484 2695 lsr r18
789 0486 282B or r18,r24
790 0488 832F mov r24,r19
791 048a 9927 clr r25
792 048c 8370 andi r24,lo8(3)
793 048e 9070 andi r25,hi8(3)
794 0490 E6E0 ldi r30,6
795 0492 880F 1: lsl r24
796 0494 991F rol r25
797 0496 EA95 dec r30
798 0498 E1F7 brne 1b
799 049a 682B or r22,r24
800 049c 4150 subi r20,lo8(-(-1))
801 049e 4F3F cpi r20,lo8(-1)
802 04a0 C9F0 breq .L51
803 04a2 EA2F mov r30,r26
804 04a4 FF27 clr r31
805 04a6 E050 subi r30,lo8(-(RxdBuffer))
806 04a8 F040 sbci r31,hi8(-(RxdBuffer))
807 04aa 5083 st Z,r21
808 04ac AF5F subi r26,lo8(-(1))
809 04ae 4150 subi r20,lo8(-(-1))
810 04b0 4F3F cpi r20,lo8(-1)
811 04b2 81F0 breq .L51
812 04b4 EA2F mov r30,r26
813 04b6 FF27 clr r31
814 04b8 E050 subi r30,lo8(-(RxdBuffer))
815 04ba F040 sbci r31,hi8(-(RxdBuffer))
816 04bc 2083 st Z,r18
817 04be AF5F subi r26,lo8(-(1))
818 04c0 4150 subi r20,lo8(-(-1))
819 04c2 4F3F cpi r20,lo8(-1)
820 04c4 39F0 breq .L51
821 04c6 EA2F mov r30,r26
822 04c8 FF27 clr r31
823 04ca E050 subi r30,lo8(-(RxdBuffer))
824 04cc F040 sbci r31,hi8(-(RxdBuffer))
825 04ce 6083 st Z,r22
826 04d0 AF5F subi r26,lo8(-(1))
827 04d2 A5CF rjmp .L60
828 .L51:
829 04d4 80E0 ldi r24,lo8(RxdBuffer+3)
830 04d6 90E0 ldi r25,hi8(RxdBuffer+3)
831 04d8 9093 0000 sts (pRxData)+1,r25
832 04dc 8093 0000 sts pRxData,r24
833 04e0 A350 subi r26,lo8(-(-3))
834 04e2 A093 0000 sts RxDataLen,r26
835 /* epilogue: frame size=0 */
836 04e6 0895 ret
837 /* epilogue end (size=1) */
838 /* function Decode64 size 106 (105) */
840 .global BearbeiteRxDaten
842 BearbeiteRxDaten:
843 /* prologue: frame size=2 */
844 04e8 A2E0 ldi r26,lo8(2)
845 04ea B0E0 ldi r27,hi8(2)
846 04ec E0E0 ldi r30,pm_lo8(1f)
847 04ee F0E0 ldi r31,pm_hi8(1f)
848 04f0 0C94 0000 jmp __prologue_saves__+30
849 1:
850 /* prologue end (size=6) */
851 04f4 8091 0000 lds r24,NeuerDatensatzEmpfangen
852 04f8 8823 tst r24
853 04fa 09F4 brne .+2
854 04fc C7C3 rjmp .L61
855 04fe 0E94 0000 call Decode64
856 0502 8091 0000 lds r24,RxdBuffer+1
857 0506 8236 cpi r24,lo8(98)
858 0508 09F0 breq .+2
859 050a 81C2 rjmp .L119
860 050c 8091 0000 lds r24,RxdBuffer+2
861 0510 9927 clr r25
862 0512 8137 cpi r24,113
863 0514 9105 cpc r25,__zero_reg__
864 0516 09F4 brne .+2
865 0518 C0C0 rjmp .L81
866 051a 8237 cpi r24,114
867 051c 9105 cpc r25,__zero_reg__
868 051e C4F4 brge .L116
869 0520 8D36 cpi r24,109
870 0522 9105 cpc r25,__zero_reg__
871 0524 09F4 brne .+2
872 0526 82C0 rjmp .L74
873 0528 8E36 cpi r24,110
874 052a 9105 cpc r25,__zero_reg__
875 052c 44F4 brge .L117
876 052e 8B34 cpi r24,75
877 0530 9105 cpc r25,__zero_reg__
878 0532 31F1 breq .L66
879 0534 8636 cpi r24,102
880 0536 9105 cpc r25,__zero_reg__
881 0538 09F4 brne .+2
882 053a 54C1 rjmp .L96
883 053c 68C2 rjmp .L119
884 .L117:
885 053e 8E36 cpi r24,110
886 0540 9105 cpc r25,__zero_reg__
887 0542 09F4 brne .+2
888 0544 5BC0 rjmp .L71
889 0546 8037 cpi r24,112
890 0548 9105 cpc r25,__zero_reg__
891 054a 09F4 brne .+2
892 054c 9FC0 rjmp .L80
893 054e 5FC2 rjmp .L119
894 .L116:
895 0550 8537 cpi r24,117
896 0552 9105 cpc r25,__zero_reg__
897 0554 09F4 brne .+2
898 0556 E2C1 rjmp .L103
899 0558 8637 cpi r24,118
900 055a 9105 cpc r25,__zero_reg__
901 055c 44F4 brge .L118
902 055e 8337 cpi r24,115
903 0560 9105 cpc r25,__zero_reg__
904 0562 09F4 brne .+2
905 0564 DCC0 rjmp .L89
906 0566 8437 cpi r24,116
907 0568 9105 cpc r25,__zero_reg__
908 056a 39F1 breq .L67
909 056c 50C2 rjmp .L119
910 .L118:
911 056e 8737 cpi r24,119
912 0570 9105 cpc r25,__zero_reg__
913 0572 09F4 brne .+2
914 0574 10C2 rjmp .L109
915 0576 8937 cpi r24,121
916 0578 9105 cpc r25,__zero_reg__
917 057a 09F4 brne .+2
918 057c 6AC1 rjmp .L102
919 057e 47C2 rjmp .L119
920 .L66:
921 0580 E091 0000 lds r30,pRxData
922 0584 F091 0000 lds r31,(pRxData)+1
923 0588 8081 ld r24,Z
924 058a 9181 ldd r25,Z+1
925 058c 9093 0000 sts (KompassValue)+1,r25
926 0590 8093 0000 sts KompassValue,r24
927 0594 2091 0000 lds r18,KompassStartwert
928 0598 3091 0000 lds r19,(KompassStartwert)+1
929 059c 821B sub r24,r18
930 059e 930B sbc r25,r19
931 05a0 845E subi r24,lo8(-(540))
932 05a2 9D4F sbci r25,hi8(-(540))
933 05a4 68E6 ldi r22,lo8(360)
934 05a6 71E0 ldi r23,hi8(360)
935 05a8 0E94 0000 call __divmodhi4
936 05ac 845B subi r24,lo8(-(-180))
937 05ae 9040 sbci r25,hi8(-(-180))
938 05b0 9093 0000 sts (KompassRichtung)+1,r25
939 05b4 8093 0000 sts KompassRichtung,r24
940 05b8 2AC2 rjmp .L119
941 .L67:
942 05ba 8091 0000 lds r24,AnzahlEmpfangsBytes
943 05be A091 0000 lds r26,pRxData
944 05c2 B091 0000 lds r27,(pRxData)+1
945 05c6 8531 cpi r24,lo8(21)
946 05c8 40F0 brlo .L68
947 05ca 80E1 ldi r24,lo8(16)
948 05cc E0E0 ldi r30,lo8(MotorTest)
949 05ce F0E0 ldi r31,hi8(MotorTest)
950 05d0 0D90 ld __tmp_reg__,X+
951 05d2 0192 st Z+,__tmp_reg__
952 05d4 8A95 dec r24
953 05d6 E1F7 brne .-8
954 05d8 0DC0 rjmp .L69
955 .L68:
956 05da 8D91 ld r24,X+
957 05dc 9D91 ld r25,X+
958 05de 0D90 ld __tmp_reg__,X+
959 05e0 BC91 ld r27,X
960 05e2 A02D mov r26,__tmp_reg__
961 05e4 8093 0000 sts MotorTest,r24
962 05e8 9093 0000 sts (MotorTest)+1,r25
963 05ec A093 0000 sts (MotorTest)+2,r26
964 05f0 B093 0000 sts (MotorTest)+3,r27
965 .L69:
966 05f4 80EF ldi r24,lo8(-16)
967 05f6 8093 0000 sts PC_MotortestActive,r24
968 05fa 4BC0 rjmp .L148
969 .L71:
970 05fc 8091 0000 lds r24,UebertragungAbgeschlossen
971 0600 8823 tst r24
972 0602 E1F3 breq .L71
973 0604 8DE4 ldi r24,lo8(77)
974 0606 90E0 ldi r25,hi8(77)
975 0608 9F93 push r25
976 060a 8F93 push r24
977 060c 80E0 ldi r24,lo8(Mixer)
978 060e 90E0 ldi r25,hi8(Mixer)
979 0610 9F93 push r25
980 0612 8F93 push r24
981 0614 81E0 ldi r24,lo8(1)
982 0616 8F93 push r24
983 0618 8F93 push r24
984 061a 8EE4 ldi r24,lo8(78)
985 061c 8F93 push r24
986 061e 0E94 0000 call SendOutData
987 0622 8DB7 in r24,__SP_L__
988 0624 9EB7 in r25,__SP_H__
989 0626 0796 adiw r24,7
990 0628 8DBF out __SP_L__,r24
991 062a F1C1 rjmp .L119
992 .L74:
993 062c A091 0000 lds r26,pRxData
994 0630 B091 0000 lds r27,(pRxData)+1
995 0634 1C91 ld r17,X
996 0636 1130 cpi r17,lo8(1)
997 0638 81F4 brne .L75
998 063a 8DE4 ldi r24,lo8(77)
999 063c E0E0 ldi r30,lo8(Mixer)
1000 063e F0E0 ldi r31,hi8(Mixer)
1001 0640 0D90 ld __tmp_reg__,X+
1002 0642 0192 st Z+,__tmp_reg__
1003 0644 8A95 dec r24
1004 0646 E1F7 brne .-8
1005 0648 0E94 0000 call MixerTable_WriteToEEProm
1006 064c 1983 std Y+1,r17
1007 064e 8091 0000 lds r24,VersionInfo+6
1008 0652 8F7E andi r24,lo8(-17)
1009 0654 8093 0000 sts VersionInfo+6,r24
1010 0658 01C0 rjmp .L77
1011 .L75:
1012 065a 1982 std Y+1,__zero_reg__
1013 .L77:
1014 065c 8091 0000 lds r24,UebertragungAbgeschlossen
1015 0660 8823 tst r24
1016 0662 E1F3 breq .L77
1017 0664 81E0 ldi r24,lo8(1)
1018 0666 90E0 ldi r25,hi8(1)
1019 0668 9F93 push r25
1020 066a 8F93 push r24
1021 066c CE01 movw r24,r28
1022 066e 0196 adiw r24,1
1023 0670 9F93 push r25
1024 0672 8F93 push r24
1025 0674 81E0 ldi r24,lo8(1)
1026 0676 8F93 push r24
1027 0678 8F93 push r24
1028 067a 8DE4 ldi r24,lo8(77)
1029 067c 8F93 push r24
1030 067e 0E94 0000 call SendOutData
1031 0682 ADB7 in r26,__SP_L__
1032 0684 BEB7 in r27,__SP_H__
1033 0686 1796 adiw r26,7
1034 0688 ADBF out __SP_L__,r26
1035 068a C1C1 rjmp .L119
1036 .L80:
1037 068c 81E0 ldi r24,lo8(1)
1038 068e 8093 0000 sts GetPPMChannelAnforderung,r24
1039 .L148:
1040 0692 8FEF ldi r24,lo8(-1)
1041 0694 8093 0000 sts PcZugriff,r24
1042 0698 BAC1 rjmp .L119
1043 .L81:
1044 069a E091 0000 lds r30,pRxData
1045 069e F091 0000 lds r31,(pRxData)+1
1046 06a2 8081 ld r24,Z
1047 06a4 8F3F cpi r24,lo8(-1)
1048 06a6 39F4 brne .L82
1049 06a8 0E94 0000 call GetActiveParamSet
1050 06ac E091 0000 lds r30,pRxData
1051 06b0 F091 0000 lds r31,(pRxData)+1
1052 06b4 8083 st Z,r24
1053 .L82:
1054 06b6 E091 0000 lds r30,pRxData
1055 06ba F091 0000 lds r31,(pRxData)+1
1056 06be 8081 ld r24,Z
1057 06c0 8823 tst r24
1058 06c2 11F4 brne .L83
1059 06c4 81E0 ldi r24,lo8(1)
1060 06c6 03C0 rjmp .L146
1061 .L83:
1062 06c8 8630 cpi r24,lo8(6)
1063 06ca 10F0 brlo .L84
1064 06cc 85E0 ldi r24,lo8(5)
1065 .L146:
1066 06ce 8083 st Z,r24
1067 .L84:
1068 06d0 E091 0000 lds r30,pRxData
1069 06d4 F091 0000 lds r31,(pRxData)+1
1070 06d8 8081 ld r24,Z
1071 06da 0E94 0000 call ParamSet_ReadFromEEProm
1072 06de E091 0000 lds r30,pRxData
1073 06e2 F091 0000 lds r31,(pRxData)+1
1074 06e6 8081 ld r24,Z
1075 06e8 8983 std Y+1,r24
1076 .L86:
1077 06ea 8091 0000 lds r24,UebertragungAbgeschlossen
1078 06ee 8823 tst r24
1079 06f0 E1F3 breq .L86
1080 06f2 80E7 ldi r24,lo8(112)
1081 06f4 90E0 ldi r25,hi8(112)
1082 06f6 9F93 push r25
1083 06f8 8F93 push r24
1084 06fa 80E0 ldi r24,lo8(EE_Parameter)
1085 06fc 90E0 ldi r25,hi8(EE_Parameter)
1086 06fe 9F93 push r25
1087 0700 8F93 push r24
1088 0702 81E0 ldi r24,lo8(1)
1089 0704 90E0 ldi r25,hi8(1)
1090 0706 9F93 push r25
1091 0708 8F93 push r24
1092 070a CE01 movw r24,r28
1093 070c 0196 adiw r24,1
1094 070e 9F93 push r25
1095 0710 8F93 push r24
1096 0712 82E0 ldi r24,lo8(2)
1097 0714 8F93 push r24
1098 0716 81E0 ldi r24,lo8(1)
1099 0718 8F93 push r24
1100 071a 81E5 ldi r24,lo8(81)
1101 071c 71C1 rjmp .L151
1102 .L89:
1103 071e 2091 0000 lds r18,pRxData
1104 0722 3091 0000 lds r19,(pRxData)+1
1105 0726 D901 movw r26,r18
1106 0728 8C91 ld r24,X
1107 072a 8150 subi r24,lo8(-(-1))
1108 072c 8530 cpi r24,lo8(5)
1109 072e 08F0 brlo .+2
1110 0730 40C0 rjmp .L90
1111 0732 F901 movw r30,r18
1112 0734 8181 ldd r24,Z+1
1113 0736 8435 cpi r24,lo8(84)
1114 0738 E1F5 brne .L90
1115 073a 2F5F subi r18,lo8(-(1))
1116 073c 3F4F sbci r19,hi8(-(1))
1117 073e 80E7 ldi r24,lo8(112)
1118 0740 E0E0 ldi r30,lo8(EE_Parameter)
1119 0742 F0E0 ldi r31,hi8(EE_Parameter)
1120 0744 D901 movw r26,r18
1121 0746 0D90 ld __tmp_reg__,X+
1122 0748 0192 st Z+,__tmp_reg__
1123 074a 8A95 dec r24
1124 074c E1F7 brne .-8
1125 074e F901 movw r30,r18
1126 0750 8291 ld r24,-Z
1127 0752 0E94 0000 call ParamSet_WriteToEEProm
1128 0756 8091 0000 lds r24,EE_Parameter+63
1129 075a 9927 clr r25
1130 075c AA27 clr r26
1131 075e BB27 clr r27
1132 0760 BC01 movw r22,r24
1133 0762 CD01 movw r24,r26
1134 0764 24EC ldi r18,lo8(2500)
1135 0766 39E0 ldi r19,hi8(2500)
1136 0768 40E0 ldi r20,hlo8(2500)
1137 076a 50E0 ldi r21,hhi8(2500)
1138 076c 0E94 0000 call __mulsi3
1139 0770 DC01 movw r26,r24
1140 0772 CB01 movw r24,r22
1141 0774 8093 0000 sts Umschlag180Nick,r24
1142 0778 9093 0000 sts (Umschlag180Nick)+1,r25
1143 077c A093 0000 sts (Umschlag180Nick)+2,r26
1144 0780 B093 0000 sts (Umschlag180Nick)+3,r27
1145 0784 8091 0000 lds r24,EE_Parameter+64
1146 0788 9927 clr r25
1147 078a AA27 clr r26
1148 078c BB27 clr r27
1149 078e BC01 movw r22,r24
1150 0790 CD01 movw r24,r26
1151 0792 0E94 0000 call __mulsi3
1152 0796 DC01 movw r26,r24
1153 0798 CB01 movw r24,r22
1154 079a 8093 0000 sts Umschlag180Roll,r24
1155 079e 9093 0000 sts (Umschlag180Roll)+1,r25
1156 07a2 A093 0000 sts (Umschlag180Roll)+2,r26
1157 07a6 B093 0000 sts (Umschlag180Roll)+3,r27
1158 07aa 0E94 0000 call GetActiveParamSet
1159 07ae 8983 std Y+1,r24
1160 07b0 01C0 rjmp .L92
1161 .L90:
1162 07b2 1982 std Y+1,__zero_reg__
1163 .L92:
1164 07b4 8091 0000 lds r24,UebertragungAbgeschlossen
1165 07b8 8823 tst r24
1166 07ba E1F3 breq .L92
1167 07bc 81E0 ldi r24,lo8(1)
1168 07be 90E0 ldi r25,hi8(1)
1169 07c0 9F93 push r25
1170 07c2 8F93 push r24
1171 07c4 CE01 movw r24,r28
1172 07c6 0196 adiw r24,1
1173 07c8 9F93 push r25
1174 07ca 8F93 push r24
1175 07cc 81E0 ldi r24,lo8(1)
1176 07ce 8F93 push r24
1177 07d0 8F93 push r24
1178 07d2 83E5 ldi r24,lo8(83)
1179 07d4 8F93 push r24
1180 07d6 0E94 0000 call SendOutData
1181 07da 8DB7 in r24,__SP_L__
1182 07dc 9EB7 in r25,__SP_H__
1183 07de 0796 adiw r24,7
1184 07e0 8DBF out __SP_L__,r24
1185 07e2 26C0 rjmp .L152
1186 .L96:
1187 07e4 E091 0000 lds r30,pRxData
1188 07e8 F091 0000 lds r31,(pRxData)+1
1189 07ec E081 ld r30,Z
1190 07ee 8E2F mov r24,r30
1191 07f0 8150 subi r24,lo8(-(-1))
1192 07f2 8530 cpi r24,lo8(5)
1193 07f4 18F4 brsh .L97
1194 07f6 8E2F mov r24,r30
1195 07f8 0E94 0000 call ParamSet_ReadFromEEProm
1196 .L97:
1197 07fc 0E94 0000 call GetActiveParamSet
1198 0800 8983 std Y+1,r24
1199 .L98:
1200 0802 8091 0000 lds r24,UebertragungAbgeschlossen
1201 0806 8823 tst r24
1202 0808 E1F3 breq .L98
1203 080a 81E0 ldi r24,lo8(1)
1204 080c 90E0 ldi r25,hi8(1)
1205 080e 9F93 push r25
1206 0810 8F93 push r24
1207 0812 CE01 movw r24,r28
1208 0814 0196 adiw r24,1
1209 0816 9F93 push r25
1210 0818 8F93 push r24
1211 081a 81E0 ldi r24,lo8(1)
1212 081c 8F93 push r24
1213 081e 8F93 push r24
1214 0820 86E4 ldi r24,lo8(70)
1215 0822 8F93 push r24
1216 0824 0E94 0000 call SendOutData
1217 0828 ADB7 in r26,__SP_L__
1218 082a BEB7 in r27,__SP_H__
1219 082c 1796 adiw r26,7
1220 082e ADBF out __SP_L__,r26
1221 .L152:
1222 0830 8091 0000 lds r24,MotorenEin
1223 0834 8823 tst r24
1224 0836 29F4 brne .L101
1225 0838 6EE6 ldi r22,lo8(110)
1226 083a 70E0 ldi r23,hi8(110)
1227 083c 8981 ldd r24,Y+1
1228 083e 0E94 0000 call Piep
1229 .L101:
1230 0842 80E0 ldi r24,lo8(0)
1231 0844 0E94 0000 call LipoDetection
1232 0848 8091 0000 lds r24,EE_Parameter+39
1233 084c 0E94 0000 call LIBFC_ReceiverInit
1234 0850 DEC0 rjmp .L119
1235 .L102:
1236 0852 E091 0000 lds r30,pRxData
1237 0856 F091 0000 lds r31,(pRxData)+1
1238 085a 8081 ld r24,Z
1239 085c 9927 clr r25
1240 085e 87FD sbrc r24,7
1241 0860 9095 com r25
1242 0862 9093 0000 sts (PPM_in+26)+1,r25
1243 0866 8093 0000 sts PPM_in+26,r24
1244 086a 8181 ldd r24,Z+1
1245 086c 9927 clr r25
1246 086e 87FD sbrc r24,7
1247 0870 9095 com r25
1248 0872 9093 0000 sts (PPM_in+28)+1,r25
1249 0876 8093 0000 sts PPM_in+28,r24
1250 087a 8281 ldd r24,Z+2
1251 087c 9927 clr r25
1252 087e 87FD sbrc r24,7
1253 0880 9095 com r25
1254 0882 9093 0000 sts (PPM_in+30)+1,r25
1255 0886 8093 0000 sts PPM_in+30,r24
1256 088a 8381 ldd r24,Z+3
1257 088c 9927 clr r25
1258 088e 87FD sbrc r24,7
1259 0890 9095 com r25
1260 0892 9093 0000 sts (PPM_in+32)+1,r25
1261 0896 8093 0000 sts PPM_in+32,r24
1262 089a 8481 ldd r24,Z+4
1263 089c 9927 clr r25
1264 089e 87FD sbrc r24,7
1265 08a0 9095 com r25
1266 08a2 9093 0000 sts (PPM_in+34)+1,r25
1267 08a6 8093 0000 sts PPM_in+34,r24
1268 08aa 8581 ldd r24,Z+5
1269 08ac 9927 clr r25
1270 08ae 87FD sbrc r24,7
1271 08b0 9095 com r25
1272 08b2 9093 0000 sts (PPM_in+36)+1,r25
1273 08b6 8093 0000 sts PPM_in+36,r24
1274 08ba 8681 ldd r24,Z+6
1275 08bc 9927 clr r25
1276 08be 87FD sbrc r24,7
1277 08c0 9095 com r25
1278 08c2 9093 0000 sts (PPM_in+38)+1,r25
1279 08c6 8093 0000 sts PPM_in+38,r24
1280 08ca 8781 ldd r24,Z+7
1281 08cc 9927 clr r25
1282 08ce 87FD sbrc r24,7
1283 08d0 9095 com r25
1284 08d2 9093 0000 sts (PPM_in+40)+1,r25
1285 08d6 8093 0000 sts PPM_in+40,r24
1286 08da 8085 ldd r24,Z+8
1287 08dc 9927 clr r25
1288 08de 87FD sbrc r24,7
1289 08e0 9095 com r25
1290 08e2 9093 0000 sts (PPM_in+42)+1,r25
1291 08e6 8093 0000 sts PPM_in+42,r24
1292 08ea 8185 ldd r24,Z+9
1293 08ec 9927 clr r25
1294 08ee 87FD sbrc r24,7
1295 08f0 9095 com r25
1296 08f2 9093 0000 sts (PPM_in+44)+1,r25
1297 08f6 8093 0000 sts PPM_in+44,r24
1298 08fa 8285 ldd r24,Z+10
1299 08fc 9927 clr r25
1300 08fe 87FD sbrc r24,7
1301 0900 9095 com r25
1302 0902 9093 0000 sts (PPM_in+46)+1,r25
1303 0906 8093 0000 sts PPM_in+46,r24
1304 090a 8385 ldd r24,Z+11
1305 090c 9927 clr r25
1306 090e 87FD sbrc r24,7
1307 0910 9095 com r25
1308 0912 9093 0000 sts (PPM_in+48)+1,r25
1309 0916 8093 0000 sts PPM_in+48,r24
1310 091a 79C0 rjmp .L119
1311 .L103:
1312 091c E091 0000 lds r30,pRxData
1313 0920 F091 0000 lds r31,(pRxData)+1
1314 0924 8081 ld r24,Z
1315 0926 0E94 0000 call I2C_ReadBLConfig
1316 092a 8A83 std Y+2,r24
1317 092c 8823 tst r24
1318 092e 19F4 brne .L104
1319 0930 81E0 ldi r24,lo8(1)
1320 0932 8983 std Y+1,r24
1321 0934 01C0 rjmp .L106
1322 .L104:
1323 0936 1982 std Y+1,__zero_reg__
1324 .L106:
1325 0938 8091 0000 lds r24,UebertragungAbgeschlossen
1326 093c 8823 tst r24
1327 093e E1F3 breq .L106
1328 0940 88E0 ldi r24,lo8(8)
1329 0942 90E0 ldi r25,hi8(8)
1330 0944 9F93 push r25
1331 0946 8F93 push r24
1332 0948 80E0 ldi r24,lo8(BLConfig)
1333 094a 90E0 ldi r25,hi8(BLConfig)
1334 094c 9F93 push r25
1335 094e 8F93 push r24
1336 0950 21E0 ldi r18,lo8(1)
1337 0952 30E0 ldi r19,hi8(1)
1338 0954 3F93 push r19
1339 0956 2F93 push r18
1340 0958 8091 0000 lds r24,pRxData
1341 095c 9091 0000 lds r25,(pRxData)+1
1342 0960 9F93 push r25
1343 0962 8F93 push r24
1344 0964 3F93 push r19
1345 0966 2F93 push r18
1346 0968 CE01 movw r24,r28
1347 096a 0296 adiw r24,2
1348 096c 9F93 push r25
1349 096e 8F93 push r24
1350 0970 3F93 push r19
1351 0972 2F93 push r18
1352 0974 CE01 movw r24,r28
1353 0976 820F add r24,r18
1354 0978 931F adc r25,r19
1355 097a 9F93 push r25
1356 097c 8F93 push r24
1357 097e 84E0 ldi r24,lo8(4)
1358 0980 8F93 push r24
1359 0982 81E0 ldi r24,lo8(1)
1360 0984 8F93 push r24
1361 0986 85E5 ldi r24,lo8(85)
1362 0988 8F93 push r24
1363 098a 0E94 0000 call SendOutData
1364 098e EDB7 in r30,__SP_L__
1365 0990 FEB7 in r31,__SP_H__
1366 0992 7396 adiw r30,19
1367 0994 3BC0 rjmp .L147
1368 .L109:
1369 0996 8091 0000 lds r24,RxDataLen
1370 099a 8930 cpi r24,lo8(9)
1371 099c C0F1 brlo .L119
1372 099e 2091 0000 lds r18,pRxData
1373 09a2 3091 0000 lds r19,(pRxData)+1
1374 09a6 2F5F subi r18,lo8(-(1))
1375 09a8 3F4F sbci r19,hi8(-(1))
1376 09aa 88E0 ldi r24,lo8(8)
1377 09ac A0E0 ldi r26,lo8(BLConfig)
1378 09ae B0E0 ldi r27,hi8(BLConfig)
1379 09b0 F901 movw r30,r18
1380 09b2 0190 ld __tmp_reg__,Z+
1381 09b4 0D92 st X+,__tmp_reg__
1382 09b6 8A95 dec r24
1383 09b8 E1F7 brne .-8
1384 09ba D901 movw r26,r18
1385 09bc 8E91 ld r24,-X
1386 09be 0E94 0000 call I2C_WriteBLConfig
1387 09c2 8A83 std Y+2,r24
1388 09c4 8823 tst r24
1389 09c6 19F4 brne .L111
1390 09c8 81E0 ldi r24,lo8(1)
1391 09ca 8983 std Y+1,r24
1392 09cc 01C0 rjmp .L113
1393 .L111:
1394 09ce 1982 std Y+1,__zero_reg__
1395 .L113:
1396 09d0 8091 0000 lds r24,UebertragungAbgeschlossen
1397 09d4 8823 tst r24
1398 09d6 E1F3 breq .L113
1399 09d8 21E0 ldi r18,lo8(1)
1400 09da 30E0 ldi r19,hi8(1)
1401 09dc 3F93 push r19
1402 09de 2F93 push r18
1403 09e0 CE01 movw r24,r28
1404 09e2 0296 adiw r24,2
1405 09e4 9F93 push r25
1406 09e6 8F93 push r24
1407 09e8 3F93 push r19
1408 09ea 2F93 push r18
1409 09ec CE01 movw r24,r28
1410 09ee 820F add r24,r18
1411 09f0 931F adc r25,r19
1412 09f2 9F93 push r25
1413 09f4 8F93 push r24
1414 09f6 82E0 ldi r24,lo8(2)
1415 09f8 8F93 push r24
1416 09fa 81E0 ldi r24,lo8(1)
1417 09fc 8F93 push r24
1418 09fe 87E5 ldi r24,lo8(87)
1419 .L151:
1420 0a00 8F93 push r24
1421 0a02 0E94 0000 call SendOutData
1422 0a06 EDB7 in r30,__SP_L__
1423 0a08 FEB7 in r31,__SP_H__
1424 0a0a 3B96 adiw r30,11
1425 .L147:
1426 0a0c EDBF out __SP_L__,r30
1427 .L119:
1428 0a0e 8091 0000 lds r24,RxdBuffer+2
1429 0a12 9927 clr r25
1430 0a14 8436 cpi r24,100
1431 0a16 9105 cpc r25,__zero_reg__
1432 0a18 09F4 brne .+2
1433 0a1a CDC0 rjmp .L134
1434 0a1c 8536 cpi r24,101
1435 0a1e 9105 cpc r25,__zero_reg__
1436 0a20 ACF4 brge .L143
1437 0a22 8136 cpi r24,97
1438 0a24 9105 cpc r25,__zero_reg__
1439 0a26 09F4 brne .+2
1440 0a28 81C0 rjmp .L128
1441 0a2a 8236 cpi r24,98
1442 0a2c 9105 cpc r25,__zero_reg__
1443 0a2e 2CF4 brge .L144
1444 0a30 8B34 cpi r24,75
1445 0a32 9105 cpc r25,__zero_reg__
1446 0a34 09F4 brne .+2
1447 0a36 5DC0 rjmp .L127
1448 0a38 21C1 rjmp .L63
1449 .L144:
1450 0a3a 8236 cpi r24,98
1451 0a3c 9105 cpc r25,__zero_reg__
1452 0a3e 09F4 brne .+2
1453 0a40 82C0 rjmp .L130
1454 0a42 8336 cpi r24,99
1455 0a44 9105 cpc r25,__zero_reg__
1456 0a46 09F4 brne .+2
1457 0a48 91C0 rjmp .L131
1458 0a4a 18C1 rjmp .L63
1459 .L143:
1460 0a4c 8C36 cpi r24,108
1461 0a4e 9105 cpc r25,__zero_reg__
1462 0a50 09F4 brne .+2
1463 0a52 FFC0 rjmp .L139
1464 0a54 8D36 cpi r24,109
1465 0a56 9105 cpc r25,__zero_reg__
1466 0a58 4CF4 brge .L145
1467 0a5a 8736 cpi r24,103
1468 0a5c 9105 cpc r25,__zero_reg__
1469 0a5e 09F4 brne .+2
1470 0a60 0AC1 rjmp .L141
1471 0a62 8836 cpi r24,104
1472 0a64 9105 cpc r25,__zero_reg__
1473 0a66 09F4 brne .+2
1474 0a68 C4C0 rjmp .L136
1475 0a6a 08C1 rjmp .L63
1476 .L145:
1477 0a6c 8437 cpi r24,116
1478 0a6e 9105 cpc r25,__zero_reg__
1479 0a70 29F0 breq .L121
1480 0a72 8637 cpi r24,118
1481 0a74 9105 cpc r25,__zero_reg__
1482 0a76 09F4 brne .+2
1483 0a78 FAC0 rjmp .L140
1484 0a7a 00C1 rjmp .L63
1485 .L121:
1486 0a7c 8091 0000 lds r24,AnzahlEmpfangsBytes
1487 0a80 A091 0000 lds r26,pRxData
1488 0a84 B091 0000 lds r27,(pRxData)+1
1489 0a88 8031 cpi r24,lo8(16)
1490 0a8a 40F0 brlo .L122
1491 0a8c 80E1 ldi r24,lo8(16)
1492 0a8e E0E0 ldi r30,lo8(MotorTest)
1493 0a90 F0E0 ldi r31,hi8(MotorTest)
1494 0a92 0D90 ld __tmp_reg__,X+
1495 0a94 0192 st Z+,__tmp_reg__
1496 0a96 8A95 dec r24
1497 0a98 E1F7 brne .-8
1498 0a9a 0DC0 rjmp .L124
1499 .L122:
1500 0a9c 8D91 ld r24,X+
1501 0a9e 9D91 ld r25,X+
1502 0aa0 0D90 ld __tmp_reg__,X+
1503 0aa2 BC91 ld r27,X
1504 0aa4 A02D mov r26,__tmp_reg__
1505 0aa6 8093 0000 sts MotorTest,r24
1506 0aaa 9093 0000 sts (MotorTest)+1,r25
1507 0aae A093 0000 sts (MotorTest)+2,r26
1508 0ab2 B093 0000 sts (MotorTest)+3,r27
1509 .L124:
1510 0ab6 8091 0000 lds r24,UebertragungAbgeschlossen
1511 0aba 8823 tst r24
1512 0abc E1F3 breq .L124
1513 0abe 1F92 push __zero_reg__
1514 0ac0 8091 0000 lds r24,MeineSlaveAdresse
1515 0ac4 8F93 push r24
1516 0ac6 84E5 ldi r24,lo8(84)
1517 0ac8 8F93 push r24
1518 0aca 0E94 0000 call SendOutData
1519 0ace 8AEF ldi r24,lo8(-6)
1520 0ad0 8093 0000 sts PC_MotortestActive,r24
1521 0ad4 8FEF ldi r24,lo8(-1)
1522 0ad6 8093 0000 sts PcZugriff,r24
1523 0ada 80EA ldi r24,lo8(4000)
1524 0adc 9FE0 ldi r25,hi8(4000)
1525 0ade 0E94 0000 call SetDelay
1526 0ae2 9093 0000 sts (AboTimeOut)+1,r25
1527 0ae6 8093 0000 sts AboTimeOut,r24
1528 0aea 0F90 pop __tmp_reg__
1529 0aec 0F90 pop __tmp_reg__
1530 0aee 0F90 pop __tmp_reg__
1531 0af0 C5C0 rjmp .L63
1532 .L127:
1533 0af2 E091 0000 lds r30,pRxData
1534 0af6 F091 0000 lds r31,(pRxData)+1
1535 0afa 8081 ld r24,Z
1536 0afc 9181 ldd r25,Z+1
1537 0afe 9093 0000 sts (KompassValue)+1,r25
1538 0b02 8093 0000 sts KompassValue,r24
1539 0b06 2091 0000 lds r18,KompassStartwert
1540 0b0a 3091 0000 lds r19,(KompassStartwert)+1
1541 0b0e 821B sub r24,r18
1542 0b10 930B sbc r25,r19
1543 0b12 845E subi r24,lo8(-(540))
1544 0b14 9D4F sbci r25,hi8(-(540))
1545 0b16 68E6 ldi r22,lo8(360)
1546 0b18 71E0 ldi r23,hi8(360)
1547 0b1a 0E94 0000 call __divmodhi4
1548 0b1e 845B subi r24,lo8(-(-180))
1549 0b20 9040 sbci r25,hi8(-(-180))
1550 0b22 9093 0000 sts (KompassRichtung)+1,r25
1551 0b26 8093 0000 sts KompassRichtung,r24
1552 0b2a A8C0 rjmp .L63
1553 .L128:
1554 0b2c E091 0000 lds r30,pRxData
1555 0b30 F091 0000 lds r31,(pRxData)+1
1556 0b34 8081 ld r24,Z
1557 0b36 8093 0000 sts DebugTextAnforderung,r24
1558 0b3a 8032 cpi r24,lo8(32)
1559 0b3c 98F0 brlo .L149
1560 0b3e 8FE1 ldi r24,lo8(31)
1561 0b40 8093 0000 sts DebugTextAnforderung,r24
1562 0b44 0FC0 rjmp .L149
1563 .L130:
1564 0b46 A091 0000 lds r26,pRxData
1565 0b4a B091 0000 lds r27,(pRxData)+1
1566 0b4e 8BE0 ldi r24,lo8(11)
1567 0b50 E0E0 ldi r30,lo8(ExternControl)
1568 0b52 F0E0 ldi r31,hi8(ExternControl)
1569 0b54 0D90 ld __tmp_reg__,X+
1570 0b56 0192 st Z+,__tmp_reg__
1571 0b58 8A95 dec r24
1572 0b5a E1F7 brne .-8
1573 0b5c 8091 0000 lds r24,ExternControl+9
1574 0b60 8093 0000 sts ConfirmFrame,r24
1575 .L149:
1576 0b64 8FEF ldi r24,lo8(-1)
1577 0b66 8093 0000 sts PcZugriff,r24
1578 0b6a 88C0 rjmp .L63
1579 .L131:
1580 0b6c 8091 0000 lds r24,Intervall3D
1581 0b70 9091 0000 lds r25,(Intervall3D)+1
1582 0b74 892B or r24,r25
1583 0b76 89F4 brne .L132
1584 0b78 E091 0000 lds r30,pRxData
1585 0b7c F091 0000 lds r31,(pRxData)+1
1586 0b80 E081 ld r30,Z
1587 0b82 EE23 tst r30
1588 0b84 51F0 breq .L132
1589 0b86 8AE0 ldi r24,lo8(10)
1590 0b88 E89F mul r30,r24
1591 0b8a C001 movw r24,r0
1592 0b8c 1124 clr r1
1593 0b8e 0E94 0000 call SetDelay
1594 0b92 9093 0000 sts (Timer3D)+1,r25
1595 0b96 8093 0000 sts Timer3D,r24
1596 .L132:
1597 0b9a E091 0000 lds r30,pRxData
1598 0b9e F091 0000 lds r31,(pRxData)+1
1599 0ba2 9081 ld r25,Z
1600 0ba4 8AE0 ldi r24,lo8(10)
1601 0ba6 989F mul r25,r24
1602 0ba8 C001 movw r24,r0
1603 0baa 1124 clr r1
1604 0bac 9093 0000 sts (Intervall3D)+1,r25
1605 0bb0 8093 0000 sts Intervall3D,r24
1606 0bb4 15C0 rjmp .L135
1607 .L134:
1608 0bb6 8FEF ldi r24,lo8(-1)
1609 0bb8 8093 0000 sts PcZugriff,r24
1610 0bbc E091 0000 lds r30,pRxData
1611 0bc0 F091 0000 lds r31,(pRxData)+1
1612 0bc4 9081 ld r25,Z
1613 0bc6 8AE0 ldi r24,lo8(10)
1614 0bc8 989F mul r25,r24
1615 0bca C001 movw r24,r0
1616 0bcc 1124 clr r1
1617 0bce 9093 0000 sts (DebugDataIntervall)+1,r25
1618 0bd2 8093 0000 sts DebugDataIntervall,r24
1619 0bd6 892B or r24,r25
1620 0bd8 19F0 breq .L135
1621 0bda 81E0 ldi r24,lo8(1)
1622 0bdc 8093 0000 sts DebugDataAnforderung,r24
1623 .L135:
1624 0be0 80EA ldi r24,lo8(4000)
1625 0be2 9FE0 ldi r25,hi8(4000)
1626 0be4 0E94 0000 call SetDelay
1627 0be8 9093 0000 sts (AboTimeOut)+1,r25
1628 0bec 8093 0000 sts AboTimeOut,r24
1629 0bf0 45C0 rjmp .L63
1630 .L136:
1631 0bf2 8FEF ldi r24,lo8(-1)
1632 0bf4 8093 0000 sts PcZugriff,r24
1633 0bf8 E091 0000 lds r30,pRxData
1634 0bfc F091 0000 lds r31,(pRxData)+1
1635 0c00 9081 ld r25,Z
1636 0c02 97FD sbrc r25,7
1637 0c04 08C0 rjmp .L137
1638 0c06 82E0 ldi r24,lo8(2)
1639 0c08 8093 0000 sts DisplayLine,r24
1640 0c0c 1092 0000 sts (Display_Interval)+1,__zero_reg__
1641 0c10 1092 0000 sts Display_Interval,__zero_reg__
1642 0c14 1AC0 rjmp .L138
1643 .L137:
1644 0c16 9095 com r25
1645 0c18 8091 0000 lds r24,RemoteKeys
1646 0c1c 892B or r24,r25
1647 0c1e 8093 0000 sts RemoteKeys,r24
1648 0c22 9181 ldd r25,Z+1
1649 0c24 8AE0 ldi r24,lo8(10)
1650 0c26 989F mul r25,r24
1651 0c28 C001 movw r24,r0
1652 0c2a 1124 clr r1
1653 0c2c 9093 0000 sts (Display_Interval)+1,r25
1654 0c30 8093 0000 sts Display_Interval,r24
1655 0c34 84E0 ldi r24,lo8(4)
1656 0c36 8093 0000 sts DisplayLine,r24
1657 0c3a 80EA ldi r24,lo8(4000)
1658 0c3c 9FE0 ldi r25,hi8(4000)
1659 0c3e 0E94 0000 call SetDelay
1660 0c42 9093 0000 sts (AboTimeOut)+1,r25
1661 0c46 8093 0000 sts AboTimeOut,r24
1662 .L138:
1663 0c4a 81E0 ldi r24,lo8(1)
1664 0c4c 8093 0000 sts DebugDisplayAnforderung,r24
1665 0c50 15C0 rjmp .L63
1666 .L139:
1667 0c52 8FEF ldi r24,lo8(-1)
1668 0c54 8093 0000 sts PcZugriff,r24
1669 0c58 E091 0000 lds r30,pRxData
1670 0c5c F091 0000 lds r31,(pRxData)+1
1671 0c60 8081 ld r24,Z
1672 0c62 8093 0000 sts MenuePunkt,r24
1673 0c66 81E0 ldi r24,lo8(1)
1674 0c68 8093 0000 sts DebugDisplayAnforderung1,r24
1675 0c6c 07C0 rjmp .L63
1676 .L140:
1677 0c6e 81E0 ldi r24,lo8(1)
1678 0c70 8093 0000 sts GetVersionAnforderung,r24
1679 0c74 03C0 rjmp .L63
1680 .L141:
1681 0c76 81E0 ldi r24,lo8(1)
1682 0c78 8093 0000 sts GetExternalControl,r24
1683 .L63:
1684 0c7c 1092 0000 sts NeuerDatensatzEmpfangen,__zero_reg__
1685 0c80 1092 0000 sts (pRxData)+1,__zero_reg__
1686 0c84 1092 0000 sts pRxData,__zero_reg__
1687 0c88 1092 0000 sts RxDataLen,__zero_reg__
1688 .L61:
1689 /* epilogue: frame size=2 */
1690 0c8c E3E0 ldi r30,3
1691 0c8e CE5F subi r28,-2
1692 0c90 0C94 0000 jmp __epilogue_restores__+30
1693 /* epilogue end (size=4) */
1694 /* function BearbeiteRxDaten size 982 (972) */
1696 .global uart_putchar
1698 uart_putchar:
1699 /* prologue: frame size=0 */
1700 /* prologue end (size=0) */
1701 0c94 982F mov r25,r24
1702 .L154:
1703 0c96 8091 C000 lds r24,192
1704 0c9a 85FF sbrs r24,5
1705 0c9c FCCF rjmp .L154
1706 0c9e 9093 C600 sts 198,r25
1707 /* epilogue: frame size=0 */
1708 0ca2 0895 ret
1709 /* epilogue end (size=1) */
1710 /* function uart_putchar size 8 (7) */
1712 .global UART_Init
1714 UART_Init:
1715 /* prologue: frame size=0 */
1716 0ca4 0F93 push r16
1717 0ca6 1F93 push r17
1718 /* prologue end (size=2) */
1719 0ca8 88E1 ldi r24,lo8(24)
1720 0caa 8093 C100 sts 193,r24
1721 0cae 8091 C000 lds r24,192
1722 0cb2 8260 ori r24,lo8(2)
1723 0cb4 8093 C000 sts 192,r24
1724 0cb8 8091 C100 lds r24,193
1725 0cbc 8068 ori r24,lo8(-128)
1726 0cbe 8093 C100 sts 193,r24
1727 0cc2 8091 C100 lds r24,193
1728 0cc6 8064 ori r24,lo8(64)
1729 0cc8 8093 C100 sts 193,r24
1730 0ccc 00E0 ldi r16,lo8(0)
1731 0cce 10E0 ldi r17,hi8(0)
1732 0cd0 0093 C500 sts 197,r16
1733 0cd4 8AE2 ldi r24,lo8(42)
1734 0cd6 90E0 ldi r25,hi8(42)
1735 0cd8 8093 C400 sts 196,r24
1736 0cdc 8091 0000 lds r24,DebugDataIntervall
1737 0ce0 9091 0000 lds r25,(DebugDataIntervall)+1
1738 0ce4 0E94 0000 call SetDelay
1739 0ce8 9093 0000 sts (Debug_Timer)+1,r25
1740 0cec 8093 0000 sts Debug_Timer,r24
1741 0cf0 8CED ldi r24,lo8(220)
1742 0cf2 90E0 ldi r25,hi8(220)
1743 0cf4 0E94 0000 call SetDelay
1744 0cf8 9093 0000 sts (Kompass_Timer)+1,r25
1745 0cfc 8093 0000 sts Kompass_Timer,r24
1746 0d00 1092 0000 sts VersionInfo,__zero_reg__
1747 0d04 80E5 ldi r24,lo8(80)
1748 0d06 8093 0000 sts VersionInfo+1,r24
1749 0d0a 83E0 ldi r24,lo8(3)
1750 0d0c 8093 0000 sts VersionInfo+4,r24
1751 0d10 8BE0 ldi r24,lo8(11)
1752 0d12 8093 0000 sts VersionInfo+2,r24
1753 0d16 1092 0000 sts VersionInfo+3,__zero_reg__
1754 0d1a 1093 0000 sts (pRxData)+1,r17
1755 0d1e 0093 0000 sts pRxData,r16
1756 0d22 1092 0000 sts RxDataLen,__zero_reg__
1757 /* epilogue: frame size=0 */
1758 0d26 1F91 pop r17
1759 0d28 0F91 pop r16
1760 0d2a 0895 ret
1761 /* epilogue end (size=3) */
1762 /* function UART_Init size 68 (63) */
1764 .section .progmem.data
1767 __c.0:
1768 0200 2121 2120 .string "!!! INCOMPATIBLE !!!"
1768 494E 434F
1768 4D50 4154
1768 4942 4C45
1768 2021 2121
1769 .text
1770 .global DatenUebertragung
1772 DatenUebertragung:
1773 /* prologue: frame size=16 */
1774 0d2c A0E1 ldi r26,lo8(16)
1775 0d2e B0E0 ldi r27,hi8(16)
1776 0d30 E0E0 ldi r30,pm_lo8(1f)
1777 0d32 F0E0 ldi r31,pm_hi8(1f)
1778 0d34 0C94 0000 jmp __prologue_saves__+24
1779 1:
1780 /* prologue end (size=6) */
1781 0d38 8091 0000 lds r24,UebertragungAbgeschlossen
1782 0d3c 8823 tst r24
1783 0d3e 09F4 brne .+2
1784 0d40 C1C2 rjmp .L158
1785 0d42 8091 0000 lds r24,AboTimeOut
1786 0d46 9091 0000 lds r25,(AboTimeOut)+1
1787 0d4a 0E94 0000 call CheckDelay
1788 0d4e 8823 tst r24
1789 0d50 61F0 breq .L160
1790 0d52 1092 0000 sts (Display_Interval)+1,__zero_reg__
1791 0d56 1092 0000 sts Display_Interval,__zero_reg__
1792 0d5a 1092 0000 sts (DebugDataIntervall)+1,__zero_reg__
1793 0d5e 1092 0000 sts DebugDataIntervall,__zero_reg__
1794 0d62 1092 0000 sts (Intervall3D)+1,__zero_reg__
1795 0d66 1092 0000 sts Intervall3D,__zero_reg__
1796 .L160:
1797 0d6a 8091 0000 lds r24,Display_Interval
1798 0d6e 9091 0000 lds r25,(Display_Interval)+1
1799 0d72 892B or r24,r25
1800 0d74 41F0 breq .L163
1801 0d76 8091 0000 lds r24,Display_Timer
1802 0d7a 9091 0000 lds r25,(Display_Timer)+1
1803 0d7e 0E94 0000 call CheckDelay
1804 0d82 8823 tst r24
1805 0d84 29F4 brne .L162
1806 .L163:
1807 0d86 8091 0000 lds r24,DebugDisplayAnforderung
1808 0d8a 8823 tst r24
1809 0d8c 09F4 brne .+2
1810 0d8e 60C0 rjmp .L161
1811 .L162:
1812 0d90 8091 0000 lds r24,UebertragungAbgeschlossen
1813 0d94 8823 tst r24
1814 0d96 09F4 brne .+2
1815 0d98 5BC0 rjmp .L161
1816 0d9a 8091 0000 lds r24,DisplayLine
1817 0d9e 00E0 ldi r16,lo8(DisplayBuff)
1818 0da0 10E0 ldi r17,hi8(DisplayBuff)
1819 0da2 8430 cpi r24,lo8(4)
1820 0da4 A8F0 brlo .L164
1821 0da6 0E94 0000 call Menu
1822 0daa 80E5 ldi r24,lo8(80)
1823 0dac 90E0 ldi r25,hi8(80)
1824 0dae 9F93 push r25
1825 0db0 8F93 push r24
1826 0db2 1F93 push r17
1827 0db4 0F93 push r16
1828 0db6 81E0 ldi r24,lo8(1)
1829 0db8 8F93 push r24
1830 0dba 8F93 push r24
1831 0dbc 88E4 ldi r24,lo8(72)
1832 0dbe 8F93 push r24
1833 0dc0 0E94 0000 call SendOutData
1834 0dc4 2DB7 in r18,__SP_L__
1835 0dc6 3EB7 in r19,__SP_H__
1836 0dc8 295F subi r18,lo8(-(7))
1837 0dca 3F4F sbci r19,hi8(-(7))
1838 0dcc 2DBF out __SP_L__,r18
1839 0dce 34C0 rjmp .L165
1840 .L164:
1841 0dd0 1092 0000 sts DispPtr,__zero_reg__
1842 0dd4 80E0 ldi r24,lo8(__c.0)
1843 0dd6 90E0 ldi r25,hi8(__c.0)
1844 0dd8 9F93 push r25
1845 0dda 8F93 push r24
1846 0ddc 80E0 ldi r24,lo8(pm(Menu_Putchar))
1847 0dde 90E0 ldi r25,hi8(pm(Menu_Putchar))
1848 0de0 9F93 push r25
1849 0de2 8F93 push r24
1850 0de4 E091 0000 lds r30,_printf_P
1851 0de8 F091 0000 lds r31,(_printf_P)+1
1852 0dec 0995 icall
1853 0dee 84E1 ldi r24,lo8(20)
1854 0df0 90E0 ldi r25,hi8(20)
1855 0df2 9F93 push r25
1856 0df4 8F93 push r24
1857 0df6 1F93 push r17
1858 0df8 0F93 push r16
1859 0dfa 81E0 ldi r24,lo8(1)
1860 0dfc 90E0 ldi r25,hi8(1)
1861 0dfe 9F93 push r25
1862 0e00 8F93 push r24
1863 0e02 80E0 ldi r24,lo8(DisplayLine)
1864 0e04 90E0 ldi r25,hi8(DisplayLine)
1865 0e06 9F93 push r25
1866 0e08 8F93 push r24
1867 0e0a 82E0 ldi r24,lo8(2)
1868 0e0c 8F93 push r24
1869 0e0e 81E0 ldi r24,lo8(1)
1870 0e10 8F93 push r24
1871 0e12 88E4 ldi r24,lo8(72)
1872 0e14 8F93 push r24
1873 0e16 0E94 0000 call SendOutData
1874 0e1a 8091 0000 lds r24,DisplayLine
1875 0e1e 982F mov r25,r24
1876 0e20 8F5F subi r24,lo8(-(1))
1877 0e22 8093 0000 sts DisplayLine,r24
1878 0e26 2DB7 in r18,__SP_L__
1879 0e28 3EB7 in r19,__SP_H__
1880 0e2a 215F subi r18,lo8(-(15))
1881 0e2c 3F4F sbci r19,hi8(-(15))
1882 0e2e 2DBF out __SP_L__,r18
1883 0e30 9430 cpi r25,lo8(4)
1884 0e32 10F0 brlo .L165
1885 0e34 1092 0000 sts DisplayLine,__zero_reg__
1886 .L165:
1887 0e38 8091 0000 lds r24,Display_Interval
1888 0e3c 9091 0000 lds r25,(Display_Interval)+1
1889 0e40 0E94 0000 call SetDelay
1890 0e44 9093 0000 sts (Display_Timer)+1,r25
1891 0e48 8093 0000 sts Display_Timer,r24
1892 0e4c 1092 0000 sts DebugDisplayAnforderung,__zero_reg__
1893 .L161:
1894 0e50 8091 0000 lds r24,DebugDisplayAnforderung1
1895 0e54 8823 tst r24
1896 0e56 51F1 breq .L167
1897 0e58 8091 0000 lds r24,UebertragungAbgeschlossen
1898 0e5c 8823 tst r24
1899 0e5e 31F1 breq .L167
1900 0e60 0E94 0000 call Menu
1901 0e64 80E5 ldi r24,lo8(80)
1902 0e66 90E0 ldi r25,hi8(80)
1903 0e68 9F93 push r25
1904 0e6a 8F93 push r24
1905 0e6c 80E0 ldi r24,lo8(DisplayBuff)
1906 0e6e 90E0 ldi r25,hi8(DisplayBuff)
1907 0e70 9F93 push r25
1908 0e72 8F93 push r24
1909 0e74 21E0 ldi r18,lo8(1)
1910 0e76 30E0 ldi r19,hi8(1)
1911 0e78 3F93 push r19
1912 0e7a 2F93 push r18
1913 0e7c 80E0 ldi r24,lo8(MaxMenue)
1914 0e7e 90E0 ldi r25,hi8(MaxMenue)
1915 0e80 9F93 push r25
1916 0e82 8F93 push r24
1917 0e84 3F93 push r19
1918 0e86 2F93 push r18
1919 0e88 80E0 ldi r24,lo8(MenuePunkt)
1920 0e8a 90E0 ldi r25,hi8(MenuePunkt)
1921 0e8c 9F93 push r25
1922 0e8e 8F93 push r24
1923 0e90 83E0 ldi r24,lo8(3)
1924 0e92 8F93 push r24
1925 0e94 81E0 ldi r24,lo8(1)
1926 0e96 8F93 push r24
1927 0e98 8CE4 ldi r24,lo8(76)
1928 0e9a 8F93 push r24
1929 0e9c 0E94 0000 call SendOutData
1930 0ea0 1092 0000 sts DebugDisplayAnforderung1,__zero_reg__
1931 0ea4 8DB7 in r24,__SP_L__
1932 0ea6 9EB7 in r25,__SP_H__
1933 0ea8 0F96 adiw r24,15
1934 0eaa 8DBF out __SP_L__,r24
1935 .L167:
1936 0eac 8091 0000 lds r24,GetVersionAnforderung
1937 0eb0 8823 tst r24
1938 0eb2 D1F0 breq .L168
1939 0eb4 8091 0000 lds r24,UebertragungAbgeschlossen
1940 0eb8 8823 tst r24
1941 0eba B1F0 breq .L168
1942 0ebc 8AE0 ldi r24,lo8(10)
1943 0ebe 90E0 ldi r25,hi8(10)
1944 0ec0 9F93 push r25
1945 0ec2 8F93 push r24
1946 0ec4 80E0 ldi r24,lo8(VersionInfo)
1947 0ec6 90E0 ldi r25,hi8(VersionInfo)
1948 0ec8 9F93 push r25
1949 0eca 8F93 push r24
1950 0ecc 81E0 ldi r24,lo8(1)
1951 0ece 8F93 push r24
1952 0ed0 8F93 push r24
1953 0ed2 86E5 ldi r24,lo8(86)
1954 0ed4 8F93 push r24
1955 0ed6 0E94 0000 call SendOutData
1956 0eda 1092 0000 sts GetVersionAnforderung,__zero_reg__
1957 0ede 2DB7 in r18,__SP_L__
1958 0ee0 3EB7 in r19,__SP_H__
1959 0ee2 295F subi r18,lo8(-(7))
1960 0ee4 3F4F sbci r19,hi8(-(7))
1961 0ee6 2DBF out __SP_L__,r18
1962 .L168:
1963 0ee8 8091 0000 lds r24,GetExternalControl
1964 0eec 8823 tst r24
1965 0eee D9F0 breq .L169
1966 0ef0 8091 0000 lds r24,UebertragungAbgeschlossen
1967 0ef4 8823 tst r24
1968 0ef6 B9F0 breq .L169
1969 0ef8 8BE0 ldi r24,lo8(11)
1970 0efa 90E0 ldi r25,hi8(11)
1971 0efc 9F93 push r25
1972 0efe 8F93 push r24
1973 0f00 80E0 ldi r24,lo8(ExternControl)
1974 0f02 90E0 ldi r25,hi8(ExternControl)
1975 0f04 9F93 push r25
1976 0f06 8F93 push r24
1977 0f08 81E0 ldi r24,lo8(1)
1978 0f0a 8F93 push r24
1979 0f0c 8091 0000 lds r24,MeineSlaveAdresse
1980 0f10 8F93 push r24
1981 0f12 87E4 ldi r24,lo8(71)
1982 0f14 8F93 push r24
1983 0f16 0E94 0000 call SendOutData
1984 0f1a 1092 0000 sts GetExternalControl,__zero_reg__
1985 0f1e 8DB7 in r24,__SP_L__
1986 0f20 9EB7 in r25,__SP_H__
1987 0f22 0796 adiw r24,7
1988 0f24 8DBF out __SP_L__,r24
1989 .L169:
1990 0f26 8091 0000 lds r24,Kompass_Timer
1991 0f2a 9091 0000 lds r25,(Kompass_Timer)+1
1992 0f2e 0E94 0000 call CheckDelay
1993 0f32 8823 tst r24
1994 0f34 09F4 brne .+2
1995 0f36 61C0 rjmp .L170
1996 0f38 8091 0000 lds r24,UebertragungAbgeschlossen
1997 0f3c 8823 tst r24
1998 0f3e 09F4 brne .+2
1999 0f40 5CC0 rjmp .L170
2000 0f42 8091 0000 lds r24,EE_Parameter+28
2001 0f46 9927 clr r25
2002 0f48 880F lsl r24
2003 0f4a 991F rol r25
2004 0f4c 880F lsl r24
2005 0f4e 991F rol r25
2006 0f50 7C01 movw r14,r24
2007 0f52 0027 clr r16
2008 0f54 F7FC sbrc r15,7
2009 0f56 0095 com r16
2010 0f58 102F mov r17,r16
2011 0f5a 8091 0000 lds r24,IntegralNick
2012 0f5e 9091 0000 lds r25,(IntegralNick)+1
2013 0f62 A091 0000 lds r26,(IntegralNick)+2
2014 0f66 B091 0000 lds r27,(IntegralNick)+3
2015 0f6a BC01 movw r22,r24
2016 0f6c CD01 movw r24,r26
2017 0f6e A801 movw r20,r16
2018 0f70 9701 movw r18,r14
2019 0f72 0E94 0000 call __divmodsi4
2020 0f76 3093 0000 sts (WinkelOut)+1,r19
2021 0f7a 2093 0000 sts WinkelOut,r18
2022 0f7e 8091 0000 lds r24,IntegralRoll
2023 0f82 9091 0000 lds r25,(IntegralRoll)+1
2024 0f86 A091 0000 lds r26,(IntegralRoll)+2
2025 0f8a B091 0000 lds r27,(IntegralRoll)+3
2026 0f8e BC01 movw r22,r24
2027 0f90 CD01 movw r24,r26
2028 0f92 A801 movw r20,r16
2029 0f94 9701 movw r18,r14
2030 0f96 0E94 0000 call __divmodsi4
2031 0f9a 3093 0000 sts (WinkelOut+2)+1,r19
2032 0f9e 2093 0000 sts WinkelOut+2,r18
2033 0fa2 8091 0000 lds r24,Parameter_UserParam1
2034 0fa6 8093 0000 sts WinkelOut+4,r24
2035 0faa 8091 0000 lds r24,Parameter_UserParam2
2036 0fae 8093 0000 sts WinkelOut+5,r24
2037 0fb2 88E0 ldi r24,lo8(8)
2038 0fb4 90E0 ldi r25,hi8(8)
2039 0fb6 9F93 push r25
2040 0fb8 8F93 push r24
2041 0fba 80E0 ldi r24,lo8(WinkelOut)
2042 0fbc 90E0 ldi r25,hi8(WinkelOut)
2043 0fbe 9F93 push r25
2044 0fc0 8F93 push r24
2045 0fc2 81E0 ldi r24,lo8(1)
2046 0fc4 8F93 push r24
2047 0fc6 83E0 ldi r24,lo8(3)
2048 0fc8 8F93 push r24
2049 0fca 8BE6 ldi r24,lo8(107)
2050 0fcc 8F93 push r24
2051 0fce 0E94 0000 call SendOutData
2052 0fd2 8091 0000 lds r24,WinkelOut+6
2053 0fd6 2DB7 in r18,__SP_L__
2054 0fd8 3EB7 in r19,__SP_H__
2055 0fda 295F subi r18,lo8(-(7))
2056 0fdc 3F4F sbci r19,hi8(-(7))
2057 0fde 2DBF out __SP_L__,r18
2058 0fe0 8530 cpi r24,lo8(5)
2059 0fe2 18F0 brlo .L171
2060 0fe4 86E0 ldi r24,lo8(6)
2061 0fe6 8093 0000 sts WinkelOut+6,r24
2062 .L171:
2063 0fea 83E6 ldi r24,lo8(99)
2064 0fec 90E0 ldi r25,hi8(99)
2065 0fee 0E94 0000 call SetDelay
2066 0ff2 9093 0000 sts (Kompass_Timer)+1,r25
2067 0ff6 8093 0000 sts Kompass_Timer,r24
2068 .L170:
2069 0ffa 8091 0000 lds r24,DebugDataIntervall
2070 0ffe 9091 0000 lds r25,(DebugDataIntervall)+1
2071 1002 892B or r24,r25
2072 1004 41F0 breq .L174
2073 1006 8091 0000 lds r24,Debug_Timer
2074 100a 9091 0000 lds r25,(Debug_Timer)+1
2075 100e 0E94 0000 call CheckDelay
2076 1012 8823 tst r24
2077 1014 21F4 brne .L173
2078 .L174:
2079 1016 8091 0000 lds r24,DebugDataAnforderung
2080 101a 8823 tst r24
2081 101c 39F1 breq .L172
2082 .L173:
2083 101e 8091 0000 lds r24,UebertragungAbgeschlossen
2084 1022 8823 tst r24
2085 1024 19F1 breq .L172
2086 1026 0E94 0000 call CopyDebugValues
2087 102a 82E4 ldi r24,lo8(66)
2088 102c 90E0 ldi r25,hi8(66)
2089 102e 9F93 push r25
2090 1030 8F93 push r24
2091 1032 80E0 ldi r24,lo8(DebugOut)
2092 1034 90E0 ldi r25,hi8(DebugOut)
2093 1036 9F93 push r25
2094 1038 8F93 push r24
2095 103a 81E0 ldi r24,lo8(1)
2096 103c 8F93 push r24
2097 103e 8F93 push r24
2098 1040 84E4 ldi r24,lo8(68)
2099 1042 8F93 push r24
2100 1044 0E94 0000 call SendOutData
2101 1048 1092 0000 sts DebugDataAnforderung,__zero_reg__
2102 104c 8DB7 in r24,__SP_L__
2103 104e 9EB7 in r25,__SP_H__
2104 1050 0796 adiw r24,7
2105 1052 8DBF out __SP_L__,r24
2106 1054 8091 0000 lds r24,DebugDataIntervall
2107 1058 9091 0000 lds r25,(DebugDataIntervall)+1
2108 105c 0097 sbiw r24,0
2109 105e 31F0 breq .L172
2110 1060 0E94 0000 call SetDelay
2111 1064 9093 0000 sts (Debug_Timer)+1,r25
2112 1068 8093 0000 sts Debug_Timer,r24
2113 .L172:
2114 106c 8091 0000 lds r24,Intervall3D
2115 1070 9091 0000 lds r25,(Intervall3D)+1
2116 1074 892B or r24,r25
2117 1076 09F4 brne .+2
2118 1078 B8C0 rjmp .L176
2119 107a 8091 0000 lds r24,Timer3D
2120 107e 9091 0000 lds r25,(Timer3D)+1
2121 1082 0E94 0000 call CheckDelay
2122 1086 8823 tst r24
2123 1088 09F4 brne .+2
2124 108a AFC0 rjmp .L176
2125 108c 8091 0000 lds r24,UebertragungAbgeschlossen
2126 1090 8823 tst r24
2127 1092 09F4 brne .+2
2128 1094 AAC0 rjmp .L176
2129 1096 8091 0000 lds r24,EE_Parameter+28
2130 109a 9927 clr r25
2131 109c 880F lsl r24
2132 109e 991F rol r25
2133 10a0 880F lsl r24
2134 10a2 991F rol r25
2135 10a4 7C01 movw r14,r24
2136 10a6 0027 clr r16
2137 10a8 F7FC sbrc r15,7
2138 10aa 0095 com r16
2139 10ac 102F mov r17,r16
2140 10ae 8091 0000 lds r24,IntegralNick
2141 10b2 9091 0000 lds r25,(IntegralNick)+1
2142 10b6 A091 0000 lds r26,(IntegralNick)+2
2143 10ba B091 0000 lds r27,(IntegralNick)+3
2144 10be BC01 movw r22,r24
2145 10c0 CD01 movw r24,r26
2146 10c2 A801 movw r20,r16
2147 10c4 9701 movw r18,r14
2148 10c6 0E94 0000 call __divmodsi4
2149 10ca 3093 0000 sts (Data3D)+1,r19
2150 10ce 2093 0000 sts Data3D,r18
2151 10d2 8091 0000 lds r24,IntegralRoll
2152 10d6 9091 0000 lds r25,(IntegralRoll)+1
2153 10da A091 0000 lds r26,(IntegralRoll)+2
2154 10de B091 0000 lds r27,(IntegralRoll)+3
2155 10e2 BC01 movw r22,r24
2156 10e4 CD01 movw r24,r26
2157 10e6 A801 movw r20,r16
2158 10e8 9701 movw r18,r14
2159 10ea 0E94 0000 call __divmodsi4
2160 10ee 3093 0000 sts (Data3D+2)+1,r19
2161 10f2 2093 0000 sts Data3D+2,r18
2162 10f6 2091 0000 lds r18,ErsatzKompass
2163 10fa 3091 0000 lds r19,(ErsatzKompass)+1
2164 10fe 4091 0000 lds r20,(ErsatzKompass)+2
2165 1102 5091 0000 lds r21,(ErsatzKompass)+3
2166 1106 DA01 movw r26,r20
2167 1108 C901 movw r24,r18
2168 110a 63E0 ldi r22,3
2169 110c 880F 1: lsl r24
2170 110e 991F rol r25
2171 1110 AA1F rol r26
2172 1112 BB1F rol r27
2173 1114 6A95 dec r22
2174 1116 D1F7 brne 1b
2175 1118 820F add r24,r18
2176 111a 931F adc r25,r19
2177 111c A41F adc r26,r20
2178 111e B51F adc r27,r21
2179 1120 820F add r24,r18
2180 1122 931F adc r25,r19
2181 1124 A41F adc r26,r20
2182 1126 B51F adc r27,r21
2183 1128 2091 0000 lds r18,GIER_GRAD_FAKTOR
2184 112c 3091 0000 lds r19,(GIER_GRAD_FAKTOR)+1
2185 1130 4091 0000 lds r20,(GIER_GRAD_FAKTOR)+2
2186 1134 5091 0000 lds r21,(GIER_GRAD_FAKTOR)+3
2187 1138 BC01 movw r22,r24
2188 113a CD01 movw r24,r26
2189 113c 0E94 0000 call __divmodsi4
2190 1140 3093 0000 sts (Data3D+4)+1,r19
2191 1144 2093 0000 sts Data3D+4,r18
2192 1148 8091 0000 lds r24,SummeNick
2193 114c 9091 0000 lds r25,(SummeNick)+1
2194 1150 A091 0000 lds r26,(SummeNick)+2
2195 1154 B091 0000 lds r27,(SummeNick)+3
2196 1158 39E0 ldi r19,9
2197 115a B595 1: asr r27
2198 115c A795 ror r26
2199 115e 9795 ror r25
2200 1160 8795 ror r24
2201 1162 3A95 dec r19
2202 1164 D1F7 brne 1b
2203 1166 8093 0000 sts Data3D+6,r24
2204 116a 8091 0000 lds r24,SummeRoll
2205 116e 9091 0000 lds r25,(SummeRoll)+1
2206 1172 A091 0000 lds r26,(SummeRoll)+2
2207 1176 B091 0000 lds r27,(SummeRoll)+3
2208 117a 29E0 ldi r18,9
2209 117c B595 1: asr r27
2210 117e A795 ror r26
2211 1180 9795 ror r25
2212 1182 8795 ror r24
2213 1184 2A95 dec r18
2214 1186 D1F7 brne 1b
2215 1188 8093 0000 sts Data3D+7,r24
2216 118c 8091 0000 lds r24,Mess_Integral_Gier
2217 1190 9091 0000 lds r25,(Mess_Integral_Gier)+1
2218 1194 A091 0000 lds r26,(Mess_Integral_Gier)+2
2219 1198 B091 0000 lds r27,(Mess_Integral_Gier)+3
2220 119c 09E0 ldi r16,9
2221 119e B595 1: asr r27
2222 11a0 A795 ror r26
2223 11a2 9795 ror r25
2224 11a4 8795 ror r24
2225 11a6 0A95 dec r16
2226 11a8 D1F7 brne 1b
2227 11aa 8093 0000 sts Data3D+8,r24
2228 11ae 8EE0 ldi r24,lo8(14)
2229 11b0 90E0 ldi r25,hi8(14)
2230 11b2 9F93 push r25
2231 11b4 8F93 push r24
2232 11b6 80E0 ldi r24,lo8(Data3D)
2233 11b8 90E0 ldi r25,hi8(Data3D)
2234 11ba 9F93 push r25
2235 11bc 8F93 push r24
2236 11be 81E0 ldi r24,lo8(1)
2237 11c0 8F93 push r24
2238 11c2 8F93 push r24
2239 11c4 83E4 ldi r24,lo8(67)
2240 11c6 8F93 push r24
2241 11c8 0E94 0000 call SendOutData
2242 11cc 8091 0000 lds r24,Intervall3D
2243 11d0 9091 0000 lds r25,(Intervall3D)+1
2244 11d4 0E94 0000 call SetDelay
2245 11d8 9093 0000 sts (Timer3D)+1,r25
2246 11dc 8093 0000 sts Timer3D,r24
2247 11e0 2DB7 in r18,__SP_L__
2248 11e2 3EB7 in r19,__SP_H__
2249 11e4 295F subi r18,lo8(-(7))
2250 11e6 3F4F sbci r19,hi8(-(7))
2251 11e8 2DBF out __SP_L__,r18
2252 .L176:
2253 11ea 8091 0000 lds r24,DebugTextAnforderung
2254 11ee 8F3F cpi r24,lo8(-1)
2255 11f0 71F1 breq .L177
2256 11f2 9927 clr r25
2257 11f4 14E0 ldi r17,4
2258 11f6 880F 1: lsl r24
2259 11f8 991F rol r25
2260 11fa 1A95 dec r17
2261 11fc E1F7 brne 1b
2262 11fe 8050 subi r24,lo8(-(ANALOG_TEXT))
2263 1200 9040 sbci r25,hi8(-(ANALOG_TEXT))
2264 1202 40E1 ldi r20,lo8(16)
2265 1204 50E0 ldi r21,hi8(16)
2266 1206 BC01 movw r22,r24
2267 1208 CE01 movw r24,r28
2268 120a 0196 adiw r24,1
2269 120c 0E94 0000 call memcpy_P
2270 1210 80E1 ldi r24,lo8(16)
2271 1212 90E0 ldi r25,hi8(16)
2272 1214 9F93 push r25
2273 1216 8F93 push r24
2274 1218 CE01 movw r24,r28
2275 121a 0196 adiw r24,1
2276 121c 9F93 push r25
2277 121e 8F93 push r24
2278 1220 81E0 ldi r24,lo8(1)
2279 1222 90E0 ldi r25,hi8(1)
2280 1224 9F93 push r25
2281 1226 8F93 push r24
2282 1228 80E0 ldi r24,lo8(DebugTextAnforderung)
2283 122a 90E0 ldi r25,hi8(DebugTextAnforderung)
2284 122c 9F93 push r25
2285 122e 8F93 push r24
2286 1230 82E0 ldi r24,lo8(2)
2287 1232 8F93 push r24
2288 1234 81E0 ldi r24,lo8(1)
2289 1236 8F93 push r24
2290 1238 81E4 ldi r24,lo8(65)
2291 123a 8F93 push r24
2292 123c 0E94 0000 call SendOutData
2293 1240 8FEF ldi r24,lo8(-1)
2294 1242 8093 0000 sts DebugTextAnforderung,r24
2295 1246 8DB7 in r24,__SP_L__
2296 1248 9EB7 in r25,__SP_H__
2297 124a 0B96 adiw r24,11
2298 124c 8DBF out __SP_L__,r24
2299 .L177:
2300 124e 8091 0000 lds r24,ConfirmFrame
2301 1252 8823 tst r24
2302 1254 D1F0 breq .L178
2303 1256 8091 0000 lds r24,UebertragungAbgeschlossen
2304 125a 8823 tst r24
2305 125c B1F0 breq .L178
2306 125e 81E0 ldi r24,lo8(1)
2307 1260 90E0 ldi r25,hi8(1)
2308 1262 9F93 push r25
2309 1264 8F93 push r24
2310 1266 80E0 ldi r24,lo8(ConfirmFrame)
2311 1268 90E0 ldi r25,hi8(ConfirmFrame)
2312 126a 9F93 push r25
2313 126c 8F93 push r24
2314 126e 81E0 ldi r24,lo8(1)
2315 1270 8F93 push r24
2316 1272 8F93 push r24
2317 1274 82E4 ldi r24,lo8(66)
2318 1276 8F93 push r24
2319 1278 0E94 0000 call SendOutData
2320 127c 1092 0000 sts ConfirmFrame,__zero_reg__
2321 1280 2DB7 in r18,__SP_L__
2322 1282 3EB7 in r19,__SP_H__
2323 1284 295F subi r18,lo8(-(7))
2324 1286 3F4F sbci r19,hi8(-(7))
2325 1288 2DBF out __SP_L__,r18
2326 .L178:
2327 128a 8091 0000 lds r24,GetPPMChannelAnforderung
2328 128e 8823 tst r24
2329 1290 C9F0 breq .L158
2330 1292 8091 0000 lds r24,UebertragungAbgeschlossen
2331 1296 8823 tst r24
2332 1298 A9F0 breq .L158
2333 129a 84E3 ldi r24,lo8(52)
2334 129c 90E0 ldi r25,hi8(52)
2335 129e 9F93 push r25
2336 12a0 8F93 push r24
2337 12a2 80E0 ldi r24,lo8(PPM_in)
2338 12a4 90E0 ldi r25,hi8(PPM_in)
2339 12a6 9F93 push r25
2340 12a8 8F93 push r24
2341 12aa 81E0 ldi r24,lo8(1)
2342 12ac 8F93 push r24
2343 12ae 8F93 push r24
2344 12b0 80E5 ldi r24,lo8(80)
2345 12b2 8F93 push r24
2346 12b4 0E94 0000 call SendOutData
2347 12b8 1092 0000 sts GetPPMChannelAnforderung,__zero_reg__
2348 12bc 8DB7 in r24,__SP_L__
2349 12be 9EB7 in r25,__SP_H__
2350 12c0 0796 adiw r24,7
2351 12c2 8DBF out __SP_L__,r24
2352 .L158:
2353 /* epilogue: frame size=16 */
2354 12c4 E6E0 ldi r30,6
2355 12c6 C05F subi r28,-16
2356 12c8 0C94 0000 jmp __epilogue_restores__+24
2357 /* epilogue end (size=4) */
2358 /* function DatenUebertragung size 720 (710) */
2360 .comm Debug_Timer,2,1
2361 .comm Kompass_Timer,2,1
2362 .comm MotorTest,16,1
2363 .comm DebugOut,66,1
2364 .comm WinkelOut,8,1
2365 .comm Data3D,14,1
2366 .comm ExternControl,11,1
2367 .comm VersionInfo,10,1
2368 .comm TxdBuffer,160,1
2369 .comm RxdBuffer,160,1
2370 .comm ConfirmFrame,1,1
2371 .comm Display_Timer,2,1
2372 .comm Timer3D,2,1
2373 /* File "uart.c": code 2416 = 0x0970 (2325), prologues 47, epilogues 44 */
DEFINED SYMBOLS
*ABS*:00000000 uart.c
C:\Users\Arthur-P\AppData\Local\Temp/ccCEaaaa.s:3 *ABS*:0000003f __SREG__
C:\Users\Arthur-P\AppData\Local\Temp/ccCEaaaa.s:4 *ABS*:0000003e __SP_H__
C:\Users\Arthur-P\AppData\Local\Temp/ccCEaaaa.s:5 *ABS*:0000003d __SP_L__
C:\Users\Arthur-P\AppData\Local\Temp/ccCEaaaa.s:6 *ABS*:00000000 __tmp_reg__
C:\Users\Arthur-P\AppData\Local\Temp/ccCEaaaa.s:7 *ABS*:00000001 __zero_reg__
C:\Users\Arthur-P\AppData\Local\Temp/ccCEaaaa.s:14 .progmem.data:00000000 ANALOG_TEXT
C:\Users\Arthur-P\AppData\Local\Temp/ccCEaaaa.s:52 .bss:00000000 AboTimeOut
C:\Users\Arthur-P\AppData\Local\Temp/ccCEaaaa.s:58 .bss:00000002 Display_Interval
C:\Users\Arthur-P\AppData\Local\Temp/ccCEaaaa.s:64 .bss:00000004 Intervall3D
C:\Users\Arthur-P\AppData\Local\Temp/ccCEaaaa.s:70 .bss:00000006 DebugDataIntervall
C:\Users\Arthur-P\AppData\Local\Temp/ccCEaaaa.s:76 .data:00000000 MeineSlaveAdresse
C:\Users\Arthur-P\AppData\Local\Temp/ccCEaaaa.s:81 .data:00000001 PcZugriff
C:\Users\Arthur-P\AppData\Local\Temp/ccCEaaaa.s:86 .data:00000002 DebugTextAnforderung
C:\Users\Arthur-P\AppData\Local\Temp/ccCEaaaa.s:93 .bss:00000008 PC_MotortestActive
C:\Users\Arthur-P\AppData\Local\Temp/ccCEaaaa.s:99 .bss:00000009 PC_DebugTimeout
C:\Users\Arthur-P\AppData\Local\Temp/ccCEaaaa.s:105 .bss:0000000a RxDataLen
C:\Users\Arthur-P\AppData\Local\Temp/ccCEaaaa.s:111 .bss:0000000b pRxData
C:\Users\Arthur-P\AppData\Local\Temp/ccCEaaaa.s:117 .bss:0000000d AnzahlEmpfangsBytes
C:\Users\Arthur-P\AppData\Local\Temp/ccCEaaaa.s:123 .bss:0000000e CntCrcError
C:\Users\Arthur-P\AppData\Local\Temp/ccCEaaaa.s:129 .data:00000003 UebertragungAbgeschlossen
C:\Users\Arthur-P\AppData\Local\Temp/ccCEaaaa.s:136 .bss:0000000f NeueKoordinateEmpfangen
C:\Users\Arthur-P\AppData\Local\Temp/ccCEaaaa.s:142 .bss:00000010 NeuerDatensatzEmpfangen
C:\Users\Arthur-P\AppData\Local\Temp/ccCEaaaa.s:148 .bss:00000011 SioTmp
C:\Users\Arthur-P\AppData\Local\Temp/ccCEaaaa.s:154 .bss:00000012 DisplayLine
C:\Users\Arthur-P\AppData\Local\Temp/ccCEaaaa.s:160 .bss:00000013 GetPPMChannelAnforderung
C:\Users\Arthur-P\AppData\Local\Temp/ccCEaaaa.s:166 .bss:00000014 GetVersionAnforderung
C:\Users\Arthur-P\AppData\Local\Temp/ccCEaaaa.s:172 .bss:00000015 DebugDataAnforderung
C:\Users\Arthur-P\AppData\Local\Temp/ccCEaaaa.s:178 .bss:00000016 DebugDisplayAnforderung
C:\Users\Arthur-P\AppData\Local\Temp/ccCEaaaa.s:184 .bss:00000017 DebugDisplayAnforderung1
C:\Users\Arthur-P\AppData\Local\Temp/ccCEaaaa.s:190 .bss:00000018 GetExternalControl
.bss:00000019 ptr.6
C:\Users\Arthur-P\AppData\Local\Temp/ccCEaaaa.s:196 .text:00000000 __vector_22
*COM*:000000a0 TxdBuffer
C:\Users\Arthur-P\AppData\Local\Temp/ccCEaaaa.s:192 .bss:0000001b crc.1
C:\Users\Arthur-P\AppData\Local\Temp/ccCEaaaa.s:250 .bss:0000001d crc1.2
C:\Users\Arthur-P\AppData\Local\Temp/ccCEaaaa.s:251 .bss:0000001e crc2.3
C:\Users\Arthur-P\AppData\Local\Temp/ccCEaaaa.s:252 .bss:0000001f buf_ptr.4
C:\Users\Arthur-P\AppData\Local\Temp/ccCEaaaa.s:253 .bss:00000020 UartState.5
C:\Users\Arthur-P\AppData\Local\Temp/ccCEaaaa.s:257 .text:0000006c __vector_20
*COM*:000000a0 RxdBuffer
C:\Users\Arthur-P\AppData\Local\Temp/ccCEaaaa.s:473 .text:0000023c AddCRC
C:\Users\Arthur-P\AppData\Local\Temp/ccCEaaaa.s:529 .text:0000029c SendOutData
C:\Users\Arthur-P\AppData\Local\Temp/ccCEaaaa.s:729 .text:00000414 Decode64
C:\Users\Arthur-P\AppData\Local\Temp/ccCEaaaa.s:842 .text:000004e8 BearbeiteRxDaten
*COM*:00000010 MotorTest
*COM*:0000000a VersionInfo
*COM*:0000000b ExternControl
*COM*:00000001 ConfirmFrame
*COM*:00000002 Timer3D
C:\Users\Arthur-P\AppData\Local\Temp/ccCEaaaa.s:1698 .text:00000c94 uart_putchar
C:\Users\Arthur-P\AppData\Local\Temp/ccCEaaaa.s:1714 .text:00000ca4 UART_Init
*COM*:00000002 Debug_Timer
*COM*:00000002 Kompass_Timer
C:\Users\Arthur-P\AppData\Local\Temp/ccCEaaaa.s:1767 .progmem.data:00000200 __c.0
C:\Users\Arthur-P\AppData\Local\Temp/ccCEaaaa.s:1772 .text:00000d2c DatenUebertragung
*COM*:00000002 Display_Timer
*COM*:00000008 WinkelOut
*COM*:00000042 DebugOut
*COM*:0000000e Data3D
UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
LcdClear
ServoActive
__prologue_saves__
__epilogue_restores__
KompassValue
KompassStartwert
__divmodhi4
KompassRichtung
Mixer
MixerTable_WriteToEEProm
GetActiveParamSet
ParamSet_ReadFromEEProm
EE_Parameter
ParamSet_WriteToEEProm
__mulsi3
Umschlag180Nick
Umschlag180Roll
MotorenEin
Piep
LipoDetection
LIBFC_ReceiverInit
PPM_in
I2C_ReadBLConfig
BLConfig
I2C_WriteBLConfig
SetDelay
RemoteKeys
MenuePunkt
CheckDelay
DisplayBuff
Menu
DispPtr
Menu_Putchar
_printf_P
MaxMenue
IntegralNick
__divmodsi4
IntegralRoll
Parameter_UserParam1
Parameter_UserParam2
CopyDebugValues
ErsatzKompass
GIER_GRAD_FAKTOR
SummeNick
SummeRoll
Mess_Integral_Gier
memcpy_P