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