Blame | Last modification | View Log | RSS feed
1 .file "timer0.c"
2 .arch atmega644p
3 __SREG__ = 0x3f
4 __SP_H__ = 0x3e
5 __SP_L__ = 0x3d
6 __tmp_reg__ = 0
7 __zero_reg__ = 1
8 .global __do_copy_data
9 .global __do_clear_bss
10 .global ServoRollValue
11 .global ServoRollValue
12 .section .bss
15 ServoRollValue:
16 0000 0000 .skip 2,0
17 .global ServoNickValue
18 .global ServoNickValue
21 ServoNickValue:
22 0002 0000 .skip 2,0
23 .global BeepMuster
24 .data
27 BeepMuster:
28 0000 FFFF .word -1
29 .global ServoActive
30 .global ServoActive
31 .section .bss
34 ServoActive:
35 0004 00 .skip 1,0
36 .global SendSPI
37 .global SendSPI
40 SendSPI:
41 0005 00 .skip 1,0
42 .global beeptime
43 .global beeptime
46 beeptime:
47 0006 0000 .skip 2,0
48 .global cntKompass
49 .global cntKompass
52 cntKompass:
53 0008 0000 .skip 2,0
54 .global UpdateMotor
55 .global UpdateMotor
58 UpdateMotor:
59 000a 00 .skip 1,0
60 .global CountMilliseconds
61 .global CountMilliseconds
64 CountMilliseconds:
65 000b 0000 .skip 2,0
66 .data
69 CameraShutterCycleOnCount:
70 0002 1400 .word 20
71 .lcomm CameraShutterCycleCounter,2
72 .lcomm CameraShutterCycle,2
75 cnt_1ms.6:
76 0004 01 .byte 1
77 .lcomm cnt.7,1
78 .lcomm compass_active.8,1
79 .text
80 .global __vector_18
82 __vector_18:
83 /* prologue: frame size=0 */
84 0000 1F92 push __zero_reg__
85 0002 0F92 push __tmp_reg__
86 0004 0FB6 in __tmp_reg__,__SREG__
87 0006 0F92 push __tmp_reg__
88 0008 1124 clr __zero_reg__
89 000a 2F93 push r18
90 000c 3F93 push r19
91 000e 5F93 push r21
92 0010 6F93 push r22
93 0012 7F93 push r23
94 0014 8F93 push r24
95 0016 9F93 push r25
96 0018 AF93 push r26
97 001a BF93 push r27
98 001c EF93 push r30
99 001e FF93 push r31
100 /* prologue end (size=16) */
101 0020 20E0 ldi r18,lo8(0)
102 0022 8091 0000 lds r24,SendSPI
103 0026 8823 tst r24
104 0028 29F0 breq .L2
105 002a 8091 0000 lds r24,SendSPI
106 002e 8150 subi r24,lo8(-(-1))
107 0030 8093 0000 sts SendSPI,r24
108 .L2:
109 0034 8091 0000 lds r24,SpektrumTimer
110 0038 8823 tst r24
111 003a 19F0 breq .L3
112 003c 8150 subi r24,lo8(-(-1))
113 003e 8093 0000 sts SpektrumTimer,r24
114 .L3:
115 0042 8091 0000 lds r24,cnt.7
116 0046 8150 subi r24,lo8(-(-1))
117 0048 8093 0000 sts cnt.7,r24
118 004c 8F3F cpi r24,lo8(-1)
119 004e 09F0 breq .+2
120 0050 57C0 rjmp .L4
121 0052 89E0 ldi r24,lo8(9)
122 0054 8093 0000 sts cnt.7,r24
123 0058 8091 0000 lds r24,CountMilliseconds
124 005c 9091 0000 lds r25,(CountMilliseconds)+1
125 0060 0196 adiw r24,1
126 0062 9093 0000 sts (CountMilliseconds)+1,r25
127 0066 8093 0000 sts CountMilliseconds,r24
128 006a 8091 0000 lds r24,cnt_1ms.6
129 006e 8F5F subi r24,lo8(-(1))
130 0070 8170 andi r24,lo8(1)
131 0072 8093 0000 sts cnt_1ms.6,r24
132 0076 8823 tst r24
133 0078 19F4 brne .L5
134 007a 81E0 ldi r24,lo8(1)
135 007c 8093 0000 sts UpdateMotor,r24
136 .L5:
137 0080 86B1 in r24,38-0x20
138 0082 8091 0000 lds r24,beeptime
139 0086 9091 0000 lds r25,(beeptime)+1
140 008a 892B or r24,r25
141 008c 21F1 breq .L7
142 008e 8091 0000 lds r24,beeptime
143 0092 9091 0000 lds r25,(beeptime)+1
144 0096 0B97 sbiw r24,11
145 0098 50F0 brlo .L8
146 009a 8091 0000 lds r24,beeptime
147 009e 9091 0000 lds r25,(beeptime)+1
148 00a2 0A97 sbiw r24,10
149 00a4 9093 0000 sts (beeptime)+1,r25
150 00a8 8093 0000 sts beeptime,r24
151 00ac 04C0 rjmp .L9
152 .L8:
153 00ae 1092 0000 sts (beeptime)+1,__zero_reg__
154 00b2 1092 0000 sts beeptime,__zero_reg__
155 .L9:
156 00b6 8091 0000 lds r24,beeptime
157 00ba 9091 0000 lds r25,(beeptime)+1
158 00be 2091 0000 lds r18,BeepMuster
159 00c2 3091 0000 lds r19,(BeepMuster)+1
160 00c6 8223 and r24,r18
161 00c8 9323 and r25,r19
162 00ca 892B or r24,r25
163 00cc 11F0 breq .L10
164 00ce 21E0 ldi r18,lo8(1)
165 00d0 08C0 rjmp .L12
166 .L10:
167 00d2 20E0 ldi r18,lo8(0)
168 00d4 06C0 rjmp .L12
169 .L7:
170 00d6 8FEF ldi r24,lo8(-1)
171 00d8 9FEF ldi r25,hi8(-1)
172 00da 9093 0000 sts (BeepMuster)+1,r25
173 00de 8093 0000 sts BeepMuster,r24
174 .L12:
175 00e2 8091 0000 lds r24,PlatinenVersion
176 00e6 2223 tst r18
177 00e8 31F0 breq .L13
178 00ea 8A30 cpi r24,lo8(10)
179 00ec 11F4 brne .L14
180 00ee 5A9A sbi 43-0x20,2
181 00f0 07C0 rjmp .L4
182 .L14:
183 00f2 479A sbi 40-0x20,7
184 00f4 05C0 rjmp .L4
185 .L13:
186 00f6 8A30 cpi r24,lo8(10)
187 00f8 11F4 brne .L17
188 00fa 5A98 cbi 43-0x20,2
189 00fc 01C0 rjmp .L4
190 .L17:
191 00fe 4798 cbi 40-0x20,7
192 .L4:
193 0100 8091 0000 lds r24,compass_active.8
194 0104 8823 tst r24
195 0106 09F4 brne .+2
196 0108 72C0 rjmp .L1
197 010a 2091 0000 lds r18,NaviDataOkay
198 010e 2223 tst r18
199 0110 09F0 breq .+2
200 0112 6DC0 rjmp .L1
201 0114 8091 0000 lds r24,EE_Parameter+13
202 0118 83FF sbrs r24,3
203 011a 69C0 rjmp .L1
204 011c 86B1 in r24,38-0x20
205 011e 9927 clr r25
206 0120 FC01 movw r30,r24
207 0122 E071 andi r30,lo8(16)
208 0124 F070 andi r31,hi8(16)
209 0126 84FF sbrs r24,4
210 0128 14C0 rjmp .L20
211 012a 8091 0000 lds r24,cntKompass
212 012e 9091 0000 lds r25,(cntKompass)+1
213 0132 0196 adiw r24,1
214 0134 9093 0000 sts (cntKompass)+1,r25
215 0138 8093 0000 sts cntKompass,r24
216 013c 8091 0000 lds r24,cntKompass
217 0140 9091 0000 lds r25,(cntKompass)+1
218 0144 895E subi r24,lo8(1001)
219 0146 9340 sbci r25,hi8(1001)
220 0148 08F4 brsh .+2
221 014a 51C0 rjmp .L1
222 014c 2093 0000 sts compass_active.8,r18
223 0150 4EC0 rjmp .L1
224 .L20:
225 0152 8091 0000 lds r24,cntKompass
226 0156 9091 0000 lds r25,(cntKompass)+1
227 015a 892B or r24,r25
228 015c 09F4 brne .+2
229 015e 43C0 rjmp .L23
230 0160 8091 0000 lds r24,cntKompass
231 0164 9091 0000 lds r25,(cntKompass)+1
232 0168 8A56 subi r24,lo8(362)
233 016a 9140 sbci r25,hi8(362)
234 016c E0F5 brsh .L23
235 016e 8091 0000 lds r24,cntKompass
236 0172 9091 0000 lds r25,(cntKompass)+1
237 0176 69E2 ldi r22,lo8(41)
238 0178 70E0 ldi r23,hi8(41)
239 017a 0E94 0000 call __udivmodhi4
240 017e 8091 0000 lds r24,cntKompass
241 0182 9091 0000 lds r25,(cntKompass)+1
242 0186 860F add r24,r22
243 0188 971F adc r25,r23
244 018a 9093 0000 sts (cntKompass)+1,r25
245 018e 8093 0000 sts cntKompass,r24
246 0192 8091 0000 lds r24,cntKompass
247 0196 9091 0000 lds r25,(cntKompass)+1
248 019a 0B97 sbiw r24,11
249 019c 50F0 brlo .L24
250 019e 8091 0000 lds r24,cntKompass
251 01a2 9091 0000 lds r25,(cntKompass)+1
252 01a6 0A97 sbiw r24,10
253 01a8 9093 0000 sts (KompassValue)+1,r25
254 01ac 8093 0000 sts KompassValue,r24
255 01b0 04C0 rjmp .L25
256 .L24:
257 01b2 F093 0000 sts (KompassValue)+1,r31
258 01b6 E093 0000 sts KompassValue,r30
259 .L25:
260 01ba 8091 0000 lds r24,KompassValue
261 01be 9091 0000 lds r25,(KompassValue)+1
262 01c2 2091 0000 lds r18,KompassStartwert
263 01c6 3091 0000 lds r19,(KompassStartwert)+1
264 01ca 821B sub r24,r18
265 01cc 930B sbc r25,r19
266 01ce 845E subi r24,lo8(-(540))
267 01d0 9D4F sbci r25,hi8(-(540))
268 01d2 68E6 ldi r22,lo8(360)
269 01d4 71E0 ldi r23,hi8(360)
270 01d6 0E94 0000 call __divmodhi4
271 01da 845B subi r24,lo8(-(-180))
272 01dc 9040 sbci r25,hi8(-(-180))
273 01de 9093 0000 sts (KompassRichtung)+1,r25
274 01e2 8093 0000 sts KompassRichtung,r24
275 .L23:
276 01e6 1092 0000 sts (cntKompass)+1,__zero_reg__
277 01ea 1092 0000 sts cntKompass,__zero_reg__
278 .L1:
279 /* epilogue: frame size=0 */
280 01ee FF91 pop r31
281 01f0 EF91 pop r30
282 01f2 BF91 pop r27
283 01f4 AF91 pop r26
284 01f6 9F91 pop r25
285 01f8 8F91 pop r24
286 01fa 7F91 pop r23
287 01fc 6F91 pop r22
288 01fe 5F91 pop r21
289 0200 3F91 pop r19
290 0202 2F91 pop r18
291 0204 0F90 pop __tmp_reg__
292 0206 0FBE out __SREG__,__tmp_reg__
293 0208 0F90 pop __tmp_reg__
294 020a 1F90 pop __zero_reg__
295 020c 1895 reti
296 /* epilogue end (size=16) */
297 /* function __vector_18 size 267 (235) */
299 .global SetDelay
301 SetDelay:
302 /* prologue: frame size=0 */
303 /* prologue end (size=0) */
304 020e 2091 0000 lds r18,CountMilliseconds
305 0212 3091 0000 lds r19,(CountMilliseconds)+1
306 0216 280F add r18,r24
307 0218 391F adc r19,r25
308 021a C901 movw r24,r18
309 021c 0196 adiw r24,1
310 /* epilogue: frame size=0 */
311 021e 0895 ret
312 /* epilogue end (size=1) */
313 /* function SetDelay size 9 (8) */
315 .global CheckDelay
317 CheckDelay:
318 /* prologue: frame size=0 */
319 /* prologue end (size=0) */
320 0220 2091 0000 lds r18,CountMilliseconds
321 0224 3091 0000 lds r19,(CountMilliseconds)+1
322 0228 821B sub r24,r18
323 022a 930B sbc r25,r19
324 022c 892F mov r24,r25
325 022e 9927 clr r25
326 0230 8695 lsr r24
327 0232 8074 andi r24,lo8(64)
328 0234 9070 andi r25,hi8(64)
329 /* epilogue: frame size=0 */
330 0236 0895 ret
331 /* epilogue end (size=1) */
332 /* function CheckDelay size 12 (11) */
334 .global Delay_ms
336 Delay_ms:
337 /* prologue: frame size=0 */
338 0238 CF93 push r28
339 023a DF93 push r29
340 /* prologue end (size=2) */
341 023c 0E94 0000 call SetDelay
342 0240 EC01 movw r28,r24
343 .L29:
344 0242 CE01 movw r24,r28
345 0244 0E94 0000 call CheckDelay
346 0248 8823 tst r24
347 024a D9F3 breq .L29
348 /* epilogue: frame size=0 */
349 024c DF91 pop r29
350 024e CF91 pop r28
351 0250 0895 ret
352 /* epilogue end (size=3) */
353 /* function Delay_ms size 13 (8) */
355 .global Delay_ms_Mess
357 Delay_ms_Mess:
358 /* prologue: frame size=0 */
359 0252 CF93 push r28
360 0254 DF93 push r29
361 /* prologue end (size=2) */
362 0256 0E94 0000 call SetDelay
363 025a EC01 movw r28,r24
364 025c 09C0 rjmp .L40
365 .L36:
366 025e 8091 0000 lds r24,AdReady
367 0262 8823 tst r24
368 0264 29F0 breq .L40
369 0266 9093 0000 sts AdReady,r25
370 026a 8FEC ldi r24,lo8(-49)
371 026c 8093 7A00 sts 122,r24
372 .L40:
373 0270 CE01 movw r24,r28
374 0272 0E94 0000 call CheckDelay
375 0276 982F mov r25,r24
376 0278 8823 tst r24
377 027a 89F3 breq .L36
378 /* epilogue: frame size=0 */
379 027c DF91 pop r29
380 027e CF91 pop r28
381 0280 0895 ret
382 /* epilogue end (size=3) */
383 /* function Delay_ms_Mess size 24 (19) */
385 .global TIMER2_Init
387 TIMER2_Init:
388 /* prologue: frame size=0 */
389 /* prologue end (size=0) */
390 0282 4FB7 in r20,95-0x20
391 0284 8091 0000 lds r24,Parameter_UserParam8
392 0288 282F mov r18,r24
393 028a 3327 clr r19
394 028c 2F77 andi r18,lo8(127)
395 028e 3070 andi r19,hi8(127)
396 0290 C901 movw r24,r18
397 0292 880F lsl r24
398 0294 991F rol r25
399 0296 880F lsl r24
400 0298 991F rol r25
401 029a 820F add r24,r18
402 029c 931F adc r25,r19
403 029e 9093 0000 sts (CameraShutterCycle)+1,r25
404 02a2 8093 0000 sts CameraShutterCycle,r24
405 /* #APP */
406 02a6 F894 cli
407 /* #NOAPP */
408 02a8 5F98 cbi 43-0x20,7
409 02aa 3E9A sbi 39-0x20,6
410 02ac 469A sbi 40-0x20,6
411 02ae 8091 B000 lds r24,176
412 02b2 8F70 andi r24,lo8(15)
413 02b4 8093 B000 sts 176,r24
414 02b8 8091 B000 lds r24,176
415 02bc 8360 ori r24,lo8(3)
416 02be 8093 B000 sts 176,r24
417 02c2 8091 B100 lds r24,177
418 02c6 8B73 andi r24,lo8(59)
419 02c8 8093 B100 sts 177,r24
420 02cc 8091 B100 lds r24,177
421 02d0 8B60 ori r24,lo8(11)
422 02d2 8093 B100 sts 177,r24
423 02d6 1092 B200 sts 178,__zero_reg__
424 02da 8FEF ldi r24,lo8(-1)
425 02dc 8093 B300 sts 179,r24
426 02e0 8091 B000 lds r24,176
427 02e4 8068 ori r24,lo8(-128)
428 02e6 8093 B000 sts 176,r24
429 02ea 8091 7000 lds r24,112
430 02ee 8A7F andi r24,lo8(-6)
431 02f0 8093 7000 sts 112,r24
432 02f4 8091 7000 lds r24,112
433 02f8 8260 ori r24,lo8(2)
434 02fa 8093 7000 sts 112,r24
435 02fe 4FBF out 95-0x20,r20
436 /* epilogue: frame size=0 */
437 0300 0895 ret
438 /* epilogue end (size=1) */
439 /* function TIMER2_Init size 65 (64) */
441 .global Timer_Init
443 Timer_Init:
444 /* prologue: frame size=0 */
445 /* prologue end (size=0) */
446 0302 8AE0 ldi r24,lo8(10)
447 0304 90E0 ldi r25,hi8(10)
448 0306 0E94 0000 call SetDelay
449 030a 9093 0000 sts (tim_main)+1,r25
450 030e 8093 0000 sts tim_main,r24
451 0312 82E0 ldi r24,lo8(2)
452 0314 85BD out 69-0x20,r24
453 0316 83EA ldi r24,lo8(-93)
454 0318 84BD out 68-0x20,r24
455 031a 17BC out 71-0x20,__zero_reg__
456 031c 84EB ldi r24,lo8(-76)
457 031e 88BD out 72-0x20,r24
458 0320 86E0 ldi r24,lo8(6)
459 0322 86BD out 70-0x20,r24
460 0324 8091 6E00 lds r24,110
461 0328 8160 ori r24,lo8(1)
462 032a 8093 6E00 sts 110,r24
463 /* epilogue: frame size=0 */
464 032e 0895 ret
465 /* epilogue end (size=1) */
466 /* function Timer_Init size 23 (22) */
468 .lcomm PulseOutput.0,1
469 .lcomm RemainingPulse.1,2
470 .lcomm ServoFrameTime.2,2
471 .lcomm ServoIndex.3,1
472 .data
475 ServoNickOffset.4:
476 0005 FC01 .word 508
479 ServoRollOffset.5:
480 0007 FC01 .word 508
481 .text
482 .global __vector_9
484 __vector_9:
485 /* prologue: frame size=0 */
486 0330 1F92 push __zero_reg__
487 0332 0F92 push __tmp_reg__
488 0334 0FB6 in __tmp_reg__,__SREG__
489 0336 0F92 push __tmp_reg__
490 0338 1124 clr __zero_reg__
491 033a 2F93 push r18
492 033c 3F93 push r19
493 033e 4F93 push r20
494 0340 5F93 push r21
495 0342 6F93 push r22
496 0344 7F93 push r23
497 0346 8F93 push r24
498 0348 9F93 push r25
499 034a AF93 push r26
500 034c BF93 push r27
501 034e CF93 push r28
502 0350 DF93 push r29
503 0352 EF93 push r30
504 0354 FF93 push r31
505 /* prologue end (size=19) */
506 0356 8091 0000 lds r24,PlatinenVersion
507 035a 8431 cpi r24,lo8(20)
508 035c 08F0 brlo .+2
509 035e 17C1 rjmp .L44
510 0360 8091 0000 lds r24,Parameter_UserParam8
511 0364 87FD sbrc r24,7
512 0366 13C1 rjmp .L44
513 0368 8091 0000 lds r24,PulseOutput.0
514 036c 8823 tst r24
515 036e 09F0 breq .+2
516 0370 AEC3 rjmp .L62
517 0372 8091 B000 lds r24,176
518 0376 86FF sbrs r24,6
519 0378 ECC0 rjmp .L46
520 037a 8091 B000 lds r24,176
521 037e 8F7B andi r24,lo8(-65)
522 0380 8093 B000 sts 176,r24
523 0384 89EA ldi r24,lo8(937)
524 0386 93E0 ldi r25,hi8(937)
525 0388 9093 0000 sts (RemainingPulse.1)+1,r25
526 038c 8093 0000 sts RemainingPulse.1,r24
527 0390 8091 0000 lds r24,ServoNickOffset.4
528 0394 9091 0000 lds r25,(ServoNickOffset.4)+1
529 0398 9C01 movw r18,r24
530 039a 220F lsl r18
531 039c 331F rol r19
532 039e 280F add r18,r24
533 03a0 391F adc r19,r25
534 03a2 8091 0000 lds r24,Parameter_ServoNickControl
535 03a6 9927 clr r25
536 03a8 880F lsl r24
537 03aa 991F rol r25
538 03ac 880F lsl r24
539 03ae 991F rol r25
540 03b0 280F add r18,r24
541 03b2 391F adc r19,r25
542 03b4 37FF sbrs r19,7
543 03b6 02C0 rjmp .L47
544 03b8 2D5F subi r18,lo8(-(3))
545 03ba 3F4F sbci r19,hi8(-(3))
546 .L47:
547 03bc C901 movw r24,r18
548 03be 9595 asr r25
549 03c0 8795 ror r24
550 03c2 9595 asr r25
551 03c4 8795 ror r24
552 03c6 9093 0000 sts (ServoNickOffset.4)+1,r25
553 03ca 8093 0000 sts ServoNickOffset.4,r24
554 03ce 9093 0000 sts (ServoNickValue)+1,r25
555 03d2 8093 0000 sts ServoNickValue,r24
556 03d6 8091 0000 lds r24,EE_Parameter+98
557 03da 6091 0000 lds r22,EE_Parameter+46
558 03de 2091 0000 lds r18,IntegralNick
559 03e2 3091 0000 lds r19,(IntegralNick)+1
560 03e6 4091 0000 lds r20,(IntegralNick)+2
561 03ea 5091 0000 lds r21,(IntegralNick)+3
562 03ee 80FF sbrs r24,0
563 03f0 2CC0 rjmp .L48
564 03f2 7727 clr r23
565 03f4 8827 clr r24
566 03f6 9927 clr r25
567 03f8 EA01 movw r28,r20
568 03fa D901 movw r26,r18
569 03fc 57FF sbrs r21,7
570 03fe 04C0 rjmp .L49
571 0400 A158 subi r26,lo8(-(127))
572 0402 BF4F sbci r27,hi8(-(127))
573 0404 CF4F sbci r28,hlo8(-(127))
574 0406 DF4F sbci r29,hhi8(-(127))
575 .L49:
576 0408 E7E0 ldi r30,7
577 040a D595 1: asr r29
578 040c C795 ror r28
579 040e B795 ror r27
580 0410 A795 ror r26
581 0412 EA95 dec r30
582 0414 D1F7 brne 1b
583 0416 9D01 movw r18,r26
584 0418 AE01 movw r20,r28
585 041a 0E94 0000 call __mulsi3
586 041e 9B01 movw r18,r22
587 0420 AC01 movw r20,r24
588 0422 97FF sbrs r25,7
589 0424 04C0 rjmp .L50
590 0426 215C subi r18,lo8(-(63))
591 0428 3F4F sbci r19,hi8(-(63))
592 042a 4F4F sbci r20,hlo8(-(63))
593 042c 5F4F sbci r21,hhi8(-(63))
594 .L50:
595 042e 66E0 ldi r22,6
596 0430 5595 1: asr r21
597 0432 4795 ror r20
598 0434 3795 ror r19
599 0436 2795 ror r18
600 0438 6A95 dec r22
601 043a D1F7 brne 1b
602 043c 8091 0000 lds r24,ServoNickValue
603 0440 9091 0000 lds r25,(ServoNickValue)+1
604 0444 820F add r24,r18
605 0446 931F adc r25,r19
606 0448 2BC0 rjmp .L121
607 .L48:
608 044a 7727 clr r23
609 044c 8827 clr r24
610 044e 9927 clr r25
611 0450 EA01 movw r28,r20
612 0452 D901 movw r26,r18
613 0454 57FF sbrs r21,7
614 0456 04C0 rjmp .L52
615 0458 A158 subi r26,lo8(-(127))
616 045a BF4F sbci r27,hi8(-(127))
617 045c CF4F sbci r28,hlo8(-(127))
618 045e DF4F sbci r29,hhi8(-(127))
619 .L52:
620 0460 27E0 ldi r18,7
621 0462 D595 1: asr r29
622 0464 C795 ror r28
623 0466 B795 ror r27
624 0468 A795 ror r26
625 046a 2A95 dec r18
626 046c D1F7 brne 1b
627 046e 9D01 movw r18,r26
628 0470 AE01 movw r20,r28
629 0472 0E94 0000 call __mulsi3
630 0476 9B01 movw r18,r22
631 0478 AC01 movw r20,r24
632 047a 97FF sbrs r25,7
633 047c 04C0 rjmp .L53
634 047e 215C subi r18,lo8(-(63))
635 0480 3F4F sbci r19,hi8(-(63))
636 0482 4F4F sbci r20,hlo8(-(63))
637 0484 5F4F sbci r21,hhi8(-(63))
638 .L53:
639 0486 F6E0 ldi r31,6
640 0488 5595 1: asr r21
641 048a 4795 ror r20
642 048c 3795 ror r19
643 048e 2795 ror r18
644 0490 FA95 dec r31
645 0492 D1F7 brne 1b
646 0494 8091 0000 lds r24,ServoNickValue
647 0498 9091 0000 lds r25,(ServoNickValue)+1
648 049c 821B sub r24,r18
649 049e 930B sbc r25,r19
650 .L121:
651 04a0 9093 0000 sts (ServoNickValue)+1,r25
652 04a4 8093 0000 sts ServoNickValue,r24
653 04a8 8091 0000 lds r24,EE_Parameter+47
654 04ac 282F mov r18,r24
655 04ae 3327 clr r19
656 04b0 220F lsl r18
657 04b2 331F rol r19
658 04b4 220F lsl r18
659 04b6 331F rol r19
660 04b8 8091 0000 lds r24,ServoNickValue
661 04bc 9091 0000 lds r25,(ServoNickValue)+1
662 04c0 8217 cp r24,r18
663 04c2 9307 cpc r25,r19
664 04c4 7CF0 brlt .L122
665 04c6 8091 0000 lds r24,EE_Parameter+48
666 04ca 282F mov r18,r24
667 04cc 3327 clr r19
668 04ce 220F lsl r18
669 04d0 331F rol r19
670 04d2 220F lsl r18
671 04d4 331F rol r19
672 04d6 8091 0000 lds r24,ServoNickValue
673 04da 9091 0000 lds r25,(ServoNickValue)+1
674 04de 2817 cp r18,r24
675 04e0 3907 cpc r19,r25
676 04e2 24F4 brge .L55
677 .L122:
678 04e4 3093 0000 sts (ServoNickValue)+1,r19
679 04e8 2093 0000 sts ServoNickValue,r18
680 .L55:
681 04ec 2091 0000 lds r18,RemainingPulse.1
682 04f0 3091 0000 lds r19,(RemainingPulse.1)+1
683 04f4 8091 0000 lds r24,ServoNickValue
684 04f8 9091 0000 lds r25,(ServoNickValue)+1
685 04fc 280F add r18,r24
686 04fe 391F adc r19,r25
687 0500 2050 subi r18,lo8(-(-512))
688 0502 3240 sbci r19,hi8(-(-512))
689 0504 3093 0000 sts (RemainingPulse.1)+1,r19
690 0508 2093 0000 sts RemainingPulse.1,r18
691 050c 8091 0000 lds r24,ServoNickValue
692 0510 9091 0000 lds r25,(ServoNickValue)+1
693 0514 97FD sbrc r25,7
694 0516 0396 adiw r24,3
695 .L57:
696 0518 9595 asr r25
697 051a 8795 ror r24
698 051c 9595 asr r25
699 051e 8795 ror r24
700 0520 9093 0000 sts (ServoNickValue)+1,r25
701 0524 8093 0000 sts ServoNickValue,r24
702 0528 45E0 ldi r20,hi8(1501)
703 052a 2D3D cpi r18,lo8(1501)
704 052c 3407 cpc r19,r20
705 052e 18F0 brlo .L58
706 0530 8CED ldi r24,lo8(1500)
707 0532 95E0 ldi r25,hi8(1500)
708 0534 05C0 rjmp .L123
709 .L58:
710 0536 2757 subi r18,lo8(375)
711 0538 3140 sbci r19,hi8(375)
712 053a 30F4 brsh .L59
713 053c 87E7 ldi r24,lo8(375)
714 053e 91E0 ldi r25,hi8(375)
715 .L123:
716 0540 9093 0000 sts (RemainingPulse.1)+1,r25
717 0544 8093 0000 sts RemainingPulse.1,r24
718 .L59:
719 0548 8091 0000 lds r24,RemainingPulse.1
720 054c 9091 0000 lds r25,(RemainingPulse.1)+1
721 0550 87C2 rjmp .L134
722 .L46:
723 0552 8091 B000 lds r24,176
724 0556 8064 ori r24,lo8(64)
725 0558 8093 B000 sts 176,r24
726 055c 8091 0000 lds r24,EE_Parameter+53
727 0560 282F mov r18,r24
728 0562 3327 clr r19
729 0564 8DED ldi r24,lo8(1757)
730 0566 96E0 ldi r25,hi8(1757)
731 0568 289F mul r18,r24
732 056a A001 movw r20,r0
733 056c 299F mul r18,r25
734 056e 500D add r21,r0
735 0570 389F mul r19,r24
736 0572 500D add r21,r0
737 0574 1124 clr r1
738 0576 CA01 movw r24,r20
739 0578 2091 0000 lds r18,ServoFrameTime.2
740 057c 3091 0000 lds r19,(ServoFrameTime.2)+1
741 0580 821B sub r24,r18
742 0582 930B sbc r25,r19
743 0584 9093 0000 sts (RemainingPulse.1)+1,r25
744 0588 8093 0000 sts RemainingPulse.1,r24
745 058c 9DC2 rjmp .L109
746 .L44:
747 058e 8091 0000 lds r24,PulseOutput.0
748 0592 8823 tst r24
749 0594 09F0 breq .+2
750 0596 9BC2 rjmp .L62
751 0598 8091 B000 lds r24,176
752 059c 86FF sbrs r24,6
753 059e 65C2 rjmp .L64
754 05a0 8091 B000 lds r24,176
755 05a4 8F7B andi r24,lo8(-65)
756 05a6 8093 B000 sts 176,r24
757 05aa E091 0000 lds r30,ServoIndex.3
758 05ae EE23 tst r30
759 05b0 F1F4 brne .L65
760 05b2 8091 0000 lds r24,EE_Parameter+53
761 05b6 282F mov r18,r24
762 05b8 3327 clr r19
763 05ba 8DED ldi r24,lo8(1757)
764 05bc 96E0 ldi r25,hi8(1757)
765 05be 289F mul r18,r24
766 05c0 A001 movw r20,r0
767 05c2 299F mul r18,r25
768 05c4 500D add r21,r0
769 05c6 389F mul r19,r24
770 05c8 500D add r21,r0
771 05ca 1124 clr r1
772 05cc CA01 movw r24,r20
773 05ce 2091 0000 lds r18,ServoFrameTime.2
774 05d2 3091 0000 lds r19,(ServoFrameTime.2)+1
775 05d6 821B sub r24,r18
776 05d8 930B sbc r25,r19
777 05da 9093 0000 sts (RemainingPulse.1)+1,r25
778 05de 8093 0000 sts RemainingPulse.1,r24
779 05e2 1092 0000 sts (ServoFrameTime.2)+1,__zero_reg__
780 05e6 1092 0000 sts ServoFrameTime.2,__zero_reg__
781 05ea 469A sbi 40-0x20,6
782 05ec 6DC2 rjmp .L109
783 .L65:
784 05ee 49EA ldi r20,lo8(937)
785 05f0 53E0 ldi r21,hi8(937)
786 05f2 5093 0000 sts (RemainingPulse.1)+1,r21
787 05f6 4093 0000 sts RemainingPulse.1,r20
788 05fa 8E2F mov r24,r30
789 05fc 9927 clr r25
790 05fe 8330 cpi r24,3
791 0600 9105 cpc r25,__zero_reg__
792 0602 09F4 brne .+2
793 0604 A4C1 rjmp .L92
794 0606 8430 cpi r24,4
795 0608 9105 cpc r25,__zero_reg__
796 060a 3CF4 brge .L105
797 060c 8130 cpi r24,1
798 060e 9105 cpc r25,__zero_reg__
799 0610 61F0 breq .L68
800 0612 0297 sbiw r24,2
801 0614 09F4 brne .+2
802 0616 D2C0 rjmp .L80
803 0618 ECC1 rjmp .L104
804 .L105:
805 061a 8430 cpi r24,4
806 061c 9105 cpc r25,__zero_reg__
807 061e 09F4 brne .+2
808 0620 DBC1 rjmp .L102
809 0622 0597 sbiw r24,5
810 0624 09F4 brne .+2
811 0626 DBC1 rjmp .L103
812 0628 E4C1 rjmp .L104
813 .L68:
814 062a 8091 0000 lds r24,ServoNickOffset.4
815 062e 9091 0000 lds r25,(ServoNickOffset.4)+1
816 0632 9C01 movw r18,r24
817 0634 220F lsl r18
818 0636 331F rol r19
819 0638 280F add r18,r24
820 063a 391F adc r19,r25
821 063c 8091 0000 lds r24,Parameter_ServoNickControl
822 0640 9927 clr r25
823 0642 880F lsl r24
824 0644 991F rol r25
825 0646 880F lsl r24
826 0648 991F rol r25
827 064a 280F add r18,r24
828 064c 391F adc r19,r25
829 064e 37FF sbrs r19,7
830 0650 02C0 rjmp .L69
831 0652 2D5F subi r18,lo8(-(3))
832 0654 3F4F sbci r19,hi8(-(3))
833 .L69:
834 0656 C901 movw r24,r18
835 0658 9595 asr r25
836 065a 8795 ror r24
837 065c 9595 asr r25
838 065e 8795 ror r24
839 0660 9093 0000 sts (ServoNickOffset.4)+1,r25
840 0664 8093 0000 sts ServoNickOffset.4,r24
841 0668 9093 0000 sts (ServoNickValue)+1,r25
842 066c 8093 0000 sts ServoNickValue,r24
843 0670 8091 0000 lds r24,EE_Parameter+98
844 0674 6091 0000 lds r22,EE_Parameter+46
845 0678 2091 0000 lds r18,IntegralNick
846 067c 3091 0000 lds r19,(IntegralNick)+1
847 0680 4091 0000 lds r20,(IntegralNick)+2
848 0684 5091 0000 lds r21,(IntegralNick)+3
849 0688 80FF sbrs r24,0
850 068a 2CC0 rjmp .L70
851 068c 7727 clr r23
852 068e 8827 clr r24
853 0690 9927 clr r25
854 0692 EA01 movw r28,r20
855 0694 D901 movw r26,r18
856 0696 57FF sbrs r21,7
857 0698 04C0 rjmp .L71
858 069a A158 subi r26,lo8(-(127))
859 069c BF4F sbci r27,hi8(-(127))
860 069e CF4F sbci r28,hlo8(-(127))
861 06a0 DF4F sbci r29,hhi8(-(127))
862 .L71:
863 06a2 27E0 ldi r18,7
864 06a4 D595 1: asr r29
865 06a6 C795 ror r28
866 06a8 B795 ror r27
867 06aa A795 ror r26
868 06ac 2A95 dec r18
869 06ae D1F7 brne 1b
870 06b0 9D01 movw r18,r26
871 06b2 AE01 movw r20,r28
872 06b4 0E94 0000 call __mulsi3
873 06b8 9B01 movw r18,r22
874 06ba AC01 movw r20,r24
875 06bc 97FF sbrs r25,7
876 06be 04C0 rjmp .L72
877 06c0 215C subi r18,lo8(-(63))
878 06c2 3F4F sbci r19,hi8(-(63))
879 06c4 4F4F sbci r20,hlo8(-(63))
880 06c6 5F4F sbci r21,hhi8(-(63))
881 .L72:
882 06c8 F6E0 ldi r31,6
883 06ca 5595 1: asr r21
884 06cc 4795 ror r20
885 06ce 3795 ror r19
886 06d0 2795 ror r18
887 06d2 FA95 dec r31
888 06d4 D1F7 brne 1b
889 06d6 8091 0000 lds r24,ServoNickValue
890 06da 9091 0000 lds r25,(ServoNickValue)+1
891 06de 820F add r24,r18
892 06e0 931F adc r25,r19
893 06e2 27C0 rjmp .L124
894 .L70:
895 06e4 7727 clr r23
896 06e6 8827 clr r24
897 06e8 9927 clr r25
898 06ea 57FF sbrs r21,7
899 06ec 04C0 rjmp .L74
900 06ee 2158 subi r18,lo8(-(127))
901 06f0 3F4F sbci r19,hi8(-(127))
902 06f2 4F4F sbci r20,hlo8(-(127))
903 06f4 5F4F sbci r21,hhi8(-(127))
904 .L74:
905 06f6 E7E0 ldi r30,7
906 06f8 5595 1: asr r21
907 06fa 4795 ror r20
908 06fc 3795 ror r19
909 06fe 2795 ror r18
910 0700 EA95 dec r30
911 0702 D1F7 brne 1b
912 0704 0E94 0000 call __mulsi3
913 0708 9B01 movw r18,r22
914 070a AC01 movw r20,r24
915 070c 97FF sbrs r25,7
916 070e 04C0 rjmp .L75
917 0710 215C subi r18,lo8(-(63))
918 0712 3F4F sbci r19,hi8(-(63))
919 0714 4F4F sbci r20,hlo8(-(63))
920 0716 5F4F sbci r21,hhi8(-(63))
921 .L75:
922 0718 66E0 ldi r22,6
923 071a 5595 1: asr r21
924 071c 4795 ror r20
925 071e 3795 ror r19
926 0720 2795 ror r18
927 0722 6A95 dec r22
928 0724 D1F7 brne 1b
929 0726 8091 0000 lds r24,ServoNickValue
930 072a 9091 0000 lds r25,(ServoNickValue)+1
931 072e 821B sub r24,r18
932 0730 930B sbc r25,r19
933 .L124:
934 0732 9093 0000 sts (ServoNickValue)+1,r25
935 0736 8093 0000 sts ServoNickValue,r24
936 073a 8091 0000 lds r24,EE_Parameter+47
937 073e 282F mov r18,r24
938 0740 3327 clr r19
939 0742 220F lsl r18
940 0744 331F rol r19
941 0746 220F lsl r18
942 0748 331F rol r19
943 074a 8091 0000 lds r24,ServoNickValue
944 074e 9091 0000 lds r25,(ServoNickValue)+1
945 0752 8217 cp r24,r18
946 0754 9307 cpc r25,r19
947 0756 7CF0 brlt .L125
948 0758 8091 0000 lds r24,EE_Parameter+48
949 075c 282F mov r18,r24
950 075e 3327 clr r19
951 0760 220F lsl r18
952 0762 331F rol r19
953 0764 220F lsl r18
954 0766 331F rol r19
955 0768 8091 0000 lds r24,ServoNickValue
956 076c 9091 0000 lds r25,(ServoNickValue)+1
957 0770 2817 cp r18,r24
958 0772 3907 cpc r19,r25
959 0774 24F4 brge .L77
960 .L125:
961 0776 3093 0000 sts (ServoNickValue)+1,r19
962 077a 2093 0000 sts ServoNickValue,r18
963 .L77:
964 077e 8091 0000 lds r24,RemainingPulse.1
965 0782 9091 0000 lds r25,(RemainingPulse.1)+1
966 0786 2091 0000 lds r18,ServoNickValue
967 078a 3091 0000 lds r19,(ServoNickValue)+1
968 078e 820F add r24,r18
969 0790 931F adc r25,r19
970 0792 8050 subi r24,lo8(-(-512))
971 0794 9240 sbci r25,hi8(-(-512))
972 0796 9093 0000 sts (RemainingPulse.1)+1,r25
973 079a 8093 0000 sts RemainingPulse.1,r24
974 079e 8091 0000 lds r24,ServoNickValue
975 07a2 9091 0000 lds r25,(ServoNickValue)+1
976 07a6 97FD sbrc r25,7
977 07a8 0396 adiw r24,3
978 .L79:
979 07aa 9595 asr r25
980 07ac 8795 ror r24
981 07ae 9595 asr r25
982 07b0 8795 ror r24
983 07b2 9093 0000 sts (ServoNickValue)+1,r25
984 07b6 8093 0000 sts ServoNickValue,r24
985 07ba 2EC1 rjmp .L67
986 .L80:
987 07bc 8091 0000 lds r24,ServoRollOffset.5
988 07c0 9091 0000 lds r25,(ServoRollOffset.5)+1
989 07c4 9C01 movw r18,r24
990 07c6 220F lsl r18
991 07c8 331F rol r19
992 07ca 280F add r18,r24
993 07cc 391F adc r19,r25
994 07ce 8091 0000 lds r24,Parameter_ServoRollControl
995 07d2 9927 clr r25
996 07d4 880F lsl r24
997 07d6 991F rol r25
998 07d8 880F lsl r24
999 07da 991F rol r25
1000 07dc 280F add r18,r24
1001 07de 391F adc r19,r25
1002 07e0 37FF sbrs r19,7
1003 07e2 02C0 rjmp .L81
1004 07e4 2D5F subi r18,lo8(-(3))
1005 07e6 3F4F sbci r19,hi8(-(3))
1006 .L81:
1007 07e8 C901 movw r24,r18
1008 07ea 9595 asr r25
1009 07ec 8795 ror r24
1010 07ee 9595 asr r25
1011 07f0 8795 ror r24
1012 07f2 9093 0000 sts (ServoRollOffset.5)+1,r25
1013 07f6 8093 0000 sts ServoRollOffset.5,r24
1014 07fa 9093 0000 sts (ServoRollValue)+1,r25
1015 07fe 8093 0000 sts ServoRollValue,r24
1016 0802 8091 0000 lds r24,EE_Parameter+98
1017 0806 6091 0000 lds r22,EE_Parameter+50
1018 080a A091 0000 lds r26,IntegralRoll
1019 080e B091 0000 lds r27,(IntegralRoll)+1
1020 0812 C091 0000 lds r28,(IntegralRoll)+2
1021 0816 D091 0000 lds r29,(IntegralRoll)+3
1022 081a 81FF sbrs r24,1
1023 081c 2AC0 rjmp .L82
1024 081e 7727 clr r23
1025 0820 8827 clr r24
1026 0822 9927 clr r25
1027 0824 9D01 movw r18,r26
1028 0826 AE01 movw r20,r28
1029 0828 D7FF sbrs r29,7
1030 082a 04C0 rjmp .L83
1031 082c 2158 subi r18,lo8(-(127))
1032 082e 3F4F sbci r19,hi8(-(127))
1033 0830 4F4F sbci r20,hlo8(-(127))
1034 0832 5F4F sbci r21,hhi8(-(127))
1035 .L83:
1036 0834 E7E0 ldi r30,7
1037 0836 5595 1: asr r21
1038 0838 4795 ror r20
1039 083a 3795 ror r19
1040 083c 2795 ror r18
1041 083e EA95 dec r30
1042 0840 D1F7 brne 1b
1043 0842 0E94 0000 call __mulsi3
1044 0846 9B01 movw r18,r22
1045 0848 AC01 movw r20,r24
1046 084a 97FF sbrs r25,7
1047 084c 04C0 rjmp .L84
1048 084e 215C subi r18,lo8(-(63))
1049 0850 3F4F sbci r19,hi8(-(63))
1050 0852 4F4F sbci r20,hlo8(-(63))
1051 0854 5F4F sbci r21,hhi8(-(63))
1052 .L84:
1053 0856 C6E0 ldi r28,6
1054 0858 5595 1: asr r21
1055 085a 4795 ror r20
1056 085c 3795 ror r19
1057 085e 2795 ror r18
1058 0860 CA95 dec r28
1059 0862 D1F7 brne 1b
1060 0864 8091 0000 lds r24,ServoRollValue
1061 0868 9091 0000 lds r25,(ServoRollValue)+1
1062 086c 820F add r24,r18
1063 086e 931F adc r25,r19
1064 0870 29C0 rjmp .L126
1065 .L82:
1066 0872 7727 clr r23
1067 0874 8827 clr r24
1068 0876 9927 clr r25
1069 0878 9D01 movw r18,r26
1070 087a AE01 movw r20,r28
1071 087c D7FF sbrs r29,7
1072 087e 04C0 rjmp .L86
1073 0880 2158 subi r18,lo8(-(127))
1074 0882 3F4F sbci r19,hi8(-(127))
1075 0884 4F4F sbci r20,hlo8(-(127))
1076 0886 5F4F sbci r21,hhi8(-(127))
1077 .L86:
1078 0888 B7E0 ldi r27,7
1079 088a 5595 1: asr r21
1080 088c 4795 ror r20
1081 088e 3795 ror r19
1082 0890 2795 ror r18
1083 0892 BA95 dec r27
1084 0894 D1F7 brne 1b
1085 0896 0E94 0000 call __mulsi3
1086 089a 9B01 movw r18,r22
1087 089c AC01 movw r20,r24
1088 089e 97FF sbrs r25,7
1089 08a0 04C0 rjmp .L87
1090 08a2 215C subi r18,lo8(-(63))
1091 08a4 3F4F sbci r19,hi8(-(63))
1092 08a6 4F4F sbci r20,hlo8(-(63))
1093 08a8 5F4F sbci r21,hhi8(-(63))
1094 .L87:
1095 08aa A6E0 ldi r26,6
1096 08ac 5595 1: asr r21
1097 08ae 4795 ror r20
1098 08b0 3795 ror r19
1099 08b2 2795 ror r18
1100 08b4 AA95 dec r26
1101 08b6 D1F7 brne 1b
1102 08b8 8091 0000 lds r24,ServoRollValue
1103 08bc 9091 0000 lds r25,(ServoRollValue)+1
1104 08c0 821B sub r24,r18
1105 08c2 930B sbc r25,r19
1106 .L126:
1107 08c4 9093 0000 sts (ServoRollValue)+1,r25
1108 08c8 8093 0000 sts ServoRollValue,r24
1109 08cc 8091 0000 lds r24,EE_Parameter+51
1110 08d0 282F mov r18,r24
1111 08d2 3327 clr r19
1112 08d4 220F lsl r18
1113 08d6 331F rol r19
1114 08d8 220F lsl r18
1115 08da 331F rol r19
1116 08dc 8091 0000 lds r24,ServoRollValue
1117 08e0 9091 0000 lds r25,(ServoRollValue)+1
1118 08e4 8217 cp r24,r18
1119 08e6 9307 cpc r25,r19
1120 08e8 7CF0 brlt .L127
1121 08ea 8091 0000 lds r24,EE_Parameter+52
1122 08ee 282F mov r18,r24
1123 08f0 3327 clr r19
1124 08f2 220F lsl r18
1125 08f4 331F rol r19
1126 08f6 220F lsl r18
1127 08f8 331F rol r19
1128 08fa 8091 0000 lds r24,ServoRollValue
1129 08fe 9091 0000 lds r25,(ServoRollValue)+1
1130 0902 2817 cp r18,r24
1131 0904 3907 cpc r19,r25
1132 0906 24F4 brge .L89
1133 .L127:
1134 0908 3093 0000 sts (ServoRollValue)+1,r19
1135 090c 2093 0000 sts ServoRollValue,r18
1136 .L89:
1137 0910 8091 0000 lds r24,RemainingPulse.1
1138 0914 9091 0000 lds r25,(RemainingPulse.1)+1
1139 0918 2091 0000 lds r18,ServoRollValue
1140 091c 3091 0000 lds r19,(ServoRollValue)+1
1141 0920 820F add r24,r18
1142 0922 931F adc r25,r19
1143 0924 8050 subi r24,lo8(-(-512))
1144 0926 9240 sbci r25,hi8(-(-512))
1145 0928 9093 0000 sts (RemainingPulse.1)+1,r25
1146 092c 8093 0000 sts RemainingPulse.1,r24
1147 0930 8091 0000 lds r24,ServoRollValue
1148 0934 9091 0000 lds r25,(ServoRollValue)+1
1149 0938 97FD sbrc r25,7
1150 093a 0396 adiw r24,3
1151 .L91:
1152 093c 9595 asr r25
1153 093e 8795 ror r24
1154 0940 9595 asr r25
1155 0942 8795 ror r24
1156 0944 9093 0000 sts (ServoRollValue)+1,r25
1157 0948 8093 0000 sts ServoRollValue,r24
1158 094c 65C0 rjmp .L67
1159 .L92:
1160 094e 8091 0000 lds r24,EE_Parameter+7
1161 0952 E82F mov r30,r24
1162 0954 FF27 clr r31
1163 0956 EE0F add r30,r30
1164 0958 FF1F adc r31,r31
1165 095a E050 subi r30,lo8(-(PPM_in))
1166 095c F040 sbci r31,hi8(-(PPM_in))
1167 095e 8081 ld r24,Z
1168 0960 9181 ldd r25,Z+1
1169 0962 805E subi r24,lo8(-32)
1170 0964 9F4F sbci r25,hi8(-32)
1171 0966 ACF1 brlt .L132
1172 0968 8081 ld r24,Z
1173 096a 9181 ldd r25,Z+1
1174 096c 8197 sbiw r24,33
1175 096e 1CF0 brlt .L95
1176 0970 8CED ldi r24,lo8(1500)
1177 0972 95E0 ldi r25,hi8(1500)
1178 0974 4DC0 rjmp .L128
1179 .L95:
1180 0976 8091 0000 lds r24,CameraShutterCycle
1181 097a 9091 0000 lds r25,(CameraShutterCycle)+1
1182 097e C297 sbiw r24,50
1183 0980 78F0 brlo .L129
1184 0982 2091 0000 lds r18,CameraShutterCycleCounter
1185 0986 3091 0000 lds r19,(CameraShutterCycleCounter)+1
1186 098a 8091 0000 lds r24,CameraShutterCycle
1187 098e 9091 0000 lds r25,(CameraShutterCycle)+1
1188 0992 2817 cp r18,r24
1189 0994 3907 cpc r19,r25
1190 0996 49F4 brne .L99
1191 0998 1092 0000 sts (CameraShutterCycleCounter)+1,__zero_reg__
1192 099c 1092 0000 sts CameraShutterCycleCounter,__zero_reg__
1193 .L129:
1194 09a0 5093 0000 sts (RemainingPulse.1)+1,r21
1195 09a4 4093 0000 sts RemainingPulse.1,r20
1196 09a8 37C0 rjmp .L67
1197 .L99:
1198 09aa 8091 0000 lds r24,CameraShutterCycleCounter
1199 09ae 9091 0000 lds r25,(CameraShutterCycleCounter)+1
1200 09b2 0196 adiw r24,1
1201 09b4 9093 0000 sts (CameraShutterCycleCounter)+1,r25
1202 09b8 8093 0000 sts CameraShutterCycleCounter,r24
1203 09bc 2091 0000 lds r18,CameraShutterCycleCounter
1204 09c0 3091 0000 lds r19,(CameraShutterCycleCounter)+1
1205 09c4 8091 0000 lds r24,CameraShutterCycleOnCount
1206 09c8 9091 0000 lds r25,(CameraShutterCycleOnCount)+1
1207 09cc 2817 cp r18,r24
1208 09ce 3907 cpc r19,r25
1209 09d0 19F5 brne .L67
1210 .L132:
1211 09d2 87E7 ldi r24,lo8(375)
1212 09d4 91E0 ldi r25,hi8(375)
1213 09d6 1CC0 rjmp .L128
1214 .L102:
1215 09d8 8091 0000 lds r24,Parameter_Servo4
1216 09dc 02C0 rjmp .L133
1217 .L103:
1218 09de 8091 0000 lds r24,Parameter_Servo5
1219 .L133:
1220 09e2 9927 clr r25
1221 09e4 880F lsl r24
1222 09e6 991F rol r25
1223 09e8 880F lsl r24
1224 09ea 991F rol r25
1225 09ec 8755 subi r24,lo8(-(425))
1226 09ee 9E4F sbci r25,hi8(-(425))
1227 09f0 0FC0 rjmp .L128
1228 .L104:
1229 09f2 FF27 clr r31
1230 09f4 EE0F add r30,r30
1231 09f6 FF1F adc r31,r31
1232 09f8 E050 subi r30,lo8(-(PPM_in))
1233 09fa F040 sbci r31,hi8(-(PPM_in))
1234 09fc 2081 ld r18,Z
1235 09fe 3181 ldd r19,Z+1
1236 0a00 220F add r18,r18
1237 0a02 331F adc r19,r19
1238 0a04 8091 0000 lds r24,RemainingPulse.1
1239 0a08 9091 0000 lds r25,(RemainingPulse.1)+1
1240 0a0c 820F add r24,r18
1241 0a0e 931F adc r25,r19
1242 .L128:
1243 0a10 9093 0000 sts (RemainingPulse.1)+1,r25
1244 0a14 8093 0000 sts RemainingPulse.1,r24
1245 .L67:
1246 0a18 8091 0000 lds r24,RemainingPulse.1
1247 0a1c 9091 0000 lds r25,(RemainingPulse.1)+1
1248 0a20 45E0 ldi r20,hi8(1501)
1249 0a22 8D3D cpi r24,lo8(1501)
1250 0a24 9407 cpc r25,r20
1251 0a26 18F0 brlo .L106
1252 0a28 8CED ldi r24,lo8(1500)
1253 0a2a 95E0 ldi r25,hi8(1500)
1254 0a2c 05C0 rjmp .L130
1255 .L106:
1256 0a2e 8757 subi r24,lo8(375)
1257 0a30 9140 sbci r25,hi8(375)
1258 0a32 30F4 brsh .L107
1259 0a34 87E7 ldi r24,lo8(375)
1260 0a36 91E0 ldi r25,hi8(375)
1261 .L130:
1262 0a38 9093 0000 sts (RemainingPulse.1)+1,r25
1263 0a3c 8093 0000 sts RemainingPulse.1,r24
1264 .L107:
1265 0a40 2091 0000 lds r18,RemainingPulse.1
1266 0a44 3091 0000 lds r19,(RemainingPulse.1)+1
1267 0a48 2C5B subi r18,lo8(-(-188))
1268 0a4a 3040 sbci r19,hi8(-(-188))
1269 0a4c 3093 0000 sts (RemainingPulse.1)+1,r19
1270 0a50 2093 0000 sts RemainingPulse.1,r18
1271 0a54 8091 0000 lds r24,ServoFrameTime.2
1272 0a58 9091 0000 lds r25,(ServoFrameTime.2)+1
1273 0a5c 820F add r24,r18
1274 0a5e 931F adc r25,r19
1275 .L134:
1276 0a60 9093 0000 sts (ServoFrameTime.2)+1,r25
1277 0a64 8093 0000 sts ServoFrameTime.2,r24
1278 0a68 2FC0 rjmp .L109
1279 .L64:
1280 0a6a 8091 B000 lds r24,176
1281 0a6e 8064 ori r24,lo8(64)
1282 0a70 8093 B000 sts 176,r24
1283 0a74 8CEB ldi r24,lo8(188)
1284 0a76 90E0 ldi r25,hi8(188)
1285 0a78 9093 0000 sts (RemainingPulse.1)+1,r25
1286 0a7c 8093 0000 sts RemainingPulse.1,r24
1287 0a80 8091 0000 lds r24,ServoFrameTime.2
1288 0a84 9091 0000 lds r25,(ServoFrameTime.2)+1
1289 0a88 8454 subi r24,lo8(-(188))
1290 0a8a 9F4F sbci r25,hi8(-(188))
1291 0a8c 9093 0000 sts (ServoFrameTime.2)+1,r25
1292 0a90 8093 0000 sts ServoFrameTime.2,r24
1293 0a94 8091 0000 lds r24,ServoActive
1294 0a98 8823 tst r24
1295 0a9a 21F0 breq .L112
1296 0a9c 8091 0000 lds r24,SenderOkay
1297 0aa0 853B cpi r24,lo8(-75)
1298 0aa2 20F4 brsh .L111
1299 .L112:
1300 0aa4 8091 0000 lds r24,ServoActive
1301 0aa8 8230 cpi r24,lo8(2)
1302 0aaa 11F4 brne .L110
1303 .L111:
1304 0aac 4698 cbi 40-0x20,6
1305 0aae 01C0 rjmp .L113
1306 .L110:
1307 0ab0 469A sbi 40-0x20,6
1308 .L113:
1309 0ab2 8091 0000 lds r24,ServoIndex.3
1310 0ab6 8F5F subi r24,lo8(-(1))
1311 0ab8 8093 0000 sts ServoIndex.3,r24
1312 0abc 9091 0000 lds r25,EE_Parameter+53
1313 0ac0 9817 cp r25,r24
1314 0ac2 10F4 brsh .L109
1315 0ac4 1092 0000 sts ServoIndex.3,__zero_reg__
1316 .L109:
1317 0ac8 81E0 ldi r24,lo8(1)
1318 0aca 8093 0000 sts PulseOutput.0,r24
1319 .L62:
1320 0ace 2091 0000 lds r18,RemainingPulse.1
1321 0ad2 3091 0000 lds r19,(RemainingPulse.1)+1
1322 0ad6 81E0 ldi r24,hi8(383)
1323 0ad8 2F37 cpi r18,lo8(383)
1324 0ada 3807 cpc r19,r24
1325 0adc 30F0 brlo .L115
1326 0ade 8FEF ldi r24,lo8(-1)
1327 0ae0 8093 B300 sts 179,r24
1328 0ae4 2F5F subi r18,lo8(-(-255))
1329 0ae6 3040 sbci r19,hi8(-(-255))
1330 0ae8 0FC0 rjmp .L131
1331 .L115:
1332 0aea 2F3F cpi r18,255
1333 0aec 3105 cpc r19,__zero_reg__
1334 0aee C9F0 breq .L117
1335 0af0 C0F0 brlo .L117
1336 0af2 A901 movw r20,r18
1337 0af4 4F5F subi r20,lo8(-(-255))
1338 0af6 5040 sbci r21,hi8(-(-255))
1339 0af8 4F37 cpi r20,127
1340 0afa 5105 cpc r21,__zero_reg__
1341 0afc 50F4 brsh .L118
1342 0afe 80E8 ldi r24,lo8(-128)
1343 0b00 8093 B300 sts 179,r24
1344 0b04 2058 subi r18,lo8(-(-128))
1345 0b06 3040 sbci r19,hi8(-(-128))
1346 .L131:
1347 0b08 3093 0000 sts (RemainingPulse.1)+1,r19
1348 0b0c 2093 0000 sts RemainingPulse.1,r18
1349 0b10 12C0 rjmp .L43
1350 .L118:
1351 0b12 8FEF ldi r24,lo8(-1)
1352 0b14 8093 B300 sts 179,r24
1353 0b18 5093 0000 sts (RemainingPulse.1)+1,r21
1354 0b1c 4093 0000 sts RemainingPulse.1,r20
1355 0b20 0AC0 rjmp .L43
1356 .L117:
1357 0b22 8091 0000 lds r24,RemainingPulse.1
1358 0b26 8093 B300 sts 179,r24
1359 0b2a 1092 0000 sts (RemainingPulse.1)+1,__zero_reg__
1360 0b2e 1092 0000 sts RemainingPulse.1,__zero_reg__
1361 0b32 1092 0000 sts PulseOutput.0,__zero_reg__
1362 .L43:
1363 /* epilogue: frame size=0 */
1364 0b36 FF91 pop r31
1365 0b38 EF91 pop r30
1366 0b3a DF91 pop r29
1367 0b3c CF91 pop r28
1368 0b3e BF91 pop r27
1369 0b40 AF91 pop r26
1370 0b42 9F91 pop r25
1371 0b44 8F91 pop r24
1372 0b46 7F91 pop r23
1373 0b48 6F91 pop r22
1374 0b4a 5F91 pop r21
1375 0b4c 4F91 pop r20
1376 0b4e 3F91 pop r19
1377 0b50 2F91 pop r18
1378 0b52 0F90 pop __tmp_reg__
1379 0b54 0FBE out __SREG__,__tmp_reg__
1380 0b56 0F90 pop __tmp_reg__
1381 0b58 1F90 pop __zero_reg__
1382 0b5a 1895 reti
1383 /* epilogue end (size=19) */
1384 /* function __vector_9 size 1056 (1018) */
1386 .lcomm tim_main,2
1387 /* File "timer0.c": code 1469 = 0x05bd (1385), prologues 39, epilogues 45 */
DEFINED SYMBOLS
*ABS*:00000000 timer0.c
C:\Users\Arthur-P\AppData\Local\Temp/ccIhcaaa.s:3 *ABS*:0000003f __SREG__
C:\Users\Arthur-P\AppData\Local\Temp/ccIhcaaa.s:4 *ABS*:0000003e __SP_H__
C:\Users\Arthur-P\AppData\Local\Temp/ccIhcaaa.s:5 *ABS*:0000003d __SP_L__
C:\Users\Arthur-P\AppData\Local\Temp/ccIhcaaa.s:6 *ABS*:00000000 __tmp_reg__
C:\Users\Arthur-P\AppData\Local\Temp/ccIhcaaa.s:7 *ABS*:00000001 __zero_reg__
C:\Users\Arthur-P\AppData\Local\Temp/ccIhcaaa.s:15 .bss:00000000 ServoRollValue
C:\Users\Arthur-P\AppData\Local\Temp/ccIhcaaa.s:21 .bss:00000002 ServoNickValue
C:\Users\Arthur-P\AppData\Local\Temp/ccIhcaaa.s:27 .data:00000000 BeepMuster
C:\Users\Arthur-P\AppData\Local\Temp/ccIhcaaa.s:34 .bss:00000004 ServoActive
C:\Users\Arthur-P\AppData\Local\Temp/ccIhcaaa.s:40 .bss:00000005 SendSPI
C:\Users\Arthur-P\AppData\Local\Temp/ccIhcaaa.s:46 .bss:00000006 beeptime
C:\Users\Arthur-P\AppData\Local\Temp/ccIhcaaa.s:52 .bss:00000008 cntKompass
C:\Users\Arthur-P\AppData\Local\Temp/ccIhcaaa.s:58 .bss:0000000a UpdateMotor
C:\Users\Arthur-P\AppData\Local\Temp/ccIhcaaa.s:64 .bss:0000000b CountMilliseconds
C:\Users\Arthur-P\AppData\Local\Temp/ccIhcaaa.s:69 .data:00000002 CameraShutterCycleOnCount
.bss:0000000d CameraShutterCycleCounter
C:\Users\Arthur-P\AppData\Local\Temp/ccIhcaaa.s:71 .bss:0000000f CameraShutterCycle
C:\Users\Arthur-P\AppData\Local\Temp/ccIhcaaa.s:75 .data:00000004 cnt_1ms.6
C:\Users\Arthur-P\AppData\Local\Temp/ccIhcaaa.s:72 .bss:00000011 cnt.7
C:\Users\Arthur-P\AppData\Local\Temp/ccIhcaaa.s:77 .bss:00000012 compass_active.8
C:\Users\Arthur-P\AppData\Local\Temp/ccIhcaaa.s:82 .text:00000000 __vector_18
C:\Users\Arthur-P\AppData\Local\Temp/ccIhcaaa.s:301 .text:0000020e SetDelay
C:\Users\Arthur-P\AppData\Local\Temp/ccIhcaaa.s:317 .text:00000220 CheckDelay
C:\Users\Arthur-P\AppData\Local\Temp/ccIhcaaa.s:336 .text:00000238 Delay_ms
C:\Users\Arthur-P\AppData\Local\Temp/ccIhcaaa.s:357 .text:00000252 Delay_ms_Mess
C:\Users\Arthur-P\AppData\Local\Temp/ccIhcaaa.s:387 .text:00000282 TIMER2_Init
C:\Users\Arthur-P\AppData\Local\Temp/ccIhcaaa.s:443 .text:00000302 Timer_Init
C:\Users\Arthur-P\AppData\Local\Temp/ccIhcaaa.s:471 .bss:00000019 tim_main
C:\Users\Arthur-P\AppData\Local\Temp/ccIhcaaa.s:78 .bss:00000013 PulseOutput.0
C:\Users\Arthur-P\AppData\Local\Temp/ccIhcaaa.s:468 .bss:00000014 RemainingPulse.1
C:\Users\Arthur-P\AppData\Local\Temp/ccIhcaaa.s:469 .bss:00000016 ServoFrameTime.2
C:\Users\Arthur-P\AppData\Local\Temp/ccIhcaaa.s:470 .bss:00000018 ServoIndex.3
C:\Users\Arthur-P\AppData\Local\Temp/ccIhcaaa.s:475 .data:00000005 ServoNickOffset.4
C:\Users\Arthur-P\AppData\Local\Temp/ccIhcaaa.s:479 .data:00000007 ServoRollOffset.5
C:\Users\Arthur-P\AppData\Local\Temp/ccIhcaaa.s:484 .text:00000330 __vector_9
UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
SpektrumTimer
PlatinenVersion
NaviDataOkay
EE_Parameter
__udivmodhi4
KompassValue
KompassStartwert
__divmodhi4
KompassRichtung
AdReady
Parameter_UserParam8
Parameter_ServoNickControl
IntegralNick
__mulsi3
Parameter_ServoRollControl
IntegralRoll
PPM_in
Parameter_Servo4
Parameter_Servo5
SenderOkay