Rev 36 | Blame | Last modification | View Log | RSS feed
1 .file "uart.c"
2 .arch atmega644
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 .text
11 .global __vector_22
13 __vector_22:
14 /* prologue: frame size=0 */
15 0000 1F92 push __zero_reg__
16 0002 0F92 push __tmp_reg__
17 0004 0FB6 in __tmp_reg__,__SREG__
18 0006 0F92 push __tmp_reg__
19 0008 1124 clr __zero_reg__
20 000a 8F93 push r24
21 000c 9F93 push r25
22 000e EF93 push r30
23 0010 FF93 push r31
24 /* prologue end (size=9) */
25 0012 8091 0000 lds r24,UebertragungAbgeschlossen
26 0016 8823 tst r24
27 0018 01F4 brne .L2
28 001a 8091 0000 lds r24,ptr.2021
29 001e 9091 0000 lds r25,(ptr.2021)+1
30 0022 0196 adiw r24,1
31 0024 9093 0000 sts (ptr.2021)+1,r25
32 0028 8093 0000 sts ptr.2021,r24
33 002c FC01 movw r30,r24
34 002e E050 subi r30,lo8(-(SendeBuffer))
35 0030 F040 sbci r31,hi8(-(SendeBuffer))
36 0032 E081 ld r30,Z
37 0034 ED30 cpi r30,lo8(13)
38 0036 01F0 breq .L4
39 0038 8639 cpi r24,150
40 003a 9105 cpc r25,__zero_reg__
41 003c 01F4 brne .L6
42 .L4:
43 003e 1092 0000 sts (ptr.2021)+1,__zero_reg__
44 0042 1092 0000 sts ptr.2021,__zero_reg__
45 0046 81E0 ldi r24,lo8(1)
46 0048 8093 0000 sts UebertragungAbgeschlossen,r24
47 .L6:
48 004c E093 C600 sts 198,r30
49 0050 00C0 rjmp .L8
50 .L2:
51 0052 1092 0000 sts (ptr.2021)+1,__zero_reg__
52 0056 1092 0000 sts ptr.2021,__zero_reg__
53 .L8:
54 /* epilogue: frame size=0 */
55 005a FF91 pop r31
56 005c EF91 pop r30
57 005e 9F91 pop r25
58 0060 8F91 pop r24
59 0062 0F90 pop __tmp_reg__
60 0064 0FBE out __SREG__,__tmp_reg__
61 0066 0F90 pop __tmp_reg__
62 0068 1F90 pop __zero_reg__
63 006a 1895 reti
64 /* epilogue end (size=9) */
65 /* function __vector_22 size 54 (36) */
67 .global GPSscanData
69 GPSscanData:
70 /* prologue: frame size=0 */
71 /* prologue end (size=0) */
72 006c 8091 0000 lds r24,navPosECEF+20
73 0070 8130 cpi r24,lo8(1)
74 0072 01F4 brne .L10
75 0074 8091 0000 lds r24,navPosECEF+4
76 0078 9091 0000 lds r25,(navPosECEF+4)+1
77 007c A091 0000 lds r26,(navPosECEF+4)+2
78 0080 B091 0000 lds r27,(navPosECEF+4)+3
79 0084 8093 0000 sts actualPos,r24
80 0088 9093 0000 sts (actualPos)+1,r25
81 008c A093 0000 sts (actualPos)+2,r26
82 0090 B093 0000 sts (actualPos)+3,r27
83 0094 8091 0000 lds r24,navPosECEF+8
84 0098 9091 0000 lds r25,(navPosECEF+8)+1
85 009c A091 0000 lds r26,(navPosECEF+8)+2
86 00a0 B091 0000 lds r27,(navPosECEF+8)+3
87 00a4 8093 0000 sts actualPos+4,r24
88 00a8 9093 0000 sts (actualPos+4)+1,r25
89 00ac A093 0000 sts (actualPos+4)+2,r26
90 00b0 B093 0000 sts (actualPos+4)+3,r27
91 00b4 8091 0000 lds r24,navPosECEF+12
92 00b8 9091 0000 lds r25,(navPosECEF+12)+1
93 00bc A091 0000 lds r26,(navPosECEF+12)+2
94 00c0 B091 0000 lds r27,(navPosECEF+12)+3
95 00c4 8093 0000 sts actualPos+8,r24
96 00c8 9093 0000 sts (actualPos+8)+1,r25
97 00cc A093 0000 sts (actualPos+8)+2,r26
98 00d0 B093 0000 sts (actualPos+8)+3,r27
99 00d4 1092 0000 sts navPosECEF+20,__zero_reg__
100 .L10:
101 00d8 8091 0000 lds r24,navStatus+16
102 00dc 8130 cpi r24,lo8(1)
103 00de 01F4 brne .L12
104 00e0 8091 0000 lds r24,navStatus+4
105 00e4 8093 0000 sts actualPos+24,r24
106 00e8 1092 0000 sts navStatus+16,__zero_reg__
107 .L12:
108 00ec 8091 0000 lds r24,navVelECEF+20
109 00f0 8130 cpi r24,lo8(1)
110 00f2 01F4 brne .L14
111 00f4 8091 0000 lds r24,navVelECEF+4
112 00f8 9091 0000 lds r25,(navVelECEF+4)+1
113 00fc A091 0000 lds r26,(navVelECEF+4)+2
114 0100 B091 0000 lds r27,(navVelECEF+4)+3
115 0104 8093 0000 sts actualPos+12,r24
116 0108 9093 0000 sts (actualPos+12)+1,r25
117 010c A093 0000 sts (actualPos+12)+2,r26
118 0110 B093 0000 sts (actualPos+12)+3,r27
119 0114 8091 0000 lds r24,navVelECEF+8
120 0118 9091 0000 lds r25,(navVelECEF+8)+1
121 011c A091 0000 lds r26,(navVelECEF+8)+2
122 0120 B091 0000 lds r27,(navVelECEF+8)+3
123 0124 8093 0000 sts actualPos+16,r24
124 0128 9093 0000 sts (actualPos+16)+1,r25
125 012c A093 0000 sts (actualPos+16)+2,r26
126 0130 B093 0000 sts (actualPos+16)+3,r27
127 0134 8091 0000 lds r24,navVelECEF+12
128 0138 9091 0000 lds r25,(navVelECEF+12)+1
129 013c A091 0000 lds r26,(navVelECEF+12)+2
130 0140 B091 0000 lds r27,(navVelECEF+12)+3
131 0144 8093 0000 sts actualPos+20,r24
132 0148 9093 0000 sts (actualPos+20)+1,r25
133 014c A093 0000 sts (actualPos+20)+2,r26
134 0150 B093 0000 sts (actualPos+20)+3,r27
135 0154 1092 0000 sts navVelECEF+20,__zero_reg__
136 .L14:
137 0158 8091 0000 lds r24,actualPos+24
138 015c 8111 cpse r24,__zero_reg__
139 015e 289A sbi 37-0x20,0
140 .L18:
141 0160 0895 ret
142 /* epilogue: frame size=0 */
143 /* epilogue: noreturn */
144 /* epilogue end (size=0) */
145 /* function GPSscanData size 124 (124) */
147 .global __vector_20
149 __vector_20:
150 /* prologue: frame size=0 */
151 0162 1F92 push __zero_reg__
152 0164 0F92 push __tmp_reg__
153 0166 0FB6 in __tmp_reg__,__SREG__
154 0168 0F92 push __tmp_reg__
155 016a 1124 clr __zero_reg__
156 016c 2F93 push r18
157 016e 3F93 push r19
158 0170 4F93 push r20
159 0172 5F93 push r21
160 0174 6F93 push r22
161 0176 7F93 push r23
162 0178 8F93 push r24
163 017a 9F93 push r25
164 017c AF93 push r26
165 017e BF93 push r27
166 0180 CF93 push r28
167 0182 DF93 push r29
168 0184 EF93 push r30
169 0186 FF93 push r31
170 /* prologue end (size=19) */
171 0188 8091 C600 lds r24,198
172 018c 8093 0000 sts SioTmp,r24
173 0190 8091 C000 lds r24,192
174 0194 4091 0000 lds r20,SioTmp
175 0198 8871 andi r24,lo8(24)
176 019a 01F0 breq .+2
177 019c 00C0 rjmp .L20
178 019e 8091 0000 lds r24,gpsState
179 01a2 8430 cpi r24,lo8(4)
180 01a4 01F4 brne .+2
181 01a6 00C0 rjmp .L27
182 01a8 8530 cpi r24,lo8(5)
183 01aa 00F4 brsh .L32
184 01ac 8130 cpi r24,lo8(1)
185 01ae 01F0 breq .L24
186 01b0 8130 cpi r24,lo8(1)
187 01b2 00F0 brlo .L23
188 01b4 8230 cpi r24,lo8(2)
189 01b6 01F0 breq .L25
190 01b8 8330 cpi r24,lo8(3)
191 01ba 01F0 breq .+2
192 01bc 00C0 rjmp .L22
193 01be 00C0 rjmp .L26
194 .L32:
195 01c0 8630 cpi r24,lo8(6)
196 01c2 01F4 brne .+2
197 01c4 00C0 rjmp .L29
198 01c6 8630 cpi r24,lo8(6)
199 01c8 00F4 brsh .+2
200 01ca 00C0 rjmp .L28
201 01cc 8730 cpi r24,lo8(7)
202 01ce 01F4 brne .+2
203 01d0 00C0 rjmp .L30
204 01d2 8830 cpi r24,lo8(8)
205 01d4 01F0 breq .+2
206 01d6 00C0 rjmp .L22
207 01d8 00C0 rjmp .L31
208 .L23:
209 01da 453B cpi r20,lo8(-75)
210 01dc 01F0 breq .+2
211 01de 00C0 rjmp .L33
212 01e0 81E0 ldi r24,lo8(1)
213 01e2 00C0 rjmp .L79
214 .L24:
215 01e4 4236 cpi r20,lo8(98)
216 01e6 01F4 brne .L35
217 01e8 82E0 ldi r24,lo8(2)
218 .L79:
219 01ea 8093 0000 sts gpsState,r24
220 01ee 00C0 rjmp .L33
221 .L35:
222 01f0 453B cpi r20,lo8(-75)
223 01f2 01F4 brne .+2
224 01f4 00C0 rjmp .L33
225 01f6 00C0 rjmp .L22
226 .L25:
227 01f8 4130 cpi r20,lo8(1)
228 01fa 01F0 breq .+2
229 01fc 00C0 rjmp .L22
230 01fe 83E0 ldi r24,lo8(3)
231 0200 00C0 rjmp .L79
232 .L26:
233 0202 4093 0000 sts msgID,r20
234 0206 4F5F subi r20,lo8(-(1))
235 0208 4093 0000 sts CK_A,r20
236 020c 8091 0000 lds r24,CK_A
237 0210 8F5F subi r24,lo8(-(1))
238 0212 8093 0000 sts CK_B,r24
239 0216 84E0 ldi r24,lo8(4)
240 0218 8093 0000 sts gpsState,r24
241 021c 8091 0000 lds r24,msgID
242 0220 8330 cpi r24,lo8(3)
243 0222 01F0 breq .L42
244 0224 8131 cpi r24,lo8(17)
245 0226 01F0 breq .L43
246 0228 8130 cpi r24,lo8(1)
247 022a 01F0 breq .+2
248 022c 00C0 rjmp .L77
249 022e 00C0 rjmp .L41
250 .L42:
251 0230 80E0 ldi r24,lo8(navStatus)
252 0232 90E0 ldi r25,hi8(navStatus)
253 0234 9093 0000 sts (ubxP)+1,r25
254 0238 8093 0000 sts ubxP,r24
255 023c 20E0 ldi r18,lo8(navStatus+289)
256 023e 30E0 ldi r19,hi8(navStatus+289)
257 0240 3093 0000 sts (ubxEp)+1,r19
258 0244 2093 0000 sts ubxEp,r18
259 0248 4096 adiw r24,16
260 024a 9093 0000 sts (ubxSp)+1,r25
261 024e 8093 0000 sts ubxSp,r24
262 0252 8091 0000 lds r24,navStatus+16
263 0256 00C0 rjmp .L80
264 .L41:
265 0258 80E0 ldi r24,lo8(navPosECEF)
266 025a 90E0 ldi r25,hi8(navPosECEF)
267 025c 9093 0000 sts (ubxP)+1,r25
268 0260 8093 0000 sts ubxP,r24
269 0264 20E0 ldi r18,lo8(navPosECEF+441)
270 0266 30E0 ldi r19,hi8(navPosECEF+441)
271 0268 3093 0000 sts (ubxEp)+1,r19
272 026c 2093 0000 sts ubxEp,r18
273 0270 4496 adiw r24,20
274 0272 9093 0000 sts (ubxSp)+1,r25
275 0276 8093 0000 sts ubxSp,r24
276 027a 8091 0000 lds r24,navPosECEF+20
277 027e 00C0 rjmp .L80
278 .L43:
279 0280 80E0 ldi r24,lo8(navVelECEF)
280 0282 90E0 ldi r25,hi8(navVelECEF)
281 0284 9093 0000 sts (ubxP)+1,r25
282 0288 8093 0000 sts ubxP,r24
283 028c 20E0 ldi r18,lo8(navVelECEF+441)
284 028e 30E0 ldi r19,hi8(navVelECEF+441)
285 0290 3093 0000 sts (ubxEp)+1,r19
286 0294 2093 0000 sts ubxEp,r18
287 0298 4496 adiw r24,20
288 029a 9093 0000 sts (ubxSp)+1,r25
289 029e 8093 0000 sts ubxSp,r24
290 02a2 8091 0000 lds r24,navVelECEF+20
291 .L80:
292 02a6 8093 0000 sts ignorePacket,r24
293 02aa 00C0 rjmp .L33
294 .L77:
295 02ac 81E0 ldi r24,lo8(1)
296 02ae 8093 0000 sts ignorePacket,r24
297 02b2 1092 0000 sts (ubxSp)+1,__zero_reg__
298 02b6 1092 0000 sts ubxSp,__zero_reg__
299 02ba 00C0 rjmp .L33
300 .L27:
301 02bc 842F mov r24,r20
302 02be 9927 clr r25
303 02c0 9093 0000 sts (msgLen)+1,r25
304 02c4 8093 0000 sts msgLen,r24
305 02c8 8091 0000 lds r24,CK_A
306 02cc 840F add r24,r20
307 02ce 8093 0000 sts CK_A,r24
308 02d2 8091 0000 lds r24,CK_B
309 02d6 9091 0000 lds r25,CK_A
310 02da 890F add r24,r25
311 02dc 8093 0000 sts CK_B,r24
312 02e0 85E0 ldi r24,lo8(5)
313 02e2 00C0 rjmp .L79
314 .L28:
315 02e4 2091 0000 lds r18,msgLen
316 02e8 3091 0000 lds r19,(msgLen)+1
317 02ec 842F mov r24,r20
318 02ee 9927 clr r25
319 02f0 982F mov r25,r24
320 02f2 8827 clr r24
321 02f4 280F add r18,r24
322 02f6 391F adc r19,r25
323 02f8 3093 0000 sts (msgLen)+1,r19
324 02fc 2093 0000 sts msgLen,r18
325 0300 8091 0000 lds r24,CK_A
326 0304 840F add r24,r20
327 0306 8093 0000 sts CK_A,r24
328 030a 8091 0000 lds r24,CK_B
329 030e 9091 0000 lds r25,CK_A
330 0312 890F add r24,r25
331 0314 8093 0000 sts CK_B,r24
332 0318 86E0 ldi r24,lo8(6)
333 031a 00C0 rjmp .L79
334 .L29:
335 031c 8091 0000 lds r24,CK_A
336 0320 840F add r24,r20
337 0322 8093 0000 sts CK_A,r24
338 0326 8091 0000 lds r24,CK_B
339 032a 9091 0000 lds r25,CK_A
340 032e 890F add r24,r25
341 0330 8093 0000 sts CK_B,r24
342 0334 8091 0000 lds r24,ignorePacket
343 0338 8823 tst r24
344 033a 01F4 brne .L44
345 033c E091 0000 lds r30,ubxP
346 0340 F091 0000 lds r31,(ubxP)+1
347 0344 8091 0000 lds r24,ubxEp
348 0348 9091 0000 lds r25,(ubxEp)+1
349 034c E817 cp r30,r24
350 034e F907 cpc r31,r25
351 0350 00F4 brsh .L44
352 0352 4193 st Z+,r20
353 0354 F093 0000 sts (ubxP)+1,r31
354 0358 E093 0000 sts ubxP,r30
355 .L44:
356 035c 8091 0000 lds r24,msgLen
357 0360 9091 0000 lds r25,(msgLen)+1
358 0364 0197 sbiw r24,1
359 0366 9093 0000 sts (msgLen)+1,r25
360 036a 8093 0000 sts msgLen,r24
361 036e 8091 0000 lds r24,msgLen
362 0372 9091 0000 lds r25,(msgLen)+1
363 0376 892B or r24,r25
364 0378 01F4 brne .L33
365 037a 87E0 ldi r24,lo8(7)
366 037c 00C0 rjmp .L79
367 .L30:
368 037e 8091 0000 lds r24,CK_A
369 0382 4817 cp r20,r24
370 0384 01F4 brne .L22
371 0386 88E0 ldi r24,lo8(8)
372 0388 00C0 rjmp .L79
373 .L31:
374 038a 8091 0000 lds r24,CK_B
375 038e 4817 cp r20,r24
376 0390 01F4 brne .L22
377 0392 E091 0000 lds r30,ubxSp
378 0396 F091 0000 lds r31,(ubxSp)+1
379 039a 3097 sbiw r30,0
380 039c 01F0 breq .L22
381 039e 81E0 ldi r24,lo8(1)
382 03a0 8083 st Z,r24
383 .L22:
384 03a2 1092 0000 sts gpsState,__zero_reg__
385 03a6 00C0 rjmp .L33
386 .L20:
387 03a8 1092 0000 sts gpsState,__zero_reg__
388 03ac 0E94 0000 call GPSscanData
389 .L33:
390 03b0 0E94 0000 call GPSscanData
391 03b4 4091 0000 lds r20,buf_ptr.2054
392 03b8 4639 cpi r20,lo8(-106)
393 03ba 00F0 brlo .L53
394 03bc 1092 0000 sts UartState.2055,__zero_reg__
395 .L53:
396 03c0 8091 0000 lds r24,SioTmp
397 03c4 8D30 cpi r24,lo8(13)
398 03c6 01F0 breq .+2
399 03c8 00C0 rjmp .L55
400 03ca 8091 0000 lds r24,UartState.2055
401 03ce 8230 cpi r24,lo8(2)
402 03d0 01F0 breq .+2
403 03d2 00C0 rjmp .L55
404 03d4 1092 0000 sts UartState.2055,__zero_reg__
405 03d8 A42F mov r26,r20
406 03da BB27 clr r27
407 03dc FD01 movw r30,r26
408 03de E050 subi r30,lo8(-(RxdBuffer-2))
409 03e0 F040 sbci r31,hi8(-(RxdBuffer-2))
410 03e2 3081 ld r19,Z
411 03e4 ED01 movw r28,r26
412 03e6 C050 subi r28,lo8(-(RxdBuffer-1))
413 03e8 D040 sbci r29,hi8(-(RxdBuffer-1))
414 03ea 2881 ld r18,Y
415 03ec 8091 0000 lds r24,crc.2051
416 03f0 9091 0000 lds r25,(crc.2051)+1
417 03f4 831B sub r24,r19
418 03f6 9109 sbc r25,__zero_reg__
419 03f8 821B sub r24,r18
420 03fa 9109 sbc r25,__zero_reg__
421 03fc 9F70 andi r25,hi8(4095)
422 03fe 9093 0000 sts (crc.2051)+1,r25
423 0402 8093 0000 sts crc.2051,r24
424 0406 9C01 movw r18,r24
425 0408 96E0 ldi r25,6
426 040a 3695 1: lsr r19
427 040c 2795 ror r18
428 040e 9A95 dec r25
429 0410 01F4 brne 1b
430 0412 235C subi r18,lo8(-(61))
431 0414 2093 0000 sts crc1.2052,r18
432 0418 982F mov r25,r24
433 041a 9F73 andi r25,lo8(63)
434 041c 935C subi r25,lo8(-(61))
435 041e 9093 0000 sts crc2.2053,r25
436 0422 8081 ld r24,Z
437 0424 2817 cp r18,r24
438 0426 01F4 brne .L58
439 0428 8881 ld r24,Y
440 042a 9817 cp r25,r24
441 042c 01F4 brne .L58
442 042e 91E0 ldi r25,lo8(1)
443 0430 00C0 rjmp .L61
444 .L58:
445 0432 8091 0000 lds r24,CntCrcError
446 0436 8F5F subi r24,lo8(-(1))
447 0438 8093 0000 sts CntCrcError,r24
448 043c 90E0 ldi r25,lo8(0)
449 .L61:
450 043e 8091 0000 lds r24,NeuerDatensatzEmpfangen
451 0442 8823 tst r24
452 0444 01F0 breq .+2
453 0446 00C0 rjmp .L76
454 0448 9923 tst r25
455 044a 01F4 brne .+2
456 044c 00C0 rjmp .L76
457 044e 81E0 ldi r24,lo8(1)
458 0450 8093 0000 sts NeuerDatensatzEmpfangen,r24
459 0454 4093 0000 sts AnzahlEmpfangsBytes,r20
460 0458 A050 subi r26,lo8(-(RxdBuffer))
461 045a B040 sbci r27,hi8(-(RxdBuffer))
462 045c 8DE0 ldi r24,lo8(13)
463 045e 8C93 st X,r24
464 0460 8091 0000 lds r24,RxdBuffer+2
465 0464 8235 cpi r24,lo8(82)
466 0466 01F0 breq .+2
467 0468 00C0 rjmp .L76
468 046a 88E1 ldi r24,lo8(24)
469 046c 90E0 ldi r25,hi8(24)
470 046e 2CE0 ldi r18,lo8(12)
471 /* #APP */
472 0470 0FB6 in __tmp_reg__,__SREG__
473 0472 F894 cli
474 0474 A895 wdr
475 0476 8093 6000 sts 96,r24
476 047a 0FBE out __SREG__,__tmp_reg__
477 047c 2093 6000 sts 96,r18
478 /* #NOAPP */
479 0480 00C0 rjmp .L76
480 .L55:
481 0482 8091 0000 lds r24,UartState.2055
482 0486 8130 cpi r24,lo8(1)
483 0488 01F0 breq .L68
484 048a 8130 cpi r24,lo8(1)
485 048c 00F0 brlo .L67
486 048e 8230 cpi r24,lo8(2)
487 0490 01F4 brne .L78
488 0492 00C0 rjmp .L69
489 .L67:
490 0494 8091 0000 lds r24,SioTmp
491 0498 8332 cpi r24,lo8(35)
492 049a 01F4 brne .L70
493 049c 8091 0000 lds r24,NeuerDatensatzEmpfangen
494 04a0 8823 tst r24
495 04a2 01F4 brne .L70
496 04a4 81E0 ldi r24,lo8(1)
497 04a6 8093 0000 sts UartState.2055,r24
498 .L70:
499 04aa 8091 0000 lds r24,SioTmp
500 04ae 8093 0000 sts RxdBuffer,r24
501 04b2 81E0 ldi r24,lo8(1)
502 04b4 8093 0000 sts buf_ptr.2054,r24
503 04b8 8091 0000 lds r24,SioTmp
504 04bc 9927 clr r25
505 04be 00C0 rjmp .L81
506 .L68:
507 04c0 82E0 ldi r24,lo8(2)
508 04c2 8093 0000 sts UartState.2055,r24
509 04c6 E42F mov r30,r20
510 04c8 FF27 clr r31
511 04ca 8091 0000 lds r24,SioTmp
512 04ce E050 subi r30,lo8(-(RxdBuffer))
513 04d0 F040 sbci r31,hi8(-(RxdBuffer))
514 04d2 8083 st Z,r24
515 .L83:
516 04d4 4F5F subi r20,lo8(-(1))
517 04d6 4093 0000 sts buf_ptr.2054,r20
518 .L82:
519 04da 2091 0000 lds r18,SioTmp
520 04de 8091 0000 lds r24,crc.2051
521 04e2 9091 0000 lds r25,(crc.2051)+1
522 04e6 820F add r24,r18
523 04e8 911D adc r25,__zero_reg__
524 .L81:
525 04ea 9093 0000 sts (crc.2051)+1,r25
526 04ee 8093 0000 sts crc.2051,r24
527 04f2 00C0 rjmp .L76
528 .L69:
529 04f4 E42F mov r30,r20
530 04f6 FF27 clr r31
531 04f8 8091 0000 lds r24,SioTmp
532 04fc E050 subi r30,lo8(-(RxdBuffer))
533 04fe F040 sbci r31,hi8(-(RxdBuffer))
534 0500 8083 st Z,r24
535 0502 4639 cpi r20,lo8(-106)
536 0504 00F0 brlo .L83
537 0506 1092 0000 sts UartState.2055,__zero_reg__
538 050a 00C0 rjmp .L82
539 .L78:
540 050c 1092 0000 sts UartState.2055,__zero_reg__
541 .L76:
542 /* epilogue: frame size=0 */
543 0510 FF91 pop r31
544 0512 EF91 pop r30
545 0514 DF91 pop r29
546 0516 CF91 pop r28
547 0518 BF91 pop r27
548 051a AF91 pop r26
549 051c 9F91 pop r25
550 051e 8F91 pop r24
551 0520 7F91 pop r23
552 0522 6F91 pop r22
553 0524 5F91 pop r21
554 0526 4F91 pop r20
555 0528 3F91 pop r19
556 052a 2F91 pop r18
557 052c 0F90 pop __tmp_reg__
558 052e 0FBE out __SREG__,__tmp_reg__
559 0530 0F90 pop __tmp_reg__
560 0532 1F90 pop __zero_reg__
561 0534 1895 reti
562 /* epilogue end (size=19) */
563 /* function __vector_20 size 495 (457) */
565 .global AddCRC
567 AddCRC:
568 /* prologue: frame size=0 */
569 /* prologue end (size=0) */
570 0536 DC01 movw r26,r24
571 0538 20E0 ldi r18,lo8(0)
572 053a 30E0 ldi r19,hi8(0)
573 053c 40E0 ldi r20,lo8(0)
574 053e 50E0 ldi r21,hi8(0)
575 0540 E0E0 ldi r30,lo8(SendeBuffer)
576 0542 F0E0 ldi r31,hi8(SendeBuffer)
577 0544 00C0 rjmp .L85
578 .L86:
579 0546 8191 ld r24,Z+
580 0548 280F add r18,r24
581 054a 311D adc r19,__zero_reg__
582 054c 4F5F subi r20,lo8(-(1))
583 054e 5F4F sbci r21,hi8(-(1))
584 .L85:
585 0550 4A17 cp r20,r26
586 0552 5B07 cpc r21,r27
587 0554 01F4 brne .L86
588 0556 3F70 andi r19,hi8(4095)
589 0558 C901 movw r24,r18
590 055a 66E0 ldi r22,6
591 055c 9695 1: lsr r25
592 055e 8795 ror r24
593 0560 6A95 dec r22
594 0562 01F4 brne 1b
595 0564 835C subi r24,lo8(-(61))
596 0566 FD01 movw r30,r26
597 0568 E050 subi r30,lo8(-(SendeBuffer))
598 056a F040 sbci r31,hi8(-(SendeBuffer))
599 056c 8083 st Z,r24
600 056e 1196 adiw r26,1
601 0570 2F73 andi r18,lo8(63)
602 0572 235C subi r18,lo8(-(61))
603 0574 FD01 movw r30,r26
604 0576 E050 subi r30,lo8(-(SendeBuffer))
605 0578 F040 sbci r31,hi8(-(SendeBuffer))
606 057a 2083 st Z,r18
607 057c A050 subi r26,lo8(-(SendeBuffer+1))
608 057e B040 sbci r27,hi8(-(SendeBuffer+1))
609 0580 8DE0 ldi r24,lo8(13)
610 0582 8C93 st X,r24
611 0584 1092 0000 sts UebertragungAbgeschlossen,__zero_reg__
612 0588 8091 0000 lds r24,SendeBuffer
613 058c 8093 C600 sts 198,r24
614 /* epilogue: frame size=0 */
615 0590 0895 ret
616 /* epilogue end (size=1) */
617 /* function AddCRC size 47 (46) */
619 .global SendOutData
621 SendOutData:
622 /* prologue: frame size=0 */
623 0592 EF92 push r14
624 0594 FF92 push r15
625 0596 0F93 push r16
626 0598 1F93 push r17
627 059a CF93 push r28
628 059c DF93 push r29
629 /* prologue end (size=6) */
630 059e 7A01 movw r14,r20
631 05a0 722F mov r23,r18
632 05a2 93E2 ldi r25,lo8(35)
633 05a4 9093 0000 sts SendeBuffer,r25
634 05a8 6093 0000 sts SendeBuffer+1,r22
635 05ac 8093 0000 sts SendeBuffer+2,r24
636 05b0 03E0 ldi r16,lo8(3)
637 05b2 10E0 ldi r17,hi8(3)
638 05b4 60E0 ldi r22,lo8(0)
639 05b6 A0E0 ldi r26,lo8(SendeBuffer+3)
640 05b8 B0E0 ldi r27,hi8(SendeBuffer+3)
641 05ba 00C0 rjmp .L90
642 .L91:
643 05bc F701 movw r30,r14
644 05be E60F add r30,r22
645 05c0 F11D adc r31,__zero_reg__
646 05c2 9081 ld r25,Z
647 05c4 6F5F subi r22,lo8(-(1))
648 05c6 7150 subi r23,lo8(-(-1))
649 05c8 01F4 brne .L92
650 05ca E0E0 ldi r30,lo8(0)
651 05cc 40E0 ldi r20,lo8(0)
652 05ce 00C0 rjmp .L94
653 .L92:
654 05d0 F701 movw r30,r14
655 05d2 E60F add r30,r22
656 05d4 F11D adc r31,__zero_reg__
657 05d6 4081 ld r20,Z
658 05d8 6F5F subi r22,lo8(-(1))
659 05da 7150 subi r23,lo8(-(-1))
660 05dc 01F4 brne .L95
661 05de E0E0 ldi r30,lo8(0)
662 05e0 00C0 rjmp .L94
663 .L95:
664 05e2 F701 movw r30,r14
665 05e4 E60F add r30,r22
666 05e6 F11D adc r31,__zero_reg__
667 05e8 E081 ld r30,Z
668 05ea 6F5F subi r22,lo8(-(1))
669 05ec 7150 subi r23,lo8(-(-1))
670 .L94:
671 05ee 892F mov r24,r25
672 05f0 8695 lsr r24
673 05f2 8695 lsr r24
674 05f4 835C subi r24,lo8(-(61))
675 05f6 8C93 st X,r24
676 05f8 5527 clr r21
677 05fa 892F mov r24,r25
678 05fc 9927 clr r25
679 05fe 8370 andi r24,lo8(3)
680 0600 9070 andi r25,hi8(3)
681 0602 24E0 ldi r18,4
682 0604 880F 1: lsl r24
683 0606 991F rol r25
684 0608 2A95 dec r18
685 060a 01F4 brne 1b
686 060c 9A01 movw r18,r20
687 060e 94E0 ldi r25,4
688 0610 3695 1: lsr r19
689 0612 2795 ror r18
690 0614 9A95 dec r25
691 0616 01F4 brne 1b
692 0618 822B or r24,r18
693 061a 835C subi r24,lo8(-(61))
694 061c ED01 movw r28,r26
695 061e 8983 std Y+1,r24
696 0620 4F70 andi r20,lo8(15)
697 0622 5070 andi r21,hi8(15)
698 0624 440F lsl r20
699 0626 551F rol r21
700 0628 440F lsl r20
701 062a 551F rol r21
702 062c 8E2F mov r24,r30
703 062e 8295 swap r24
704 0630 8695 lsr r24
705 0632 8695 lsr r24
706 0634 8370 andi r24,0x3
707 0636 842B or r24,r20
708 0638 835C subi r24,lo8(-(61))
709 063a 8A83 std Y+2,r24
710 063c EF73 andi r30,lo8(63)
711 063e E35C subi r30,lo8(-(61))
712 0640 EB83 std Y+3,r30
713 0642 0C5F subi r16,lo8(-(4))
714 0644 1F4F sbci r17,hi8(-(4))
715 0646 1496 adiw r26,4
716 .L90:
717 0648 7723 tst r23
718 064a 01F0 breq .+2
719 064c 00C0 rjmp .L91
720 064e C801 movw r24,r16
721 0650 0E94 0000 call AddCRC
722 /* epilogue: frame size=0 */
723 0654 DF91 pop r29
724 0656 CF91 pop r28
725 0658 1F91 pop r17
726 065a 0F91 pop r16
727 065c FF90 pop r15
728 065e EF90 pop r14
729 0660 0895 ret
730 /* epilogue end (size=7) */
731 /* function SendOutData size 106 (93) */
733 .global Decode64
735 Decode64:
736 /* prologue: frame size=0 */
737 0662 1F93 push r17
738 0664 CF93 push r28
739 0666 DF93 push r29
740 /* prologue end (size=3) */
741 0668 EC01 movw r28,r24
742 066a 70E0 ldi r23,lo8(0)
743 066c A22F mov r26,r18
744 066e BB27 clr r27
745 0670 1297 sbiw r26,2
746 0672 00C0 rjmp .L100
747 .L101:
748 0674 E42F mov r30,r20
749 0676 FF27 clr r31
750 0678 E050 subi r30,lo8(-(RxdBuffer))
751 067a F040 sbci r31,hi8(-(RxdBuffer))
752 067c 3081 ld r19,Z
753 067e 4F5F subi r20,lo8(-(1))
754 0680 E42F mov r30,r20
755 0682 FF27 clr r31
756 0684 E050 subi r30,lo8(-(RxdBuffer))
757 0686 F040 sbci r31,hi8(-(RxdBuffer))
758 0688 5081 ld r21,Z
759 068a 4F5F subi r20,lo8(-(1))
760 068c E42F mov r30,r20
761 068e FF27 clr r31
762 0690 E050 subi r30,lo8(-(RxdBuffer))
763 0692 F040 sbci r31,hi8(-(RxdBuffer))
764 0694 1081 ld r17,Z
765 0696 4F5F subi r20,lo8(-(1))
766 0698 E42F mov r30,r20
767 069a FF27 clr r31
768 069c E050 subi r30,lo8(-(RxdBuffer))
769 069e F040 sbci r31,hi8(-(RxdBuffer))
770 06a0 2081 ld r18,Z
771 06a2 4F5F subi r20,lo8(-(1))
772 06a4 842F mov r24,r20
773 06a6 9927 clr r25
774 06a8 A817 cp r26,r24
775 06aa B907 cpc r27,r25
776 06ac 04F0 brlt .L106
777 06ae 5D53 subi r21,lo8(-(-61))
778 06b0 FE01 movw r30,r28
779 06b2 E70F add r30,r23
780 06b4 F11D adc r31,__zero_reg__
781 06b6 3D53 subi r19,lo8(-(-61))
782 06b8 330F lsl r19
783 06ba 330F lsl r19
784 06bc 852F mov r24,r21
785 06be 8295 swap r24
786 06c0 8F70 andi r24,0x0f
787 06c2 382B or r19,r24
788 06c4 3083 st Z,r19
789 06c6 6130 cpi r22,lo8(1)
790 06c8 01F0 breq .L106
791 06ca 912F mov r25,r17
792 06cc 9D53 subi r25,lo8(-(-61))
793 06ce 7F5F subi r23,lo8(-(1))
794 06d0 FE01 movw r30,r28
795 06d2 E70F add r30,r23
796 06d4 F11D adc r31,__zero_reg__
797 06d6 7150 subi r23,lo8(-(-1))
798 06d8 5295 swap r21
799 06da 507F andi r21,0xf0
800 06dc 892F mov r24,r25
801 06de 8695 lsr r24
802 06e0 8695 lsr r24
803 06e2 582B or r21,r24
804 06e4 5083 st Z,r21
805 06e6 6350 subi r22,lo8(-(-3))
806 06e8 6F3F cpi r22,lo8(-1)
807 06ea 01F0 breq .L106
808 06ec 7E5F subi r23,lo8(-(2))
809 06ee FE01 movw r30,r28
810 06f0 E70F add r30,r23
811 06f2 F11D adc r31,__zero_reg__
812 06f4 9295 swap r25
813 06f6 990F lsl r25
814 06f8 990F lsl r25
815 06fa 907C andi r25,0xc0
816 06fc 2D53 subi r18,lo8(-(-61))
817 06fe 922B or r25,r18
818 0700 9083 st Z,r25
819 0702 7F5F subi r23,lo8(-(1))
820 .L100:
821 0704 6623 tst r22
822 0706 01F0 breq .+2
823 0708 00C0 rjmp .L101
824 .L106:
825 /* epilogue: frame size=0 */
826 070a DF91 pop r29
827 070c CF91 pop r28
828 070e 1F91 pop r17
829 0710 0895 ret
830 /* epilogue end (size=4) */
831 /* function Decode64 size 88 (81) */
833 .global uart_putchar
835 uart_putchar:
836 /* prologue: frame size=0 */
837 0712 1F93 push r17
838 /* prologue end (size=1) */
839 0714 182F mov r17,r24
840 0716 8A30 cpi r24,lo8(10)
841 0718 01F4 brne .L112
842 071a 8DE0 ldi r24,lo8(13)
843 071c 0E94 0000 call uart_putchar
844 .L112:
845 0720 8091 C000 lds r24,192
846 0724 85FF sbrs r24,5
847 0726 00C0 rjmp .L112
848 0728 1093 C600 sts 198,r17
849 072c 80E0 ldi r24,lo8(0)
850 072e 90E0 ldi r25,hi8(0)
851 /* epilogue: frame size=0 */
852 0730 1F91 pop r17
853 0732 0895 ret
854 /* epilogue end (size=2) */
855 /* function uart_putchar size 17 (14) */
857 .global WriteProgramData
859 WriteProgramData:
860 /* prologue: frame size=0 */
861 /* prologue end (size=0) */
862 /* epilogue: frame size=0 */
863 0734 0895 ret
864 /* epilogue end (size=1) */
865 /* function WriteProgramData size 1 (0) */
867 .global UART_Init
869 UART_Init:
870 /* prologue: frame size=0 */
871 /* prologue end (size=0) */
872 0736 E1EC ldi r30,lo8(193)
873 0738 F0E0 ldi r31,hi8(193)
874 073a 88E1 ldi r24,lo8(24)
875 073c 8083 st Z,r24
876 073e A0EC ldi r26,lo8(192)
877 0740 B0E0 ldi r27,hi8(192)
878 0742 8C91 ld r24,X
879 0744 8260 ori r24,lo8(2)
880 0746 8C93 st X,r24
881 0748 8081 ld r24,Z
882 074a 8068 ori r24,lo8(-128)
883 074c 8083 st Z,r24
884 074e 8081 ld r24,Z
885 0750 8064 ori r24,lo8(64)
886 0752 8083 st Z,r24
887 0754 8AE2 ldi r24,lo8(42)
888 0756 8093 C400 sts 196,r24
889 075a 88EC ldi r24,lo8(200)
890 075c 90E0 ldi r25,hi8(200)
891 075e 0E94 0000 call SetDelay
892 0762 9093 0000 sts (Debug_Timer)+1,r25
893 0766 8093 0000 sts Debug_Timer,r24
894 076a 1092 0000 sts gpsState,__zero_reg__
895 /* epilogue: frame size=0 */
896 076e 0895 ret
897 /* epilogue end (size=1) */
898 /* function UART_Init size 29 (28) */
900 .global DatenUebertragung
902 DatenUebertragung:
903 /* prologue: frame size=0 */
904 /* prologue end (size=0) */
905 0770 8091 0000 lds r24,UebertragungAbgeschlossen
906 0774 8823 tst r24
907 0776 01F4 brne .+2
908 0778 00C0 rjmp .L136
909 077a 8091 0000 lds r24,DebugGetAnforderung
910 077e 8823 tst r24
911 0780 01F0 breq .L122
912 0782 8091 0000 lds r24,UebertragungAbgeschlossen
913 0786 8823 tst r24
914 0788 01F0 breq .L122
915 078a 2BE0 ldi r18,lo8(11)
916 078c 40E0 ldi r20,lo8(DebugIn)
917 078e 50E0 ldi r21,hi8(DebugIn)
918 0790 6091 0000 lds r22,MeineSlaveAdresse
919 0794 87E4 ldi r24,lo8(71)
920 0796 0E94 0000 call SendOutData
921 079a 1092 0000 sts DebugGetAnforderung,__zero_reg__
922 .L122:
923 079e 8091 0000 lds r24,Debug_Timer
924 07a2 9091 0000 lds r25,(Debug_Timer)+1
925 07a6 0E94 0000 call CheckDelay
926 07aa 8823 tst r24
927 07ac 01F4 brne .L125
928 07ae 8091 0000 lds r24,DebugDataAnforderung
929 07b2 8823 tst r24
930 07b4 01F0 breq .L127
931 .L125:
932 07b6 8091 0000 lds r24,UebertragungAbgeschlossen
933 07ba 8823 tst r24
934 07bc 01F0 breq .L127
935 07be 22E3 ldi r18,lo8(50)
936 07c0 40E0 ldi r20,lo8(DebugOut)
937 07c2 50E0 ldi r21,hi8(DebugOut)
938 07c4 6091 0000 lds r22,MeineSlaveAdresse
939 07c8 84E4 ldi r24,lo8(68)
940 07ca 0E94 0000 call SendOutData
941 07ce 1092 0000 sts DebugDataAnforderung,__zero_reg__
942 07d2 8AEF ldi r24,lo8(250)
943 07d4 90E0 ldi r25,hi8(250)
944 07d6 0E94 0000 call SetDelay
945 07da 9093 0000 sts (Debug_Timer)+1,r25
946 07de 8093 0000 sts Debug_Timer,r24
947 .L127:
948 07e2 8091 0000 lds r24,DebugDisplayAnforderung
949 07e6 8823 tst r24
950 07e8 01F0 breq .L129
951 07ea 8091 0000 lds r24,UebertragungAbgeschlossen
952 07ee 8823 tst r24
953 07f0 01F0 breq .L129
954 07f2 0E94 0000 call Menu
955 07f6 1092 0000 sts DebugDisplayAnforderung,__zero_reg__
956 07fa 8091 0000 lds r24,dis_zeile.2372
957 07fe 8F5F subi r24,lo8(-(1))
958 0800 8093 0000 sts dis_zeile.2372,r24
959 0804 8430 cpi r24,lo8(4)
960 0806 01F4 brne .L132
961 0808 1092 0000 sts dis_zeile.2372,__zero_reg__
962 .L132:
963 080c 8091 0000 lds r24,dis_zeile.2372
964 0810 44E1 ldi r20,lo8(20)
965 0812 849F mul r24,r20
966 0814 A001 movw r20,r0
967 0816 1124 clr r1
968 0818 4050 subi r20,lo8(-(DisplayBuff))
969 081a 5040 sbci r21,hi8(-(DisplayBuff))
970 081c 24E1 ldi r18,lo8(20)
971 081e 60E0 ldi r22,lo8(0)
972 0820 805D subi r24,lo8(-(48))
973 0822 0E94 0000 call SendOutData
974 .L129:
975 0826 8091 0000 lds r24,GetVersionAnforderung
976 082a 8823 tst r24
977 082c 01F0 breq .L136
978 082e 8091 0000 lds r24,UebertragungAbgeschlossen
979 0832 8823 tst r24
980 0834 01F0 breq .L136
981 0836 2AE0 ldi r18,lo8(10)
982 0838 40E0 ldi r20,lo8(VersionInfo)
983 083a 50E0 ldi r21,hi8(VersionInfo)
984 083c 6091 0000 lds r22,MeineSlaveAdresse
985 0840 86E5 ldi r24,lo8(86)
986 0842 0E94 0000 call SendOutData
987 0846 1092 0000 sts GetVersionAnforderung,__zero_reg__
988 .L136:
989 084a 0895 ret
990 /* epilogue: frame size=0 */
991 /* epilogue: noreturn */
992 /* epilogue end (size=0) */
993 /* function DatenUebertragung size 110 (110) */
995 .global BearbeiteRxDaten
997 BearbeiteRxDaten:
998 /* prologue: frame size=2 */
999 084c 1F93 push r17
1000 084e CF93 push r28
1001 0850 DF93 push r29
1002 0852 CDB7 in r28,__SP_L__
1003 0854 DEB7 in r29,__SP_H__
1004 0856 2297 sbiw r28,2
1005 0858 0FB6 in __tmp_reg__,__SREG__
1006 085a F894 cli
1007 085c DEBF out __SP_H__,r29
1008 085e 0FBE out __SREG__,__tmp_reg__
1009 0860 CDBF out __SP_L__,r28
1010 /* prologue end (size=11) */
1011 0862 8091 0000 lds r24,NeuerDatensatzEmpfangen
1012 0866 8823 tst r24
1013 0868 01F4 brne .+2
1014 086a 00C0 rjmp .L153
1015 086c 8FEF ldi r24,lo8(-1)
1016 086e 8093 0000 sts PcZugriff,r24
1017 0872 8091 0000 lds r24,RxdBuffer+2
1018 0876 8137 cpi r24,lo8(113)
1019 0878 00F4 brsh .L148
1020 087a 8C36 cpi r24,lo8(108)
1021 087c 00F0 brlo .+2
1022 087e 00C0 rjmp .L144
1023 0880 8736 cpi r24,lo8(103)
1024 0882 01F4 brne .+2
1025 0884 00C0 rjmp .L142
1026 0886 8836 cpi r24,lo8(104)
1027 0888 01F0 breq .L143
1028 088a 8336 cpi r24,lo8(99)
1029 088c 01F0 breq .+2
1030 088e 00C0 rjmp .L140
1031 0890 00C0 rjmp .L141
1032 .L148:
1033 0892 8437 cpi r24,lo8(116)
1034 0894 01F0 breq .L146
1035 0896 8637 cpi r24,lo8(118)
1036 0898 01F0 breq .L147
1037 089a 8137 cpi r24,lo8(113)
1038 089c 01F0 breq .+2
1039 089e 00C0 rjmp .L140
1040 08a0 00C0 rjmp .L145
1041 .L141:
1042 08a2 2091 0000 lds r18,AnzahlEmpfangsBytes
1043 08a6 43E0 ldi r20,lo8(3)
1044 08a8 6BE0 ldi r22,lo8(11)
1045 08aa 80E0 ldi r24,lo8(DebugIn)
1046 08ac 90E0 ldi r25,hi8(DebugIn)
1047 08ae 0E94 0000 call Decode64
1048 08b2 8091 0000 lds r24,RemoteTasten
1049 08b6 9091 0000 lds r25,DebugIn+2
1050 08ba 892B or r24,r25
1051 08bc 8093 0000 sts RemoteTasten,r24
1052 08c0 81E0 ldi r24,lo8(1)
1053 08c2 8093 0000 sts DebugDataAnforderung,r24
1054 08c6 00C0 rjmp .L140
1055 .L143:
1056 08c8 2091 0000 lds r18,AnzahlEmpfangsBytes
1057 08cc 43E0 ldi r20,lo8(3)
1058 08ce 62E0 ldi r22,lo8(2)
1059 08d0 CE01 movw r24,r28
1060 08d2 0196 adiw r24,1
1061 08d4 0E94 0000 call Decode64
1062 08d8 8091 0000 lds r24,RemoteTasten
1063 08dc 9981 ldd r25,Y+1
1064 08de 892B or r24,r25
1065 08e0 8093 0000 sts RemoteTasten,r24
1066 08e4 81E0 ldi r24,lo8(1)
1067 08e6 8093 0000 sts DebugDisplayAnforderung,r24
1068 08ea 00C0 rjmp .L140
1069 .L146:
1070 08ec 2091 0000 lds r18,AnzahlEmpfangsBytes
1071 08f0 43E0 ldi r20,lo8(3)
1072 08f2 64E0 ldi r22,lo8(4)
1073 08f4 80E0 ldi r24,lo8(MotorTest)
1074 08f6 90E0 ldi r25,hi8(MotorTest)
1075 08f8 0E94 0000 call Decode64
1076 08fc 00C0 rjmp .L140
1077 .L147:
1078 08fe 81E0 ldi r24,lo8(1)
1079 0900 8093 0000 sts GetVersionAnforderung,r24
1080 0904 00C0 rjmp .L140
1081 .L142:
1082 0906 81E0 ldi r24,lo8(1)
1083 0908 8093 0000 sts DebugGetAnforderung,r24
1084 090c 00C0 rjmp .L140
1085 .L145:
1086 090e 2091 0000 lds r18,AnzahlEmpfangsBytes
1087 0912 43E0 ldi r20,lo8(3)
1088 0914 62E0 ldi r22,lo8(2)
1089 0916 CE01 movw r24,r28
1090 0918 0196 adiw r24,1
1091 091a 0E94 0000 call Decode64
1092 091e 8981 ldd r24,Y+1
1093 0920 8F3F cpi r24,lo8(-1)
1094 0922 01F0 breq .L149
1095 0924 8630 cpi r24,lo8(6)
1096 0926 00F0 brlo .L151
1097 0928 85E0 ldi r24,lo8(5)
1098 092a 8983 std Y+1,r24
1099 .L151:
1100 092c 4AE3 ldi r20,lo8(58)
1101 092e 60E0 ldi r22,lo8(EE_Parameter)
1102 0930 70E0 ldi r23,hi8(EE_Parameter)
1103 0932 8981 ldd r24,Y+1
1104 0934 0E94 0000 call ReadParameterSet
1105 0938 8981 ldd r24,Y+1
1106 093a 2AE3 ldi r18,lo8(58)
1107 093c 40E0 ldi r20,lo8(EE_Parameter)
1108 093e 50E0 ldi r21,hi8(EE_Parameter)
1109 0940 6091 0000 lds r22,MeineSlaveAdresse
1110 0944 00C0 rjmp .L154
1111 .L149:
1112 0946 1091 0000 lds r17,MeineSlaveAdresse
1113 094a 0E94 0000 call GetActiveParamSetNumber
1114 094e 2AE3 ldi r18,lo8(58)
1115 0950 40E0 ldi r20,lo8(EE_Parameter)
1116 0952 50E0 ldi r21,hi8(EE_Parameter)
1117 0954 612F mov r22,r17
1118 .L154:
1119 0956 855B subi r24,lo8(-(75))
1120 0958 0E94 0000 call SendOutData
1121 095c 00C0 rjmp .L140
1122 .L144:
1123 095e 2091 0000 lds r18,AnzahlEmpfangsBytes
1124 0962 43E0 ldi r20,lo8(3)
1125 0964 6AE3 ldi r22,lo8(58)
1126 0966 80E0 ldi r24,lo8(EE_Parameter)
1127 0968 90E0 ldi r25,hi8(EE_Parameter)
1128 096a 0E94 0000 call Decode64
1129 096e 8091 0000 lds r24,RxdBuffer+2
1130 0972 4AE3 ldi r20,lo8(58)
1131 0974 60E0 ldi r22,lo8(EE_Parameter)
1132 0976 70E0 ldi r23,hi8(EE_Parameter)
1133 0978 8B56 subi r24,lo8(-(-107))
1134 097a 0E94 0000 call WriteParameterSet
1135 097e 8091 0000 lds r24,RxdBuffer+2
1136 0982 8B56 subi r24,lo8(-(-107))
1137 0984 A0E0 ldi r26,lo8(EEPromArray+2)
1138 0986 B0E0 ldi r27,hi8(EEPromArray+2)
1139 /* #APP */
1140 0988 082E mov __tmp_reg__,r24
1141 098a 0E94 0000 call __eeprom_write_byte_1F2021
1142 /* #NOAPP */
1143 098e 0E94 0000 call GetActiveParamSetNumber
1144 0992 9927 clr r25
1145 0994 0E94 0000 call Piep
1146 .L140:
1147 0998 1092 0000 sts NeuerDatensatzEmpfangen,__zero_reg__
1148 .L153:
1149 /* epilogue: frame size=2 */
1150 099c 2296 adiw r28,2
1151 099e 0FB6 in __tmp_reg__,__SREG__
1152 09a0 F894 cli
1153 09a2 DEBF out __SP_H__,r29
1154 09a4 0FBE out __SREG__,__tmp_reg__
1155 09a6 CDBF out __SP_L__,r28
1156 09a8 DF91 pop r29
1157 09aa CF91 pop r28
1158 09ac 1F91 pop r17
1159 09ae 0895 ret
1160 /* epilogue end (size=10) */
1161 /* function BearbeiteRxDaten size 179 (158) */
1163 .global DebugGetAnforderung
1164 .global DebugGetAnforderung
1165 .section .bss
1168 DebugGetAnforderung:
1169 0000 00 .skip 1,0
1170 .global DebugDisplayAnforderung
1171 .global DebugDisplayAnforderung
1174 DebugDisplayAnforderung:
1175 0001 00 .skip 1,0
1176 .global DebugDataAnforderung
1177 .global DebugDataAnforderung
1180 DebugDataAnforderung:
1181 0002 00 .skip 1,0
1182 .global GetVersionAnforderung
1183 .global GetVersionAnforderung
1186 GetVersionAnforderung:
1187 0003 00 .skip 1,0
1188 .global SioTmp
1189 .global SioTmp
1192 SioTmp:
1193 0004 00 .skip 1,0
1194 .global NeuerDatensatzEmpfangen
1195 .global NeuerDatensatzEmpfangen
1198 NeuerDatensatzEmpfangen:
1199 0005 00 .skip 1,0
1200 .global NeueKoordinateEmpfangen
1201 .global NeueKoordinateEmpfangen
1204 NeueKoordinateEmpfangen:
1205 0006 00 .skip 1,0
1206 .global UebertragungAbgeschlossen
1207 .data
1210 UebertragungAbgeschlossen:
1211 0000 01 .byte 1
1212 .global CntCrcError
1213 .global CntCrcError
1214 .section .bss
1217 CntCrcError:
1218 0007 00 .skip 1,0
1219 .global AnzahlEmpfangsBytes
1220 .global AnzahlEmpfangsBytes
1223 AnzahlEmpfangsBytes:
1224 0008 00 .skip 1,0
1225 .global PC_DebugTimeout
1226 .global PC_DebugTimeout
1229 PC_DebugTimeout:
1230 0009 00 .skip 1,0
1231 .global PcZugriff
1232 .data
1235 PcZugriff:
1236 0001 64 .byte 100
1237 .global MotorTest
1238 .global MotorTest
1239 .section .bss
1242 MotorTest:
1243 000a 0000 0000 .skip 4,0
1244 .lcomm dis_zeile.2372,1
1245 .lcomm UartState.2055,1
1246 .lcomm buf_ptr.2054,1
1247 .lcomm crc2.2053,1
1248 .lcomm crc1.2052,1
1249 .lcomm crc.2051,2
1250 .lcomm ptr.2021,2
1251 .lcomm gpsState,1
1252 .comm DiffNick,2,1
1253 .comm DiffRoll,2,1
1254 .comm SenderOkay,1,1
1255 .comm CosinusNickWinkel,1,1
1256 .comm CosinusRollWinkel,1,1
1257 .comm durchschnitt_northing,4,1
1258 .comm durchschnitt_easting,4,1
1259 .comm gps_p,2,1
1260 .comm gps_d,2,1
1261 .comm skal,2,1
1262 .comm gps_gethome,2,1
1263 .comm SendeBuffer,150,1
1264 .comm RxdBuffer,150,1
1265 .comm MeineSlaveAdresse,1,1
1266 .comm Debug_Timer,2,1
1267 .comm DebugOut,50,1
1268 .comm actualPos,26,1
1269 .comm DebugIn,11,1
1270 .comm VersionInfo,10,1
1271 .comm RemoteTasten,1,1
1272 .comm Timeout,1,1
1273 .comm IntegralNick,4,1
1274 .comm IntegralNick2,4,1
1275 .comm IntegralRoll,4,1
1276 .comm IntegralRoll2,4,1
1277 .comm Mess_IntegralNick,4,1
1278 .comm Mess_IntegralNick2,4,1
1279 .comm Mess_IntegralRoll,4,1
1280 .comm Mess_IntegralRoll2,4,1
1281 .comm Integral_Gier,4,1
1282 .comm Mess_Integral_Gier,4,1
1283 .comm h,1,1
1284 .comm m,1,1
1285 .comm s,1,1
1286 .comm Motor_Vorne,1,1
1287 .comm Motor_Hinten,1,1
1288 .comm Motor_Rechts,1,1
1289 .comm Motor_Links,1,1
1290 .comm Count,1,1
1291 .comm MotorWert,5,1
1292 .comm StickNick,2,1
1293 .comm StickRoll,2,1
1294 .comm StickGier,2,1
1295 .comm MotorenEin,1,1
1296 .comm NMEABuffer,150,1
1297 .comm navStatus,17,1
1298 .comm navPosECEF,21,1
1299 .comm navVelECEF,21,1
1300 .comm ubxP,2,1
1301 .comm ubxEp,2,1
1302 .comm ubxSp,2,1
1303 .comm CK_A,1,1
1304 .comm CK_B,1,1
1305 .comm msgLen,2,1
1306 .comm msgID,1,1
1307 .comm ignorePacket,1,1
1308 .comm rollOffset,4,1
1309 .comm nickOffset,4,1
1310 /* File "uart.c": code 1250 = 0x04e2 (1147), prologues 49, epilogues 54 */
DEFINED SYMBOLS
*ABS*:00000000 uart.c
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccRsoX2g.s:3 *ABS*:0000003f __SREG__
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccRsoX2g.s:4 *ABS*:0000003e __SP_H__
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccRsoX2g.s:5 *ABS*:0000003d __SP_L__
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccRsoX2g.s:6 *ABS*:00000000 __tmp_reg__
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccRsoX2g.s:7 *ABS*:00000001 __zero_reg__
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccRsoX2g.s:13 .text:00000000 __vector_22
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccRsoX2g.s:1210 .data:00000000 UebertragungAbgeschlossen
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccRsoX2g.s:1249 .bss:00000015 ptr.2021
*COM*:00000096 SendeBuffer
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccRsoX2g.s:69 .text:0000006c GPSscanData
*COM*:00000015 navPosECEF
*COM*:0000001a actualPos
*COM*:00000011 navStatus
*COM*:00000015 navVelECEF
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccRsoX2g.s:149 .text:00000162 __vector_20
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccRsoX2g.s:1192 .bss:00000004 SioTmp
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccRsoX2g.s:1250 .bss:00000017 gpsState
*COM*:00000001 msgID
*COM*:00000001 CK_A
*COM*:00000001 CK_B
*COM*:00000002 ubxP
*COM*:00000002 ubxEp
*COM*:00000002 ubxSp
*COM*:00000001 ignorePacket
*COM*:00000002 msgLen
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccRsoX2g.s:1245 .bss:00000010 buf_ptr.2054
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccRsoX2g.s:1244 .bss:0000000f UartState.2055
*COM*:00000096 RxdBuffer
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccRsoX2g.s:1248 .bss:00000013 crc.2051
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccRsoX2g.s:1247 .bss:00000012 crc1.2052
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccRsoX2g.s:1246 .bss:00000011 crc2.2053
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccRsoX2g.s:1217 .bss:00000007 CntCrcError
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccRsoX2g.s:1198 .bss:00000005 NeuerDatensatzEmpfangen
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccRsoX2g.s:1223 .bss:00000008 AnzahlEmpfangsBytes
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccRsoX2g.s:567 .text:00000536 AddCRC
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccRsoX2g.s:621 .text:00000592 SendOutData
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccRsoX2g.s:735 .text:00000662 Decode64
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccRsoX2g.s:835 .text:00000712 uart_putchar
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccRsoX2g.s:859 .text:00000734 WriteProgramData
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccRsoX2g.s:869 .text:00000736 UART_Init
*COM*:00000002 Debug_Timer
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccRsoX2g.s:902 .text:00000770 DatenUebertragung
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccRsoX2g.s:1168 .bss:00000000 DebugGetAnforderung
*COM*:0000000b DebugIn
*COM*:00000001 MeineSlaveAdresse
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccRsoX2g.s:1180 .bss:00000002 DebugDataAnforderung
*COM*:00000032 DebugOut
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccRsoX2g.s:1174 .bss:00000001 DebugDisplayAnforderung
.bss:0000000e dis_zeile.2372
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccRsoX2g.s:1186 .bss:00000003 GetVersionAnforderung
*COM*:0000000a VersionInfo
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccRsoX2g.s:997 .text:0000084c BearbeiteRxDaten
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccRsoX2g.s:1235 .data:00000001 PcZugriff
*COM*:00000001 RemoteTasten
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccRsoX2g.s:1242 .bss:0000000a MotorTest
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccRsoX2g.s:1204 .bss:00000006 NeueKoordinateEmpfangen
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccRsoX2g.s:1229 .bss:00000009 PC_DebugTimeout
*COM*:00000002 DiffNick
*COM*:00000002 DiffRoll
*COM*:00000001 SenderOkay
*COM*:00000001 CosinusNickWinkel
*COM*:00000001 CosinusRollWinkel
*COM*:00000004 durchschnitt_northing
*COM*:00000004 durchschnitt_easting
*COM*:00000002 gps_p
*COM*:00000002 gps_d
*COM*:00000002 skal
*COM*:00000002 gps_gethome
*COM*:00000001 Timeout
*COM*:00000004 IntegralNick
*COM*:00000004 IntegralNick2
*COM*:00000004 IntegralRoll
*COM*:00000004 IntegralRoll2
*COM*:00000004 Mess_IntegralNick
*COM*:00000004 Mess_IntegralNick2
*COM*:00000004 Mess_IntegralRoll
*COM*:00000004 Mess_IntegralRoll2
*COM*:00000004 Integral_Gier
*COM*:00000004 Mess_Integral_Gier
*COM*:00000001 h
*COM*:00000001 m
*COM*:00000001 s
*COM*:00000001 Motor_Vorne
*COM*:00000001 Motor_Hinten
*COM*:00000001 Motor_Rechts
*COM*:00000001 Motor_Links
*COM*:00000001 Count
*COM*:00000005 MotorWert
*COM*:00000002 StickNick
*COM*:00000002 StickRoll
*COM*:00000002 StickGier
*COM*:00000001 MotorenEin
*COM*:00000096 NMEABuffer
*COM*:00000004 rollOffset
*COM*:00000004 nickOffset
UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
SetDelay
CheckDelay
Menu
DisplayBuff
EE_Parameter
ReadParameterSet
GetActiveParamSetNumber
WriteParameterSet
EEPromArray
__eeprom_write_byte_1F2021
Piep