Subversion Repositories FlightCtrl

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

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