Subversion Repositories FlightCtrl

Rev

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

Rev Author Line No. Line
1755 - 1
   1               		.file	"spi.c"
2
   2               		.arch atmega644p
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	NC_ErrorCode
11
  11               	.global	NC_ErrorCode
12
  12               		.section .bss
13
  15               	NC_ErrorCode:
14
  16 0000 00        		.skip 1,0
15
  17               	.global	SPI_CommandCounter
16
  18               	.global	SPI_CommandCounter
17
  21               	SPI_CommandCounter:
18
  22 0001 00        		.skip 1,0
19
  23               	.global	SPI_CommandSequence
20
  24               		.data
21
  27               	SPI_CommandSequence:
22
  28 0000 0B        		.byte	11
23
  29 0001 0A        		.byte	10
24
  30 0002 0D        		.byte	13
25
  31 0003 0B        		.byte	11
26
  32 0004 0C        		.byte	12
27
  33 0005 0E        		.byte	14
28
  34 0006 0B        		.byte	11
29
  35 0007 0F        		.byte	15
30
  36 0008 10        		.byte	16
31
  37               	.global	NaviDataOkay
32
  40               	NaviDataOkay:
33
  41 0009 FA        		.byte	-6
34
  42               	.global	FromNC_Rotate_S
35
  43               	.global	FromNC_Rotate_S
36
  44               		.section .bss
37
  47               	FromNC_Rotate_S:
38
  48 0002 00        		.skip 1,0
39
  49               	.global	FromNC_Rotate_C
40
  50               		.data
41
  53               	FromNC_Rotate_C:
42
  54 000a 20        		.byte	32
43
  55               		.text
44
  56               	.global	SPI_MasterInit
45
  58               	SPI_MasterInit:
46
  59               	/* prologue: frame size=0 */
47
  60               	/* prologue end (size=0) */
48
  61 0000 84B1      		in r24,36-0x20
49
  62 0002 806A      		ori r24,lo8(-96)
50
  63 0004 84B9      		out 36-0x20,r24
51
  64 0006 3D9A      		sbi 39-0x20,5
52
  65 0008 82E5      		ldi r24,lo8(82)
53
  66 000a 8CBD      		out 76-0x20,r24
54
  67 000c 1DBC      		out 77-0x20,__zero_reg__
55
  68 000e 459A      		sbi 40-0x20,5
56
  69 0010 81E0      		ldi r24,lo8(1)
57
  70 0012 8093 0000 		sts SPITransferCompleted,r24
58
  71 0016 8AEA      		ldi r24,lo8(-86)
59
  72 0018 8093 0000 		sts ToNaviCtrl,r24
60
  73 001c 83E8      		ldi r24,lo8(-125)
61
  74 001e 8093 0000 		sts ToNaviCtrl+1,r24
62
  75 0022 8AE0      		ldi r24,lo8(10)
63
  76 0024 8093 0000 		sts ToNaviCtrl+2,r24
64
  77 0028 1092 0000 		sts (ToNaviCtrl+3)+1,__zero_reg__
65
  78 002c 1092 0000 		sts ToNaviCtrl+3,__zero_reg__
66
  79 0030 1092 0000 		sts (ToNaviCtrl+5)+1,__zero_reg__
67
  80 0034 1092 0000 		sts ToNaviCtrl+5,__zero_reg__
68
  81 0038 1092 0000 		sts FromNaviCtrl_Value+3,__zero_reg__
69
  82 003c 1092 0000 		sts SPI_RxDataValid,__zero_reg__
70
  83               	/* epilogue: frame size=0 */
71
  84 0040 0895      		ret
72
  85               	/* epilogue end (size=1) */
73
  86               	/* function SPI_MasterInit size 33 (32) */
74
  88               		.lcomm SPI_RXState.0,1
75
  89               		.lcomm rxchksum.1,1
76
  90               	.global	SPI_TransmitByte
77
  92               	SPI_TransmitByte:
78
  93               	/* prologue: frame size=0 */
79
  94               	/* prologue end (size=0) */
80
  95 0042 3091 0000 		lds r19,SPITransferCompleted
81
  96 0046 3323      		tst r19
82
  97 0048 09F0      		breq .+2
83
  98 004a 85C0      		rjmp .L2
84
  99 004c 0DB4      		in __tmp_reg__,77-0x20
85
 100 004e 07FE      		sbrs __tmp_reg__,7
86
 101 0050 82C0      		rjmp .L2
87
 102 0052 84E0      		ldi r24,lo8(4)
88
 103 0054 8093 0000 		sts SendSPI,r24
89
 104 0058 459A      		sbi 40-0x20,5
90
 105 005a 2EB5      		in r18,78-0x20
91
 106 005c 8091 0000 		lds r24,SPI_RXState.0
92
 107 0060 9927      		clr r25
93
 108 0062 8130      		cpi r24,1
94
 109 0064 9105      		cpc r25,__zero_reg__
95
 110 0066 89F0      		breq .L8
96
 111 0068 8230      		cpi r24,2
97
 112 006a 9105      		cpc r25,__zero_reg__
98
 113 006c 1CF4      		brge .L16
99
 114 006e 892B      		or r24,r25
100
 115 0070 21F0      		breq .L6
101
 116 0072 3EC0      		rjmp .L5
102
 117               	.L16:
103
 118 0074 0297      		sbiw r24,2
104
 119 0076 B9F0      		breq .L11
105
 120 0078 3BC0      		rjmp .L5
106
 121               	.L6:
107
 122 007a 3093 0000 		sts SPI_RxBufferIndex,r19
108
 123 007e 2093 0000 		sts rxchksum.1,r18
109
 124 0082 2138      		cpi r18,lo8(-127)
110
 125 0084 A9F5      		brne .L5
111
 126 0086 81E0      		ldi r24,lo8(1)
112
 127 0088 08C0      		rjmp .L19
113
 128               	.L8:
114
 129 008a 2535      		cpi r18,lo8(85)
115
 130 008c 49F4      		brne .L9
116
 131 008e 8091 0000 		lds r24,rxchksum.1
117
 132 0092 820F      		add r24,r18
118
 133 0094 8093 0000 		sts rxchksum.1,r24
119
 134 0098 82E0      		ldi r24,lo8(2)
120
 135               	.L19:
121
 136 009a 8093 0000 		sts SPI_RXState.0,r24
122
 137 009e 28C0      		rjmp .L5
123
 138               	.L9:
124
 139 00a0 3093 0000 		sts SPI_RXState.0,r19
125
 140 00a4 25C0      		rjmp .L5
126
 141               	.L11:
127
 142 00a6 8091 0000 		lds r24,SPI_RxBufferIndex
128
 143 00aa E82F      		mov r30,r24
129
 144 00ac FF27      		clr r31
130
 145 00ae E050      		subi r30,lo8(-(SPI_Buffer))
131
 146 00b0 F040      		sbci r31,hi8(-(SPI_Buffer))
132
 147 00b2 2083      		st Z,r18
133
 148 00b4 8F5F      		subi r24,lo8(-(1))
134
 149 00b6 8093 0000 		sts SPI_RxBufferIndex,r24
135
 150 00ba 9091 0000 		lds r25,rxchksum.1
136
 151 00be 8A31      		cpi r24,lo8(26)
137
 152 00c0 A0F0      		brlo .L12
138
 153 00c2 2917      		cp r18,r25
139
 154 00c4 69F4      		brne .L13
