Subversion Repositories FlightCtrl

Compare Revisions

Ignore whitespace Rev 1378 → Rev 1379

/branches/spi.lst
0,0 → 1,950
1 .file "spi.c"
2 __SREG__ = 0x3f
3 __SP_H__ = 0x3e
4 __SP_L__ = 0x3d
5 __CCP__ = 0x34
6 __tmp_reg__ = 0
7 __zero_reg__ = 1
8 .text
9 .global SPI_MasterInit
11 SPI_MasterInit:
12 /* prologue: function */
13 /* frame size = 0 */
14 0000 84B1 in r24,36-32
15 0002 806A ori r24,lo8(-96)
16 0004 84B9 out 36-32,r24
17 0006 3D9A sbi 39-32,5
18 0008 82E5 ldi r24,lo8(82)
19 000a 8CBD out 76-32,r24
20 000c 1DBC out 77-32,__zero_reg__
21 000e 459A sbi 40-32,5
22 0010 81E0 ldi r24,lo8(1)
23 0012 8093 0000 sts SPITransferCompleted,r24
24 0016 8AEA ldi r24,lo8(-86)
25 0018 8093 0000 sts ToNaviCtrl,r24
26 001c 83E8 ldi r24,lo8(-125)
27 001e 8093 0000 sts ToNaviCtrl+1,r24
28 0022 9AE0 ldi r25,lo8(10)
29 0024 9093 0000 sts ToNaviCtrl+2,r25
30 0028 1092 0000 sts (ToNaviCtrl+3)+1,__zero_reg__
31 002c 1092 0000 sts ToNaviCtrl+3,__zero_reg__
32 0030 1092 0000 sts (ToNaviCtrl+5)+1,__zero_reg__
33 0034 1092 0000 sts ToNaviCtrl+5,__zero_reg__
34 0038 1092 0000 sts FromNaviCtrl_Value+3,__zero_reg__
35 003c 1092 0000 sts SPI_RxDataValid,__zero_reg__
36 0040 1092 0000 sts SPI_VersionInfo,__zero_reg__
37 0044 8CE4 ldi r24,lo8(76)
38 0046 8093 0000 sts SPI_VersionInfo+1,r24
39 004a 86E0 ldi r24,lo8(6)
40 004c 8093 0000 sts SPI_VersionInfo+2,r24
41 0050 9093 0000 sts SPI_VersionInfo+3,r25
42 /* epilogue start */
43 0054 0895 ret
45 .global UpdateSPI_Buffer
47 UpdateSPI_Buffer:
48 0056 EF92 push r14
49 0058 FF92 push r15
50 005a 0F93 push r16
51 005c 1F93 push r17
52 /* prologue: function */
53 /* frame size = 0 */
54 005e E090 0000 lds r14,EE_Parameter+23
55 0062 FF24 clr r15
56 0064 EE0C lsl r14
57 0066 FF1C rol r15
58 0068 EE0C lsl r14
59 006a FF1C rol r15
60 006c 0027 clr r16
61 006e F7FC sbrc r15,7
62 0070 0095 com r16
63 0072 102F mov r17,r16
64 0074 6091 0000 lds r22,IntegralNick
65 0078 7091 0000 lds r23,(IntegralNick)+1
66 007c 8091 0000 lds r24,(IntegralNick)+2
67 0080 9091 0000 lds r25,(IntegralNick)+3
68 0084 A801 movw r20,r16
69 0086 9701 movw r18,r14
70 0088 0E94 0000 call __divmodsi4
71 008c 3093 0000 sts (ToNaviCtrl+3)+1,r19
72 0090 2093 0000 sts ToNaviCtrl+3,r18
73 0094 6091 0000 lds r22,IntegralRoll
74 0098 7091 0000 lds r23,(IntegralRoll)+1
75 009c 8091 0000 lds r24,(IntegralRoll)+2
76 00a0 9091 0000 lds r25,(IntegralRoll)+3
77 00a4 A801 movw r20,r16
78 00a6 9701 movw r18,r14
79 00a8 0E94 0000 call __divmodsi4
80 00ac 3093 0000 sts (ToNaviCtrl+5)+1,r19
81 00b0 2093 0000 sts ToNaviCtrl+5,r18
82 00b4 6091 0000 lds r22,ErsatzKompass
83 00b8 7091 0000 lds r23,(ErsatzKompass)+1
84 00bc 8091 0000 lds r24,(ErsatzKompass)+2
85 00c0 9091 0000 lds r25,(ErsatzKompass)+3
86 00c4 2AE0 ldi r18,lo8(10)
87 00c6 30E0 ldi r19,hi8(10)
88 00c8 40E0 ldi r20,hlo8(10)
89 00ca 50E0 ldi r21,hhi8(10)
90 00cc 0E94 0000 call __mulsi3
91 00d0 2091 0000 lds r18,GIER_GRAD_FAKTOR
92 00d4 3091 0000 lds r19,(GIER_GRAD_FAKTOR)+1
93 00d8 4091 0000 lds r20,(GIER_GRAD_FAKTOR)+2
94 00dc 5091 0000 lds r21,(GIER_GRAD_FAKTOR)+3
95 00e0 0E94 0000 call __divmodsi4
96 00e4 3093 0000 sts (ToNaviCtrl+11)+1,r19
97 00e8 2093 0000 sts ToNaviCtrl+11,r18
98 00ec E091 0000 lds r30,NaviCntAcc
99 00f0 F091 0000 lds r31,(NaviCntAcc)+1
100 00f4 8091 0000 lds r24,NaviAccNick
101 00f8 9091 0000 lds r25,(NaviAccNick)+1
102 00fc BF01 movw r22,r30
103 00fe 0E94 0000 call __divmodhi4
104 0102 CB01 movw r24,r22
105 0104 880F lsl r24
106 0106 991F rol r25
107 0108 860F add r24,r22
108 010a 971F adc r25,r23
109 010c 9C01 movw r18,r24
110 010e 220F lsl r18
111 0110 331F rol r19
112 0112 96FD sbrc r25,6
113 0114 00C0 rjmp .L35
114 .L4:
115 0116 3595 asr r19
116 0118 2795 ror r18
117 011a 3595 asr r19
118 011c 2795 ror r18
119 011e 3093 0000 sts (ToNaviCtrl+7)+1,r19
120 0122 2093 0000 sts ToNaviCtrl+7,r18
121 0126 8091 0000 lds r24,NaviAccRoll
122 012a 9091 0000 lds r25,(NaviAccRoll)+1
123 012e BF01 movw r22,r30
124 0130 0E94 0000 call __divmodhi4
125 0134 CB01 movw r24,r22
126 0136 880F lsl r24
127 0138 991F rol r25
128 013a 860F add r24,r22
129 013c 971F adc r25,r23
130 013e 9C01 movw r18,r24
131 0140 220F lsl r18
132 0142 331F rol r19
133 0144 96FD sbrc r25,6
134 0146 00C0 rjmp .L36
135 .L5:
136 0148 3595 asr r19
137 014a 2795 ror r18
138 014c 3595 asr r19
139 014e 2795 ror r18
140 0150 3093 0000 sts (ToNaviCtrl+9)+1,r19
141 0154 2093 0000 sts ToNaviCtrl+9,r18
142 0158 1092 0000 sts (NaviCntAcc)+1,__zero_reg__
143 015c 1092 0000 sts NaviCntAcc,__zero_reg__
144 0160 1092 0000 sts (NaviAccNick)+1,__zero_reg__
145 0164 1092 0000 sts NaviAccNick,__zero_reg__
146 0168 1092 0000 sts (NaviAccRoll)+1,__zero_reg__
147 016c 1092 0000 sts NaviAccRoll,__zero_reg__
148 0170 8091 0000 lds r24,ToNaviCtrl+2
149 0174 8C30 cpi r24,lo8(12)
150 0176 01F4 brne .+2
151 0178 00C0 rjmp .L9
152 017a 8D30 cpi r24,lo8(13)
153 017c 00F4 brsh .+2
154 017e 00C0 rjmp .L37
155 0180 8E30 cpi r24,lo8(14)
156 0182 01F4 brne .+2
157 0184 00C0 rjmp .L11
158 0186 8E30 cpi r24,lo8(14)
159 0188 00F0 brlo .+2
160 018a 00C0 rjmp .L38
161 018c 8091 0000 lds r24,EE_Parameter+69
162 0190 8093 0000 sts ToNaviCtrl+19,r24
163 0194 8091 0000 lds r24,EE_Parameter+70
164 0198 8093 0000 sts ToNaviCtrl+20,r24
165 019c 8091 0000 lds r24,EE_Parameter+71
166 01a0 8093 0000 sts ToNaviCtrl+21,r24
167 01a4 8091 0000 lds r24,EE_Parameter+72
168 01a8 8093 0000 sts ToNaviCtrl+22,r24
169 01ac 8091 0000 lds r24,EE_Parameter+73
170 01b0 8093 0000 sts ToNaviCtrl+23,r24
171 01b4 8091 0000 lds r24,EE_Parameter+77
172 01b8 8093 0000 sts ToNaviCtrl+24,r24
173 01bc 8091 0000 lds r24,EE_Parameter+78
174 01c0 8093 0000 sts ToNaviCtrl+25,r24
175 01c4 8091 0000 lds r24,EE_Parameter+79
176 01c8 8093 0000 sts ToNaviCtrl+26,r24
177 01cc 8091 0000 lds r24,EE_Parameter+82
178 01d0 8093 0000 sts ToNaviCtrl+27,r24
179 01d4 8091 0000 lds r24,EE_Parameter+80
180 01d8 8093 0000 sts ToNaviCtrl+28,r24
181 01dc 8091 0000 lds r24,EE_Parameter+81
182 01e0 8093 0000 sts ToNaviCtrl+29,r24
183 01e4 8091 0000 lds r24,EE_Parameter+83
184 01e8 8093 0000 sts ToNaviCtrl+30,r24
185 .L6:
186 01ec 8091 0000 lds r24,SPI_RxDataValid
187 01f0 8823 tst r24
188 01f2 01F4 brne .+2
189 01f4 00C0 rjmp .L26
190 .L42:
191 01f6 2091 0000 lds r18,FromNaviCtrl+1
192 01fa 3091 0000 lds r19,(FromNaviCtrl+1)+1
193 01fe C901 movw r24,r18
194 0200 8150 subi r24,lo8(-(511))
195 0202 9E4F sbci r25,hi8(-(511))
196 0204 8F5F subi r24,lo8(1023)
197 0206 9340 sbci r25,hi8(1023)
198 0208 00F4 brsh .L27
199 020a 4091 0000 lds r20,FromNaviCtrl+3
200 020e 5091 0000 lds r21,(FromNaviCtrl+3)+1
201 0212 CA01 movw r24,r20
202 0214 8150 subi r24,lo8(-(511))
203 0216 9E4F sbci r25,hi8(-(511))
204 0218 8F5F subi r24,lo8(1023)
205 021a 9340 sbci r25,hi8(1023)
206 021c 00F4 brsh .+2
207 021e 00C0 rjmp .L39
208 .L27:
209 0220 8091 0000 lds r24,FromNaviCtrl+7
210 0224 9091 0000 lds r25,(FromNaviCtrl+7)+1
211 0228 21E0 ldi r18,hi8(361)
212 022a 8936 cpi r24,lo8(361)
213 022c 9207 cpc r25,r18
214 022e 04F4 brge .L28
215 0230 9093 0000 sts (KompassValue)+1,r25
216 0234 8093 0000 sts KompassValue,r24
217 .L28:
218 0238 8091 0000 lds r24,KompassValue
219 023c 9091 0000 lds r25,(KompassValue)+1
220 0240 845E subi r24,lo8(-(540))
221 0242 9D4F sbci r25,hi8(-(540))
222 0244 2091 0000 lds r18,KompassStartwert
223 0248 3091 0000 lds r19,(KompassStartwert)+1
224 024c 821B sub r24,r18
225 024e 930B sbc r25,r19
226 0250 68E6 ldi r22,lo8(360)
227 0252 71E0 ldi r23,hi8(360)
228 0254 0E94 0000 call __divmodhi4
229 0258 845B subi r24,lo8(-(-180))
230 025a 9040 sbci r25,hi8(-(-180))
231 025c 9093 0000 sts (KompassRichtung)+1,r25
232 0260 8093 0000 sts KompassRichtung,r24
233 0264 2091 0000 lds r18,FromNaviCtrl+11
234 0268 3091 0000 lds r19,(FromNaviCtrl+11)+1
235 026c 8091 0000 lds r24,beeptime
236 0270 9091 0000 lds r25,(beeptime)+1
237 0274 8217 cp r24,r18
238 0276 9307 cpc r25,r19
239 0278 00F4 brsh .L29
240 027a 8091 0000 lds r24,WinkelOut+6
241 027e 8823 tst r24
242 0280 01F4 brne .+2
243 0282 00C0 rjmp .L40
244 .L29:
245 0284 8091 0000 lds r24,FromNaviCtrl
246 0288 8736 cpi r24,lo8(103)
247 028a 01F4 brne .L32
248 028c 8091 0000 lds r24,FromNaviCtrl+13
249 0290 8093 0000 sts FromNaviCtrl_Value,r24
250 0294 8091 0000 lds r24,FromNaviCtrl+14
251 0298 8093 0000 sts FromNaviCtrl_Value+2,r24
252 029c 8091 0000 lds r24,FromNaviCtrl+15
253 02a0 8093 0000 sts FromNaviCtrl_Value+1,r24
254 02a4 8091 0000 lds r24,FromNaviCtrl+16
255 02a8 8093 0000 sts FromNaviCtrl_Value+3,r24
256 02ac 8091 0000 lds r24,FromNaviCtrl+17
257 02b0 8093 0000 sts FromNaviCtrl_Value+4,r24
258 .L32:
259 /* epilogue start */
260 02b4 1F91 pop r17
261 02b6 0F91 pop r16
262 02b8 FF90 pop r15
263 02ba EF90 pop r14
264 02bc 0895 ret
265 .L37:
266 02be 8A30 cpi r24,lo8(10)
267 02c0 01F4 brne .+2
268 02c2 00C0 rjmp .L7
269 02c4 8B30 cpi r24,lo8(11)
270 02c6 01F0 breq .+2
271 02c8 00C0 rjmp .L6
272 /* #APP */
273 ; 204 "spi.c" 1
274 02ca F894 cli
275 ; 0 "" 2
276 /* #NOAPP */
277 02cc E091 0000 lds r30,EE_Parameter+2
278 02d0 F0E0 ldi r31,lo8(0)
279 02d2 EE0F lsl r30
280 02d4 FF1F rol r31
281 02d6 E050 subi r30,lo8(-(PPM_in))
282 02d8 F040 sbci r31,hi8(-(PPM_in))
283 02da 0190 ld __tmp_reg__,Z+
284 02dc F081 ld r31,Z
285 02de E02D mov r30,__tmp_reg__
286 02e0 2FEF ldi r18,hi8(-127)
287 02e2 E138 cpi r30,lo8(-127)
288 02e4 F207 cpc r31,r18
289 02e6 04F4 brge .L15
290 02e8 E1E8 ldi r30,lo8(-127)
291 02ea FFEF ldi r31,hi8(-127)
292 .L15:
293 02ec E038 cpi r30,128
294 02ee F105 cpc r31,__zero_reg__
295 02f0 04F0 brlt .L16
296 02f2 EFE7 ldi r30,lo8(127)
297 02f4 F0E0 ldi r31,hi8(127)
298 .L16:
299 02f6 E093 0000 sts ToNaviCtrl+19,r30
300 02fa E091 0000 lds r30,EE_Parameter+3
301 02fe F0E0 ldi r31,lo8(0)
302 0300 EE0F lsl r30
303 0302 FF1F rol r31
304 0304 E050 subi r30,lo8(-(PPM_in))
305 0306 F040 sbci r31,hi8(-(PPM_in))
306 0308 0190 ld __tmp_reg__,Z+
307 030a F081 ld r31,Z
308 030c E02D mov r30,__tmp_reg__
309 030e 4FEF ldi r20,hi8(-127)
310 0310 E138 cpi r30,lo8(-127)
311 0312 F407 cpc r31,r20
312 0314 04F4 brge .L17
313 0316 E1E8 ldi r30,lo8(-127)
314 0318 FFEF ldi r31,hi8(-127)
315 .L17:
316 031a E038 cpi r30,128
317 031c F105 cpc r31,__zero_reg__
318 031e 04F0 brlt .L18
319 0320 EFE7 ldi r30,lo8(127)
320 0322 F0E0 ldi r31,hi8(127)
321 .L18:
322 0324 E093 0000 sts ToNaviCtrl+20,r30
323 0328 E091 0000 lds r30,EE_Parameter+1
324 032c F0E0 ldi r31,lo8(0)
325 032e EE0F lsl r30
326 0330 FF1F rol r31
327 0332 E050 subi r30,lo8(-(PPM_in))
328 0334 F040 sbci r31,hi8(-(PPM_in))
329 0336 0190 ld __tmp_reg__,Z+
330 0338 F081 ld r31,Z
331 033a E02D mov r30,__tmp_reg__
332 033c 6FEF ldi r22,hi8(-127)
333 033e E138 cpi r30,lo8(-127)
334 0340 F607 cpc r31,r22
335 0342 04F4 brge .L19
336 0344 E1E8 ldi r30,lo8(-127)
337 0346 FFEF ldi r31,hi8(-127)
338 .L19:
339 0348 E038 cpi r30,128
340 034a F105 cpc r31,__zero_reg__
341 034c 04F0 brlt .L20
342 034e EFE7 ldi r30,lo8(127)
343 0350 F0E0 ldi r31,hi8(127)
344 .L20:
345 0352 E093 0000 sts ToNaviCtrl+21,r30
346 0356 E091 0000 lds r30,EE_Parameter
347 035a F0E0 ldi r31,lo8(0)
348 035c EE0F lsl r30
349 035e FF1F rol r31
350 0360 E050 subi r30,lo8(-(PPM_in))
351 0362 F040 sbci r31,hi8(-(PPM_in))
352 0364 0190 ld __tmp_reg__,Z+
353 0366 F081 ld r31,Z
354 0368 E02D mov r30,__tmp_reg__
355 036a 8FEF ldi r24,hi8(-127)
356 036c E138 cpi r30,lo8(-127)
357 036e F807 cpc r31,r24
358 0370 04F4 brge .L21
359 0372 E1E8 ldi r30,lo8(-127)
360 0374 FFEF ldi r31,hi8(-127)
361 .L21:
362 /* #APP */
363 ; 212 "spi.c" 1
364 0376 7894 sei
365 ; 0 "" 2
366 /* #NOAPP */
367 0378 E038 cpi r30,128
368 037a F105 cpc r31,__zero_reg__
369 037c 04F0 brlt .L22
370 037e EFE7 ldi r30,lo8(127)
371 0380 F0E0 ldi r31,hi8(127)
372 .L22:
373 0382 E093 0000 sts ToNaviCtrl+22,r30
374 0386 8091 0000 lds r24,Poti1
375 038a 8093 0000 sts ToNaviCtrl+23,r24
376 038e 8091 0000 lds r24,Poti2
377 0392 8093 0000 sts ToNaviCtrl+24,r24
378 0396 8091 0000 lds r24,Poti3
379 039a 8093 0000 sts ToNaviCtrl+25,r24
380 039e 8091 0000 lds r24,Poti4
381 03a2 8093 0000 sts ToNaviCtrl+26,r24
382 03a6 8091 0000 lds r24,SenderOkay
383 03aa 8093 0000 sts ToNaviCtrl+27,r24
384 03ae 8091 0000 lds r24,SenderRSSI
385 03b2 8093 0000 sts ToNaviCtrl+28,r24
386 03b6 2091 0000 lds r18,DebugOut+16
387 03ba 3091 0000 lds r19,DebugOut+17
388 03be C901 movw r24,r18
389 03c0 97FD sbrc r25,7
390 03c2 00C0 rjmp .L41
391 .L23:
392 03c4 9595 asr r25
393 03c6 8795 ror r24
394 03c8 9595 asr r25
395 03ca 8795 ror r24
396 03cc 8093 0000 sts ToNaviCtrl+29,r24
397 03d0 8091 0000 lds r24,SPI_RxDataValid
398 03d4 8823 tst r24
399 03d6 01F0 breq .+2
400 03d8 00C0 rjmp .L42
401 .L26:
402 03da 1092 0000 sts (GPS_Nick)+1,__zero_reg__
403 03de 1092 0000 sts GPS_Nick,__zero_reg__
404 03e2 1092 0000 sts (GPS_Roll)+1,__zero_reg__
405 03e6 1092 0000 sts GPS_Roll,__zero_reg__
406 03ea 1F91 pop r17
407 03ec 0F91 pop r16
408 03ee FF90 pop r15
409 03f0 EF90 pop r14
410 03f2 0895 ret
411 .L36:
412 03f4 2D5F subi r18,lo8(-(3))
413 03f6 3F4F sbci r19,hi8(-(3))
414 03f8 00C0 rjmp .L5
415 .L35:
416 03fa 2D5F subi r18,lo8(-(3))
417 03fc 3F4F sbci r19,hi8(-(3))
418 03fe 00C0 rjmp .L4
419 .L38:
420 0400 8F30 cpi r24,lo8(15)
421 0402 01F0 breq .+2
422 0404 00C0 rjmp .L6
423 0406 8091 0000 lds r24,EE_Parameter+47
424 040a 8093 0000 sts ToNaviCtrl+19,r24
425 040e 8091 0000 lds r24,EE_Parameter+87
426 0412 8093 0000 sts ToNaviCtrl+20,r24
427 0416 8091 0000 lds r24,Parameter_ServoNickControl
428 041a 8093 0000 sts ToNaviCtrl+21,r24
429 041e 8091 0000 lds r24,EE_Parameter+40
430 0422 8093 0000 sts ToNaviCtrl+22,r24
431 0426 8091 0000 lds r24,EE_Parameter+41
432 042a 8093 0000 sts ToNaviCtrl+23,r24
433 042e 8091 0000 lds r24,EE_Parameter+42
434 0432 8093 0000 sts ToNaviCtrl+24,r24
435 0436 8091 0000 lds r24,Parameter_ServoRollControl
436 043a 8093 0000 sts ToNaviCtrl+25,r24
437 043e 8091 0000 lds r24,EE_Parameter+44
438 0442 8093 0000 sts ToNaviCtrl+26,r24
439 0446 8091 0000 lds r24,EE_Parameter+45
440 044a 8093 0000 sts ToNaviCtrl+27,r24
441 044e 8091 0000 lds r24,EE_Parameter+46
442 0452 8093 0000 sts ToNaviCtrl+28,r24
443 0456 00C0 rjmp .L6
444 .L39:
445 0458 8091 0000 lds r24,EE_Parameter+8
446 045c 85FF sbrs r24,5
447 045e 00C0 rjmp .L27
448 0460 3093 0000 sts (GPS_Nick)+1,r19
449 0464 2093 0000 sts GPS_Nick,r18
450 0468 5093 0000 sts (GPS_Roll)+1,r21
451 046c 4093 0000 sts GPS_Roll,r20
452 0470 8AEF ldi r24,lo8(-6)
453 0472 8093 0000 sts NaviDataOkay,r24
454 0476 00C0 rjmp .L27
455 .L40:
456 0478 3093 0000 sts (beeptime)+1,r19
457 047c 2093 0000 sts beeptime,r18
458 0480 00C0 rjmp .L29
459 .L11:
460 0482 8091 0000 lds r24,SPI_VersionInfo
461 0486 8093 0000 sts ToNaviCtrl+19,r24
462 048a 8091 0000 lds r24,SPI_VersionInfo+1
463 048e 8093 0000 sts ToNaviCtrl+20,r24
464 0492 8091 0000 lds r24,SPI_VersionInfo+2
465 0496 8093 0000 sts ToNaviCtrl+21,r24
466 049a 8091 0000 lds r24,SPI_VersionInfo+3
467 049e 8093 0000 sts ToNaviCtrl+22,r24
468 04a2 8091 0000 lds r24,PlatinenVersion
469 04a6 8093 0000 sts ToNaviCtrl+23,r24
470 04aa 00C0 rjmp .L6
471 .L9:
472 04ac 8091 0000 lds r24,WinkelOut+6
473 04b0 8630 cpi r24,lo8(6)
474 04b2 00F4 brsh .+2
475 04b4 00C0 rjmp .L24
476 04b6 1092 0000 sts WinkelOut+6,__zero_reg__
477 04ba 85E0 ldi r24,lo8(5)
478 04bc 8093 0000 sts ToNaviCtrl+19,r24
479 .L25:
480 04c0 8091 0000 lds r24,EE_Parameter+84
481 04c4 8093 0000 sts ToNaviCtrl+20,r24
482 04c8 8091 0000 lds r24,DebugOut+12
483 04cc 9091 0000 lds r25,(DebugOut+12)+1
484 04d0 9093 0000 sts (ToNaviCtrl+21)+1,r25
485 04d4 8093 0000 sts ToNaviCtrl+21,r24
486 04d8 6091 0000 lds r22,SollHoehe
487 04dc 7091 0000 lds r23,(SollHoehe)+1
488 04e0 8091 0000 lds r24,(SollHoehe)+2
489 04e4 9091 0000 lds r25,(SollHoehe)+3
490 04e8 25E0 ldi r18,lo8(5)
491 04ea 30E0 ldi r19,hi8(5)
492 04ec 40E0 ldi r20,hlo8(5)
493 04ee 50E0 ldi r21,hhi8(5)
494 04f0 0E94 0000 call __divmodsi4
495 04f4 3093 0000 sts (ToNaviCtrl+23)+1,r19
496 04f8 2093 0000 sts ToNaviCtrl+23,r18
497 04fc 8091 0000 lds r24,EE_Parameter+74
498 0500 8093 0000 sts ToNaviCtrl+25,r24
499 0504 8091 0000 lds r24,EE_Parameter+75
500 0508 8093 0000 sts ToNaviCtrl+26,r24
501 050c 8091 0000 lds r24,EE_Parameter+76
502 0510 8093 0000 sts ToNaviCtrl+27,r24
503 0514 00C0 rjmp .L6
504 .L7:
505 0516 8091 0000 lds r24,Parameter_UserParam1
506 051a 8093 0000 sts ToNaviCtrl+19,r24
507 051e 8091 0000 lds r24,Parameter_UserParam2
508 0522 8093 0000 sts ToNaviCtrl+20,r24
509 0526 8091 0000 lds r24,Parameter_UserParam3
510 052a 8093 0000 sts ToNaviCtrl+21,r24
511 052e 8091 0000 lds r24,Parameter_UserParam4
512 0532 8093 0000 sts ToNaviCtrl+22,r24
513 0536 8091 0000 lds r24,Parameter_UserParam5
514 053a 8093 0000 sts ToNaviCtrl+23,r24
515 053e 8091 0000 lds r24,Parameter_UserParam6
516 0542 8093 0000 sts ToNaviCtrl+24,r24
517 0546 8091 0000 lds r24,Parameter_UserParam7
518 054a 8093 0000 sts ToNaviCtrl+25,r24
519 054e 8091 0000 lds r24,Parameter_UserParam8
520 0552 8093 0000 sts ToNaviCtrl+26,r24
521 0556 8091 0000 lds r24,MikroKopterFlags
522 055a 8093 0000 sts ToNaviCtrl+27,r24
523 055e 8091 0000 lds r24,MikroKopterFlags
524 0562 837F andi r24,lo8(-13)
525 0564 8093 0000 sts MikroKopterFlags,r24
526 0568 8091 0000 lds r24,UBat
527 056c 9091 0000 lds r25,(UBat)+1
528 0570 8093 0000 sts ToNaviCtrl+28,r24
529 0574 8091 0000 lds r24,BattLowVoltageWarning
530 0578 8093 0000 sts ToNaviCtrl+29,r24
531 .L14:
532 057c F999 sbic 63-32,1
533 057e 00C0 rjmp .L14
534 0580 80E0 ldi r24,lo8(EEPromArray+2)
535 0582 90E0 ldi r25,hi8(EEPromArray+2)
536 0584 92BD out (65)+1-32,r25
537 0586 81BD out 65-32,r24
538 /* #APP */
539 ; 208 "c:/winavr-20090313/lib/gcc/../../avr/include/avr/eeprom.h" 1
540 /* START EEPROM READ CRITICAL SECTION */
541 0588 F89A sbi 31, 0
542 058a 80B5 in r24, 32
543 /* END EEPROM READ CRITICAL SECTION */
544
545 ; 0 "" 2
546 /* #NOAPP */
547 058c 8093 0000 sts ToNaviCtrl+30,r24
548 0590 00C0 rjmp .L6
549 .L24:
550 0592 8093 0000 sts ToNaviCtrl+19,r24
551 0596 00C0 rjmp .L25
552 .L41:
553 0598 0396 adiw r24,3
554 059a 00C0 rjmp .L23
556 .global SPI_StartTransmitPacket
558 SPI_StartTransmitPacket:
559 /* prologue: function */
560 /* frame size = 0 */
561 059c 8091 0000 lds r24,SPITransferCompleted
562 05a0 8823 tst r24
563 05a2 01F4 brne .+2
564 05a4 00C0 rjmp .L46
565 05a6 4598 cbi 40-32,5
566 05a8 80E0 ldi r24,lo8(ToNaviCtrl)
567 05aa 90E0 ldi r25,hi8(ToNaviCtrl)
568 05ac 9093 0000 sts (SPI_TX_Buffer)+1,r25
569 05b0 8093 0000 sts SPI_TX_Buffer,r24
570 05b4 9091 0000 lds r25,SPI_CommandCounter
571 05b8 E92F mov r30,r25
572 05ba F0E0 ldi r31,lo8(0)
573 05bc E050 subi r30,lo8(-(SPI_CommandSequence))
574 05be F040 sbci r31,hi8(-(SPI_CommandSequence))
575 05c0 8081 ld r24,Z
576 05c2 8093 0000 sts ToNaviCtrl+2,r24
577 05c6 9F5F subi r25,lo8(-(1))
578 05c8 9093 0000 sts SPI_CommandCounter,r25
579 05cc 9730 cpi r25,lo8(7)
580 05ce 00F0 brlo .L45
581 05d0 1092 0000 sts SPI_CommandCounter,__zero_reg__
582 .L45:
583 05d4 1092 0000 sts SPITransferCompleted,__zero_reg__
584 05d8 0E94 0000 call UpdateSPI_Buffer
585 05dc 81E0 ldi r24,lo8(1)
586 05de 8093 0000 sts SPI_BufferIndex,r24
587 /* #APP */
588 ; 75 "spi.c" 1
589 05e2 0000 nop
590 ; 0 "" 2
591 ; 75 "spi.c" 1
592 05e4 0000 nop
593 ; 0 "" 2
594 ; 75 "spi.c" 1
595 05e6 0000 nop
596 ; 0 "" 2
597 ; 75 "spi.c" 1
598 05e8 0000 nop
599 ; 0 "" 2
600 ; 75 "spi.c" 1
601 05ea 0000 nop
602 ; 0 "" 2
603 ; 75 "spi.c" 1
604 05ec 0000 nop
605 ; 0 "" 2
606 ; 75 "spi.c" 1
607 05ee 0000 nop
608 ; 0 "" 2
609 ; 75 "spi.c" 1
610 05f0 0000 nop
611 ; 0 "" 2
612 ; 76 "spi.c" 1
613 05f2 0000 nop
614 ; 0 "" 2
615 ; 76 "spi.c" 1
616 05f4 0000 nop
617 ; 0 "" 2
618 ; 76 "spi.c" 1
619 05f6 0000 nop
620 ; 0 "" 2
621 ; 76 "spi.c" 1
622 05f8 0000 nop
623 ; 0 "" 2
624 ; 76 "spi.c" 1
625 05fa 0000 nop
626 ; 0 "" 2
627 ; 76 "spi.c" 1
628 05fc 0000 nop
629 ; 0 "" 2
630 ; 76 "spi.c" 1
631 05fe 0000 nop
632 ; 0 "" 2
633 ; 76 "spi.c" 1
634 0600 0000 nop
635 ; 0 "" 2
636 ; 77 "spi.c" 1
637 0602 0000 nop
638 ; 0 "" 2
639 ; 77 "spi.c" 1
640 0604 0000 nop
641 ; 0 "" 2
642 ; 77 "spi.c" 1
643 0606 0000 nop
644 ; 0 "" 2
645 ; 77 "spi.c" 1
646 0608 0000 nop
647 ; 0 "" 2
648 ; 77 "spi.c" 1
649 060a 0000 nop
650 ; 0 "" 2
651 ; 77 "spi.c" 1
652 060c 0000 nop
653 ; 0 "" 2
654 ; 77 "spi.c" 1
655 060e 0000 nop
656 ; 0 "" 2
657 ; 77 "spi.c" 1
658 0610 0000 nop
659 ; 0 "" 2
660 /* #NOAPP */
661 0612 8091 0000 lds r24,ToNaviCtrl
662 0616 8093 0000 sts ToNaviCtrl+31,r24
663 061a 8EBD out 78-32,r24
664 .L46:
665 061c 0895 ret
667 .global SPI_TransmitByte
669 SPI_TransmitByte:
670 /* prologue: function */
671 /* frame size = 0 */
672 061e 8091 0000 lds r24,SPITransferCompleted
673 0622 8823 tst r24
674 0624 01F4 brne .L60
675 0626 0DB4 in __tmp_reg__,77-32
676 0628 07FE sbrs __tmp_reg__,7
677 .L60:
678 062a 0895 ret
679 .L62:
680 062c 84E0 ldi r24,lo8(4)
681 062e 8093 0000 sts SendSPI,r24
682 0632 459A sbi 40-32,5
683 0634 9EB5 in r25,78-32
684 0636 8091 0000 lds r24,SPI_RXState.2167
685 063a 8130 cpi r24,lo8(1)
686 063c 01F4 brne .+2
687 063e 00C0 rjmp .L51
688 0640 8130 cpi r24,lo8(1)
689 0642 00F0 brlo .+2
690 0644 00C0 rjmp .L63
691 0646 1092 0000 sts SPI_RxBufferIndex,__zero_reg__
692 064a 9093 0000 sts rxchksum.2169,r25
693 064e 9138 cpi r25,lo8(-127)
694 0650 01F4 brne .+2
695 0652 00C0 rjmp .L64
696 .L49:
697 0654 2091 0000 lds r18,SPI_BufferIndex
698 0658 2032 cpi r18,lo8(32)
699 065a 00F0 brlo .+2
700 065c 00C0 rjmp .L58
701 065e 4598 cbi 40-32,5
702 /* #APP */
703 ; 143 "spi.c" 1
704 0660 0000 nop
705 ; 0 "" 2
706 ; 143 "spi.c" 1
707 0662 0000 nop
708 ; 0 "" 2
709 ; 143 "spi.c" 1
710 0664 0000 nop
711 ; 0 "" 2
712 ; 143 "spi.c" 1
713 0666 0000 nop
714 ; 0 "" 2
715 ; 143 "spi.c" 1
716 0668 0000 nop
717 ; 0 "" 2
718 ; 143 "spi.c" 1
719 066a 0000 nop
720 ; 0 "" 2
721 ; 143 "spi.c" 1
722 066c 0000 nop
723 ; 0 "" 2
724 ; 143 "spi.c" 1
725 066e 0000 nop
726 ; 0 "" 2
727 ; 144 "spi.c" 1
728 0670 0000 nop
729 ; 0 "" 2
730 ; 144 "spi.c" 1
731 0672 0000 nop
732 ; 0 "" 2
733 ; 144 "spi.c" 1
734 0674 0000 nop
735 ; 0 "" 2
736 ; 144 "spi.c" 1
737 0676 0000 nop
738 ; 0 "" 2
739 ; 144 "spi.c" 1
740 0678 0000 nop
741 ; 0 "" 2
742 ; 144 "spi.c" 1
743 067a 0000 nop
744 ; 0 "" 2
745 ; 144 "spi.c" 1
746 067c 0000 nop
747 ; 0 "" 2
748 ; 144 "spi.c" 1
749 067e 0000 nop
750 ; 0 "" 2
751 ; 145 "spi.c" 1
752 0680 0000 nop
753 ; 0 "" 2
754 ; 145 "spi.c" 1
755 0682 0000 nop
756 ; 0 "" 2
757 ; 145 "spi.c" 1
758 0684 0000 nop
759 ; 0 "" 2
760 ; 145 "spi.c" 1
761 0686 0000 nop
762 ; 0 "" 2
763 ; 145 "spi.c" 1
764 0688 0000 nop
765 ; 0 "" 2
766 ; 145 "spi.c" 1
767 068a 0000 nop
768 ; 0 "" 2
769 ; 145 "spi.c" 1
770 068c 0000 nop
771 ; 0 "" 2
772 ; 145 "spi.c" 1
773 068e 0000 nop
774 ; 0 "" 2
775 /* #NOAPP */
776 0690 E091 0000 lds r30,SPI_TX_Buffer
777 0694 F091 0000 lds r31,(SPI_TX_Buffer)+1
778 0698 E20F add r30,r18
779 069a F11D adc r31,__zero_reg__
780 069c 8081 ld r24,Z
781 069e 8EBD out 78-32,r24
782 06a0 9091 0000 lds r25,ToNaviCtrl+31
783 06a4 890F add r24,r25
784 06a6 8093 0000 sts ToNaviCtrl+31,r24
785 .L59:
786 06aa 2F5F subi r18,lo8(-(1))
787 06ac 2093 0000 sts SPI_BufferIndex,r18
788 06b0 0895 ret
789 .L58:
790 06b2 81E0 ldi r24,lo8(1)
791 06b4 8093 0000 sts SPITransferCompleted,r24
792 06b8 00C0 rjmp .L59
793 .L63:
794 06ba 8230 cpi r24,lo8(2)
795 06bc 01F0 breq .+2
796 06be 00C0 rjmp .L49
797 06c0 8091 0000 lds r24,SPI_RxBufferIndex
798 06c4 E82F mov r30,r24
799 06c6 F0E0 ldi r31,lo8(0)
800 06c8 E050 subi r30,lo8(-(SPI_Buffer))
801 06ca F040 sbci r31,hi8(-(SPI_Buffer))
802 06cc 9083 st Z,r25
803 06ce 8F5F subi r24,lo8(-(1))
804 06d0 8093 0000 sts SPI_RxBufferIndex,r24
805 06d4 8A31 cpi r24,lo8(26)
806 06d6 00F0 brlo .L54
807 06d8 8091 0000 lds r24,rxchksum.2169
808 06dc 9817 cp r25,r24
809 06de 01F0 breq .L65
810 06e0 1092 0000 sts SPI_RxDataValid,__zero_reg__
811 .L57:
812 06e4 1092 0000 sts SPI_RXState.2167,__zero_reg__
813 06e8 00C0 rjmp .L49
814 .L64:
815 06ea 81E0 ldi r24,lo8(1)
816 06ec 8093 0000 sts SPI_RXState.2167,r24
817 06f0 00C0 rjmp .L49
818 .L51:
819 06f2 9535 cpi r25,lo8(85)
820 06f4 01F4 brne .L57
821 06f6 8091 0000 lds r24,rxchksum.2169
822 06fa 8B5A subi r24,lo8(-(85))
823 06fc 8093 0000 sts rxchksum.2169,r24
824 0700 82E0 ldi r24,lo8(2)
825 0702 8093 0000 sts SPI_RXState.2167,r24
826 0706 00C0 rjmp .L49
827 .L54:
828 0708 8091 0000 lds r24,rxchksum.2169
829 070c 890F add r24,r25
830 070e 8093 0000 sts rxchksum.2169,r24
831 0712 00C0 rjmp .L49
832 .L65:
833 0714 A0E0 ldi r26,lo8(FromNaviCtrl)
834 0716 B0E0 ldi r27,hi8(FromNaviCtrl)
835 0718 E0E0 ldi r30,lo8(SPI_Buffer)
836 071a F0E0 ldi r31,hi8(SPI_Buffer)
837 071c 8AE1 ldi r24,lo8(26)
838 .L56:
839 071e 0190 ld r0,Z+
840 0720 0D92 st X+,r0
841 0722 8150 subi r24,lo8(-(-1))
842 0724 01F4 brne .L56
843 0726 81E0 ldi r24,lo8(1)
844 0728 8093 0000 sts SPI_RxDataValid,r24
845 072c 00C0 rjmp .L57
847 .global NaviDataOkay
848 .global NaviDataOkay
849 .section .bss
852 NaviDataOkay:
853 0000 00 .skip 1,0
854 .global SPI_CommandSequence
855 .data
858 SPI_CommandSequence:
859 0000 0A .byte 10
860 0001 0B .byte 11
861 0002 0D .byte 13
862 0003 0B .byte 11
863 0004 0C .byte 12
864 0005 0E .byte 14
865 0006 0F .byte 15
866 .global SPI_CommandCounter
867 .global SPI_CommandCounter
868 .section .bss
871 SPI_CommandCounter:
872 0001 00 .skip 1,0
873 .lcomm rxchksum.2169,1
874 .lcomm SPI_RXState.2167,1
875 .comm Mixer,77,1
876 .comm FromNaviCtrl_Value,5,1
877 .comm ToNaviCtrl,32,1
878 .comm FromNaviCtrl,26,1
879 .comm SPI_VersionInfo,4,1
880 .comm SPI_BufferIndex,1,1
881 .comm SPI_RxBufferIndex,1,1
882 .comm SPI_Buffer,26,1
883 .comm SPI_TX_Buffer,2,1
884 .comm SPITransferCompleted,1,1
885 .comm SPI_ChkSum,1,1
886 .comm SPI_RxDataValid,1,1
887 .global __do_copy_data
888 .global __do_clear_bss
DEFINED SYMBOLS
*ABS*:00000000 spi.c
C:\Users\Arthur\AppData\Local\Temp/ccpqxFQf.s:2 *ABS*:0000003f __SREG__
C:\Users\Arthur\AppData\Local\Temp/ccpqxFQf.s:3 *ABS*:0000003e __SP_H__
C:\Users\Arthur\AppData\Local\Temp/ccpqxFQf.s:4 *ABS*:0000003d __SP_L__
C:\Users\Arthur\AppData\Local\Temp/ccpqxFQf.s:5 *ABS*:00000034 __CCP__
C:\Users\Arthur\AppData\Local\Temp/ccpqxFQf.s:6 *ABS*:00000000 __tmp_reg__
C:\Users\Arthur\AppData\Local\Temp/ccpqxFQf.s:7 *ABS*:00000001 __zero_reg__
C:\Users\Arthur\AppData\Local\Temp/ccpqxFQf.s:11 .text:00000000 SPI_MasterInit
*COM*:00000001 SPITransferCompleted
*COM*:00000020 ToNaviCtrl
*COM*:00000005 FromNaviCtrl_Value
*COM*:00000001 SPI_RxDataValid
*COM*:00000004 SPI_VersionInfo
C:\Users\Arthur\AppData\Local\Temp/ccpqxFQf.s:47 .text:00000056 UpdateSPI_Buffer
*COM*:0000001a FromNaviCtrl
C:\Users\Arthur\AppData\Local\Temp/ccpqxFQf.s:852 .bss:00000000 NaviDataOkay
C:\Users\Arthur\AppData\Local\Temp/ccpqxFQf.s:558 .text:0000059c SPI_StartTransmitPacket
*COM*:00000002 SPI_TX_Buffer
C:\Users\Arthur\AppData\Local\Temp/ccpqxFQf.s:871 .bss:00000001 SPI_CommandCounter
C:\Users\Arthur\AppData\Local\Temp/ccpqxFQf.s:858 .data:00000000 SPI_CommandSequence
*COM*:00000001 SPI_BufferIndex
C:\Users\Arthur\AppData\Local\Temp/ccpqxFQf.s:669 .text:0000061e SPI_TransmitByte
C:\Users\Arthur\AppData\Local\Temp/ccpqxFQf.s:873 .bss:00000003 SPI_RXState.2167
*COM*:00000001 SPI_RxBufferIndex
.bss:00000002 rxchksum.2169
*COM*:0000001a SPI_Buffer
*COM*:0000004d Mixer
*COM*:00000001 SPI_ChkSum
 
UNDEFINED SYMBOLS
EE_Parameter
IntegralNick
__divmodsi4
IntegralRoll
ErsatzKompass
__mulsi3
GIER_GRAD_FAKTOR
NaviCntAcc
NaviAccNick
__divmodhi4
NaviAccRoll
KompassValue
KompassStartwert
KompassRichtung
beeptime
WinkelOut
PPM_in
Poti1
Poti2
Poti3
Poti4
SenderOkay
SenderRSSI
DebugOut
GPS_Nick
GPS_Roll
Parameter_ServoNickControl
Parameter_ServoRollControl
PlatinenVersion
SollHoehe
Parameter_UserParam1
Parameter_UserParam2
Parameter_UserParam3
Parameter_UserParam4
Parameter_UserParam5
Parameter_UserParam6
Parameter_UserParam7
Parameter_UserParam8
MikroKopterFlags
UBat
BattLowVoltageWarning
EEPromArray
SendSPI
__do_copy_data
__do_clear_bss