Blame | Last modification | View Log | RSS feed
1 .file "spi.c"
2 .arch atmega1284p
3 __SREG__ = 0x3f
4 __SP_H__ = 0x3e
5 __SP_L__ = 0x3d
6 __tmp_reg__ = 0
7 __zero_reg__ = 1
8 .global __do_copy_data
9 .global __do_clear_bss
10 .global MagVec
11 .global MagVec
12 .section .bss
15 MagVec:
16 0000 0000 0000 .skip 6,0
16 0000
17 .global POI_KameraNick
18 .global POI_KameraNick
21 POI_KameraNick:
22 0006 0000 .skip 2,0
23 .global EarthMagneticInclinationTheoretic
24 .global EarthMagneticInclinationTheoretic
27 EarthMagneticInclinationTheoretic:
28 0008 00 .skip 1,0
29 .global EarthMagneticInclination
30 .global EarthMagneticInclination
33 EarthMagneticInclination:
34 0009 00 .skip 1,0
35 .global EarthMagneticField
36 .global EarthMagneticField
39 EarthMagneticField:
40 000a 00 .skip 1,0
41 .global NC_GPS_ModeCharacter
42 .data
45 NC_GPS_ModeCharacter:
46 0000 20 .byte 32
47 .global NC_ErrorCode
48 .global NC_ErrorCode
49 .section .bss
52 NC_ErrorCode:
53 000b 00 .skip 1,0
54 .global SPI_CommandCounter
55 .global SPI_CommandCounter
58 SPI_CommandCounter:
59 000c 00 .skip 1,0
60 .global SPI_CommandSequence
61 .data
64 SPI_CommandSequence:
65 0001 0B .byte 11
66 0002 0A .byte 10
67 0003 0D .byte 13
68 0004 0B .byte 11
69 0005 0C .byte 12
70 0006 0E .byte 14
71 0007 0B .byte 11
72 0008 0F .byte 15
73 0009 10 .byte 16
74 .global NaviDataOkay
77 NaviDataOkay:
78 000a FA .byte -6
79 .global FromNC_Rotate_S
80 .global FromNC_Rotate_S
81 .section .bss
84 FromNC_Rotate_S:
85 000d 00 .skip 1,0
86 .global FromNC_Rotate_C
87 .data
90 FromNC_Rotate_C:
91 000b 20 .byte 32
92 .text
93 .global SPI_MasterInit
95 SPI_MasterInit:
96 /* prologue: frame size=0 */
97 /* prologue end (size=0) */
98 0000 84B1 in r24,36-0x20
99 0002 806A ori r24,lo8(-96)
100 0004 84B9 out 36-0x20,r24
101 0006 3D9A sbi 39-0x20,5
102 0008 82E5 ldi r24,lo8(82)
103 000a 8CBD out 76-0x20,r24
104 000c 1DBC out 77-0x20,__zero_reg__
105 000e 459A sbi 40-0x20,5
106 0010 81E0 ldi r24,lo8(1)
107 0012 8093 0000 sts SPITransferCompleted,r24
108 0016 8AEA ldi r24,lo8(-86)
109 0018 8093 0000 sts ToNaviCtrl,r24
110 001c 83E8 ldi r24,lo8(-125)
111 001e 8093 0000 sts ToNaviCtrl+1,r24
112 0022 8AE0 ldi r24,lo8(10)
113 0024 8093 0000 sts ToNaviCtrl+2,r24
114 0028 1092 0000 sts (ToNaviCtrl+3)+1,__zero_reg__
115 002c 1092 0000 sts ToNaviCtrl+3,__zero_reg__
116 0030 1092 0000 sts (ToNaviCtrl+5)+1,__zero_reg__
117 0034 1092 0000 sts ToNaviCtrl+5,__zero_reg__
118 0038 1092 0000 sts FromNaviCtrl_Value+3,__zero_reg__
119 003c 1092 0000 sts SPI_RxDataValid,__zero_reg__
120 /* epilogue: frame size=0 */
121 0040 0895 ret
122 /* epilogue end (size=1) */
123 /* function SPI_MasterInit size 33 (32) */
125 .lcomm SPI_RXState.1,1
126 .lcomm rxchksum.2,1
127 .global SPI_TransmitByte
129 SPI_TransmitByte:
130 /* prologue: frame size=0 */
131 /* prologue end (size=0) */
132 0042 3091 0000 lds r19,SPITransferCompleted
133 0046 3323 tst r19
134 0048 01F0 breq .+2
135 004a 00C0 rjmp .L2
136 004c 0DB4 in __tmp_reg__,77-0x20
137 004e 07FE sbrs __tmp_reg__,7
138 0050 00C0 rjmp .L2
139 0052 84E0 ldi r24,lo8(4)
140 0054 8093 0000 sts SendSPI,r24
141 0058 459A sbi 40-0x20,5
142 005a 2EB5 in r18,78-0x20
143 005c 8091 0000 lds r24,SPI_RXState.1
144 0060 9927 clr r25
145 0062 8130 cpi r24,1
146 0064 9105 cpc r25,__zero_reg__
147 0066 01F0 breq .L8
148 0068 8230 cpi r24,2
149 006a 9105 cpc r25,__zero_reg__
150 006c 04F4 brge .L16
151 006e 892B or r24,r25
152 0070 01F0 breq .L6
153 0072 00C0 rjmp .L5
154 .L16:
155 0074 0297 sbiw r24,2
156 0076 01F0 breq .L11
157 0078 00C0 rjmp .L5
158 .L6:
159 007a 3093 0000 sts SPI_RxBufferIndex,r19
160 007e 2093 0000 sts rxchksum.2,r18
161 0082 2138 cpi r18,lo8(-127)
162 0084 01F4 brne .L5
163 0086 81E0 ldi r24,lo8(1)
164 0088 00C0 rjmp .L19
165 .L8:
166 008a 2535 cpi r18,lo8(85)
167 008c 01F4 brne .L9
168 008e 8091 0000 lds r24,rxchksum.2
169 0092 820F add r24,r18
170 0094 8093 0000 sts rxchksum.2,r24
171 0098 82E0 ldi r24,lo8(2)
172 .L19:
173 009a 8093 0000 sts SPI_RXState.1,r24
174 009e 00C0 rjmp .L5
175 .L9:
176 00a0 3093 0000 sts SPI_RXState.1,r19
177 00a4 00C0 rjmp .L5
178 .L11:
179 00a6 8091 0000 lds r24,SPI_RxBufferIndex
180 00aa E82F mov r30,r24
181 00ac FF27 clr r31
182 00ae E050 subi r30,lo8(-(SPI_Buffer))
183 00b0 F040 sbci r31,hi8(-(SPI_Buffer))
184 00b2 2083 st Z,r18
185 00b4 8F5F subi r24,lo8(-(1))
186 00b6 8093 0000 sts SPI_RxBufferIndex,r24
187 00ba 9091 0000 lds r25,rxchksum.2
188 00be 8032 cpi r24,lo8(32)
189 00c0 00F0 brlo .L12
190 00c2 2917 cp r18,r25
191 00c4 01F4 brne .L13
192 00c6 80E2 ldi r24,lo8(32)
193 00c8 A0E0 ldi r26,lo8(SPI_Buffer)
194 00ca B0E0 ldi r27,hi8(SPI_Buffer)
195 00cc E0E0 ldi r30,lo8(FromNaviCtrl)
196 00ce F0E0 ldi r31,hi8(FromNaviCtrl)
197 00d0 0D90 ld __tmp_reg__,X+
198 00d2 0192 st Z+,__tmp_reg__
199 00d4 8A95 dec r24
200 00d6 01F4 brne .-8
201 00d8 81E0 ldi r24,lo8(1)
202 00da 8093 0000 sts SPI_RxDataValid,r24
203 00de 00C0 rjmp .L14
204 .L13:
205 00e0 3093 0000 sts SPI_RxDataValid,r19
206 .L14:
207 00e4 1092 0000 sts SPI_RXState.1,__zero_reg__
208 00e8 00C0 rjmp .L5
209 .L12:
210 00ea 920F add r25,r18
211 00ec 9093 0000 sts rxchksum.2,r25
212 .L5:
213 00f0 2091 0000 lds r18,SPI_BufferIndex
214 00f4 2232 cpi r18,lo8(34)
215 00f6 00F0 brlo .+2
216 00f8 00C0 rjmp .L17
217 00fa 4598 cbi 40-0x20,5
218 /* #APP */
219 00fc 0000 nop
220 00fe 0000 nop
221 0100 0000 nop
222 0102 0000 nop
223 0104 0000 nop
224 0106 0000 nop
225 0108 0000 nop
226 010a 0000 nop
227 010c 0000 nop
228 010e 0000 nop
229 0110 0000 nop
230 0112 0000 nop
231 0114 0000 nop
232 0116 0000 nop
233 0118 0000 nop
234 011a 0000 nop
235 011c 0000 nop
236 011e 0000 nop
237 0120 0000 nop
238 0122 0000 nop
239 0124 0000 nop
240 0126 0000 nop
241 0128 0000 nop
242 012a 0000 nop
243 /* #NOAPP */
244 012c E091 0000 lds r30,SPI_TX_Buffer
245 0130 F091 0000 lds r31,(SPI_TX_Buffer)+1
246 0134 E20F add r30,r18
247 0136 F11D adc r31,__zero_reg__
248 0138 8081 ld r24,Z
249 013a 8EBD out 78-0x20,r24
250 013c 8091 0000 lds r24,ToNaviCtrl+33
251 0140 9081 ld r25,Z
252 0142 890F add r24,r25
253 0144 8093 0000 sts ToNaviCtrl+33,r24
254 0148 00C0 rjmp .L18
255 .L17:
256 014a 81E0 ldi r24,lo8(1)
257 014c 8093 0000 sts SPITransferCompleted,r24
258 .L18:
259 0150 2F5F subi r18,lo8(-(1))
260 0152 2093 0000 sts SPI_BufferIndex,r18
261 .L2:
262 0156 0895 ret
263 /* epilogue: frame size=0 */
264 /* epilogue: noreturn */
265 /* epilogue end (size=0) */
266 /* function SPI_TransmitByte size 164 (164) */
268 .lcomm motorindex.0,1
269 .global UpdateSPI_Buffer
271 UpdateSPI_Buffer:
272 /* prologue: frame size=0 */
273 0158 EF92 push r14
274 015a FF92 push r15
275 015c 0F93 push r16
276 015e 1F93 push r17
277 /* prologue end (size=4) */
278 0160 8091 0000 lds r24,EE_Parameter+28
279 0164 9927 clr r25
280 0166 880F lsl r24
281 0168 991F rol r25
282 016a 880F lsl r24
283 016c 991F rol r25
284 016e 7C01 movw r14,r24
285 0170 0027 clr r16
286 0172 F7FC sbrc r15,7
287 0174 0095 com r16
288 0176 102F mov r17,r16
289 0178 8091 0000 lds r24,IntegralNick
290 017c 9091 0000 lds r25,(IntegralNick)+1
291 0180 A091 0000 lds r26,(IntegralNick)+2
292 0184 B091 0000 lds r27,(IntegralNick)+3
293 0188 BC01 movw r22,r24
294 018a CD01 movw r24,r26
295 018c A801 movw r20,r16
296 018e 9701 movw r18,r14
297 0190 0E94 0000 call __divmodsi4
298 0194 3093 0000 sts (ToNaviCtrl+3)+1,r19
299 0198 2093 0000 sts ToNaviCtrl+3,r18
300 019c 8091 0000 lds r24,IntegralRoll
301 01a0 9091 0000 lds r25,(IntegralRoll)+1
302 01a4 A091 0000 lds r26,(IntegralRoll)+2
303 01a8 B091 0000 lds r27,(IntegralRoll)+3
304 01ac BC01 movw r22,r24
305 01ae CD01 movw r24,r26
306 01b0 A801 movw r20,r16
307 01b2 9701 movw r18,r14
308 01b4 0E94 0000 call __divmodsi4
309 01b8 3093 0000 sts (ToNaviCtrl+5)+1,r19
310 01bc 2093 0000 sts ToNaviCtrl+5,r18
311 01c0 2091 0000 lds r18,ErsatzKompass
312 01c4 3091 0000 lds r19,(ErsatzKompass)+1
313 01c8 4091 0000 lds r20,(ErsatzKompass)+2
314 01cc 5091 0000 lds r21,(ErsatzKompass)+3
315 01d0 DA01 movw r26,r20
316 01d2 C901 movw r24,r18
317 01d4 63E0 ldi r22,3
318 01d6 880F 1: lsl r24
319 01d8 991F rol r25
320 01da AA1F rol r26
321 01dc BB1F rol r27
322 01de 6A95 dec r22
323 01e0 01F4 brne 1b
324 01e2 820F add r24,r18
325 01e4 931F adc r25,r19
326 01e6 A41F adc r26,r20
327 01e8 B51F adc r27,r21
328 01ea 820F add r24,r18
329 01ec 931F adc r25,r19
330 01ee A41F adc r26,r20
331 01f0 B51F adc r27,r21
332 01f2 2091 0000 lds r18,GIER_GRAD_FAKTOR
333 01f6 3091 0000 lds r19,(GIER_GRAD_FAKTOR)+1
334 01fa 4091 0000 lds r20,(GIER_GRAD_FAKTOR)+2
335 01fe 5091 0000 lds r21,(GIER_GRAD_FAKTOR)+3
336 0202 BC01 movw r22,r24
337 0204 CD01 movw r24,r26
338 0206 0E94 0000 call __divmodsi4
339 020a 3093 0000 sts (ToNaviCtrl+11)+1,r19
340 020e 2093 0000 sts ToNaviCtrl+11,r18
341 0212 8091 0000 lds r24,AdNeutralGier
342 0216 9091 0000 lds r25,(AdNeutralGier)+1
343 021a 2091 0000 lds r18,AdWertGier
344 021e 3091 0000 lds r19,(AdWertGier)+1
345 0222 821B sub r24,r18
346 0224 930B sbc r25,r19
347 0226 9093 0000 sts (ToNaviCtrl+17)+1,r25
348 022a 8093 0000 sts ToNaviCtrl+17,r24
349 022e E091 0000 lds r30,NaviCntAcc
350 0232 F091 0000 lds r31,(NaviCntAcc)+1
351 0236 8091 0000 lds r24,NaviAccNick
352 023a 9091 0000 lds r25,(NaviAccNick)+1
353 023e BF01 movw r22,r30
354 0240 0E94 0000 call __divmodhi4
355 0244 9B01 movw r18,r22
356 0246 220F lsl r18
357 0248 331F rol r19
358 024a 220F lsl r18
359 024c 331F rol r19
360 024e 260F add r18,r22
361 0250 371F adc r19,r23
362 0252 260F add r18,r22
363 0254 371F adc r19,r23
364 0256 37FF sbrs r19,7
365 0258 00C0 rjmp .L21
366 025a 2D5F subi r18,lo8(-(3))
367 025c 3F4F sbci r19,hi8(-(3))
368 .L21:
369 025e 3595 asr r19
370 0260 2795 ror r18
371 0262 3595 asr r19
372 0264 2795 ror r18
373 0266 3093 0000 sts (ToNaviCtrl+7)+1,r19
374 026a 2093 0000 sts ToNaviCtrl+7,r18
375 026e 8091 0000 lds r24,NaviAccRoll
376 0272 9091 0000 lds r25,(NaviAccRoll)+1
377 0276 BF01 movw r22,r30
378 0278 0E94 0000 call __divmodhi4
379 027c 9B01 movw r18,r22
380 027e 220F lsl r18
381 0280 331F rol r19
382 0282 220F lsl r18
383 0284 331F rol r19
384 0286 260F add r18,r22
385 0288 371F adc r19,r23
386 028a 260F add r18,r22
387 028c 371F adc r19,r23
388 028e 37FF sbrs r19,7
389 0290 00C0 rjmp .L22
390 0292 2D5F subi r18,lo8(-(3))
391 0294 3F4F sbci r19,hi8(-(3))
392 .L22:
393 0296 3595 asr r19
394 0298 2795 ror r18
395 029a 3595 asr r19
396 029c 2795 ror r18
397 029e 3093 0000 sts (ToNaviCtrl+9)+1,r19
398 02a2 2093 0000 sts ToNaviCtrl+9,r18
399 02a6 1092 0000 sts (NaviCntAcc)+1,__zero_reg__
400 02aa 1092 0000 sts NaviCntAcc,__zero_reg__
401 02ae 1092 0000 sts (NaviAccNick)+1,__zero_reg__
402 02b2 1092 0000 sts NaviAccNick,__zero_reg__
403 02b6 1092 0000 sts (NaviAccRoll)+1,__zero_reg__
404 02ba 1092 0000 sts NaviAccRoll,__zero_reg__
405 02be 8091 0000 lds r24,ToNaviCtrl+2
406 02c2 9927 clr r25
407 02c4 8D30 cpi r24,13
408 02c6 9105 cpc r25,__zero_reg__
409 02c8 01F4 brne .+2
410 02ca 00C0 rjmp .L26
411 02cc 8E30 cpi r24,14
412 02ce 9105 cpc r25,__zero_reg__
413 02d0 04F4 brge .L46
414 02d2 8B30 cpi r24,11
415 02d4 9105 cpc r25,__zero_reg__
416 02d6 01F4 brne .+2
417 02d8 00C0 rjmp .L27
418 02da 8C30 cpi r24,12
419 02dc 9105 cpc r25,__zero_reg__
420 02de 04F0 brlt .+2
421 02e0 00C0 rjmp .L40
422 02e2 0A97 sbiw r24,10
423 02e4 01F0 breq .L24
424 02e6 00C0 rjmp .L23
425 .L46:
426 02e8 8F30 cpi r24,15
427 02ea 9105 cpc r25,__zero_reg__
428 02ec 01F4 brne .+2
429 02ee 00C0 rjmp .L45
430 02f0 8F30 cpi r24,15
431 02f2 9105 cpc r25,__zero_reg__
432 02f4 04F4 brge .+2
433 02f6 00C0 rjmp .L44
434 02f8 4097 sbiw r24,16
435 02fa 01F0 breq .L25
436 02fc 00C0 rjmp .L23
437 .L24:
438 02fe 8091 0000 lds r24,Parameter_UserParam1
439 0302 8093 0000 sts ToNaviCtrl+21,r24
440 0306 8091 0000 lds r24,Parameter_UserParam2
441 030a 8093 0000 sts ToNaviCtrl+22,r24
442 030e 8091 0000 lds r24,Parameter_UserParam3
443 0312 8093 0000 sts ToNaviCtrl+23,r24
444 0316 8091 0000 lds r24,Parameter_UserParam4
445 031a 8093 0000 sts ToNaviCtrl+24,r24
446 031e 8091 0000 lds r24,Parameter_UserParam5
447 0322 8093 0000 sts ToNaviCtrl+25,r24
448 0326 8091 0000 lds r24,Parameter_UserParam6
449 032a 8093 0000 sts ToNaviCtrl+26,r24
450 032e 8091 0000 lds r24,Parameter_UserParam7
451 0332 8093 0000 sts ToNaviCtrl+27,r24
452 0336 8091 0000 lds r24,Parameter_UserParam8
453 033a 8093 0000 sts ToNaviCtrl+28,r24
454 033e 8091 0000 lds r24,FC_StatusFlags
455 0342 8093 0000 sts ToNaviCtrl+29,r24
456 0346 8091 0000 lds r24,FC_StatusFlags
457 034a 837F andi r24,lo8(-13)
458 034c 8093 0000 sts FC_StatusFlags,r24
459 0350 0E94 0000 call GetActiveParamSet
460 0354 8093 0000 sts ToNaviCtrl+30,r24
461 0358 8091 0000 lds r24,EE_Parameter+101
462 035c 8093 0000 sts ToNaviCtrl+31,r24
463 0360 8091 0000 lds r24,FC_StatusFlags2
464 0364 00C0 rjmp .L62
465 .L25:
466 0366 8091 0000 lds r24,Capacity
467 036a 9091 0000 lds r25,(Capacity)+1
468 036e 9093 0000 sts (ToNaviCtrl+21)+1,r25
469 0372 8093 0000 sts ToNaviCtrl+21,r24
470 0376 8091 0000 lds r24,Capacity+4
471 037a 9091 0000 lds r25,(Capacity+4)+1
472 037e 9093 0000 sts (ToNaviCtrl+23)+1,r25
473 0382 8093 0000 sts ToNaviCtrl+23,r24
474 0386 8091 0000 lds r24,UBat
475 038a 9091 0000 lds r25,(UBat)+1
476 038e 8093 0000 sts ToNaviCtrl+25,r24
477 0392 8091 0000 lds r24,BattLowVoltageWarning
478 0396 8093 0000 sts ToNaviCtrl+26,r24
479 039a 8091 0000 lds r24,VarioCharacter
480 039e 8093 0000 sts ToNaviCtrl+27,r24
481 03a2 8091 0000 lds r24,Parameter_GlobalConfig
482 03a6 8093 0000 sts ToNaviCtrl+28,r24
483 03aa 8091 0000 lds r24,Parameter_ExtraConfig
484 03ae 8093 0000 sts ToNaviCtrl+29,r24
485 03b2 9091 0000 lds r25,motorindex.0
486 03b6 9093 0000 sts ToNaviCtrl+30,r25
487 03ba E92F mov r30,r25
488 03bc FF27 clr r31
489 03be A3E0 ldi r26,3
490 03c0 EE0F 1: lsl r30
491 03c2 FF1F rol r31
492 03c4 AA95 dec r26
493 03c6 01F4 brne 1b
494 03c8 E050 subi r30,lo8(-(Motor))
495 03ca F040 sbci r31,hi8(-(Motor))
496 03cc 8781 ldd r24,Z+7
497 03ce 8093 0000 sts ToNaviCtrl+31,r24
498 03d2 8581 ldd r24,Z+5
499 03d4 8093 0000 sts ToNaviCtrl+32,r24
500 03d8 892F mov r24,r25
501 03da 8F5F subi r24,lo8(-(1))
502 03dc 6CE0 ldi r22,lo8(12)
503 03de 0E94 0000 call __udivmodqi4
504 03e2 9093 0000 sts motorindex.0,r25
505 03e6 00C0 rjmp .L23
506 .L26:
507 03e8 8091 0000 lds r24,EE_Parameter+80
508 03ec 8093 0000 sts ToNaviCtrl+21,r24
509 03f0 8091 0000 lds r24,EE_Parameter+81
510 03f4 8093 0000 sts ToNaviCtrl+22,r24
511 03f8 8091 0000 lds r24,EE_Parameter+82
512 03fc 8093 0000 sts ToNaviCtrl+23,r24
513 0400 8091 0000 lds r24,EE_Parameter+83
514 0404 8093 0000 sts ToNaviCtrl+24,r24
515 0408 8091 0000 lds r24,EE_Parameter+84
516 040c 8093 0000 sts ToNaviCtrl+25,r24
517 0410 8091 0000 lds r24,EE_Parameter+88
518 0414 8093 0000 sts ToNaviCtrl+26,r24
519 0418 8091 0000 lds r24,EE_Parameter+89
520 041c 8093 0000 sts ToNaviCtrl+27,r24
521 0420 8091 0000 lds r24,EE_Parameter+90
522 0424 8093 0000 sts ToNaviCtrl+28,r24
523 0428 8091 0000 lds r24,EE_Parameter+93
524 042c 8093 0000 sts ToNaviCtrl+29,r24
525 0430 8091 0000 lds r24,EE_Parameter+91
526 0434 8093 0000 sts ToNaviCtrl+30,r24
527 0438 8091 0000 lds r24,EE_Parameter+92
528 043c 8093 0000 sts ToNaviCtrl+31,r24
529 0440 8091 0000 lds r24,EE_Parameter+94
530 0444 00C0 rjmp .L62
531 .L27:
532 /* #APP */
533 0446 F894 cli
534 /* #NOAPP */
535 0448 8091 0000 lds r24,EE_Parameter+3
536 044c E82F mov r30,r24
537 044e FF27 clr r31
538 0450 EE0F add r30,r30
539 0452 FF1F adc r31,r31
540 0454 E050 subi r30,lo8(-(PPM_in))
541 0456 F040 sbci r31,hi8(-(PPM_in))
542 0458 0190 ld __tmp_reg__,Z+
543 045a F081 ld r31,Z
544 045c E02D mov r30,__tmp_reg__
545 045e E038 cpi r30,128
546 0460 F105 cpc r31,__zero_reg__
547 0462 04F0 brlt .L28
548 0464 EFE7 ldi r30,lo8(127)
549 0466 F0E0 ldi r31,hi8(127)
550 0468 00C0 rjmp .L29
551 .L28:
552 046a 2FEF ldi r18,hi8(-127)
553 046c E138 cpi r30,lo8(-127)
554 046e F207 cpc r31,r18
555 0470 04F4 brge .L29
556 0472 E1E8 ldi r30,lo8(-127)
557 0474 FFEF ldi r31,hi8(-127)
558 .L29:
559 0476 E093 0000 sts ToNaviCtrl+21,r30
560 047a 8091 0000 lds r24,EE_Parameter+4
561 047e E82F mov r30,r24
562 0480 FF27 clr r31
563 0482 EE0F add r30,r30
564 0484 FF1F adc r31,r31
565 0486 E050 subi r30,lo8(-(PPM_in))
566 0488 F040 sbci r31,hi8(-(PPM_in))
567 048a 0190 ld __tmp_reg__,Z+
568 048c F081 ld r31,Z
569 048e E02D mov r30,__tmp_reg__
570 0490 E038 cpi r30,128
571 0492 F105 cpc r31,__zero_reg__
572 0494 04F0 brlt .L31
573 0496 EFE7 ldi r30,lo8(127)
574 0498 F0E0 ldi r31,hi8(127)
575 049a 00C0 rjmp .L32
576 .L31:
577 049c 6FEF ldi r22,hi8(-127)
578 049e E138 cpi r30,lo8(-127)
579 04a0 F607 cpc r31,r22
580 04a2 04F4 brge .L32
581 04a4 E1E8 ldi r30,lo8(-127)
582 04a6 FFEF ldi r31,hi8(-127)
583 .L32:
584 04a8 E093 0000 sts ToNaviCtrl+22,r30
585 04ac 8091 0000 lds r24,EE_Parameter+2
586 04b0 E82F mov r30,r24
587 04b2 FF27 clr r31
588 04b4 EE0F add r30,r30
589 04b6 FF1F adc r31,r31
590 04b8 E050 subi r30,lo8(-(PPM_in))
591 04ba F040 sbci r31,hi8(-(PPM_in))
592 04bc 0190 ld __tmp_reg__,Z+
593 04be F081 ld r31,Z
594 04c0 E02D mov r30,__tmp_reg__
595 04c2 E038 cpi r30,128
596 04c4 F105 cpc r31,__zero_reg__
597 04c6 04F0 brlt .L34
598 04c8 EFE7 ldi r30,lo8(127)
599 04ca F0E0 ldi r31,hi8(127)
600 04cc 00C0 rjmp .L35
601 .L34:
602 04ce 8FEF ldi r24,hi8(-127)
603 04d0 E138 cpi r30,lo8(-127)
604 04d2 F807 cpc r31,r24
605 04d4 04F4 brge .L35
606 04d6 E1E8 ldi r30,lo8(-127)
607 04d8 FFEF ldi r31,hi8(-127)
608 .L35:
609 04da E093 0000 sts ToNaviCtrl+23,r30
610 04de 8091 0000 lds r24,EE_Parameter+1
611 04e2 E82F mov r30,r24
612 04e4 FF27 clr r31
613 04e6 EE0F add r30,r30
614 04e8 FF1F adc r31,r31
615 04ea E050 subi r30,lo8(-(PPM_in))
616 04ec F040 sbci r31,hi8(-(PPM_in))
617 04ee 0190 ld __tmp_reg__,Z+
618 04f0 F081 ld r31,Z
619 04f2 E02D mov r30,__tmp_reg__
620 04f4 E038 cpi r30,128
621 04f6 F105 cpc r31,__zero_reg__
622 04f8 04F0 brlt .L37
623 04fa EFE7 ldi r30,lo8(127)
624 04fc F0E0 ldi r31,hi8(127)
625 04fe 00C0 rjmp .L38
626 .L37:
627 0500 2FEF ldi r18,hi8(-127)
628 0502 E138 cpi r30,lo8(-127)
629 0504 F207 cpc r31,r18
630 0506 04F4 brge .L38
631 0508 E1E8 ldi r30,lo8(-127)
632 050a FFEF ldi r31,hi8(-127)
633 .L38:
634 /* #APP */
635 050c 7894 sei
636 /* #NOAPP */
637 050e E093 0000 sts ToNaviCtrl+24,r30
638 0512 8091 0000 lds r24,Poti
639 0516 8093 0000 sts ToNaviCtrl+25,r24
640 051a 8091 0000 lds r24,Poti+1
641 051e 8093 0000 sts ToNaviCtrl+26,r24
642 0522 8091 0000 lds r24,Poti+2
643 0526 8093 0000 sts ToNaviCtrl+27,r24
644 052a 8091 0000 lds r24,Poti+3
645 052e 8093 0000 sts ToNaviCtrl+28,r24
646 0532 8091 0000 lds r24,Poti+4
647 0536 8093 0000 sts ToNaviCtrl+29,r24
648 053a 8091 0000 lds r24,Poti+5
649 053e 8093 0000 sts ToNaviCtrl+30,r24
650 0542 8091 0000 lds r24,Poti+6
651 0546 8093 0000 sts ToNaviCtrl+31,r24
652 054a 8091 0000 lds r24,Poti+7
653 054e 00C0 rjmp .L62
654 .L40:
655 0550 8091 0000 lds r24,WinkelOut+6
656 0554 8630 cpi r24,lo8(6)
657 0556 00F0 brlo .L41
658 0558 1092 0000 sts WinkelOut+6,__zero_reg__
659 055c 85E0 ldi r24,lo8(5)
660 .L41:
661 055e 8093 0000 sts ToNaviCtrl+21,r24
662 0562 8091 0000 lds r24,EE_Parameter+95
663 0566 8093 0000 sts ToNaviCtrl+22,r24
664 056a 8091 0000 lds r24,HoehenWert
665 056e 9091 0000 lds r25,(HoehenWert)+1
666 0572 A091 0000 lds r26,(HoehenWert)+2
667 0576 B091 0000 lds r27,(HoehenWert)+3
668 057a BC01 movw r22,r24
669 057c CD01 movw r24,r26
670 057e 25E0 ldi r18,lo8(5)
671 0580 30E0 ldi r19,hi8(5)
672 0582 40E0 ldi r20,hlo8(5)
673 0584 50E0 ldi r21,hhi8(5)
674 0586 0E94 0000 call __divmodsi4
675 058a 3093 0000 sts (ToNaviCtrl+23)+1,r19
676 058e 2093 0000 sts ToNaviCtrl+23,r18
677 0592 8091 0000 lds r24,SollHoehe
678 0596 9091 0000 lds r25,(SollHoehe)+1
679 059a A091 0000 lds r26,(SollHoehe)+2
680 059e B091 0000 lds r27,(SollHoehe)+3
681 05a2 BC01 movw r22,r24
682 05a4 CD01 movw r24,r26
683 05a6 25E0 ldi r18,lo8(5)
684 05a8 30E0 ldi r19,hi8(5)
685 05aa 40E0 ldi r20,hlo8(5)
686 05ac 50E0 ldi r21,hhi8(5)
687 05ae 0E94 0000 call __divmodsi4
688 05b2 3093 0000 sts (ToNaviCtrl+25)+1,r19
689 05b6 2093 0000 sts ToNaviCtrl+25,r18
690 05ba 8091 0000 lds r24,EE_Parameter+85
691 05be 8093 0000 sts ToNaviCtrl+27,r24
692 05c2 8091 0000 lds r24,EE_Parameter+86
693 05c6 8093 0000 sts ToNaviCtrl+28,r24
694 05ca 8091 0000 lds r24,EE_Parameter+87
695 05ce 8093 0000 sts ToNaviCtrl+29,r24
696 05d2 8091 0000 lds r24,SenderOkay
697 05d6 8093 0000 sts ToNaviCtrl+30,r24
698 05da 8091 0000 lds r24,PPM_in
699 05de 9091 0000 lds r25,(PPM_in)+1
700 05e2 8093 0000 sts ToNaviCtrl+31,r24
701 05e6 8091 0000 lds r24,DebugOut+16
702 05ea 9091 0000 lds r25,(DebugOut+16)+1
703 05ee 97FD sbrc r25,7
704 05f0 0396 adiw r24,3
705 .L43:
706 05f2 9595 asr r25
707 05f4 8795 ror r24
708 05f6 9595 asr r25
709 05f8 8795 ror r24
710 05fa 00C0 rjmp .L62
711 .L44:
712 05fc 1092 0000 sts ToNaviCtrl+21,__zero_reg__
713 0600 86E5 ldi r24,lo8(86)
714 0602 8093 0000 sts ToNaviCtrl+22,r24
715 0606 83E0 ldi r24,lo8(3)
716 0608 8093 0000 sts ToNaviCtrl+23,r24
717 060c 8BE1 ldi r24,lo8(27)
718 060e 8093 0000 sts ToNaviCtrl+24,r24
719 0612 8091 0000 lds r24,PlatinenVersion
720 0616 8093 0000 sts ToNaviCtrl+25,r24
721 061a 8091 0000 lds r24,VersionInfo+5
722 061e 8093 0000 sts ToNaviCtrl+26,r24
723 0622 8091 0000 lds r24,VersionInfo+6
724 0626 8093 0000 sts ToNaviCtrl+27,r24
725 062a 1092 0000 sts VersionInfo+5,__zero_reg__
726 062e 8071 andi r24,lo8(16)
727 0630 8093 0000 sts VersionInfo+6,r24
728 0634 8091 0000 lds r24,VersionInfo+7
729 0638 8093 0000 sts ToNaviCtrl+28,r24
730 063c 8091 0000 lds r24,VersionInfo+8
731 0640 8093 0000 sts ToNaviCtrl+29,r24
732 0644 8091 0000 lds r24,VersionInfo+9
733 0648 8093 0000 sts ToNaviCtrl+30,r24
734 064c 8091 0000 lds r24,EE_Parameter+97
735 0650 8093 0000 sts ToNaviCtrl+31,r24
736 0654 00C0 rjmp .L23
737 .L45:
738 0656 8091 0000 lds r24,EE_Parameter+53
739 065a 8093 0000 sts ToNaviCtrl+21,r24
740 065e 8091 0000 lds r24,EE_Parameter+105
741 0662 8093 0000 sts ToNaviCtrl+22,r24
742 0666 8091 0000 lds r24,Parameter_ServoNickControl
743 066a 8093 0000 sts ToNaviCtrl+23,r24
744 066e 8091 0000 lds r24,EE_Parameter+46
745 0672 8093 0000 sts ToNaviCtrl+24,r24
746 0676 8091 0000 lds r24,EE_Parameter+47
747 067a 8093 0000 sts ToNaviCtrl+25,r24
748 067e 8091 0000 lds r24,EE_Parameter+48
749 0682 8093 0000 sts ToNaviCtrl+26,r24
750 0686 8091 0000 lds r24,Parameter_ServoRollControl
751 068a 8093 0000 sts ToNaviCtrl+27,r24
752 068e 8091 0000 lds r24,EE_Parameter+50
753 0692 8093 0000 sts ToNaviCtrl+28,r24
754 0696 8091 0000 lds r24,EE_Parameter+51
755 069a 8093 0000 sts ToNaviCtrl+29,r24
756 069e 8091 0000 lds r24,EE_Parameter+52
757 06a2 8093 0000 sts ToNaviCtrl+30,r24
758 06a6 8091 0000 lds r24,Capacity+8
759 06aa 8093 0000 sts ToNaviCtrl+31,r24
760 06ae 8091 0000 lds r24,DebugOut+58
761 .L62:
762 06b2 8093 0000 sts ToNaviCtrl+32,r24
763 .L23:
764 06b6 8091 0000 lds r24,SPI_RxDataValid
765 06ba 8823 tst r24
766 06bc 01F4 brne .+2
767 06be 00C0 rjmp .L47
768 06c0 8AEF ldi r24,lo8(-6)
769 06c2 8093 0000 sts NaviDataOkay,r24
770 06c6 81E0 ldi r24,lo8(1)
771 06c8 8093 0000 sts CalculateCompassTimer,r24
772 06cc 4091 0000 lds r20,FromNaviCtrl+1
773 06d0 5091 0000 lds r21,(FromNaviCtrl+1)+1
774 06d4 CA01 movw r24,r20
775 06d6 8150 subi r24,lo8(-(511))
776 06d8 9E4F sbci r25,hi8(-(511))
777 06da 8F5F subi r24,lo8(1023)
778 06dc 9340 sbci r25,hi8(1023)
779 06de 00F4 brsh .L48
780 06e0 2091 0000 lds r18,FromNaviCtrl+3
781 06e4 3091 0000 lds r19,(FromNaviCtrl+3)+1
782 06e8 C901 movw r24,r18
783 06ea 8150 subi r24,lo8(-(511))
784 06ec 9E4F sbci r25,hi8(-(511))
785 06ee 8F5F subi r24,lo8(1023)
786 06f0 9340 sbci r25,hi8(1023)
787 06f2 00F4 brsh .L48
788 06f4 8091 0000 lds r24,EE_Parameter+13
789 06f8 85FF sbrs r24,5
790 06fa 00C0 rjmp .L48
791 06fc 5093 0000 sts (GPS_Nick)+1,r21
792 0700 4093 0000 sts GPS_Nick,r20
793 0704 3093 0000 sts (GPS_Roll)+1,r19
794 0708 2093 0000 sts GPS_Roll,r18
795 .L48:
796 070c 8091 0000 lds r24,FromNaviCtrl+7
797 0710 9091 0000 lds r25,(FromNaviCtrl+7)+1
798 0714 21E0 ldi r18,hi8(361)
799 0716 8936 cpi r24,lo8(361)
800 0718 9207 cpc r25,r18
801 071a 04F4 brge .L49
802 071c 9093 0000 sts (KompassValue)+1,r25
803 0720 8093 0000 sts KompassValue,r24
804 .L49:
805 0724 2091 0000 lds r18,FromNaviCtrl+17
806 0728 3091 0000 lds r19,(FromNaviCtrl+17)+1
807 072c 8091 0000 lds r24,beeptime
808 0730 9091 0000 lds r25,(beeptime)+1
809 0734 8217 cp r24,r18
810 0736 9307 cpc r25,r19
811 0738 00F4 brsh .L50
812 073a 3093 0000 sts (beeptime)+1,r19
813 073e 2093 0000 sts beeptime,r18
814 .L50:
815 0742 8091 0000 lds r24,FromNaviCtrl
816 0746 9927 clr r25
817 0748 8836 cpi r24,104
818 074a 9105 cpc r25,__zero_reg__
819 074c 01F4 brne .+2
820 074e 00C0 rjmp .L56
821 0750 8936 cpi r24,105
822 0752 9105 cpc r25,__zero_reg__
823 0754 04F4 brge .L60
824 0756 8736 cpi r24,103
825 0758 9105 cpc r25,__zero_reg__
826 075a 01F0 breq .L52
827 075c 00C0 rjmp .L20
828 .L60:
829 075e 8936 cpi r24,105
830 0760 9105 cpc r25,__zero_reg__
831 0762 01F4 brne .+2
832 0764 00C0 rjmp .L57
833 0766 8B36 cpi r24,107
834 0768 9105 cpc r25,__zero_reg__
835 076a 01F4 brne .+2
836 076c 00C0 rjmp .L58
837 076e 00C0 rjmp .L20
838 .L52:
839 0770 8091 0000 lds r24,FromNaviCtrl+19
840 0774 8093 0000 sts FromNaviCtrl_Value,r24
841 0778 8091 0000 lds r24,FromNaviCtrl+20
842 077c 8093 0000 sts FromNaviCtrl_Value+2,r24
843 0780 8091 0000 lds r24,FromNaviCtrl+21
844 0784 8093 0000 sts FromNaviCtrl_Value+1,r24
845 0788 8091 0000 lds r24,FromNaviCtrl+22
846 078c 8093 0000 sts KompassFusion,r24
847 0790 8091 0000 lds r24,FromNaviCtrl+23
848 0794 8093 0000 sts FromNaviCtrl_Value+4,r24
849 0798 8091 0000 lds r24,FromNaviCtrl+24
850 079c 8093 0000 sts FromNC_Rotate_C,r24
851 07a0 8091 0000 lds r24,FromNaviCtrl+25
852 07a4 8093 0000 sts FromNC_Rotate_S,r24
853 07a8 8091 0000 lds r24,FromNaviCtrl+26
854 07ac 8093 0000 sts GPS_Aid_StickMultiplikator,r24
855 07b0 8091 0000 lds r24,CareFree
856 07b4 8823 tst r24
857 07b6 01F0 breq .L53
858 07b8 2091 0000 lds r18,FromNaviCtrl+27
859 07bc 3091 0000 lds r19,(FromNaviCtrl+27)+1
860 07c0 37FD sbrc r19,7
861 07c2 00C0 rjmp .L53
862 07c4 3093 0000 sts (KompassSollWert)+1,r19
863 07c8 2093 0000 sts KompassSollWert,r18
864 07cc 9091 0000 lds r25,EE_Parameter+55
865 07d0 9923 tst r25
866 07d2 01F0 breq .L53
867 07d4 8FE0 ldi r24,lo8(15)
868 07d6 989F mul r25,r24
869 07d8 C001 movw r24,r0
870 07da 1124 clr r1
871 07dc 281B sub r18,r24
872 07de 390B sbc r19,r25
873 07e0 C901 movw r24,r18
874 07e2 8859 subi r24,lo8(-(360))
875 07e4 9E4F sbci r25,hi8(-(360))
876 07e6 68E6 ldi r22,lo8(360)
877 07e8 71E0 ldi r23,hi8(360)
878 07ea 0E94 0000 call __divmodhi4
879 07ee 9093 0000 sts (KompassSollWert)+1,r25
880 07f2 8093 0000 sts KompassSollWert,r24
881 .L53:
882 07f6 2091 0000 lds r18,POI_KameraNick
883 07fa 3091 0000 lds r19,(POI_KameraNick)+1
884 07fe 8091 0000 lds r24,FromNaviCtrl+29
885 0802 9091 0000 lds r25,(FromNaviCtrl+29)+1
886 0806 280F add r18,r24
887 0808 391F adc r19,r25
888 080a 37FF sbrs r19,7
889 080c 00C0 rjmp .L55
890 080e 2F5F subi r18,lo8(-(1))
891 0810 3F4F sbci r19,hi8(-(1))
892 .L55:
893 0812 3595 asr r19
894 0814 2795 ror r18
895 0816 3093 0000 sts (POI_KameraNick)+1,r19
896 081a 2093 0000 sts POI_KameraNick,r18
897 081e 00C0 rjmp .L20
898 .L56:
899 0820 8091 0000 lds r24,FromNaviCtrl+19
900 0824 8093 0000 sts NC_Version,r24
901 0828 8091 0000 lds r24,FromNaviCtrl+20
902 082c 8093 0000 sts NC_Version+1,r24
903 0830 8091 0000 lds r24,FromNaviCtrl+21
904 0834 8093 0000 sts NC_Version+2,r24
905 0838 8091 0000 lds r24,FromNaviCtrl+22
906 083c 8093 0000 sts NC_Version+3,r24
907 0840 8091 0000 lds r24,FromNaviCtrl+23
908 0844 8093 0000 sts NC_Version+4,r24
909 0848 8091 0000 lds r24,DebugOut
910 084c 9091 0000 lds r25,FromNaviCtrl+24
911 0850 892B or r24,r25
912 0852 8093 0000 sts DebugOut,r24
913 0856 9091 0000 lds r25,DebugOut+1
914 085a 9370 andi r25,lo8(3)
915 085c 8091 0000 lds r24,FromNaviCtrl+25
916 0860 8C70 andi r24,lo8(12)
917 0862 982B or r25,r24
918 0864 9093 0000 sts DebugOut+1,r25
919 0868 8091 0000 lds r24,FromNaviCtrl+26
920 086c 8093 0000 sts NC_ErrorCode,r24
921 0870 8091 0000 lds r24,FromNaviCtrl+27
922 0874 8093 0000 sts NC_GPS_ModeCharacter,r24
923 0878 8091 0000 lds r24,FromNaviCtrl+28
924 087c 8093 0000 sts FromNaviCtrl_Value+3,r24
925 0880 00C0 rjmp .L20
926 .L57:
927 0882 8091 0000 lds r24,FromNaviCtrl+19
928 0886 8093 0000 sts GPSInfo,r24
929 088a 8091 0000 lds r24,FromNaviCtrl+20
930 088e 8093 0000 sts GPSInfo+1,r24
931 0892 8091 0000 lds r24,FromNaviCtrl+21
932 0896 8093 0000 sts GPSInfo+2,r24
933 089a 8091 0000 lds r24,FromNaviCtrl+22
934 089e 8093 0000 sts GPSInfo+3,r24
935 08a2 8091 0000 lds r24,FromNaviCtrl+23
936 08a6 9091 0000 lds r25,(FromNaviCtrl+23)+1
937 08aa 9093 0000 sts (GPSInfo+4)+1,r25
938 08ae 8093 0000 sts GPSInfo+4,r24
939 08b2 8091 0000 lds r24,FromNaviCtrl+25
940 08b6 9091 0000 lds r25,(FromNaviCtrl+25)+1
941 08ba 9093 0000 sts (GPSInfo+6)+1,r25
942 08be 8093 0000 sts GPSInfo+6,r24
943 08c2 8091 0000 lds r24,FromNaviCtrl+27
944 08c6 9927 clr r25
945 08c8 87FD sbrc r24,7
946 08ca 9095 com r25
947 08cc 9093 0000 sts (PPM_in+50)+1,r25
948 08d0 8093 0000 sts PPM_in+50,r24
949 08d4 8091 0000 lds r24,FromNaviCtrl+28
950 08d8 8093 0000 sts FromNC_AltitudeSpeed,r24
951 08dc 8091 0000 lds r24,FromNaviCtrl+29
952 08e0 9091 0000 lds r25,(FromNaviCtrl+29)+1
953 08e4 9C01 movw r18,r24
954 08e6 4427 clr r20
955 08e8 37FD sbrc r19,7
956 08ea 4095 com r20
957 08ec 542F mov r21,r20
958 08ee DA01 movw r26,r20
959 08f0 C901 movw r24,r18
960 08f2 63E0 ldi r22,3
961 08f4 880F 1: lsl r24
962 08f6 991F rol r25
963 08f8 AA1F rol r26
964 08fa BB1F rol r27
965 08fc 6A95 dec r22
966 08fe 01F4 brne 1b
967 0900 820F add r24,r18
968 0902 931F adc r25,r19
969 0904 A41F adc r26,r20
970 0906 B51F adc r27,r21
971 0908 820F add r24,r18
972 090a 931F adc r25,r19
973 090c A41F adc r26,r20
974 090e B51F adc r27,r21
975 0910 8093 0000 sts FromNC_AltitudeSetpoint,r24
976 0914 9093 0000 sts (FromNC_AltitudeSetpoint)+1,r25
977 0918 A093 0000 sts (FromNC_AltitudeSetpoint)+2,r26
978 091c B093 0000 sts (FromNC_AltitudeSetpoint)+3,r27
979 0920 00C0 rjmp .L20
980 .L58:
981 0922 8091 0000 lds r24,FromNaviCtrl+19
982 0926 8093 0000 sts EarthMagneticField,r24
983 092a 8091 0000 lds r24,FromNaviCtrl+20
984 092e 8093 0000 sts EarthMagneticInclination,r24
985 0932 8091 0000 lds r24,FromNaviCtrl+21
986 0936 8093 0000 sts EarthMagneticInclinationTheoretic,r24
987 093a 00C0 rjmp .L20
988 .L47:
989 093c 1092 0000 sts (GPS_Nick)+1,__zero_reg__
990 0940 1092 0000 sts GPS_Nick,__zero_reg__
991 0944 1092 0000 sts (GPS_Roll)+1,__zero_reg__
992 0948 1092 0000 sts GPS_Roll,__zero_reg__
993 .L20:
994 /* epilogue: frame size=0 */
995 094c 1F91 pop r17
996 094e 0F91 pop r16
997 0950 FF90 pop r15
998 0952 EF90 pop r14
999 0954 0895 ret
1000 /* epilogue end (size=5) */
1001 /* function UpdateSPI_Buffer size 1030 (1021) */
1003 .global SPI_StartTransmitPacket
1005 SPI_StartTransmitPacket:
1006 /* prologue: frame size=0 */
1007 /* prologue end (size=0) */
1008 0956 8091 0000 lds r24,SPITransferCompleted
1009 095a 8823 tst r24
1010 095c 01F4 brne .+2
1011 095e 00C0 rjmp .L63
1012 0960 4598 cbi 40-0x20,5
1013 0962 80E0 ldi r24,lo8(ToNaviCtrl)
1014 0964 90E0 ldi r25,hi8(ToNaviCtrl)
1015 0966 9093 0000 sts (SPI_TX_Buffer)+1,r25
1016 096a 8093 0000 sts SPI_TX_Buffer,r24
1017 096e 9091 0000 lds r25,SPI_CommandCounter
1018 0972 E92F mov r30,r25
1019 0974 FF27 clr r31
1020 0976 E050 subi r30,lo8(-(SPI_CommandSequence))
1021 0978 F040 sbci r31,hi8(-(SPI_CommandSequence))
1022 097a 9F5F subi r25,lo8(-(1))
1023 097c 9093 0000 sts SPI_CommandCounter,r25
1024 0980 8081 ld r24,Z
1025 0982 8093 0000 sts ToNaviCtrl+2,r24
1026 0986 9930 cpi r25,lo8(9)
1027 0988 00F0 brlo .L65
1028 098a 1092 0000 sts SPI_CommandCounter,__zero_reg__
1029 .L65:
1030 098e 1092 0000 sts SPITransferCompleted,__zero_reg__
1031 0992 0E94 0000 call UpdateSPI_Buffer
1032 0996 81E0 ldi r24,lo8(1)
1033 0998 8093 0000 sts SPI_BufferIndex,r24
1034 /* #APP */
1035 099c 0000 nop
1036 099e 0000 nop
1037 09a0 0000 nop
1038 09a2 0000 nop
1039 09a4 0000 nop
1040 09a6 0000 nop
1041 09a8 0000 nop
1042 09aa 0000 nop
1043 09ac 0000 nop
1044 09ae 0000 nop
1045 09b0 0000 nop
1046 09b2 0000 nop
1047 09b4 0000 nop
1048 09b6 0000 nop
1049 09b8 0000 nop
1050 09ba 0000 nop
1051 09bc 0000 nop
1052 09be 0000 nop
1053 09c0 0000 nop
1054 09c2 0000 nop
1055 09c4 0000 nop
1056 09c6 0000 nop
1057 09c8 0000 nop
1058 09ca 0000 nop
1059 /* #NOAPP */
1060 09cc 8091 0000 lds r24,ToNaviCtrl
1061 09d0 8093 0000 sts ToNaviCtrl+33,r24
1062 09d4 8EBD out 78-0x20,r24
1063 .L63:
1064 09d6 0895 ret
1065 /* epilogue: frame size=0 */
1066 /* epilogue: noreturn */
1067 /* epilogue end (size=0) */
1068 /* function SPI_StartTransmitPacket size 89 (89) */
1070 .comm Motorsmax,8,1
1071 .comm MotorsTmax,2,1
1072 .comm GPSInfo,8,1
1073 .comm NC_Version,5,1
1074 .comm FromNaviCtrl_Value,5,1
1075 .comm ToNaviCtrl,34,1
1076 .comm FromNaviCtrl,32,1
1077 .comm SPI_BufferIndex,1,1
1078 .comm SPI_RxBufferIndex,1,1
1079 .comm SPI_Buffer,32,1
1080 .comm SPI_TX_Buffer,2,1
1081 .comm SPITransferCompleted,1,1
1082 .comm SPI_ChkSum,1,1
1083 .comm SPI_RxDataValid,1,1
1084 /* File "spi.c": code 1316 = 0x0524 (1306), prologues 4, epilogues 6 */
DEFINED SYMBOLS
*ABS*:00000000 spi.c
C:\Users\Thomas\AppData\Local\Temp/ccal2cUl.s:3 *ABS*:0000003f __SREG__
C:\Users\Thomas\AppData\Local\Temp/ccal2cUl.s:4 *ABS*:0000003e __SP_H__
C:\Users\Thomas\AppData\Local\Temp/ccal2cUl.s:5 *ABS*:0000003d __SP_L__
C:\Users\Thomas\AppData\Local\Temp/ccal2cUl.s:6 *ABS*:00000000 __tmp_reg__
C:\Users\Thomas\AppData\Local\Temp/ccal2cUl.s:7 *ABS*:00000001 __zero_reg__
C:\Users\Thomas\AppData\Local\Temp/ccal2cUl.s:15 .bss:00000000 MagVec
C:\Users\Thomas\AppData\Local\Temp/ccal2cUl.s:21 .bss:00000006 POI_KameraNick
C:\Users\Thomas\AppData\Local\Temp/ccal2cUl.s:27 .bss:00000008 EarthMagneticInclinationTheoretic
C:\Users\Thomas\AppData\Local\Temp/ccal2cUl.s:33 .bss:00000009 EarthMagneticInclination
C:\Users\Thomas\AppData\Local\Temp/ccal2cUl.s:39 .bss:0000000a EarthMagneticField
C:\Users\Thomas\AppData\Local\Temp/ccal2cUl.s:45 .data:00000000 NC_GPS_ModeCharacter
C:\Users\Thomas\AppData\Local\Temp/ccal2cUl.s:52 .bss:0000000b NC_ErrorCode
C:\Users\Thomas\AppData\Local\Temp/ccal2cUl.s:58 .bss:0000000c SPI_CommandCounter
C:\Users\Thomas\AppData\Local\Temp/ccal2cUl.s:64 .data:00000001 SPI_CommandSequence
C:\Users\Thomas\AppData\Local\Temp/ccal2cUl.s:77 .data:0000000a NaviDataOkay
C:\Users\Thomas\AppData\Local\Temp/ccal2cUl.s:84 .bss:0000000d FromNC_Rotate_S
C:\Users\Thomas\AppData\Local\Temp/ccal2cUl.s:90 .data:0000000b FromNC_Rotate_C
C:\Users\Thomas\AppData\Local\Temp/ccal2cUl.s:95 .text:00000000 SPI_MasterInit
*COM*:00000001 SPITransferCompleted
*COM*:00000022 ToNaviCtrl
*COM*:00000005 FromNaviCtrl_Value
*COM*:00000001 SPI_RxDataValid
.bss:0000000e SPI_RXState.1
C:\Users\Thomas\AppData\Local\Temp/ccal2cUl.s:125 .bss:0000000f rxchksum.2
C:\Users\Thomas\AppData\Local\Temp/ccal2cUl.s:129 .text:00000042 SPI_TransmitByte
*COM*:00000001 SPI_RxBufferIndex
*COM*:00000020 SPI_Buffer
*COM*:00000020 FromNaviCtrl
*COM*:00000001 SPI_BufferIndex
*COM*:00000002 SPI_TX_Buffer
C:\Users\Thomas\AppData\Local\Temp/ccal2cUl.s:126 .bss:00000010 motorindex.0
C:\Users\Thomas\AppData\Local\Temp/ccal2cUl.s:271 .text:00000158 UpdateSPI_Buffer
*COM*:00000005 NC_Version
*COM*:00000008 GPSInfo
C:\Users\Thomas\AppData\Local\Temp/ccal2cUl.s:1005 .text:00000956 SPI_StartTransmitPacket
*COM*:00000008 Motorsmax
*COM*:00000002 MotorsTmax
*COM*:00000001 SPI_ChkSum
UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
SendSPI
EE_Parameter
IntegralNick
__divmodsi4
IntegralRoll
ErsatzKompass
GIER_GRAD_FAKTOR
AdNeutralGier
AdWertGier
NaviCntAcc
NaviAccNick
__divmodhi4
NaviAccRoll
Parameter_UserParam1
Parameter_UserParam2
Parameter_UserParam3
Parameter_UserParam4
Parameter_UserParam5
Parameter_UserParam6
Parameter_UserParam7
Parameter_UserParam8
FC_StatusFlags
GetActiveParamSet
FC_StatusFlags2
Capacity
UBat
BattLowVoltageWarning
VarioCharacter
Parameter_GlobalConfig
Parameter_ExtraConfig
Motor
__udivmodqi4
PPM_in
Poti
WinkelOut
HoehenWert
SollHoehe
SenderOkay
DebugOut
PlatinenVersion
VersionInfo
Parameter_ServoNickControl
Parameter_ServoRollControl
CalculateCompassTimer
GPS_Nick
GPS_Roll
KompassValue
beeptime
KompassFusion
GPS_Aid_StickMultiplikator
CareFree
KompassSollWert
FromNC_AltitudeSpeed
FromNC_AltitudeSetpoint