140
 155 00c6 8AE1      		ldi r24,lo8(26)
141
 156 00c8 A0E0      		ldi r26,lo8(SPI_Buffer)
142
 157 00ca B0E0      		ldi r27,hi8(SPI_Buffer)
143
 158 00cc E0E0      		ldi r30,lo8(FromNaviCtrl)
144
 159 00ce F0E0      		ldi r31,hi8(FromNaviCtrl)
145
 160 00d0 0D90      		ld __tmp_reg__,X+
146
 161 00d2 0192      		st Z+,__tmp_reg__
147
 162 00d4 8A95      		dec r24
148
 163 00d6 E1F7      		brne .-8
149
 164 00d8 81E0      		ldi r24,lo8(1)
150
 165 00da 8093 0000 		sts SPI_RxDataValid,r24
151
 166 00de 02C0      		rjmp .L14
152
 167               	.L13:
153
 168 00e0 3093 0000 		sts SPI_RxDataValid,r19
154
 169               	.L14:
155
 170 00e4 1092 0000 		sts SPI_RXState.0,__zero_reg__
156
 171 00e8 03C0      		rjmp .L5
157
 172               	.L12:
158
 173 00ea 920F      		add r25,r18
159
 174 00ec 9093 0000 		sts rxchksum.1,r25
160
 175               	.L5:
161
 176 00f0 2091 0000 		lds r18,SPI_BufferIndex
162
 177 00f4 2032      		cpi r18,lo8(32)
163
 178 00f6 08F0      		brlo .+2
164
 179 00f8 28C0      		rjmp .L17
165
 180 00fa 4598      		cbi 40-0x20,5
166
 181               	/* #APP */
167
 182 00fc 0000      		nop
168
 183 00fe 0000      		nop
169
 184 0100 0000      		nop
170
 185 0102 0000      		nop
171
 186 0104 0000      		nop
172
 187 0106 0000      		nop
173
 188 0108 0000      		nop
174
 189 010a 0000      		nop
175
 190 010c 0000      		nop
176
 191 010e 0000      		nop
177
 192 0110 0000      		nop
178
 193 0112 0000      		nop
179
 194 0114 0000      		nop
180
 195 0116 0000      		nop
181
 196 0118 0000      		nop
182
 197 011a 0000      		nop
183
 198 011c 0000      		nop
184
 199 011e 0000      		nop
185
 200 0120 0000      		nop
186
 201 0122 0000      		nop
187
 202 0124 0000      		nop
188
 203 0126 0000      		nop
189
 204 0128 0000      		nop
190
 205 012a 0000      		nop
191
 206               	/* #NOAPP */
192
 207 012c E091 0000 		lds r30,SPI_TX_Buffer
193
 208 0130 F091 0000 		lds r31,(SPI_TX_Buffer)+1
194
 209 0134 E20F      		add r30,r18
195
 210 0136 F11D      		adc r31,__zero_reg__
196
 211 0138 8081      		ld r24,Z
197
 212 013a 8EBD      		out 78-0x20,r24
198
 213 013c 8091 0000 		lds r24,ToNaviCtrl+31
199
 214 0140 9081      		ld r25,Z
200
 215 0142 890F      		add r24,r25
201
 216 0144 8093 0000 		sts ToNaviCtrl+31,r24
202
 217 0148 03C0      		rjmp .L18
203
 218               	.L17:
204
 219 014a 81E0      		ldi r24,lo8(1)
205
 220 014c 8093 0000 		sts SPITransferCompleted,r24
206
 221               	.L18:
207
 222 0150 2F5F      		subi r18,lo8(-(1))
208
 223 0152 2093 0000 		sts SPI_BufferIndex,r18
209
 224               	.L2:
210
 225 0156 0895      		ret
211
 226               	/* epilogue: frame size=0 */
212
 227               	/* epilogue: noreturn */
213
 228               	/* epilogue end (size=0) */
214
 229               	/* function SPI_TransmitByte size 164 (164) */
215
 231               	.global	UpdateSPI_Buffer
216
 233               	UpdateSPI_Buffer:
217
 234               	/* prologue: frame size=0 */
218
 235 0158 EF92      		push r14
219
 236 015a FF92      		push r15
220
 237 015c 0F93      		push r16
221
 238 015e 1F93      		push r17
222
 239               	/* prologue end (size=4) */
223
 240 0160 8091 0000 		lds r24,EE_Parameter+28
224
 241 0164 9927      		clr r25
225
 242 0166 880F      		lsl r24
226
 243 0168 991F      		rol r25
227
 244 016a 880F      		lsl r24
228
 245 016c 991F      		rol r25
229
 246 016e 7C01      		movw r14,r24
230
 247 0170 0027      		clr r16
231
 248 0172 F7FC      		sbrc r15,7
232
 249 0174 0095      		com r16
233
 250 0176 102F      		mov r17,r16
234
 251 0178 8091 0000 		lds r24,IntegralNick
235
 252 017c 9091 0000 		lds r25,(IntegralNick)+1
236
 253 0180 A091 0000 		lds r26,(IntegralNick)+2
237
 254 0184 B091 0000 		lds r27,(IntegralNick)+3
238
 255 0188 BC01      		movw r22,r24
239
 256 018a CD01      		movw r24,r26
240
 257 018c A801      		movw r20,r16
241
 258 018e 9701      		movw r18,r14
242
 259 0190 0E94 0000 		call __divmodsi4
243
 260 0194 3093 0000 		sts (ToNaviCtrl+3)+1,r19
244
 261 0198 2093 0000 		sts ToNaviCtrl+3,r18
245
 262 019c 8091 0000 		lds r24,IntegralRoll
246
 263 01a0 9091 0000 		lds r25,(IntegralRoll)+1
247
 264 01a4 A091 0000 		lds r26,(IntegralRoll)+2
248
 265 01a8 B091 0000 		lds r27,(IntegralRoll)+3
249
 266 01ac BC01      		movw r22,r24
250
 267 01ae CD01      		movw r24,r26
251
 268 01b0 A801      		movw r20,r16
252
 269 01b2 9701      		movw r18,r14
253
 270 01b4 0E94 0000 		call __divmodsi4
254
 271 01b8 3093 0000 		sts (ToNaviCtrl+5)+1,r19
255
 272 01bc 2093 0000 		sts ToNaviCtrl+5,r18
256
 273 01c0 2091 0000 		lds r18,ErsatzKompass
257
 274 01c4 3091 0000 		lds r19,(ErsatzKompass)+1
258
 275 01c8 4091 0000 		lds r20,(ErsatzKompass)+2
259
 276 01cc 5091 0000 		lds r21,(ErsatzKompass)+3
260
 277 01d0 DA01      		movw r26,r20
261
 278 01d2 C901      		movw r24,r18
262
 279 01d4 E3E0      		ldi r30,3
263
 280 01d6 880F      	1:	lsl r24
264
 281 01d8 991F      		rol r25
265
 282 01da AA1F      		rol r26
266
 283 01dc BB1F      		rol r27
267
 284 01de EA95      		dec r30
268
 285 01e0 D1F7      		brne 1b
269
 286 01e2 820F      		add r24,r18
270
 287 01e4 931F      		adc r25,r19
271
 288 01e6 A41F      		adc r26,r20
272
 289 01e8 B51F      		adc r27,r21
273
 290 01ea 820F      		add r24,r18
274
 291 01ec 931F      		adc r25,r19
