Subversion Repositories FlightCtrl

Rev

Rev 1189 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
1189 kmpec 1
   1               		.file	"timer0.c"
2
   2               	__SREG__ = 0x3f
3
   3               	__SP_H__ = 0x3e
4
   4               	__SP_L__ = 0x3d
5
   5               	__tmp_reg__ = 0
6
   6               	__zero_reg__ = 1
7
   7               		.global __do_copy_data
8
   8               		.global __do_clear_bss
9
   9               		.text
10
  10               	.global	__vector_18
11
  12               	__vector_18:
12
  13               	/* prologue: frame size=0 */
13
  14 0000 1F92      		push __zero_reg__
14
  15 0002 0F92      		push __tmp_reg__
15
  16 0004 0FB6      		in __tmp_reg__,__SREG__
16
  17 0006 0F92      		push __tmp_reg__
17
  18 0008 1124      		clr __zero_reg__
18
  19 000a 2F93      		push r18
19
  20 000c 3F93      		push r19
20
  21 000e 5F93      		push r21
21
  22 0010 6F93      		push r22
22
  23 0012 7F93      		push r23
23
  24 0014 8F93      		push r24
24
  25 0016 9F93      		push r25
25
  26 0018 AF93      		push r26
26
  27 001a BF93      		push r27
27
  28               	/* prologue end (size=14) */
28
  29 001c 8091 0000 		lds r24,SendSPI
29
  30 0020 8823      		tst r24
30
  31 0022 01F0      		breq .L2
31
  32 0024 8091 0000 		lds r24,SendSPI
32
  33 0028 8150      		subi r24,lo8(-(-1))
33
  34 002a 8093 0000 		sts SendSPI,r24
34
  35               	.L2:
35
  36 002e 8091 0000 		lds r24,cnt.2378
36
  37 0032 8150      		subi r24,lo8(-(-1))
37
  38 0034 8093 0000 		sts cnt.2378,r24
38
  39 0038 8F3F      		cpi r24,lo8(-1)
39
  40 003a 01F4      		brne .+2
40
  41 003c 00C0      		rjmp .L30
41
  42               	.L4:
42
  43 003e 8091 0000 		lds r24,beeptime
43
  44 0042 9091 0000 		lds r25,(beeptime)+1
44
  45 0046 0297      		sbiw r24,2
45
  46 0048 00F0      		brlo .L8
46
  47 004a 8091 0000 		lds r24,beeptime
47
  48 004e 9091 0000 		lds r25,(beeptime)+1
48
  49 0052 0197      		sbiw r24,1
49
  50 0054 9093 0000 		sts (beeptime)+1,r25
50
  51 0058 8093 0000 		sts beeptime,r24
51
  52 005c 8091 0000 		lds r24,beeptime
52
  53 0060 9091 0000 		lds r25,(beeptime)+1
53
  54 0064 2091 0000 		lds r18,BeepMuster
54
  55 0068 3091 0000 		lds r19,(BeepMuster)+1
55
  56 006c 8223      		and r24,r18
56
  57 006e 9323      		and r25,r19
57
  58 0070 892B      		or r24,r25
58
  59 0072 01F0      		breq .L11
59
  60 0074 8091 0000 		lds r24,PlatinenVersion
60
  61 0078 8A30      		cpi r24,lo8(10)
61
  62 007a 01F4      		brne .+2
62
  63 007c 00C0      		rjmp .L31
63
  64 007e 479A      		sbi 40-0x20,7
64
  65 0080 00C0      		rjmp .L15
65
  66               	.L8:
66
  67 0082 8FEF      		ldi r24,lo8(-1)
67
  68 0084 9FEF      		ldi r25,hi8(-1)
68
  69 0086 9093 0000 		sts (BeepMuster)+1,r25
69
  70 008a 8093 0000 		sts BeepMuster,r24
70
  71               	.L11:
71
  72 008e 8091 0000 		lds r24,PlatinenVersion
72
  73 0092 8A30      		cpi r24,lo8(10)
73
  74 0094 01F4      		brne .+2
74
  75 0096 00C0      		rjmp .L32
75
  76 0098 4798      		cbi 40-0x20,7
76
  77               	.L15:
77
  78 009a 8091 0000 		lds r24,EE_Parameter+8
78
  79 009e 83FF      		sbrs r24,3
79
  80 00a0 00C0      		rjmp .L26
80
  81 00a2 349B      		sbis 38-0x20,4
81
  82 00a4 00C0      		rjmp .L19
82
  83 00a6 8091 0000 		lds r24,cntKompass
83
  84 00aa 9091 0000 		lds r25,(cntKompass)+1
84
  85 00ae 0196      		adiw r24,1
85
  86 00b0 9093 0000 		sts (cntKompass)+1,r25
86
  87 00b4 8093 0000 		sts cntKompass,r24
87
  88 00b8 00C0      		rjmp .L26
88
  89               	.L19:
89
  90 00ba 8091 0000 		lds r24,cntKompass
90
  91 00be 9091 0000 		lds r25,(cntKompass)+1
91
  92 00c2 892B      		or r24,r25
92
  93 00c4 01F0      		breq .L21
93
  94 00c6 8091 0000 		lds r24,cntKompass
94
  95 00ca 9091 0000 		lds r25,(cntKompass)+1
95
  96 00ce 8A56      		subi r24,lo8(362)
96
  97 00d0 9140      		sbci r25,hi8(362)
97
  98 00d2 00F4      		brsh .L21
98
  99 00d4 8091 0000 		lds r24,cntKompass
99
 100 00d8 9091 0000 		lds r25,(cntKompass)+1
100
 101 00dc 2091 0000 		lds r18,cntKompass
101
 102 00e0 3091 0000 		lds r19,(cntKompass)+1
102
 103 00e4 69E2      		ldi r22,lo8(41)
103
 104 00e6 70E0      		ldi r23,hi8(41)
104
 105 00e8 0E94 0000 		call __udivmodhi4
105
 106 00ec 260F      		add r18,r22
106
 107 00ee 371F      		adc r19,r23
107
 108 00f0 3093 0000 		sts (cntKompass)+1,r19
108
 109 00f4 2093 0000 		sts cntKompass,r18
109
 110 00f8 8091 0000 		lds r24,cntKompass
110
 111 00fc 9091 0000 		lds r25,(cntKompass)+1
111
 112 0100 0B97      		sbiw r24,11
112
 113 0102 00F4      		brsh .+2
113
 114 0104 00C0      		rjmp .L24
114
 115 0106 8091 0000 		lds r24,cntKompass
115
 116 010a 9091 0000 		lds r25,(cntKompass)+1
116
 117 010e 0A97      		sbiw r24,10
117
 118 0110 9093 0000 		sts (KompassValue)+1,r25
118
 119 0114 8093 0000 		sts KompassValue,r24
119
 120               	.L21:
120
 121 0118 8091 0000 		lds r24,KompassValue
121
 122 011c 9091 0000 		lds r25,(KompassValue)+1
122
 123 0120 845E      		subi r24,lo8(-(540))
123
 124 0122 9D4F      		sbci r25,hi8(-(540))
124
 125 0124 2091 0000 		lds r18,KompassStartwert
125
 126 0128 3091 0000 		lds r19,(KompassStartwert)+1
126
 127 012c 821B      		sub r24,r18
127
 128 012e 930B      		sbc r25,r19
128
 129 0130 68E6      		ldi r22,lo8(360)
129
 130 0132 71E0      		ldi r23,hi8(360)
130
 131 0134 0E94 0000 		call __divmodhi4
131
 132 0138 845B      		subi r24,lo8(-(-180))
132
 133 013a 9040      		sbci r25,hi8(-(-180))
133
 134 013c 9093 0000 		sts (KompassRichtung)+1,r25
134
 135 0140 8093 0000 		sts KompassRichtung,r24
