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