275
 292 01ee A41F      		adc r26,r20
276
 293 01f0 B51F      		adc r27,r21
277
 294 01f2 2091 0000 		lds r18,GIER_GRAD_FAKTOR
278
 295 01f6 3091 0000 		lds r19,(GIER_GRAD_FAKTOR)+1
279
 296 01fa 4091 0000 		lds r20,(GIER_GRAD_FAKTOR)+2
280
 297 01fe 5091 0000 		lds r21,(GIER_GRAD_FAKTOR)+3
281
 298 0202 BC01      		movw r22,r24
282
 299 0204 CD01      		movw r24,r26
283
 300 0206 0E94 0000 		call __divmodsi4
284
 301 020a 3093 0000 		sts (ToNaviCtrl+11)+1,r19
285
 302 020e 2093 0000 		sts ToNaviCtrl+11,r18
286
 303 0212 8091 0000 		lds r24,AdNeutralGier
287
 304 0216 9091 0000 		lds r25,(AdNeutralGier)+1
288
 305 021a 2091 0000 		lds r18,AdWertGier
289
 306 021e 3091 0000 		lds r19,(AdWertGier)+1
290
 307 0222 821B      		sub r24,r18
291
 308 0224 930B      		sbc r25,r19
292
 309 0226 9093 0000 		sts (ToNaviCtrl+17)+1,r25
293
 310 022a 8093 0000 		sts ToNaviCtrl+17,r24
294
 311 022e E091 0000 		lds r30,NaviCntAcc
295
 312 0232 F091 0000 		lds r31,(NaviCntAcc)+1
296
 313 0236 8091 0000 		lds r24,NaviAccNick
297
 314 023a 9091 0000 		lds r25,(NaviAccNick)+1
298
 315 023e BF01      		movw r22,r30
299
 316 0240 0E94 0000 		call __divmodhi4
300
 317 0244 CB01      		movw r24,r22
301
 318 0246 9B01      		movw r18,r22
302
 319 0248 220F      		lsl r18
303
 320 024a 331F      		rol r19
304
 321 024c 220F      		lsl r18
305
 322 024e 331F      		rol r19
306
 323 0250 280F      		add r18,r24
307
 324 0252 391F      		adc r19,r25
308
 325 0254 280F      		add r18,r24
309
 326 0256 391F      		adc r19,r25
310
 327 0258 37FF      		sbrs r19,7
311
 328 025a 02C0      		rjmp .L21
312
 329 025c 2D5F      		subi r18,lo8(-(3))
313
 330 025e 3F4F      		sbci r19,hi8(-(3))
314
 331               	.L21:
315
 332 0260 3595      		asr r19
316
 333 0262 2795      		ror r18
317
 334 0264 3595      		asr r19
318
 335 0266 2795      		ror r18
319
 336 0268 3093 0000 		sts (ToNaviCtrl+7)+1,r19
320
 337 026c 2093 0000 		sts ToNaviCtrl+7,r18
321
 338 0270 8091 0000 		lds r24,NaviAccRoll
322
 339 0274 9091 0000 		lds r25,(NaviAccRoll)+1
323
 340 0278 BF01      		movw r22,r30
324
 341 027a 0E94 0000 		call __divmodhi4
325
 342 027e 9B01      		movw r18,r22
326
 343 0280 220F      		lsl r18
327
 344 0282 331F      		rol r19
328
 345 0284 220F      		lsl r18
329
 346 0286 331F      		rol r19
330
 347 0288 260F      		add r18,r22
331
 348 028a 371F      		adc r19,r23
332
 349 028c 260F      		add r18,r22
333
 350 028e 371F      		adc r19,r23
334
 351 0290 37FF      		sbrs r19,7
335
 352 0292 02C0      		rjmp .L22
336
 353 0294 2D5F      		subi r18,lo8(-(3))
337
 354 0296 3F4F      		sbci r19,hi8(-(3))
338
 355               	.L22:
339
 356 0298 3595      		asr r19
340
 357 029a 2795      		ror r18
341
 358 029c 3595      		asr r19
342
 359 029e 2795      		ror r18
343
 360 02a0 3093 0000 		sts (ToNaviCtrl+9)+1,r19
344
 361 02a4 2093 0000 		sts ToNaviCtrl+9,r18
345
 362 02a8 1092 0000 		sts (NaviCntAcc)+1,__zero_reg__
346
 363 02ac 1092 0000 		sts NaviCntAcc,__zero_reg__
347
 364 02b0 1092 0000 		sts (NaviAccNick)+1,__zero_reg__
348
 365 02b4 1092 0000 		sts NaviAccNick,__zero_reg__
349
 366 02b8 1092 0000 		sts (NaviAccRoll)+1,__zero_reg__
350
 367 02bc 1092 0000 		sts NaviAccRoll,__zero_reg__
351
 368 02c0 8091 0000 		lds r24,ToNaviCtrl+2
352
 369 02c4 9927      		clr r25
353
 370 02c6 8D30      		cpi r24,13
354
 371 02c8 9105      		cpc r25,__zero_reg__
355
 372 02ca 09F4      		brne .+2
356
 373 02cc 66C0      		rjmp .L26
357
 374 02ce 8E30      		cpi r24,14
358
 375 02d0 9105      		cpc r25,__zero_reg__
359
 376 02d2 5CF4      		brge .L46
360
 377 02d4 8B30      		cpi r24,11
361
 378 02d6 9105      		cpc r25,__zero_reg__
362
 379 02d8 09F4      		brne .+2
363
 380 02da 8EC0      		rjmp .L27
364
 381 02dc 8C30      		cpi r24,12
365
 382 02de 9105      		cpc r25,__zero_reg__
366
 383 02e0 0CF0      		brlt .+2
367
 384 02e2 0FC1      		rjmp .L40
368
 385 02e4 0A97      		sbiw r24,10
369
 386 02e6 61F0      		breq .L24
370
 387 02e8 A8C1      		rjmp .L23
371
 388               	.L46:
372
 389 02ea 8F30      		cpi r24,15
373
 390 02ec 9105      		cpc r25,__zero_reg__
374
 391 02ee 09F4      		brne .+2
375
 392 02f0 7CC1      		rjmp .L45
376
 393 02f2 8F30      		cpi r24,15
377
 394 02f4 9105      		cpc r25,__zero_reg__
378
 395 02f6 0CF4      		brge .+2
379
 396 02f8 5CC1      		rjmp .L44
380
 397 02fa 4097      		sbiw r24,16
381
 398 02fc 99F1      		breq .L25
382
 399 02fe 9DC1      		rjmp .L23
383
 400               	.L24:
384
 401 0300 8091 0000 		lds r24,Parameter_UserParam1
385
 402 0304 8093 0000 		sts ToNaviCtrl+19,r24
386
 403 0308 8091 0000 		lds r24,Parameter_UserParam2
387
 404 030c 8093 0000 		sts ToNaviCtrl+20,r24
388
 405 0310 8091 0000 		lds r24,Parameter_UserParam3
389
 406 0314 8093 0000 		sts ToNaviCtrl+21,r24
390
 407 0318 8091 0000 		lds r24,Parameter_UserParam4
391
 408 031c 8093 0000 		sts ToNaviCtrl+22,r24
392
 409 0320 8091 0000 		lds r24,Parameter_UserParam5
393
 410 0324 8093 0000 		sts ToNaviCtrl+23,r24