135
 136 0144 1092 0000 		sts (cntKompass)+1,__zero_reg__
136
 137 0148 1092 0000 		sts cntKompass,__zero_reg__
137
 138 014c 00C0      		rjmp .L26
138
 139               	.L30:
139
 140 014e 89E0      		ldi r24,lo8(9)
140
 141 0150 8093 0000 		sts cnt.2378,r24
141
 142 0154 8091 0000 		lds r24,cnt_1ms.2377
142
 143 0158 8F5F      		subi r24,lo8(-(1))
143
 144 015a 8170      		andi r24,lo8(1)
144
 145 015c 8093 0000 		sts cnt_1ms.2377,r24
145
 146 0160 8823      		tst r24
146
 147 0162 01F4      		brne .L6
147
 148 0164 81E0      		ldi r24,lo8(1)
148
 149 0166 8093 0000 		sts UpdateMotor,r24
149
 150               	.L6:
150
 151 016a 8091 0000 		lds r24,CountMilliseconds
151
 152 016e 9091 0000 		lds r25,(CountMilliseconds)+1
152
 153 0172 0196      		adiw r24,1
153
 154 0174 9093 0000 		sts (CountMilliseconds)+1,r25
154
 155 0178 8093 0000 		sts CountMilliseconds,r24
155
 156 017c 00C0      		rjmp .L4
156
 157               	.L32:
157
 158 017e 5A98      		cbi 43-0x20,2
158
 159 0180 00C0      		rjmp .L15
159
 160               	.L31:
160
 161 0182 5A9A      		sbi 43-0x20,2
161
 162 0184 00C0      		rjmp .L15
162
 163               	.L24:
163
 164 0186 1092 0000 		sts (KompassValue)+1,__zero_reg__
164
 165 018a 1092 0000 		sts KompassValue,__zero_reg__
165
 166 018e 00C0      		rjmp .L21
166
 167               	.L26:
167
 168               	/* epilogue: frame size=0 */
168
 169 0190 BF91      		pop r27
169
 170 0192 AF91      		pop r26
170
 171 0194 9F91      		pop r25
171
 172 0196 8F91      		pop r24
172
 173 0198 7F91      		pop r23
173
 174 019a 6F91      		pop r22
174
 175 019c 5F91      		pop r21
175
 176 019e 3F91      		pop r19
176
 177 01a0 2F91      		pop r18
177
 178 01a2 0F90      		pop __tmp_reg__
178
 179 01a4 0FBE      		out __SREG__,__tmp_reg__
179
 180 01a6 0F90      		pop __tmp_reg__
180
 181 01a8 1F90      		pop __zero_reg__
181
 182 01aa 1895      		reti
182
 183               	/* epilogue end (size=14) */
183
 184               	/* function __vector_18 size 217 (189) */
184
 186               	.global	SetDelay
185
 188               	SetDelay:
186
 189               	/* prologue: frame size=0 */
187
 190               	/* prologue end (size=0) */
188
 191 01ac 2091 0000 		lds r18,CountMilliseconds
189
 192 01b0 3091 0000 		lds r19,(CountMilliseconds)+1
190
 193 01b4 2F5F      		subi r18,lo8(-(1))
191
 194 01b6 3F4F      		sbci r19,hi8(-(1))
192
 195 01b8 820F      		add r24,r18
193
 196 01ba 931F      		adc r25,r19
194
 197               	/* epilogue: frame size=0 */
195
 198 01bc 0895      		ret
196
 199               	/* epilogue end (size=1) */
197
 200               	/* function SetDelay size 9 (8) */
198
 202               	.global	CheckDelay
199
 204               	CheckDelay:
200
 205               	/* prologue: frame size=0 */
201
 206               	/* prologue end (size=0) */
202
 207 01be 2091 0000 		lds r18,CountMilliseconds
203
 208 01c2 3091 0000 		lds r19,(CountMilliseconds)+1
204
 209 01c6 821B      		sub r24,r18
205
 210 01c8 930B      		sbc r25,r19
206
 211 01ca 892F      		mov r24,r25
207
 212 01cc 9927      		clr r25
208
 213 01ce 8695      		lsr r24
209
 214 01d0 8074      		andi r24,lo8(64)
210
 215 01d2 90E0      		ldi r25,lo8(0)
211
 216               	/* epilogue: frame size=0 */
212
 217 01d4 0895      		ret
213
 218               	/* epilogue end (size=1) */
214
 219               	/* function CheckDelay size 12 (11) */
215
 221               	.global	Delay_ms
216
 223               	Delay_ms:
217
 224               	/* prologue: frame size=0 */
218
 225 01d6 CF93      		push r28
219
 226 01d8 DF93      		push r29
220
 227               	/* prologue end (size=2) */
221
 228 01da 0E94 0000 		call SetDelay
222
 229 01de EC01      		movw r28,r24
223
 230               	.L38:
224
 231 01e0 CE01      		movw r24,r28
225
 232 01e2 0E94 0000 		call CheckDelay
226
 233 01e6 8823      		tst r24
227
 234 01e8 01F0      		breq .L38
228
 235               	/* epilogue: frame size=0 */
229
 236 01ea DF91      		pop r29
230
 237 01ec CF91      		pop r28
231
 238 01ee 0895      		ret
232
 239               	/* epilogue end (size=3) */
233
 240               	/* function Delay_ms size 13 (8) */
234
 242               	.global	Delay_ms_Mess
235
 244               	Delay_ms_Mess:
236
 245               	/* prologue: frame size=0 */
237
 246 01f0 CF93      		push r28
238
 247 01f2 DF93      		push r29
239
 248               	/* prologue end (size=2) */
240
 249 01f4 0E94 0000 		call SetDelay
241
 250 01f8 EC01      		movw r28,r24
242
 251 01fa 00C0      		rjmp .L52
243
 252               	.L45:
244
 253 01fc 8091 0000 		lds r24,AdReady
245
 254 0200 8823      		tst r24
246
 255 0202 01F0      		breq .L52
247
 256 0204 1092 0000 		sts AdReady,__zero_reg__
248
 257 0208 8FEC      		ldi r24,lo8(-49)
249
 258 020a 8093 7A00 		sts 122,r24
250
 259               	.L52:
251
 260 020e CE01      		movw r24,r28
252
 261 0210 0E94 0000 		call CheckDelay
253
 262 0214 8823      		tst r24
254
 263 0216 01F0      		breq .L45
255
 264               	/* epilogue: frame size=0 */
256
 265 0218 DF91      		pop r29
257
 266 021a CF91      		pop r28
258
 267 021c 0895      		ret
259
 268               	/* epilogue end (size=3) */
260
 269               	/* function Delay_ms_Mess size 23 (18) */
261
 271               	.global	TIMER2_Init
262
 273               	TIMER2_Init:
263
 274               	/* prologue: frame size=0 */
264
 275               	/* prologue end (size=0) */
265
 276 021e 9FB7      		in r25,95-0x20
266
 277               	/* #APP */
267
 278 0220 F894      		cli
268
 279               	/* #NOAPP */
269
 280 0222 579A      		sbi 42-0x20,7
270
 281 0224 5F98      		cbi 43-0x20,7
271
 282 0226 3E9A      		sbi 39-0x20,6
272
 283 0228 469A      		sbi 40-0x20,6
273
 284 022a A0EB      		ldi r26,lo8(176)
274
 285 022c B0E0      		ldi r27,hi8(176)
275
 286 022e 8C91      		ld r24,X
276
 287 0230 8F70      		andi r24,lo8(15)
277
 288 0232 8C93      		st X,r24
278
 289 0234 8C91      		ld r24,X
279
 290 0236 8360      		ori r24,lo8(3)
280
 291 0238 8C93      		st X,r24
281
 292 023a E1EB      		ldi r30,lo8(177)
282
 293 023c F0E0      		ldi r31,hi8(177)
