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