394
 411 0328 8091 0000 		lds r24,Parameter_UserParam6
395
 412 032c 8093 0000 		sts ToNaviCtrl+24,r24
396
 413 0330 8091 0000 		lds r24,Parameter_UserParam7
397
 414 0334 8093 0000 		sts ToNaviCtrl+25,r24
398
 415 0338 8091 0000 		lds r24,Parameter_UserParam8
399
 416 033c 8093 0000 		sts ToNaviCtrl+26,r24
400
 417 0340 8091 0000 		lds r24,FCFlags
401
 418 0344 8093 0000 		sts ToNaviCtrl+27,r24
402
 419 0348 8091 0000 		lds r24,FCFlags
403
 420 034c 837F      		andi r24,lo8(-13)
404
 421 034e 8093 0000 		sts FCFlags,r24
405
 422 0352 0E94 0000 		call GetActiveParamSet
406
 423 0356 8093 0000 		sts ToNaviCtrl+28,r24
407
 424 035a 8091 0000 		lds r24,ControlHeading
408
 425 035e 8093 0000 		sts ToNaviCtrl+29,r24
409
 426 0362 6BC1      		rjmp .L23
410
 427               	.L25:
411
 428 0364 8091 0000 		lds r24,Capacity
412
 429 0368 9091 0000 		lds r25,(Capacity)+1
413
 430 036c 9093 0000 		sts (ToNaviCtrl+19)+1,r25
414
 431 0370 8093 0000 		sts ToNaviCtrl+19,r24
415
 432 0374 8091 0000 		lds r24,Capacity+4
416
 433 0378 9091 0000 		lds r25,(Capacity+4)+1
417
 434 037c 9093 0000 		sts (ToNaviCtrl+21)+1,r25
418
 435 0380 8093 0000 		sts ToNaviCtrl+21,r24
419
 436 0384 8091 0000 		lds r24,UBat
420
 437 0388 9091 0000 		lds r25,(UBat)+1
421
 438 038c 8093 0000 		sts ToNaviCtrl+23,r24
422
 439 0390 8091 0000 		lds r24,BattLowVoltageWarning
423
 440 0394 8093 0000 		sts ToNaviCtrl+24,r24
424
 441 0398 50C1      		rjmp .L23
425
 442               	.L26:
426
 443 039a 8091 0000 		lds r24,EE_Parameter+78
427
 444 039e 8093 0000 		sts ToNaviCtrl+19,r24
428
 445 03a2 8091 0000 		lds r24,EE_Parameter+79
429
 446 03a6 8093 0000 		sts ToNaviCtrl+20,r24
430
 447 03aa 8091 0000 		lds r24,EE_Parameter+80
431
 448 03ae 8093 0000 		sts ToNaviCtrl+21,r24
432
 449 03b2 8091 0000 		lds r24,EE_Parameter+81
433
 450 03b6 8093 0000 		sts ToNaviCtrl+22,r24
434
 451 03ba 8091 0000 		lds r24,EE_Parameter+82
435
 452 03be 8093 0000 		sts ToNaviCtrl+23,r24
436
 453 03c2 8091 0000 		lds r24,EE_Parameter+86
437
 454 03c6 8093 0000 		sts ToNaviCtrl+24,r24
438
 455 03ca 8091 0000 		lds r24,EE_Parameter+87
439
 456 03ce 8093 0000 		sts ToNaviCtrl+25,r24
440
 457 03d2 8091 0000 		lds r24,EE_Parameter+88
441
 458 03d6 8093 0000 		sts ToNaviCtrl+26,r24
442
 459 03da 8091 0000 		lds r24,EE_Parameter+91
443
 460 03de 8093 0000 		sts ToNaviCtrl+27,r24
444
 461 03e2 8091 0000 		lds r24,EE_Parameter+89
445
 462 03e6 8093 0000 		sts ToNaviCtrl+28,r24
446
 463 03ea 8091 0000 		lds r24,EE_Parameter+90
447
 464 03ee 8093 0000 		sts ToNaviCtrl+29,r24
448
 465 03f2 8091 0000 		lds r24,EE_Parameter+92
449
 466 03f6 DAC0      		rjmp .L58
450
 467               	.L27:
451
 468               	/* #APP */
452
 469 03f8 F894      		cli
453
 470               	/* #NOAPP */
454
 471 03fa 8091 0000 		lds r24,EE_Parameter+3
455
 472 03fe E82F      		mov r30,r24
456
 473 0400 FF27      		clr r31
457
 474 0402 EE0F      		add r30,r30
458
 475 0404 FF1F      		adc r31,r31
459
 476 0406 E050      		subi r30,lo8(-(PPM_in))
460
 477 0408 F040      		sbci r31,hi8(-(PPM_in))
461
 478 040a 0190      		ld __tmp_reg__,Z+
462
 479 040c F081      		ld r31,Z
463
 480 040e E02D      		mov r30,__tmp_reg__
464
 481 0410 E038      		cpi r30,128
465
 482 0412 F105      		cpc r31,__zero_reg__
466
 483 0414 1CF0      		brlt .L28
467
 484 0416 EFE7      		ldi r30,lo8(127)
468
 485 0418 F0E0      		ldi r31,hi8(127)
469
 486 041a 06C0      		rjmp .L29
470
 487               	.L28:
471
 488 041c 2FEF      		ldi r18,hi8(-127)
472
 489 041e E138      		cpi r30,lo8(-127)
473
 490 0420 F207      		cpc r31,r18
474
 491 0422 14F4      		brge .L29
475
 492 0424 E1E8      		ldi r30,lo8(-127)
476
 493 0426 FFEF      		ldi r31,hi8(-127)
477
 494               	.L29:
478
 495 0428 E093 0000 		sts ToNaviCtrl+19,r30
479
 496 042c 8091 0000 		lds r24,EE_Parameter+4
480
 497 0430 E82F      		mov r30,r24
481
 498 0432 FF27      		clr r31
482
 499 0434 EE0F      		add r30,r30
483
 500 0436 FF1F      		adc r31,r31
484
 501 0438 E050      		subi r30,lo8(-(PPM_in))
485
 502 043a F040      		sbci r31,hi8(-(PPM_in))
486
 503 043c 0190      		ld __tmp_reg__,Z+
487
 504 043e F081      		ld r31,Z
488
 505 0440 E02D      		mov r30,__tmp_reg__
489
 506 0442 E038      		cpi r30,128
490
 507 0444 F105      		cpc r31,__zero_reg__
491
 508 0446 1CF0      		brlt .L31
492
 509 0448 EFE7      		ldi r30,lo8(127)
493
 510 044a F0E0      		ldi r31,hi8(127)
494
 511 044c 06C0      		rjmp .L32
495
 512               	.L31:
496
 513 044e 6FEF      		ldi r22,hi8(-127)
497
 514 0450 E138      		cpi r30,lo8(-127)
498
 515 0452 F607      		cpc r31,r22
499
 516 0454 14F4      		brge .L32
500
 517 0456 E1E8      		ldi r30,lo8(-127)
501
 518 0458 FFEF      		ldi r31,hi8(-127)
502
 519               	.L32:
503
 520 045a E093 0000 		sts ToNaviCtrl+20,r30
504
 521 045e 8091 0000 		lds r24,EE_Parameter+2
505
 522 0462 E82F      		mov r30,r24
506
 523 0464 FF27      		clr r31
507
 524 0466 EE0F      		add r30,r30