283
 294 023e 8081      		ld r24,Z
284
 295 0240 8B73      		andi r24,lo8(59)
285
 296 0242 8083      		st Z,r24
286
 297 0244 8081      		ld r24,Z
287
 298 0246 8B60      		ori r24,lo8(11)
288
 299 0248 8083      		st Z,r24
289
 300 024a 1092 B200 		sts 178,__zero_reg__
290
 301 024e 8FEF      		ldi r24,lo8(-1)
291
 302 0250 8093 B300 		sts 179,r24
292
 303 0254 8C91      		ld r24,X
293
 304 0256 8068      		ori r24,lo8(-128)
294
 305 0258 8C93      		st X,r24
295
 306 025a E0E7      		ldi r30,lo8(112)
296
 307 025c F0E0      		ldi r31,hi8(112)
297
 308 025e 8081      		ld r24,Z
298
 309 0260 8A7F      		andi r24,lo8(-6)
299
 310 0262 8083      		st Z,r24
300
 311 0264 8081      		ld r24,Z
301
 312 0266 8260      		ori r24,lo8(2)
302
 313 0268 8083      		st Z,r24
303
 314 026a 9FBF      		out 95-0x20,r25
304
 315               	/* epilogue: frame size=0 */
305
 316 026c 0895      		ret
306
 317               	/* epilogue end (size=1) */
307
 318               	/* function TIMER2_Init size 41 (40) */
308
 320               	.global	Timer_Init
309
 322               	Timer_Init:
310
 323               	/* prologue: frame size=0 */
311
 324               	/* prologue end (size=0) */
312
 325 026e 8AE0      		ldi r24,lo8(10)
313
 326 0270 90E0      		ldi r25,hi8(10)
314
 327 0272 0E94 0000 		call SetDelay
315
 328 0276 9093 0000 		sts (tim_main)+1,r25
316
 329 027a 8093 0000 		sts tim_main,r24
317
 330 027e 82E0      		ldi r24,lo8(2)
318
 331 0280 85BD      		out 69-0x20,r24
319
 332 0282 83EA      		ldi r24,lo8(-93)
320
 333 0284 84BD      		out 68-0x20,r24
321
 334 0286 17BC      		out 71-0x20,__zero_reg__
322
 335 0288 88E7      		ldi r24,lo8(120)
323
 336 028a 88BD      		out 72-0x20,r24
324
 337 028c 86E0      		ldi r24,lo8(6)
325
 338 028e 86BD      		out 70-0x20,r24
326
 339 0290 EEE6      		ldi r30,lo8(110)
327
 340 0292 F0E0      		ldi r31,hi8(110)
328
 341 0294 8081      		ld r24,Z
329
 342 0296 8160      		ori r24,lo8(1)
330
 343 0298 8083      		st Z,r24
331
 344               	/* epilogue: frame size=0 */
332
 345 029a 0895      		ret
333
 346               	/* epilogue end (size=1) */
334
 347               	/* function Timer_Init size 23 (22) */
335
 349               	.global	__vector_9
336
 351               	__vector_9:
337
 352               	/* prologue: frame size=0 */
338
 353 029c 1F92      		push __zero_reg__
339
 354 029e 0F92      		push __tmp_reg__
340
 355 02a0 0FB6      		in __tmp_reg__,__SREG__
341
 356 02a2 0F92      		push __tmp_reg__
342
 357 02a4 1124      		clr __zero_reg__
343
 358 02a6 CF92      		push r12
344
 359 02a8 DF92      		push r13
345
 360 02aa EF92      		push r14
346
 361 02ac FF92      		push r15
347
 362 02ae 0F93      		push r16
348
 363 02b0 1F93      		push r17
349
 364 02b2 2F93      		push r18
350
 365 02b4 3F93      		push r19
351
 366 02b6 4F93      		push r20
352
 367 02b8 5F93      		push r21
353
 368 02ba 6F93      		push r22
354
 369 02bc 7F93      		push r23
355
 370 02be 8F93      		push r24
356
 371 02c0 9F93      		push r25
357
 372 02c2 AF93      		push r26
358
 373 02c4 BF93      		push r27
359
 374 02c6 EF93      		push r30
360
 375 02c8 FF93      		push r31
361
 376               	/* prologue end (size=23) */
362
 377 02ca 8091 0000 		lds r24,PlatinenVersion
363
 378 02ce 8431      		cpi r24,lo8(20)
364
 379 02d0 00F4      		brsh .L58
365
 380 02d2 8091 0000 		lds r24,PulseOutput.2520
366
 381 02d6 8823      		tst r24
367
 382 02d8 01F4      		brne .+2
368
 383 02da 00C0      		rjmp .L117
369
 384               	.L113:
370
 385 02dc 2091 0000 		lds r18,RemainingPulse.2521
371
 386 02e0 3091 0000 		lds r19,(RemainingPulse.2521)+1
372
 387               	.L60:
373
 388 02e4 41E0      		ldi r20,hi8(383)
374
 389 02e6 2F37      		cpi r18,lo8(383)
375
 390 02e8 3407      		cpc r19,r20
376
 391 02ea 00F0      		brlo .L104
377
 392 02ec 8FEF      		ldi r24,lo8(-1)
378
 393 02ee 8093 B300 		sts 179,r24
379
 394 02f2 2F5F      		subi r18,lo8(-(-255))
380
 395 02f4 3040      		sbci r19,hi8(-(-255))
381
 396 02f6 3093 0000 		sts (RemainingPulse.2521)+1,r19
382
 397 02fa 2093 0000 		sts RemainingPulse.2521,r18
383
 398 02fe 00C0      		rjmp .L111
384
 399               	.L58:
385
 400 0300 8091 0000 		lds r24,PulseOutput.2520
386
 401 0304 8823      		tst r24
387
 402 0306 01F4      		brne .L113
388
 403 0308 8091 B000 		lds r24,176
389
 404 030c 86FF      		sbrs r24,6
390
 405 030e 00C0      		rjmp .L79
391
 406 0310 8091 B000 		lds r24,176
392
 407 0314 8F7B      		andi r24,lo8(-65)
393
 408 0316 8093 B000 		sts 176,r24
394
 409 031a E091 0000 		lds r30,ServoIndex.2523
395
 410 031e EE23      		tst r30
396
 411 0320 01F0      		breq .+2
397
 412 0322 00C0      		rjmp .L81
398
 413 0324 8091 0000 		lds r24,EE_Parameter+38
399
 414 0328 90E0      		ldi r25,lo8(0)
400
 415 032a 2DED      		ldi r18,lo8(1757)
401
 416 032c 36E0      		ldi r19,hi8(1757)
402
 417 032e A901      		movw r20,r18
403
 418 0330 849F      		mul r24,r20
404
 419 0332 9001      		movw r18,r0
405
 420 0334 859F      		mul r24,r21
406
 421 0336 300D      		add r19,r0
407
 422 0338 949F      		mul r25,r20
408
 423 033a 300D      		add r19,r0
409
 424 033c 1124      		clr r1
410
 425 033e 8091 0000 		lds r24,ServoFrameTime.2522
411
 426 0342 9091 0000 		lds r25,(ServoFrameTime.2522)+1
412
 427 0346 281B      		sub r18,r24
413
 428 0348 390B      		sbc r19,r25
414
 429 034a 3093 0000 		sts (RemainingPulse.2521)+1,r19
415
 430 034e 2093 0000 		sts RemainingPulse.2521,r18
416
 431 0352 1092 0000 		sts (ServoFrameTime.2522)+1,__zero_reg__
417
 432 0356 1092 0000 		sts ServoFrameTime.2522,__zero_reg__
418
 433 035a 469A      		sbi 40-0x20,6
419
 434 035c 00C0      		rjmp .L83
420
 435               	.L104:
421
 436 035e 2F3F      		cpi r18,255
