0,0 → 1,2665 |
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 4869 6768 .ascii "Hight Setpoint " |
19 7420 5365 |
19 7470 6F69 |
19 6E74 2020 |
20 0050 4865 6967 .ascii "Height Value " |
20 6874 2056 |
20 616C 7565 |
20 2020 2020 |
21 0060 436F 6D70 .ascii "Compass Setpoint" |
21 6173 7320 |
21 5365 7470 |
21 6F69 6E74 |
22 0070 436F 6D70 .ascii "Compass Value " |
22 6173 7320 |
22 5661 6C75 |
22 6520 2020 |
23 0080 4375 7272 .ascii "Current [0.1A] " |
23 656E 7420 |
23 5B30 2E31 |
23 415D 2020 |
24 0090 566F 6C74 .ascii "Voltage [0.1V] " |
24 6167 6520 |
24 5B30 2E31 |
24 565D 2020 |
25 00a0 4D6F 746F .ascii "Motor 1 " |
25 7220 3120 |
25 2020 2020 |
25 2020 2020 |
26 00b0 4D6F 746F .ascii "Motor 2 " |
26 7220 3220 |
26 2020 2020 |
26 2020 2020 |
27 00c0 4D6F 746F .ascii "Motor 3 " |
27 7220 3320 |
27 2020 2020 |
27 2020 2020 |
28 00d0 4D6F 746F .ascii "Motor 4 " |
28 7220 3420 |
28 2020 2020 |
28 2020 2020 |
29 00e0 4D6F 746F .ascii "Motor 5 " |
29 7220 3520 |
29 2020 2020 |
29 2020 2020 |
30 00f0 4D6F 746F .ascii "Motor 6 " |
30 7220 3620 |
30 2020 2020 |
30 2020 2020 |
31 0100 5265 6365 .ascii "Receiver Level " |
31 6976 6572 |
31 204C 6576 |
31 656C 2020 |
32 0110 4779 726F .ascii "Gyro Compass " |
32 2043 6F6D |
32 7061 7373 |
32 2020 2020 |
33 0120 5961 7747 .ascii "YawGyro " |
33 7972 6F20 |
33 2020 2020 |
33 2020 2020 |
34 0130 2E2E 2E20 .ascii "... " |
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 2E2E 2E20 .ascii "... " |
37 2020 2020 |
37 2020 2020 |
37 2020 2020 |
38 0170 4361 7061 .ascii "Capacity [mAh] " |
38 6369 7479 |
38 205B 6D41 |
38 685D 2020 |
39 0180 424C 204C .ascii "BL Limit " |
39 696D 6974 |
39 2020 2020 |
39 2020 2020 |
40 0190 2E2E 2E20 .ascii "... " |
40 2020 2020 |
40 2020 2020 |
40 2020 2020 |
41 01a0 2E2E 2E20 .ascii "... " |
41 2020 2020 |
41 2020 2020 |
41 2020 2020 |
42 01b0 2E2E 2E20 .ascii "... " |
42 2020 2020 |
42 2020 2020 |
42 2020 2020 |
43 01c0 4163 635A .ascii "AccZ " |
43 2020 2020 |
43 2020 2020 |
43 2020 2020 |
44 01d0 2E2E 2E20 .ascii "... " |
44 2020 2020 |
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 8C35 cpi r24,lo8(92) |
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 83E0 ldi r24,lo8(3) |
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/cc8OdrLo.s:3 *ABS*:0000003f __SREG__ |
C:\Temp/cc8OdrLo.s:4 *ABS*:0000003e __SP_H__ |
C:\Temp/cc8OdrLo.s:5 *ABS*:0000003d __SP_L__ |
C:\Temp/cc8OdrLo.s:6 *ABS*:00000000 __tmp_reg__ |
C:\Temp/cc8OdrLo.s:7 *ABS*:00000001 __zero_reg__ |
C:\Temp/cc8OdrLo.s:14 .progmem.data:00000000 ANALOG_TEXT |
C:\Temp/cc8OdrLo.s:52 .bss:00000000 ReceiverUpdateModeActive |
C:\Temp/cc8OdrLo.s:58 .bss:00000001 AboTimeOut |
C:\Temp/cc8OdrLo.s:64 .bss:00000003 Display_Interval |
C:\Temp/cc8OdrLo.s:70 .bss:00000005 Intervall3D |
C:\Temp/cc8OdrLo.s:76 .bss:00000007 DebugDataIntervall |
C:\Temp/cc8OdrLo.s:82 .data:00000000 MeineSlaveAdresse |
C:\Temp/cc8OdrLo.s:87 .data:00000001 PcZugriff |
C:\Temp/cc8OdrLo.s:92 .data:00000002 DebugTextAnforderung |
C:\Temp/cc8OdrLo.s:99 .bss:00000009 PC_MotortestActive |
C:\Temp/cc8OdrLo.s:105 .bss:0000000a PC_DebugTimeout |
C:\Temp/cc8OdrLo.s:111 .bss:0000000b RxDataLen |
C:\Temp/cc8OdrLo.s:117 .bss:0000000c pRxData |
C:\Temp/cc8OdrLo.s:123 .bss:0000000e AnzahlEmpfangsBytes |
C:\Temp/cc8OdrLo.s:129 .bss:0000000f CntCrcError |
C:\Temp/cc8OdrLo.s:135 .data:00000003 UebertragungAbgeschlossen |
C:\Temp/cc8OdrLo.s:142 .bss:00000010 NeueKoordinateEmpfangen |
C:\Temp/cc8OdrLo.s:148 .bss:00000011 NeuerDatensatzEmpfangen |
C:\Temp/cc8OdrLo.s:154 .bss:00000012 SioTmp |
C:\Temp/cc8OdrLo.s:160 .bss:00000013 DisplayLine |
C:\Temp/cc8OdrLo.s:166 .bss:00000014 GetPPMChannelAnforderung |
C:\Temp/cc8OdrLo.s:172 .bss:00000015 GetVersionAnforderung |
C:\Temp/cc8OdrLo.s:178 .bss:00000016 DebugDataAnforderung |
C:\Temp/cc8OdrLo.s:184 .bss:00000017 DebugDisplayAnforderung |
C:\Temp/cc8OdrLo.s:190 .bss:00000018 DebugDisplayAnforderung1 |
C:\Temp/cc8OdrLo.s:196 .bss:00000019 GetExternalControl |
.bss:0000001a ptr.6 |
C:\Temp/cc8OdrLo.s:202 .text:00000000 __vector_22 |
*COM*:000000af TxdBuffer |
C:\Temp/cc8OdrLo.s:198 .bss:0000001c crc.1 |
C:\Temp/cc8OdrLo.s:256 .bss:0000001e crc1.2 |
C:\Temp/cc8OdrLo.s:257 .bss:0000001f crc2.3 |
C:\Temp/cc8OdrLo.s:258 .bss:00000020 buf_ptr.4 |
C:\Temp/cc8OdrLo.s:259 .bss:00000021 UartState.5 |
C:\Temp/cc8OdrLo.s:263 .text:0000006c __vector_20 |
*COM*:000000af RxdBuffer |
C:\Temp/cc8OdrLo.s:494 .text:00000260 AddCRC |
C:\Temp/cc8OdrLo.s:550 .text:000002c0 SendOutData |
C:\Temp/cc8OdrLo.s:750 .text:00000438 Decode64 |
C:\Temp/cc8OdrLo.s:863 .text:0000050c BearbeiteRxDaten |
*COM*:00000010 MotorTest |
*COM*:0000000a VersionInfo |
*COM*:0000000b ExternControl |
*COM*:00000001 ConfirmFrame |
*COM*:00000002 Timer3D |
C:\Temp/cc8OdrLo.s:1850 .text:00000dd8 uart_putchar |
C:\Temp/cc8OdrLo.s:1866 .text:00000de8 UART_Init |
*COM*:00000002 Debug_Timer |
*COM*:00000002 Kompass_Timer |
C:\Temp/cc8OdrLo.s:1919 .progmem.data:00000200 __c.0 |
C:\Temp/cc8OdrLo.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 |