508
 525 0468 FF1F      		adc r31,r31
509
 526 046a E050      		subi r30,lo8(-(PPM_in))
510
 527 046c F040      		sbci r31,hi8(-(PPM_in))
511
 528 046e 0190      		ld __tmp_reg__,Z+
512
 529 0470 F081      		ld r31,Z
513
 530 0472 E02D      		mov r30,__tmp_reg__
514
 531 0474 E038      		cpi r30,128
515
 532 0476 F105      		cpc r31,__zero_reg__
516
 533 0478 1CF0      		brlt .L34
517
 534 047a EFE7      		ldi r30,lo8(127)
518
 535 047c F0E0      		ldi r31,hi8(127)
519
 536 047e 06C0      		rjmp .L35
520
 537               	.L34:
521
 538 0480 8FEF      		ldi r24,hi8(-127)
522
 539 0482 E138      		cpi r30,lo8(-127)
523
 540 0484 F807      		cpc r31,r24
524
 541 0486 14F4      		brge .L35
525
 542 0488 E1E8      		ldi r30,lo8(-127)
526
 543 048a FFEF      		ldi r31,hi8(-127)
527
 544               	.L35:
528
 545 048c E093 0000 		sts ToNaviCtrl+21,r30
529
 546 0490 8091 0000 		lds r24,EE_Parameter+1
530
 547 0494 E82F      		mov r30,r24
531
 548 0496 FF27      		clr r31
532
 549 0498 EE0F      		add r30,r30
533
 550 049a FF1F      		adc r31,r31
534
 551 049c E050      		subi r30,lo8(-(PPM_in))
535
 552 049e F040      		sbci r31,hi8(-(PPM_in))
536
 553 04a0 0190      		ld __tmp_reg__,Z+
537
 554 04a2 F081      		ld r31,Z
538
 555 04a4 E02D      		mov r30,__tmp_reg__
539
 556 04a6 E038      		cpi r30,128
540
 557 04a8 F105      		cpc r31,__zero_reg__
541
 558 04aa 1CF0      		brlt .L37
542
 559 04ac EFE7      		ldi r30,lo8(127)
543
 560 04ae F0E0      		ldi r31,hi8(127)
544
 561 04b0 06C0      		rjmp .L38
545
 562               	.L37:
546
 563 04b2 2FEF      		ldi r18,hi8(-127)
547
 564 04b4 E138      		cpi r30,lo8(-127)
548
 565 04b6 F207      		cpc r31,r18
549
 566 04b8 14F4      		brge .L38
550
 567 04ba E1E8      		ldi r30,lo8(-127)
551
 568 04bc FFEF      		ldi r31,hi8(-127)
552
 569               	.L38:
553
 570               	/* #APP */
554
 571 04be 7894      		sei
555
 572               	/* #NOAPP */
556
 573 04c0 E093 0000 		sts ToNaviCtrl+22,r30
557
 574 04c4 8091 0000 		lds r24,Poti
558
 575 04c8 8093 0000 		sts ToNaviCtrl+23,r24
559
 576 04cc 8091 0000 		lds r24,Poti+1
560
 577 04d0 8093 0000 		sts ToNaviCtrl+24,r24
561
 578 04d4 8091 0000 		lds r24,Poti+2
562
 579 04d8 8093 0000 		sts ToNaviCtrl+25,r24
563
 580 04dc 8091 0000 		lds r24,Poti+3
564
 581 04e0 8093 0000 		sts ToNaviCtrl+26,r24
565
 582 04e4 8091 0000 		lds r24,Poti+4
566
 583 04e8 8093 0000 		sts ToNaviCtrl+27,r24
567
 584 04ec 8091 0000 		lds r24,Poti+5
568
 585 04f0 8093 0000 		sts ToNaviCtrl+28,r24
569
 586 04f4 8091 0000 		lds r24,Poti+6
570
 587 04f8 8093 0000 		sts ToNaviCtrl+29,r24
571
 588 04fc 8091 0000 		lds r24,Poti+7
572
 589 0500 55C0      		rjmp .L58
573
 590               	.L40:
574
 591 0502 8091 0000 		lds r24,WinkelOut+6
575
 592 0506 8630      		cpi r24,lo8(6)
576
 593 0508 18F0      		brlo .L41
577
 594 050a 1092 0000 		sts WinkelOut+6,__zero_reg__
578
 595 050e 85E0      		ldi r24,lo8(5)
579
 596               	.L41:
580
 597 0510 8093 0000 		sts ToNaviCtrl+19,r24
581
 598 0514 8091 0000 		lds r24,EE_Parameter+93
582
 599 0518 8093 0000 		sts ToNaviCtrl+20,r24
583
 600 051c 8091 0000 		lds r24,HoehenWert
584
 601 0520 9091 0000 		lds r25,(HoehenWert)+1
585
 602 0524 A091 0000 		lds r26,(HoehenWert)+2
586
 603 0528 B091 0000 		lds r27,(HoehenWert)+3
587
 604 052c BC01      		movw r22,r24
588
 605 052e CD01      		movw r24,r26
589
 606 0530 25E0      		ldi r18,lo8(5)
590
 607 0532 30E0      		ldi r19,hi8(5)
591
 608 0534 40E0      		ldi r20,hlo8(5)
592
 609 0536 50E0      		ldi r21,hhi8(5)
593
 610 0538 0E94 0000 		call __divmodsi4
594
 611 053c 3093 0000 		sts (ToNaviCtrl+21)+1,r19
595
 612 0540 2093 0000 		sts ToNaviCtrl+21,r18
596
 613 0544 8091 0000 		lds r24,SollHoehe
597
 614 0548 9091 0000 		lds r25,(SollHoehe)+1
598
 615 054c A091 0000 		lds r26,(SollHoehe)+2
599
 616 0550 B091 0000 		lds r27,(SollHoehe)+3
600
 617 0554 BC01      		movw r22,r24
601
 618 0556 CD01      		movw r24,r26
602
 619 0558 25E0      		ldi r18,lo8(5)
603
 620 055a 30E0      		ldi r19,hi8(5)
604
 621 055c 40E0      		ldi r20,hlo8(5)
605
 622 055e 50E0      		ldi r21,hhi8(5)
606
 623 0560 0E94 0000 		call __divmodsi4
607
 624 0564 3093 0000 		sts (ToNaviCtrl+23)+1,r19
608
 625 0568 2093 0000 		sts ToNaviCtrl+23,r18
609
 626 056c 8091 0000 		lds r24,EE_Parameter+83
610
 627 0570 8093 0000 		sts ToNaviCtrl+25,r24
611
 628 0574 8091 0000 		lds r24,EE_Parameter+84
612
 629 0578 8093 0000 		sts ToNaviCtrl+26,r24
613
 630 057c 8091 0000 		lds r24,EE_Parameter+85
614
 631 0580 8093 0000 		sts ToNaviCtrl+27,r24
615
 632 0584 8091 0000 		lds r24,SenderOkay
616
 633 0588 8093 0000 		sts ToNaviCtrl+28,r24
617
 634 058c 8091 0000 		lds r24,PPM_in
618
 635 0590 9091 0000 		lds r25,(PPM_in)+1
619
 636 0594 8093 0000 		sts ToNaviCtrl+29,r24
620
 637 0598 8091 0000 		lds r24,DebugOut+16
621
 638 059c 9091 0000 		lds r25,(DebugOut+16)+1