422
 437 0360 3105      		cpc r19,__zero_reg__
423
 438 0362 01F0      		breq .L107
424
 439 0364 00F0      		brlo .L107
425
 440 0366 51E0      		ldi r21,hi8(382)
426
 441 0368 2E37      		cpi r18,lo8(382)
427
 442 036a 3507      		cpc r19,r21
428
 443 036c 01F4      		brne .+2
429
 444 036e 00C0      		rjmp .L109
430
 445 0370 80E8      		ldi r24,lo8(-128)
431
 446 0372 8093 B300 		sts 179,r24
432
 447 0376 2058      		subi r18,lo8(-(-128))
433
 448 0378 3040      		sbci r19,hi8(-(-128))
434
 449 037a 3093 0000 		sts (RemainingPulse.2521)+1,r19
435
 450 037e 2093 0000 		sts RemainingPulse.2521,r18
436
 451 0382 00C0      		rjmp .L111
437
 452               	.L107:
438
 453 0384 2093 B300 		sts 179,r18
439
 454 0388 1092 0000 		sts (RemainingPulse.2521)+1,__zero_reg__
440
 455 038c 1092 0000 		sts RemainingPulse.2521,__zero_reg__
441
 456 0390 1092 0000 		sts PulseOutput.2520,__zero_reg__
442
 457 0394 00C0      		rjmp .L111
443
 458               	.L117:
444
 459 0396 8091 B000 		lds r24,176
445
 460 039a 86FF      		sbrs r24,6
446
 461 039c 00C0      		rjmp .L62
447
 462 039e 8091 B000 		lds r24,176
448
 463 03a2 8F7B      		andi r24,lo8(-65)
449
 464 03a4 8093 B000 		sts 176,r24
450
 465 03a8 8091 0000 		lds r24,Parameter_ServoNickControl
451
 466 03ac 482F      		mov r20,r24
452
 467 03ae 50E0      		ldi r21,lo8(0)
453
 468 03b0 440F      		lsl r20
454
 469 03b2 551F      		rol r21
455
 470 03b4 440F      		lsl r20
456
 471 03b6 551F      		rol r21
457
 472 03b8 2091 0000 		lds r18,ServoNickOffset.2524
458
 473 03bc 3091 0000 		lds r19,(ServoNickOffset.2524)+1
459
 474 03c0 C901      		movw r24,r18
460
 475 03c2 880F      		lsl r24
461
 476 03c4 991F      		rol r25
462
 477 03c6 820F      		add r24,r18
463
 478 03c8 931F      		adc r25,r19
464
 479 03ca 480F      		add r20,r24
465
 480 03cc 591F      		adc r21,r25
466
 481 03ce 57FD      		sbrc r21,7
467
 482 03d0 00C0      		rjmp .L118
468
 483               	.L64:
469
 484 03d2 CA01      		movw r24,r20
470
 485 03d4 9595      		asr r25
471
 486 03d6 8795      		ror r24
472
 487 03d8 9595      		asr r25
473
 488 03da 8795      		ror r24
474
 489 03dc 9093 0000 		sts (ServoNickOffset.2524)+1,r25
475
 490 03e0 8093 0000 		sts ServoNickOffset.2524,r24
476
 491 03e4 9093 0000 		sts (ServoNickValue)+1,r25
477
 492 03e8 8093 0000 		sts ServoNickValue,r24
478
 493 03ec 8091 0000 		lds r24,EE_Parameter+76
479
 494 03f0 80FF      		sbrs r24,0
480
 495 03f2 00C0      		rjmp .L65
481
 496 03f4 C090 0000 		lds r12,ServoNickValue
482
 497 03f8 D090 0000 		lds r13,(ServoNickValue)+1
483
 498 03fc E090 0000 		lds r14,EE_Parameter+35
484
 499 0400 FF24      		clr r15
485
 500 0402 00E0      		ldi r16,lo8(0)
486
 501 0404 10E0      		ldi r17,hi8(0)
487
 502 0406 6091 0000 		lds r22,IntegralNick
488
 503 040a 7091 0000 		lds r23,(IntegralNick)+1
489
 504 040e 8091 0000 		lds r24,(IntegralNick)+2
490
 505 0412 9091 0000 		lds r25,(IntegralNick)+3
491
 506 0416 20E8      		ldi r18,lo8(128)
492
 507 0418 30E0      		ldi r19,hi8(128)
493
 508 041a 40E0      		ldi r20,hlo8(128)
494
 509 041c 50E0      		ldi r21,hhi8(128)
495
 510 041e 0E94 0000 		call __divmodsi4
496
 511 0422 C801      		movw r24,r16
497
 512 0424 B701      		movw r22,r14
498
 513 0426 0E94 0000 		call __mulsi3
499
 514 042a 660F      		lsl r22
500
 515 042c 771F      		rol r23
501
 516 042e 881F      		rol r24
502
 517 0430 991F      		rol r25
503
 518 0432 660F      		lsl r22
504
 519 0434 771F      		rol r23
505
 520 0436 881F      		rol r24
506
 521 0438 991F      		rol r25
507
 522 043a 20E0      		ldi r18,lo8(256)
508
 523 043c 31E0      		ldi r19,hi8(256)
509
 524 043e 40E0      		ldi r20,hlo8(256)
510
 525 0440 50E0      		ldi r21,hhi8(256)
511
 526 0442 0E94 0000 		call __divmodsi4
512
 527 0446 C20E      		add r12,r18
513
 528 0448 D31E      		adc r13,r19
514
 529 044a D092 0000 		sts (ServoNickValue)+1,r13
515
 530 044e C092 0000 		sts ServoNickValue,r12
516
 531               	.L67:
517
 532 0452 8091 0000 		lds r24,EE_Parameter+36
518
 533 0456 282F      		mov r18,r24
519
 534 0458 30E0      		ldi r19,lo8(0)
520
 535 045a 220F      		lsl r18
521
 536 045c 331F      		rol r19
522
 537 045e 220F      		lsl r18
523
 538 0460 331F      		rol r19
524
 539 0462 8091 0000 		lds r24,ServoNickValue
525
 540 0466 9091 0000 		lds r25,(ServoNickValue)+1
526
 541 046a 8217      		cp r24,r18
527
 542 046c 9307      		cpc r25,r19
528
 543 046e 04F4      		brge .+2
529
 544 0470 00C0      		rjmp .L115
530
 545 0472 8091 0000 		lds r24,EE_Parameter+37
531
 546 0476 282F      		mov r18,r24
532
 547 0478 30E0      		ldi r19,lo8(0)
533
 548 047a 220F      		lsl r18
534
 549 047c 331F      		rol r19
535
 550 047e 220F      		lsl r18
536
 551 0480 331F      		rol r19
537
 552 0482 8091 0000 		lds r24,ServoNickValue
538
 553 0486 9091 0000 		lds r25,(ServoNickValue)+1
539
 554 048a 2817      		cp r18,r24
540
 555 048c 3907      		cpc r19,r25
541
 556 048e 04F4      		brge .+2
542
 557 0490 00C0      		rjmp .L115
543
 558               	.L70:
544
 559 0492 2091 0000 		lds r18,ServoNickValue
545
 560 0496 3091 0000 		lds r19,(ServoNickValue)+1
546
 561 049a 2755      		subi r18,lo8(-(425))
547
 562 049c 3E4F      		sbci r19,hi8(-(425))
548
 563 049e 3093 0000 		sts (RemainingPulse.2521)+1,r19
549
 564 04a2 2093 0000 		sts RemainingPulse.2521,r18
550
 565 04a6 8091 0000 		lds r24,ServoNickValue
551
 566 04aa 9091 0000 		lds r25,(ServoNickValue)+1
552
 567 04ae 97FD      		sbrc r25,7
553
 568 04b0 00C0      		rjmp .L119
554
 569               	.L72:
555
 570 04b2 9595      		asr r25
556
 571 04b4 8795      		ror r24
557
 572 04b6 9595      		asr r25
558
 573 04b8 8795      		ror r24
559
 574 04ba 9093 0000 		sts (ServoNickValue)+1,r25
560
 575 04be 8093 0000 		sts ServoNickValue,r24
561
 576 04c2 8091 0000 		lds r24,ServoNickValue
562
 577 04c6 9091 0000 		lds r25,(ServoNickValue)+1
563
 578 04ca 9093 0000 		sts (DebugOut+42)+1,r25
564
 579 04ce 8093 0000 		sts DebugOut+42,r24
565
 580 04d2 45E0      		ldi r20,hi8(1501)
566
 581 04d4 2D3D      		cpi r18,lo8(1501)
567
 582 04d6 3407      		cpc r19,r20
568
 583 04d8 00F4      		brsh .+2
569
 584 04da 00C0      		rjmp .L73
570
 585 04dc 2CED      		ldi r18,lo8(1500)
571
 586 04de 35E0      		ldi r19,hi8(1500)
572
 587 04e0 3093 0000 		sts (RemainingPulse.2521)+1,r19
573
 588 04e4 2093 0000 		sts RemainingPulse.2521,r18
574
 589               	.L75:
575
 590 04e8 2091 0000 		lds r18,RemainingPulse.2521
576
 591 04ec 3091 0000 		lds r19,(RemainingPulse.2521)+1
577
 592 04f0 3093 0000 		sts (ServoFrameTime.2522)+1,r19
578
 593 04f4 2093 0000 		sts ServoFrameTime.2522,r18
579
 594 04f8 00C0      		rjmp .L83
580
 595               	.L62:
581
 596 04fa 8091 B000 		lds r24,176
582
 597 04fe 8064      		ori r24,lo8(64)
583
 598 0500 8093 B000 		sts 176,r24
584
 599 0504 8091 0000 		lds r24,EE_Parameter+38
585
 600 0508 90E0      		ldi r25,lo8(0)
586
 601 050a 2DED      		ldi r18,lo8(1757)
587
 602 050c 36E0      		ldi r19,hi8(1757)
588
 603 050e A901      		movw r20,r18
589
 604 0510 849F      		mul r24,r20
590
 605 0512 9001      		movw r18,r0
591
 606 0514 859F      		mul r24,r21
592
 607 0516 300D      		add r19,r0
593
 608 0518 949F      		mul r25,r20
594
 609 051a 300D      		add r19,r0
595
 610 051c 1124      		clr r1
596
 611 051e 8091 0000 		lds r24,ServoFrameTime.2522
597
 612 0522 9091 0000 		lds r25,(ServoFrameTime.2522)+1
598
 613 0526 281B      		sub r18,r24
599
 614 0528 390B      		sbc r19,r25
600
 615 052a 3093 0000 		sts (RemainingPulse.2521)+1,r19
601
 616 052e 2093 0000 		sts RemainingPulse.2521,r18
602
 617               	.L83:
603
 618 0532 81E0      		ldi r24,lo8(1)
604
 619 0534 8093 0000 		sts PulseOutput.2520,r24
605
 620 0538 00C0      		rjmp .L60
606
 621               	.L79:
607
 622 053a 8091 B000 		lds r24,176
608
 623 053e 8064      		ori r24,lo8(64)
609
 624 0540 8093 B000 		sts 176,r24
610
 625 0544 2CEB      		ldi r18,lo8(188)
611
 626 0546 30E0      		ldi r19,hi8(188)
612
 627 0548 3093 0000 		sts (RemainingPulse.2521)+1,r19
613
 628 054c 2093 0000 		sts RemainingPulse.2521,r18
614
 629 0550 8091 0000 		lds r24,ServoFrameTime.2522
615
 630 0554 9091 0000 		lds r25,(ServoFrameTime.2522)+1
616
 631 0558 8454      		subi r24,lo8(-(188))
617
 632 055a 9F4F      		sbci r25,hi8(-(188))
618
 633 055c 9093 0000 		sts (ServoFrameTime.2522)+1,r25
619
 634 0560 8093 0000 		sts ServoFrameTime.2522,r24
620
 635 0564 8091 0000 		lds r24,ServoActive
621
 636 0568 8823      		tst r24
622
 637 056a 01F0      		breq .L100
623
 638 056c 8091 0000 		lds r24,SenderOkay
624
 639 0570 853B      		cpi r24,lo8(-75)
625
 640 0572 00F0      		brlo .+2
626
 641 0574 00C0      		rjmp .L120
627
 642               	.L100:
628
 643 0576 8091 0000 		lds r24,ServoIndex.2523
629
 644 057a 8F5F      		subi r24,lo8(-(1))
630
 645 057c 8093 0000 		sts ServoIndex.2523,r24
631
 646 0580 9091 0000 		lds r25,EE_Parameter+38
632
 647 0584 9817      		cp r25,r24
633
 648 0586 00F0      		brlo .+2
634
 649 0588 00C0      		rjmp .L114
635
 650 058a 1092 0000 		sts ServoIndex.2523,__zero_reg__
636
 651 058e 2091 0000 		lds r18,RemainingPulse.2521
637
 652 0592 3091 0000 		lds r19,(RemainingPulse.2521)+1
638
 653 0596 00C0      		rjmp .L83
639
 654               	.L109:
640
 655 0598 8FEF      		ldi r24,lo8(-1)
641
 656 059a 8093 B300 		sts 179,r24
642
 657 059e 2FE7      		ldi r18,lo8(127)
643
 658 05a0 30E0      		ldi r19,hi8(127)
644
 659 05a2 3093 0000 		sts (RemainingPulse.2521)+1,r19
645
 660 05a6 2093 0000 		sts RemainingPulse.2521,r18
646
 661 05aa 00C0      		rjmp .L111
647
 662               	.L115:
648
 663 05ac 3093 0000 		sts (ServoNickValue)+1,r19
649
 664 05b0 2093 0000 		sts ServoNickValue,r18
650
 665 05b4 00C0      		rjmp .L70
651
 666               	.L81:
652
 667 05b6 29EA      		ldi r18,lo8(937)
653
 668 05b8 33E0      		ldi r19,hi8(937)
654
 669 05ba 3093 0000 		sts (RemainingPulse.2521)+1,r19
655
 670 05be 2093 0000 		sts RemainingPulse.2521,r18
656
 671 05c2 E130      		cpi r30,lo8(1)
657
 672 05c4 01F4      		brne .+2
658
 673 05c6 00C0      		rjmp .L121
659
 674 05c8 F0E0      		ldi r31,lo8(0)
660
 675 05ca EE0F      		lsl r30
661
 676 05cc FF1F      		rol r31
662
 677 05ce E050      		subi r30,lo8(-(PPM_in))
663
 678 05d0 F040      		sbci r31,hi8(-(PPM_in))
664
 679 05d2 8081      		ld r24,Z
665
 680 05d4 9181      		ldd r25,Z+1
666
 681 05d6 880F      		lsl r24
667
 682 05d8 991F      		rol r25
668
 683 05da 8755      		subi r24,lo8(-(937))
669
 684 05dc 9C4F      		sbci r25,hi8(-(937))
670
 685 05de 9093 0000 		sts (RemainingPulse.2521)+1,r25
671
 686 05e2 8093 0000 		sts RemainingPulse.2521,r24
672
 687               	.L95:
673
 688 05e6 2091 0000 		lds r18,RemainingPulse.2521
674
 689 05ea 3091 0000 		lds r19,(RemainingPulse.2521)+1
675
 690 05ee 55E0      		ldi r21,hi8(1501)
676
 691 05f0 2D3D      		cpi r18,lo8(1501)
677
 692 05f2 3507      		cpc r19,r21
678
 693 05f4 00F4      		brsh .+2