622
 639 05a0 97FD      		sbrc r25,7
623
 640 05a2 0396      		adiw r24,3
624
 641               	.L43:
625
 642 05a4 9595      		asr r25
626
 643 05a6 8795      		ror r24
627
 644 05a8 9595      		asr r25
628
 645 05aa 8795      		ror r24
629
 646               	.L58:
630
 647 05ac 8093 0000 		sts ToNaviCtrl+30,r24
631
 648 05b0 44C0      		rjmp .L23
632
 649               	.L44:
633
 650 05b2 1092 0000 		sts ToNaviCtrl+19,__zero_reg__
634
 651 05b6 80E5      		ldi r24,lo8(80)
635
 652 05b8 8093 0000 		sts ToNaviCtrl+20,r24
636
 653 05bc 86E0      		ldi r24,lo8(6)
637
 654 05be 8093 0000 		sts ToNaviCtrl+21,r24
638
 655 05c2 8EE0      		ldi r24,lo8(14)
639
 656 05c4 8093 0000 		sts ToNaviCtrl+22,r24
640
 657 05c8 8091 0000 		lds r24,PlatinenVersion
641
 658 05cc 8093 0000 		sts ToNaviCtrl+23,r24
642
 659 05d0 8091 0000 		lds r24,VersionInfo+5
643
 660 05d4 8093 0000 		sts ToNaviCtrl+24,r24
644
 661 05d8 8091 0000 		lds r24,VersionInfo+6
645
 662 05dc 8093 0000 		sts ToNaviCtrl+25,r24
646
 663 05e0 8091 0000 		lds r24,VersionInfo+7
647
 664 05e4 8093 0000 		sts ToNaviCtrl+26,r24
648
 665 05e8 28C0      		rjmp .L23
649
 666               	.L45:
650
 667 05ea 8091 0000 		lds r24,EE_Parameter+53
651
 668 05ee 8093 0000 		sts ToNaviCtrl+19,r24
652
 669 05f2 8091 0000 		lds r24,EE_Parameter+98
653
 670 05f6 8093 0000 		sts ToNaviCtrl+20,r24
654
 671 05fa 8091 0000 		lds r24,Parameter_ServoNickControl
655
 672 05fe 8093 0000 		sts ToNaviCtrl+21,r24
656
 673 0602 8091 0000 		lds r24,EE_Parameter+46
657
 674 0606 8093 0000 		sts ToNaviCtrl+22,r24
658
 675 060a 8091 0000 		lds r24,EE_Parameter+47
659
 676 060e 8093 0000 		sts ToNaviCtrl+23,r24
660
 677 0612 8091 0000 		lds r24,EE_Parameter+48
661
 678 0616 8093 0000 		sts ToNaviCtrl+24,r24
662
 679 061a 8091 0000 		lds r24,Parameter_ServoRollControl
663
 680 061e 8093 0000 		sts ToNaviCtrl+25,r24
664
 681 0622 8091 0000 		lds r24,EE_Parameter+50
665
 682 0626 8093 0000 		sts ToNaviCtrl+26,r24
666
 683 062a 8091 0000 		lds r24,EE_Parameter+51
667
 684 062e 8093 0000 		sts ToNaviCtrl+27,r24
668
 685 0632 8091 0000 		lds r24,EE_Parameter+52
669
 686 0636 8093 0000 		sts ToNaviCtrl+28,r24
670
 687               	.L23:
671
 688 063a 8091 0000 		lds r24,SPI_RxDataValid
672
 689 063e 8823      		tst r24
673
 690 0640 09F4      		brne .+2
674
 691 0642 CFC0      		rjmp .L47
675
 692 0644 8AEF      		ldi r24,lo8(-6)
676
 693 0646 8093 0000 		sts NaviDataOkay,r24
677
 694 064a 4091 0000 		lds r20,FromNaviCtrl+1
678
 695 064e 5091 0000 		lds r21,(FromNaviCtrl+1)+1
679
 696 0652 CA01      		movw r24,r20
680
 697 0654 8150      		subi r24,lo8(-(511))
681
 698 0656 9E4F      		sbci r25,hi8(-(511))
682
 699 0658 8F5F      		subi r24,lo8(1023)
683
 700 065a 9340      		sbci r25,hi8(1023)
684
 701 065c B0F4      		brsh .L48
685
 702 065e 2091 0000 		lds r18,FromNaviCtrl+3
686
 703 0662 3091 0000 		lds r19,(FromNaviCtrl+3)+1
687
 704 0666 C901      		movw r24,r18
688
 705 0668 8150      		subi r24,lo8(-(511))
689
 706 066a 9E4F      		sbci r25,hi8(-(511))
690
 707 066c 8F5F      		subi r24,lo8(1023)
691
 708 066e 9340      		sbci r25,hi8(1023)
692
 709 0670 60F4      		brsh .L48
693
 710 0672 8091 0000 		lds r24,EE_Parameter+13
694
 711 0676 85FF      		sbrs r24,5
695
 712 0678 08C0      		rjmp .L48
696
 713 067a 5093 0000 		sts (GPS_Nick)+1,r21
697
 714 067e 4093 0000 		sts GPS_Nick,r20
698
 715 0682 3093 0000 		sts (GPS_Roll)+1,r19
699
 716 0686 2093 0000 		sts GPS_Roll,r18
700
 717               	.L48:
701
 718 068a 8091 0000 		lds r24,FromNaviCtrl+7
702
 719 068e 9091 0000 		lds r25,(FromNaviCtrl+7)+1
703
 720 0692 21E0      		ldi r18,hi8(361)
704
 721 0694 8936      		cpi r24,lo8(361)
705
 722 0696 9207      		cpc r25,r18
706
 723 0698 24F4      		brge .L49
707
 724 069a 9093 0000 		sts (KompassValue)+1,r25
708
 725 069e 8093 0000 		sts KompassValue,r24
709
 726               	.L49:
710
 727 06a2 8091 0000 		lds r24,KompassValue
711
 728 06a6 9091 0000 		lds r25,(KompassValue)+1
712
 729 06aa 2091 0000 		lds r18,KompassStartwert
713
 730 06ae 3091 0000 		lds r19,(KompassStartwert)+1
714
 731 06b2 821B      		sub r24,r18
715
 732 06b4 930B      		sbc r25,r19
716
 733 06b6 845E      		subi r24,lo8(-(540))
717
 734 06b8 9D4F      		sbci r25,hi8(-(540))
718
 735 06ba 68E6      		ldi r22,lo8(360)
719
 736 06bc 71E0      		ldi r23,hi8(360)
720
 737 06be 0E94 0000 		call __divmodhi4
721
 738 06c2 845B      		subi r24,lo8(-(-180))
722
 739 06c4 9040      		sbci r25,hi8(-(-180))
723
 740 06c6 9093 0000 		sts (KompassRichtung)+1,r25
724
 741 06ca 8093 0000 		sts KompassRichtung,r24
725
 742 06ce 2091 0000 		lds r18,FromNaviCtrl+11
726
 743 06d2 3091 0000 		lds r19,(FromNaviCtrl+11)+1
727
 744 06d6 8091 0000 		lds r24,beeptime
728
 745 06da 9091 0000 		lds r25,(beeptime)+1
729
 746 06de 8217      		cp r24,r18
730
 747 06e0 9307      		cpc r25,r19
731
 748 06e2 40F4      		brsh .L50
732
 749 06e4 8091 0000 		lds r24,WinkelOut+6
733
 750 06e8 8823      		tst r24
734
 751 06ea 21F4      		brne .L50
735
 752 06ec 3093 0000 		sts (beeptime)+1,r19
736
 753 06f0 2093 0000 		sts beeptime,r18
737
 754               	.L50:
738
 755 06f4 8091 0000 		lds r24,FromNaviCtrl
739
 756 06f8 9927      		clr r25
740
 757 06fa 8836      		cpi r24,104
741
 758 06fc 9105      		cpc r25,__zero_reg__
742
 759 06fe 49F1      		breq .L53
743
 760 0700 8936      		cpi r24,105
744
 761 0702 9105      		cpc r25,__zero_reg__
745
 762 0704 24F4      		brge .L56
746
 763 0706 8736      		cpi r24,103
747
 764 0708 9105      		cpc r25,__zero_reg__
748
 765 070a 31F0      		breq .L52
749
 766 070c 72C0      		rjmp .L20
750
 767               	.L56:
751
 768 070e 8936      		cpi r24,105
752
 769 0710 9105      		cpc r25,__zero_reg__
753
 770 0712 09F4      		brne .+2
754
 771 0714 45C0      		rjmp .L54
755
 772 0716 6DC0      		rjmp .L20
756
 773               	.L52:
757
 774 0718 8091 0000 		lds r24,FromNaviCtrl+13
758
 775 071c 8093 0000 		sts FromNaviCtrl_Value,r24
759
 776 0720 8091 0000 		lds r24,FromNaviCtrl+14
760
 777 0724 8093 0000 		sts FromNaviCtrl_Value+2,r24
761
 778 0728 8091 0000 		lds r24,FromNaviCtrl+15
762
 779 072c 8093 0000 		sts FromNaviCtrl_Value+1,r24
763
 780 0730 8091 0000 		lds r24,FromNaviCtrl+16
764
 781 0734 8093 0000 		sts FromNaviCtrl_Value+3,r24
765
 782 0738 8091 0000 		lds r24,FromNaviCtrl+17
766
 783 073c 8093 0000 		sts FromNaviCtrl_Value+4,r24
767
 784 0740 8091 0000 		lds r24,FromNaviCtrl+18
768
 785 0744 8093 0000 		sts FromNC_Rotate_C,r24
769
 786 0748 8091 0000 		lds r24,FromNaviCtrl+19
770
 787 074c 8093 0000 		sts FromNC_Rotate_S,r24
771
 788 0750 50C0      		rjmp .L20
772
 789               	.L53:
773
 790 0752 8091 0000 		lds r24,FromNaviCtrl+13
774
 791 0756 8093 0000 		sts NC_Version,r24
775
 792 075a 8091 0000 		lds r24,FromNaviCtrl+14
776
 793 075e 8093 0000 		sts NC_Version+1,r24
777
 794 0762 8091 0000 		lds r24,FromNaviCtrl+15
778
 795 0766 8093 0000 		sts NC_Version+2,r24
779
 796 076a 8091 0000 		lds r24,FromNaviCtrl+16
780
 797 076e 8093 0000 		sts NC_Version+3,r24
781
 798 0772 8091 0000 		lds r24,FromNaviCtrl+17
782
 799 0776 8093 0000 		sts NC_Version+4,r24
783
 800 077a 8091 0000 		lds r24,DebugOut
784
 801 077e 9091 0000 		lds r25,FromNaviCtrl+18
785
 802 0782 892B      		or r24,r25
786
 803 0784 8093 0000 		sts DebugOut,r24
787
 804 0788 9091 0000 		lds r25,FromNaviCtrl+19
788
 805 078c 9093 0000 		sts NC_ErrorCode,r25
789
 806 0790 8091 0000 		lds r24,DebugOut+1
790
 807 0794 8370      		andi r24,lo8(3)
791
 808 0796 9C70      		andi r25,lo8(12)
792
 809 0798 892B      		or r24,r25
793
 810 079a 8093 0000 		sts DebugOut+1,r24
794
 811 079e 29C0      		rjmp .L20
795
 812               	.L54:
796
 813 07a0 8091 0000 		lds r24,FromNaviCtrl+13
797
 814 07a4 8093 0000 		sts GPSInfo,r24
798
 815 07a8 8091 0000 		lds r24,FromNaviCtrl+14
799
 816 07ac 8093 0000 		sts GPSInfo+1,r24
800
 817 07b0 8091 0000 		lds r24,FromNaviCtrl+15
801
 818 07b4 8093 0000 		sts GPSInfo+2,r24
802
 819 07b8 8091 0000 		lds r24,FromNaviCtrl+16
803
 820 07bc 8093 0000 		sts GPSInfo+3,r24
804
 821 07c0 8091 0000 		lds r24,FromNaviCtrl+17
805
 822 07c4 9091 0000 		lds r25,(FromNaviCtrl+17)+1
806
 823 07c8 9093 0000 		sts (GPSInfo+4)+1,r25
807
 824 07cc 8093 0000 		sts GPSInfo+4,r24
808
 825 07d0 8091 0000 		lds r24,FromNaviCtrl+19
809
 826 07d4 9091 0000 		lds r25,(FromNaviCtrl+19)+1
810
 827 07d8 9093 0000 		sts (GPSInfo+6)+1,r25
811
 828 07dc 8093 0000 		sts GPSInfo+6,r24
812
 829 07e0 08C0      		rjmp .L20
813
 830               	.L47:
814
 831 07e2 1092 0000 		sts (GPS_Nick)+1,__zero_reg__
815
 832 07e6 1092 0000 		sts GPS_Nick,__zero_reg__
816
 833 07ea 1092 0000 		sts (GPS_Roll)+1,__zero_reg__
817
 834 07ee 1092 0000 		sts GPS_Roll,__zero_reg__
818
 835               	.L20:
819
 836               	/* epilogue: frame size=0 */
820
 837 07f2 1F91      		pop r17
821
 838 07f4 0F91      		pop r16
822
 839 07f6 FF90      		pop r15
823
 840 07f8 EF90      		pop r14
824
 841 07fa 0895      		ret
825
 842               	/* epilogue end (size=5) */
826
 843               	/* function UpdateSPI_Buffer size 857 (848) */
827
 845               	.global	SPI_StartTransmitPacket
828
 847               	SPI_StartTransmitPacket:
829
 848               	/* prologue: frame size=0 */
830
 849               	/* prologue end (size=0) */
831
 850 07fc 8091 0000 		lds r24,SPITransferCompleted
832
 851 0800 8823      		tst r24
833
 852 0802 09F4      		brne .+2
834
 853 0804 3BC0      		rjmp .L59
835
 854 0806 4598      		cbi 40-0x20,5
836
 855 0808 80E0      		ldi r24,lo8(ToNaviCtrl)
837
 856 080a 90E0      		ldi r25,hi8(ToNaviCtrl)
838
 857 080c 9093 0000 		sts (SPI_TX_Buffer)+1,r25
839
 858 0810 8093 0000 		sts SPI_TX_Buffer,r24
840
 859 0814 9091 0000 		lds r25,SPI_CommandCounter
841
 860 0818 E92F      		mov r30,r25
842
 861 081a FF27      		clr r31
843
 862 081c E050      		subi r30,lo8(-(SPI_CommandSequence))
844
 863 081e F040      		sbci r31,hi8(-(SPI_CommandSequence))