679
 694 05f6 00C0      		rjmp .L96
680
 695 05f8 2CED      		ldi r18,lo8(1500)
681
 696 05fa 35E0      		ldi r19,hi8(1500)
682
 697 05fc 3093 0000 		sts (RemainingPulse.2521)+1,r19
683
 698 0600 2093 0000 		sts RemainingPulse.2521,r18
684
 699               	.L98:
685
 700 0604 2C5B      		subi r18,lo8(-(-188))
686
 701 0606 3040      		sbci r19,hi8(-(-188))
687
 702 0608 3093 0000 		sts (RemainingPulse.2521)+1,r19
688
 703 060c 2093 0000 		sts RemainingPulse.2521,r18
689
 704 0610 8091 0000 		lds r24,ServoFrameTime.2522
690
 705 0614 9091 0000 		lds r25,(ServoFrameTime.2522)+1
691
 706 0618 820F      		add r24,r18
692
 707 061a 931F      		adc r25,r19
693
 708 061c 9093 0000 		sts (ServoFrameTime.2522)+1,r25
694
 709 0620 8093 0000 		sts ServoFrameTime.2522,r24
695
 710 0624 00C0      		rjmp .L83
696
 711               	.L73:
697
 712 0626 2757      		subi r18,lo8(375)
698
 713 0628 3140      		sbci r19,hi8(375)
699
 714 062a 00F0      		brlo .+2
700
 715 062c 00C0      		rjmp .L75
701
 716 062e 27E7      		ldi r18,lo8(375)
702
 717 0630 31E0      		ldi r19,hi8(375)
703
 718 0632 3093 0000 		sts (RemainingPulse.2521)+1,r19
704
 719 0636 2093 0000 		sts RemainingPulse.2521,r18
705
 720 063a 00C0      		rjmp .L75
706
 721               	.L65:
707
 722 063c C090 0000 		lds r12,ServoNickValue
708
 723 0640 D090 0000 		lds r13,(ServoNickValue)+1
709
 724 0644 E090 0000 		lds r14,EE_Parameter+35
710
 725 0648 FF24      		clr r15
711
 726 064a 00E0      		ldi r16,lo8(0)
712
 727 064c 10E0      		ldi r17,hi8(0)
713
 728 064e 6091 0000 		lds r22,IntegralNick
714
 729 0652 7091 0000 		lds r23,(IntegralNick)+1
715
 730 0656 8091 0000 		lds r24,(IntegralNick)+2
716
 731 065a 9091 0000 		lds r25,(IntegralNick)+3
717
 732 065e 20E8      		ldi r18,lo8(128)
718
 733 0660 30E0      		ldi r19,hi8(128)
719
 734 0662 40E0      		ldi r20,hlo8(128)
720
 735 0664 50E0      		ldi r21,hhi8(128)
721
 736 0666 0E94 0000 		call __divmodsi4
722
 737 066a C801      		movw r24,r16
723
 738 066c B701      		movw r22,r14
724
 739 066e 0E94 0000 		call __mulsi3
725
 740 0672 660F      		lsl r22
726
 741 0674 771F      		rol r23
727
 742 0676 881F      		rol r24
728
 743 0678 991F      		rol r25
729
 744 067a 660F      		lsl r22
730
 745 067c 771F      		rol r23
731
 746 067e 881F      		rol r24
732
 747 0680 991F      		rol r25
733
 748 0682 20E0      		ldi r18,lo8(256)
734
 749 0684 31E0      		ldi r19,hi8(256)
735
 750 0686 40E0      		ldi r20,hlo8(256)
736
 751 0688 50E0      		ldi r21,hhi8(256)
737
 752 068a 0E94 0000 		call __divmodsi4
738
 753 068e C21A      		sub r12,r18
739
 754 0690 D30A      		sbc r13,r19
740
 755 0692 D092 0000 		sts (ServoNickValue)+1,r13
741
 756 0696 C092 0000 		sts ServoNickValue,r12
742
 757 069a 00C0      		rjmp .L67
743
 758               	.L114:
744
 759 069c 2091 0000 		lds r18,RemainingPulse.2521
745
 760 06a0 3091 0000 		lds r19,(RemainingPulse.2521)+1
746
 761 06a4 00C0      		rjmp .L83
747
 762               	.L120:
748
 763 06a6 4698      		cbi 40-0x20,6
749
 764 06a8 00C0      		rjmp .L100
750
 765               	.L121:
751
 766 06aa 8091 0000 		lds r24,Parameter_ServoNickControl
752
 767 06ae 482F      		mov r20,r24
753
 768 06b0 50E0      		ldi r21,lo8(0)
754
 769 06b2 440F      		lsl r20
755
 770 06b4 551F      		rol r21
756
 771 06b6 440F      		lsl r20
757
 772 06b8 551F      		rol r21
758
 773 06ba 2091 0000 		lds r18,ServoNickOffset.2524
759
 774 06be 3091 0000 		lds r19,(ServoNickOffset.2524)+1
760
 775 06c2 C901      		movw r24,r18
761
 776 06c4 880F      		lsl r24
762
 777 06c6 991F      		rol r25
763
 778 06c8 820F      		add r24,r18
764
 779 06ca 931F      		adc r25,r19
765
 780 06cc 480F      		add r20,r24
766
 781 06ce 591F      		adc r21,r25
767
 782 06d0 57FD      		sbrc r21,7
768
 783 06d2 00C0      		rjmp .L122
769
 784               	.L86:
770
 785 06d4 CA01      		movw r24,r20
771
 786 06d6 9595      		asr r25
772
 787 06d8 8795      		ror r24
773
 788 06da 9595      		asr r25
774
 789 06dc 8795      		ror r24
775
 790 06de 9093 0000 		sts (ServoNickOffset.2524)+1,r25
776
 791 06e2 8093 0000 		sts ServoNickOffset.2524,r24
777
 792 06e6 9093 0000 		sts (ServoNickValue)+1,r25
778
 793 06ea 8093 0000 		sts ServoNickValue,r24
779
 794 06ee 8091 0000 		lds r24,EE_Parameter+76
780
 795 06f2 80FF      		sbrs r24,0
781
 796 06f4 00C0      		rjmp .L87
782
 797 06f6 C090 0000 		lds r12,ServoNickValue
783
 798 06fa D090 0000 		lds r13,(ServoNickValue)+1
784
 799 06fe E090 0000 		lds r14,EE_Parameter+35
785
 800 0702 FF24      		clr r15
786
 801 0704 00E0      		ldi r16,lo8(0)
787
 802 0706 10E0      		ldi r17,hi8(0)
788
 803 0708 6091 0000 		lds r22,IntegralNick
789
 804 070c 7091 0000 		lds r23,(IntegralNick)+1
790
 805 0710 8091 0000 		lds r24,(IntegralNick)+2
791
 806 0714 9091 0000 		lds r25,(IntegralNick)+3
792
 807 0718 20E8      		ldi r18,lo8(128)
793
 808 071a 30E0      		ldi r19,hi8(128)
794
 809 071c 40E0      		ldi r20,hlo8(128)
795
 810 071e 50E0      		ldi r21,hhi8(128)
796
 811 0720 0E94 0000 		call __divmodsi4
797
 812 0724 C801      		movw r24,r16
798
 813 0726 B701      		movw r22,r14
799
 814 0728 0E94 0000 		call __mulsi3
800
 815 072c 660F      		lsl r22
801
 816 072e 771F      		rol r23
802
 817 0730 881F      		rol r24
803
 818 0732 991F      		rol r25
804
 819 0734 660F      		lsl r22
805
 820 0736 771F      		rol r23
806
 821 0738 881F      		rol r24
807
 822 073a 991F      		rol r25
808
 823 073c 20E0      		ldi r18,lo8(256)
809
 824 073e 31E0      		ldi r19,hi8(256)
810
 825 0740 40E0      		ldi r20,hlo8(256)