845
 864 0820 9F5F      		subi r25,lo8(-(1))
846
 865 0822 9093 0000 		sts SPI_CommandCounter,r25
847
 866 0826 8081      		ld r24,Z
848
 867 0828 8093 0000 		sts ToNaviCtrl+2,r24
849
 868 082c 9930      		cpi r25,lo8(9)
850
 869 082e 10F0      		brlo .L61
851
 870 0830 1092 0000 		sts SPI_CommandCounter,__zero_reg__
852
 871               	.L61:
853
 872 0834 1092 0000 		sts SPITransferCompleted,__zero_reg__
854
 873 0838 0E94 0000 		call UpdateSPI_Buffer
855
 874 083c 81E0      		ldi r24,lo8(1)
856
 875 083e 8093 0000 		sts SPI_BufferIndex,r24
857
 876               	/* #APP */
858
 877 0842 0000      		nop
859
 878 0844 0000      		nop
860
 879 0846 0000      		nop
861
 880 0848 0000      		nop
862
 881 084a 0000      		nop
863
 882 084c 0000      		nop
864
 883 084e 0000      		nop
865
 884 0850 0000      		nop
866
 885 0852 0000      		nop
867
 886 0854 0000      		nop
868
 887 0856 0000      		nop
869
 888 0858 0000      		nop
870
 889 085a 0000      		nop
871
 890 085c 0000      		nop
872
 891 085e 0000      		nop
873
 892 0860 0000      		nop
874
 893 0862 0000      		nop
875
 894 0864 0000      		nop
876
 895 0866 0000      		nop
877
 896 0868 0000      		nop
878
 897 086a 0000      		nop
879
 898 086c 0000      		nop
880
 899 086e 0000      		nop
881
 900 0870 0000      		nop
882
 901               	/* #NOAPP */
883
 902 0872 8091 0000 		lds r24,ToNaviCtrl
884
 903 0876 8093 0000 		sts ToNaviCtrl+31,r24
885
 904 087a 8EBD      		out 78-0x20,r24
886
 905               	.L59:
887
 906 087c 0895      		ret
888
 907               	/* epilogue: frame size=0 */
889
 908               	/* epilogue: noreturn */
890
 909               	/* epilogue end (size=0) */
891
 910               	/* function SPI_StartTransmitPacket size 89 (89) */
892
 912               		.comm GPSInfo,8,1
893
 913               		.comm NC_Version,5,1
894
 914               		.comm FromNaviCtrl_Value,5,1
895
 915               		.comm ToNaviCtrl,32,1
896
 916               		.comm FromNaviCtrl,26,1
897
 917               		.comm SPI_BufferIndex,1,1
898
 918               		.comm SPI_RxBufferIndex,1,1
899
 919               		.comm SPI_Buffer,26,1
900
 920               		.comm SPI_TX_Buffer,2,1
901
 921               		.comm SPITransferCompleted,1,1
902
 922               		.comm SPI_ChkSum,1,1
903
 923               		.comm SPI_RxDataValid,1,1
904
 924               	/* File "spi.c": code 1143 = 0x0477 (1133), prologues   4, epilogues   6 */
905
DEFINED SYMBOLS
906
                            *ABS*:00000000 spi.c
907
C:\Users\Arthur-P\AppData\Local\Temp/ccM3baaa.s:3      *ABS*:0000003f __SREG__
908
C:\Users\Arthur-P\AppData\Local\Temp/ccM3baaa.s:4      *ABS*:0000003e __SP_H__
909
C:\Users\Arthur-P\AppData\Local\Temp/ccM3baaa.s:5      *ABS*:0000003d __SP_L__
910
C:\Users\Arthur-P\AppData\Local\Temp/ccM3baaa.s:6      *ABS*:00000000 __tmp_reg__
911
C:\Users\Arthur-P\AppData\Local\Temp/ccM3baaa.s:7      *ABS*:00000001 __zero_reg__
912
C:\Users\Arthur-P\AppData\Local\Temp/ccM3baaa.s:15     .bss:00000000 NC_ErrorCode
913
C:\Users\Arthur-P\AppData\Local\Temp/ccM3baaa.s:21     .bss:00000001 SPI_CommandCounter
914
C:\Users\Arthur-P\AppData\Local\Temp/ccM3baaa.s:27     .data:00000000 SPI_CommandSequence
915
C:\Users\Arthur-P\AppData\Local\Temp/ccM3baaa.s:40     .data:00000009 NaviDataOkay
916
C:\Users\Arthur-P\AppData\Local\Temp/ccM3baaa.s:47     .bss:00000002 FromNC_Rotate_S
917
C:\Users\Arthur-P\AppData\Local\Temp/ccM3baaa.s:53     .data:0000000a FromNC_Rotate_C
918
C:\Users\Arthur-P\AppData\Local\Temp/ccM3baaa.s:58     .text:00000000 SPI_MasterInit
919
                            *COM*:00000001 SPITransferCompleted
920
                            *COM*:00000020 ToNaviCtrl
921
                            *COM*:00000005 FromNaviCtrl_Value
922
                            *COM*:00000001 SPI_RxDataValid
923
                             .bss:00000003 SPI_RXState.0
924
C:\Users\Arthur-P\AppData\Local\Temp/ccM3baaa.s:88     .bss:00000004 rxchksum.1
925
C:\Users\Arthur-P\AppData\Local\Temp/ccM3baaa.s:92     .text:00000042 SPI_TransmitByte
926
                            *COM*:00000001 SPI_RxBufferIndex
927
                            *COM*:0000001a SPI_Buffer
928
                            *COM*:0000001a FromNaviCtrl
929
                            *COM*:00000001 SPI_BufferIndex
930
                            *COM*:00000002 SPI_TX_Buffer
931
C:\Users\Arthur-P\AppData\Local\Temp/ccM3baaa.s:233    .text:00000158 UpdateSPI_Buffer
932
                            *COM*:00000005 NC_Version
933
                            *COM*:00000008 GPSInfo
934
C:\Users\Arthur-P\AppData\Local\Temp/ccM3baaa.s:847    .text:000007fc SPI_StartTransmitPacket
935
                            *COM*:00000001 SPI_ChkSum
936
 
937
UNDEFINED SYMBOLS
938
__do_copy_data
939
__do_clear_bss
940
SendSPI
941
EE_Parameter
942
IntegralNick
943
__divmodsi4
944
IntegralRoll
945
ErsatzKompass
946
GIER_GRAD_FAKTOR
947
AdNeutralGier
948
AdWertGier
949
NaviCntAcc
950
NaviAccNick
951
__divmodhi4
952
NaviAccRoll
953
Parameter_UserParam1
954
Parameter_UserParam2
955
Parameter_UserParam3
956
Parameter_UserParam4
957
Parameter_UserParam5
958
Parameter_UserParam6
959
Parameter_UserParam7
960
Parameter_UserParam8
961
FCFlags
962
GetActiveParamSet
963
ControlHeading
964
Capacity
965
UBat
966
BattLowVoltageWarning
967
PPM_in
968
Poti
969
WinkelOut
970
HoehenWert
971
SollHoehe
972
SenderOkay
973
DebugOut
974
PlatinenVersion
975
VersionInfo
976
Parameter_ServoNickControl
977
Parameter_ServoRollControl
978
GPS_Nick
979
GPS_Roll
980
KompassValue
981
KompassStartwert
982
KompassRichtung
983
beeptime