811
 826 0742 50E0      		ldi r21,hhi8(256)
812
 827 0744 0E94 0000 		call __divmodsi4
813
 828 0748 C20E      		add r12,r18
814
 829 074a D31E      		adc r13,r19
815
 830 074c D092 0000 		sts (ServoNickValue)+1,r13
816
 831 0750 C092 0000 		sts ServoNickValue,r12
817
 832               	.L89:
818
 833 0754 8091 0000 		lds r24,EE_Parameter+36
819
 834 0758 282F      		mov r18,r24
820
 835 075a 30E0      		ldi r19,lo8(0)
821
 836 075c 220F      		lsl r18
822
 837 075e 331F      		rol r19
823
 838 0760 220F      		lsl r18
824
 839 0762 331F      		rol r19
825
 840 0764 8091 0000 		lds r24,ServoNickValue
826
 841 0768 9091 0000 		lds r25,(ServoNickValue)+1
827
 842 076c 8217      		cp r24,r18
828
 843 076e 9307      		cpc r25,r19
829
 844 0770 04F0      		brlt .L116
830
 845 0772 8091 0000 		lds r24,EE_Parameter+37
831
 846 0776 282F      		mov r18,r24
832
 847 0778 30E0      		ldi r19,lo8(0)
833
 848 077a 220F      		lsl r18
834
 849 077c 331F      		rol r19
835
 850 077e 220F      		lsl r18
836
 851 0780 331F      		rol r19
837
 852 0782 8091 0000 		lds r24,ServoNickValue
838
 853 0786 9091 0000 		lds r25,(ServoNickValue)+1
839
 854 078a 2817      		cp r18,r24
840
 855 078c 3907      		cpc r19,r25
841
 856 078e 04F4      		brge .L92
842
 857               	.L116:
843
 858 0790 3093 0000 		sts (ServoNickValue)+1,r19
844
 859 0794 2093 0000 		sts ServoNickValue,r18
845
 860               	.L92:
846
 861 0798 8091 0000 		lds r24,ServoNickValue
847
 862 079c 9091 0000 		lds r25,(ServoNickValue)+1
848
 863 07a0 8755      		subi r24,lo8(-(425))
849
 864 07a2 9E4F      		sbci r25,hi8(-(425))
850
 865 07a4 9093 0000 		sts (RemainingPulse.2521)+1,r25
851
 866 07a8 8093 0000 		sts RemainingPulse.2521,r24
852
 867 07ac 8091 0000 		lds r24,ServoNickValue
853
 868 07b0 9091 0000 		lds r25,(ServoNickValue)+1
854
 869 07b4 97FD      		sbrc r25,7
855
 870 07b6 00C0      		rjmp .L123
856
 871               	.L94:
857
 872 07b8 9595      		asr r25
858
 873 07ba 8795      		ror r24
859
 874 07bc 9595      		asr r25
860
 875 07be 8795      		ror r24
861
 876 07c0 9093 0000 		sts (ServoNickValue)+1,r25
862
 877 07c4 8093 0000 		sts ServoNickValue,r24
863
 878 07c8 8091 0000 		lds r24,ServoNickValue
864
 879 07cc 9091 0000 		lds r25,(ServoNickValue)+1
865
 880 07d0 9093 0000 		sts (DebugOut+42)+1,r25
866
 881 07d4 8093 0000 		sts DebugOut+42,r24
867
 882 07d8 00C0      		rjmp .L95
868
 883               	.L96:
869
 884 07da 81E0      		ldi r24,hi8(375)
870
 885 07dc 2737      		cpi r18,lo8(375)
871
 886 07de 3807      		cpc r19,r24
872
 887 07e0 00F0      		brlo .+2
873
 888 07e2 00C0      		rjmp .L98
874
 889 07e4 27E7      		ldi r18,lo8(375)
875
 890 07e6 31E0      		ldi r19,hi8(375)
876
 891 07e8 3093 0000 		sts (RemainingPulse.2521)+1,r19
877
 892 07ec 2093 0000 		sts RemainingPulse.2521,r18
878
 893 07f0 00C0      		rjmp .L98
879
 894               	.L118:
880
 895 07f2 4D5F      		subi r20,lo8(-(3))
881
 896 07f4 5F4F      		sbci r21,hi8(-(3))
882
 897 07f6 00C0      		rjmp .L64
883
 898               	.L119:
884
 899 07f8 0396      		adiw r24,3
885
 900 07fa 00C0      		rjmp .L72
886
 901               	.L87:
887
 902 07fc C090 0000 		lds r12,ServoNickValue
888
 903 0800 D090 0000 		lds r13,(ServoNickValue)+1
889
 904 0804 E090 0000 		lds r14,EE_Parameter+35
890
 905 0808 FF24      		clr r15
891
 906 080a 00E0      		ldi r16,lo8(0)
892
 907 080c 10E0      		ldi r17,hi8(0)
893
 908 080e 6091 0000 		lds r22,IntegralNick
894
 909 0812 7091 0000 		lds r23,(IntegralNick)+1
895
 910 0816 8091 0000 		lds r24,(IntegralNick)+2
896
 911 081a 9091 0000 		lds r25,(IntegralNick)+3
897
 912 081e 20E8      		ldi r18,lo8(128)
898
 913 0820 30E0      		ldi r19,hi8(128)
899
 914 0822 40E0      		ldi r20,hlo8(128)
900
 915 0824 50E0      		ldi r21,hhi8(128)
901
 916 0826 0E94 0000 		call __divmodsi4
902
 917 082a C801      		movw r24,r16
903
 918 082c B701      		movw r22,r14
904
 919 082e 0E94 0000 		call __mulsi3
905
 920 0832 660F      		lsl r22
906
 921 0834 771F      		rol r23
907
 922 0836 881F      		rol r24
908
 923 0838 991F      		rol r25
909
 924 083a 660F      		lsl r22
910
 925 083c 771F      		rol r23
911
 926 083e 881F      		rol r24
912
 927 0840 991F      		rol r25
913
 928 0842 20E0      		ldi r18,lo8(256)
914
 929 0844 31E0      		ldi r19,hi8(256)
915
 930 0846 40E0      		ldi r20,hlo8(256)
916
 931 0848 50E0      		ldi r21,hhi8(256)
917
 932 084a 0E94 0000 		call __divmodsi4
918
 933 084e C21A      		sub r12,r18
919
 934 0850 D30A      		sbc r13,r19
920
 935 0852 D092 0000 		sts (ServoNickValue)+1,r13
921
 936 0856 C092 0000 		sts ServoNickValue,r12
922
 937 085a 00C0      		rjmp .L89
923
 938               	.L123:
924
 939 085c 0396      		adiw r24,3
925
 940 085e 00C0      		rjmp .L94
926
 941               	.L122:
927
 942 0860 4D5F      		subi r20,lo8(-(3))
928
 943 0862 5F4F      		sbci r21,hi8(-(3))
929
 944 0864 00C0      		rjmp .L86
930
 945               	.L111:
931
 946               	/* epilogue: frame size=0 */
932
 947 0866 FF91      		pop r31
933
 948 0868 EF91      		pop r30
934
 949 086a BF91      		pop r27
935
 950 086c AF91      		pop r26
936
 951 086e 9F91      		pop r25
937
 952 0870 8F91      		pop r24
938
 953 0872 7F91      		pop r23
939
 954 0874 6F91      		pop r22
940
 955 0876 5F91      		pop r21
941
 956 0878 4F91      		pop r20
942
 957 087a 3F91      		pop r19
943
 958 087c 2F91      		pop r18
944
 959 087e 1F91      		pop r17
945
 960 0880 0F91      		pop r16
946
 961 0882 FF90      		pop r15
947
 962 0884 EF90      		pop r14
948
 963 0886 DF90      		pop r13
949
 964 0888 CF90      		pop r12
950
 965 088a 0F90      		pop __tmp_reg__
951
 966 088c 0FBE      		out __SREG__,__tmp_reg__
952
 967 088e 0F90      		pop __tmp_reg__
953
 968 0890 1F90      		pop __zero_reg__
954
 969 0892 1895      		reti
955
 970               	/* epilogue end (size=23) */
956
 971               	/* function __vector_9 size 765 (719) */
957
 973               	.global	CountMilliseconds
958
 974               	.global	CountMilliseconds
959
 975               		.section .bss
960
 978               	CountMilliseconds:
961
 979 0000 0000      		.skip 2,0
962
 980               	.global	UpdateMotor
963
 981               	.global	UpdateMotor
964
 984               	UpdateMotor:
965
 985 0002 00        		.skip 1,0
966
 986               	.global	cntKompass
967
 987               	.global	cntKompass
968
 990               	cntKompass:
969
 991 0003 0000      		.skip 2,0
970
 992               	.global	beeptime
971
 993               	.global	beeptime
972
 996               	beeptime:
973
 997 0005 0000      		.skip 2,0
974
 998               	.global	SendSPI
975
 999               	.global	SendSPI
976
 1002               	SendSPI:
977
 1003 0007 00        		.skip 1,0
978
 1004               	.global	ServoActive
979
 1005               	.global	ServoActive
980
 1008               	ServoActive:
981
 1009 0008 00        		.skip 1,0
982
 1010               	.global	BeepMuster
983
 1011               		.data
984
 1014               	BeepMuster:
985
 1015 0000 FFFF      		.word	-1
986
 1016               	.global	ServoValue
987
 1017               	.global	ServoValue
988
 1018               		.section .bss
989
 1021               	ServoValue:
990
 1022 0009 0000      		.skip 2,0
991
 1023               	.global	ServoNickValue
992
 1024               	.global	ServoNickValue
993
 1027               	ServoNickValue:
994
 1028 000b 0000      		.skip 2,0
995
 1029               	.global	ServoRollValue
996
 1030               	.global	ServoRollValue
997
 1033               	ServoRollValue:
998
 1034 000d 0000      		.skip 2,0
999
 1035               		.data
1000
 1038               	ServoNickOffset.2524:
1001
 1039 0002 FC01      		.word	508
1002
 1040               		.lcomm ServoIndex.2523,1
1003
 1041               		.lcomm ServoFrameTime.2522,2
1004
 1042               		.lcomm RemainingPulse.2521,2
1005
 1043               		.lcomm PulseOutput.2520,1
1006
 1044               		.lcomm cnt.2378,1
1007
 1047               	cnt_1ms.2377:
1008
 1048 0004 01        		.byte	1
1009
 1049               		.lcomm tim_main,2
1010
 1050               	/* File "timer0.c": code 1103 = 0x044f (1015), prologues  41, epilogues  47 */
1011
DEFINED SYMBOLS
1012
                            *ABS*:00000000 timer0.c
1193 kmpec 1013
C:\DOKUME~1\David\LOKALE~1\Temp/ccAkFg6g.s:2      *ABS*:0000003f __SREG__
1014
C:\DOKUME~1\David\LOKALE~1\Temp/ccAkFg6g.s:3      *ABS*:0000003e __SP_H__
1015
C:\DOKUME~1\David\LOKALE~1\Temp/ccAkFg6g.s:4      *ABS*:0000003d __SP_L__
1016
C:\DOKUME~1\David\LOKALE~1\Temp/ccAkFg6g.s:5      *ABS*:00000000 __tmp_reg__
1017
C:\DOKUME~1\David\LOKALE~1\Temp/ccAkFg6g.s:6      *ABS*:00000001 __zero_reg__
1018
C:\DOKUME~1\David\LOKALE~1\Temp/ccAkFg6g.s:12     .text:00000000 __vector_18
1019
C:\DOKUME~1\David\LOKALE~1\Temp/ccAkFg6g.s:1002   .bss:00000007 SendSPI
1020
C:\DOKUME~1\David\LOKALE~1\Temp/ccAkFg6g.s:1043   .bss:00000015 cnt.2378
1021
C:\DOKUME~1\David\LOKALE~1\Temp/ccAkFg6g.s:996    .bss:00000005 beeptime
1022
C:\DOKUME~1\David\LOKALE~1\Temp/ccAkFg6g.s:1014   .data:00000000 BeepMuster
1023
C:\DOKUME~1\David\LOKALE~1\Temp/ccAkFg6g.s:990    .bss:00000003 cntKompass
1024
C:\DOKUME~1\David\LOKALE~1\Temp/ccAkFg6g.s:1047   .data:00000004 cnt_1ms.2377
1025
C:\DOKUME~1\David\LOKALE~1\Temp/ccAkFg6g.s:984    .bss:00000002 UpdateMotor
1026
C:\DOKUME~1\David\LOKALE~1\Temp/ccAkFg6g.s:978    .bss:00000000 CountMilliseconds
1027
C:\DOKUME~1\David\LOKALE~1\Temp/ccAkFg6g.s:188    .text:000001ac SetDelay
1028
C:\DOKUME~1\David\LOKALE~1\Temp/ccAkFg6g.s:204    .text:000001be CheckDelay
1029
C:\DOKUME~1\David\LOKALE~1\Temp/ccAkFg6g.s:223    .text:000001d6 Delay_ms
1030
C:\DOKUME~1\David\LOKALE~1\Temp/ccAkFg6g.s:244    .text:000001f0 Delay_ms_Mess
1031
C:\DOKUME~1\David\LOKALE~1\Temp/ccAkFg6g.s:273    .text:0000021e TIMER2_Init
1032
C:\DOKUME~1\David\LOKALE~1\Temp/ccAkFg6g.s:322    .text:0000026e Timer_Init
1033
C:\DOKUME~1\David\LOKALE~1\Temp/ccAkFg6g.s:1044   .bss:00000016 tim_main
1034
C:\DOKUME~1\David\LOKALE~1\Temp/ccAkFg6g.s:351    .text:0000029c __vector_9
1035
C:\DOKUME~1\David\LOKALE~1\Temp/ccAkFg6g.s:1042   .bss:00000014 PulseOutput.2520
1036
C:\DOKUME~1\David\LOKALE~1\Temp/ccAkFg6g.s:1041   .bss:00000012 RemainingPulse.2521
1189 kmpec 1037
                             .bss:0000000f ServoIndex.2523
1193 kmpec 1038
C:\DOKUME~1\David\LOKALE~1\Temp/ccAkFg6g.s:1040   .bss:00000010 ServoFrameTime.2522
1039
C:\DOKUME~1\David\LOKALE~1\Temp/ccAkFg6g.s:1038   .data:00000002 ServoNickOffset.2524
1040
C:\DOKUME~1\David\LOKALE~1\Temp/ccAkFg6g.s:1027   .bss:0000000b ServoNickValue
1041
C:\DOKUME~1\David\LOKALE~1\Temp/ccAkFg6g.s:1008   .bss:00000008 ServoActive
1042
C:\DOKUME~1\David\LOKALE~1\Temp/ccAkFg6g.s:1021   .bss:00000009 ServoValue
1043
C:\DOKUME~1\David\LOKALE~1\Temp/ccAkFg6g.s:1033   .bss:0000000d ServoRollValue
1189 kmpec 1044
 
1045
UNDEFINED SYMBOLS
1046
__do_copy_data
1047
__do_clear_bss
1048
PlatinenVersion
1049
EE_Parameter
1050
__udivmodhi4
1051
KompassValue
1052
KompassStartwert
1053
__divmodhi4
1054
KompassRichtung
1055
AdReady
1056
Parameter_ServoNickControl
1057
IntegralNick
1058
__divmodsi4
1059
__mulsi3
1060
DebugOut
1061
SenderOkay
1062
PPM_in