Rev 1755 | Blame | Compare with Previous | Last modification | View Log | RSS feed
1 .file "timer0.c"
2 __SREG__ = 0x3f
3 __SP_H__ = 0x3e
4 __SP_L__ = 0x3d
5 __CCP__ = 0x34
6 __tmp_reg__ = 0
7 __zero_reg__ = 1
8 .text
9 .global __vector_18
11 __vector_18:
12 0000 1F92 push __zero_reg__
13 0002 0F92 push r0
14 0004 0FB6 in r0,__SREG__
15 0006 0F92 push r0
16 0008 1124 clr __zero_reg__
17 000a 2F93 push r18
18 000c 3F93 push r19
19 000e 5F93 push r21
20 0010 6F93 push r22
21 0012 7F93 push r23
22 0014 8F93 push r24
23 0016 9F93 push r25
24 0018 AF93 push r26
25 001a BF93 push r27
26 /* prologue: Signal */
27 /* frame size = 0 */
28 001c 8091 0000 lds r24,SendSPI
29 0020 8823 tst r24
30 0022 01F0 breq .L2
31 0024 8091 0000 lds r24,SendSPI
32 0028 8150 subi r24,lo8(-(-1))
33 002a 8093 0000 sts SendSPI,r24
34 .L2:
35 002e 8091 0000 lds r24,SpektrumTimer
36 0032 8823 tst r24
37 0034 01F0 breq .L3
38 0036 8150 subi r24,lo8(-(-1))
39 0038 8093 0000 sts SpektrumTimer,r24
40 .L3:
41 003c 8091 0000 lds r24,cnt.2239
42 0040 8150 subi r24,lo8(-(-1))
43 0042 8093 0000 sts cnt.2239,r24
44 0046 8F5F subi r24,lo8(-(1))
45 0048 01F0 breq .+2
46 004a 00C0 rjmp .L4
47 004c 89E0 ldi r24,lo8(9)
48 004e 8093 0000 sts cnt.2239,r24
49 0052 8091 0000 lds r24,CountMilliseconds
50 0056 9091 0000 lds r25,(CountMilliseconds)+1
51 005a 0196 adiw r24,1
52 005c 9093 0000 sts (CountMilliseconds)+1,r25
53 0060 8093 0000 sts CountMilliseconds,r24
54 0064 8091 0000 lds r24,cnt_1ms.2238
55 0068 8F5F subi r24,lo8(-(1))
56 006a 8170 andi r24,lo8(1)
57 006c 8093 0000 sts cnt_1ms.2238,r24
58 0070 8823 tst r24
59 0072 01F4 brne .L5
60 0074 81E0 ldi r24,lo8(1)
61 0076 8093 0000 sts UpdateMotor,r24
62 .L5:
63 007a 3499 sbic 38-32,4
64 007c 00C0 rjmp .L6
65 007e 81E0 ldi r24,lo8(1)
66 0080 8093 0000 sts compass_active.2240,r24
67 .L6:
68 0084 8091 0000 lds r24,beeptime
69 0088 9091 0000 lds r25,(beeptime)+1
70 008c 892B or r24,r25
71 008e 01F0 breq .L7
72 0090 8091 0000 lds r24,beeptime
73 0094 9091 0000 lds r25,(beeptime)+1
74 0098 0B97 sbiw r24,11
75 009a 00F0 brlo .L8
76 009c 8091 0000 lds r24,beeptime
77 00a0 9091 0000 lds r25,(beeptime)+1
78 00a4 0A97 sbiw r24,10
79 00a6 9093 0000 sts (beeptime)+1,r25
80 00aa 8093 0000 sts beeptime,r24
81 00ae 00C0 rjmp .L9
82 .L8:
83 00b0 1092 0000 sts (beeptime)+1,__zero_reg__
84 00b4 1092 0000 sts beeptime,__zero_reg__
85 .L9:
86 00b8 8091 0000 lds r24,beeptime
87 00bc 9091 0000 lds r25,(beeptime)+1
88 00c0 2091 0000 lds r18,BeepMuster
89 00c4 3091 0000 lds r19,(BeepMuster)+1
90 00c8 8223 and r24,r18
91 00ca 9323 and r25,r19
92 00cc 892B or r24,r25
93 00ce 01F0 breq .+2
94 00d0 00C0 rjmp .L10
95 00d2 00C0 rjmp .L11
96 .L7:
97 00d4 8FEF ldi r24,lo8(-1)
98 00d6 9FEF ldi r25,hi8(-1)
99 00d8 9093 0000 sts (BeepMuster)+1,r25
100 00dc 8093 0000 sts BeepMuster,r24
101 .L11:
102 00e0 8091 0000 lds r24,PlatinenVersion
103 00e4 8A30 cpi r24,lo8(10)
104 00e6 01F4 brne .L22
105 00e8 00C0 rjmp .L24
106 .L25:
107 00ea 5A9A sbi 43-32,2
108 00ec 00C0 rjmp .L4
109 .L23:
110 00ee 479A sbi 40-32,7
111 00f0 00C0 rjmp .L4
112 .L24:
113 00f2 5A98 cbi 43-32,2
114 00f4 00C0 rjmp .L4
115 .L22:
116 00f6 4798 cbi 40-32,7
117 .L4:
118 00f8 8091 0000 lds r24,compass_active.2240
119 00fc 8823 tst r24
120 00fe 01F4 brne .+2
121 0100 00C0 rjmp .L21
122 0102 8091 0000 lds r24,NaviDataOkay
123 0106 8823 tst r24
124 0108 01F0 breq .+2
125 010a 00C0 rjmp .L21
126 010c 8091 0000 lds r24,EE_Parameter+13
127 0110 83FF sbrs r24,3
128 0112 00C0 rjmp .L21
129 0114 349B sbis 38-32,4
130 0116 00C0 rjmp .L15
131 0118 8091 0000 lds r24,cntKompass
132 011c 9091 0000 lds r25,(cntKompass)+1
133 0120 0196 adiw r24,1
134 0122 9093 0000 sts (cntKompass)+1,r25
135 0126 8093 0000 sts cntKompass,r24
136 012a 8091 0000 lds r24,cntKompass
137 012e 9091 0000 lds r25,(cntKompass)+1
138 0132 895E subi r24,lo8(1001)
139 0134 9340 sbci r25,hi8(1001)
140 0136 00F4 brsh .+2
141 0138 00C0 rjmp .L21
142 013a 1092 0000 sts compass_active.2240,__zero_reg__
143 013e 00C0 rjmp .L21
144 .L15:
145 0140 8091 0000 lds r24,cntKompass
146 0144 9091 0000 lds r25,(cntKompass)+1
147 0148 892B or r24,r25
148 014a 01F4 brne .+2
149 014c 00C0 rjmp .L16
150 014e 8091 0000 lds r24,cntKompass
151 0152 9091 0000 lds r25,(cntKompass)+1
152 0156 8A56 subi r24,lo8(362)
153 0158 9140 sbci r25,hi8(362)
154 015a 00F4 brsh .L16
155 015c 2091 0000 lds r18,cntKompass
156 0160 3091 0000 lds r19,(cntKompass)+1
157 0164 8091 0000 lds r24,cntKompass
158 0168 9091 0000 lds r25,(cntKompass)+1
159 016c 69E2 ldi r22,lo8(41)
160 016e 70E0 ldi r23,hi8(41)
161 0170 0E94 0000 call __udivmodhi4
162 0174 260F add r18,r22
163 0176 371F adc r19,r23
164 0178 3093 0000 sts (cntKompass)+1,r19
165 017c 2093 0000 sts cntKompass,r18
166 0180 8091 0000 lds r24,cntKompass
167 0184 9091 0000 lds r25,(cntKompass)+1
168 0188 0B97 sbiw r24,11
169 018a 00F0 brlo .L17
170 018c 8091 0000 lds r24,cntKompass
171 0190 9091 0000 lds r25,(cntKompass)+1
172 0194 0A97 sbiw r24,10
173 0196 9093 0000 sts (KompassValue)+1,r25
174 019a 8093 0000 sts KompassValue,r24
175 019e 00C0 rjmp .L18
176 .L17:
177 01a0 1092 0000 sts (KompassValue)+1,__zero_reg__
178 01a4 1092 0000 sts KompassValue,__zero_reg__
179 .L18:
180 01a8 8091 0000 lds r24,KompassValue
181 01ac 9091 0000 lds r25,(KompassValue)+1
182 01b0 845E subi r24,lo8(-(540))
183 01b2 9D4F sbci r25,hi8(-(540))
184 01b4 2091 0000 lds r18,KompassStartwert
185 01b8 3091 0000 lds r19,(KompassStartwert)+1
186 01bc 821B sub r24,r18
187 01be 930B sbc r25,r19
188 01c0 68E6 ldi r22,lo8(360)
189 01c2 71E0 ldi r23,hi8(360)
190 01c4 0E94 0000 call __divmodhi4
191 01c8 845B subi r24,lo8(-(-180))
192 01ca 9040 sbci r25,hi8(-(-180))
193 01cc 9093 0000 sts (KompassRichtung)+1,r25
194 01d0 8093 0000 sts KompassRichtung,r24
195 .L16:
196 01d4 1092 0000 sts (cntKompass)+1,__zero_reg__
197 01d8 1092 0000 sts cntKompass,__zero_reg__
198 01dc 00C0 rjmp .L21
199 .L10:
200 01de 8091 0000 lds r24,PlatinenVersion
201 01e2 8A30 cpi r24,lo8(10)
202 01e4 01F0 breq .+2
203 01e6 00C0 rjmp .L23
204 01e8 00C0 rjmp .L25
205 .L21:
206 /* epilogue start */
207 01ea BF91 pop r27
208 01ec AF91 pop r26
209 01ee 9F91 pop r25
210 01f0 8F91 pop r24
211 01f2 7F91 pop r23
212 01f4 6F91 pop r22
213 01f6 5F91 pop r21
214 01f8 3F91 pop r19
215 01fa 2F91 pop r18
216 01fc 0F90 pop r0
217 01fe 0FBE out __SREG__,r0
218 0200 0F90 pop r0
219 0202 1F90 pop __zero_reg__
220 0204 1895 reti
222 .global SetDelay
224 SetDelay:
225 /* prologue: function */
226 /* frame size = 0 */
227 0206 2091 0000 lds r18,CountMilliseconds
228 020a 3091 0000 lds r19,(CountMilliseconds)+1
229 020e 2F5F subi r18,lo8(-(1))
230 0210 3F4F sbci r19,hi8(-(1))
231 0212 280F add r18,r24
232 0214 391F adc r19,r25
233 0216 C901 movw r24,r18
234 /* epilogue start */
235 0218 0895 ret
237 .global CheckDelay
239 CheckDelay:
240 /* prologue: function */
241 /* frame size = 0 */
242 021a 2091 0000 lds r18,CountMilliseconds
243 021e 3091 0000 lds r19,(CountMilliseconds)+1
244 0222 821B sub r24,r18
245 0224 930B sbc r25,r19
246 0226 8070 andi r24,lo8(-32768)
247 0228 9078 andi r25,hi8(-32768)
248 022a 892F mov r24,r25
249 022c 8695 lsr r24
250 /* epilogue start */
251 022e 0895 ret
253 .global Delay_ms
255 Delay_ms:
256 /* prologue: function */
257 /* frame size = 0 */
258 0230 2091 0000 lds r18,CountMilliseconds
259 0234 3091 0000 lds r19,(CountMilliseconds)+1
260 0238 2F5F subi r18,lo8(-(1))
261 023a 3F4F sbci r19,hi8(-(1))
262 023c 280F add r18,r24
263 023e 391F adc r19,r25
264 .L31:
265 0240 8091 0000 lds r24,CountMilliseconds
266 0244 9091 0000 lds r25,(CountMilliseconds)+1
267 0248 A901 movw r20,r18
268 024a 481B sub r20,r24
269 024c 590B sbc r21,r25
270 024e CA01 movw r24,r20
271 0250 8070 andi r24,lo8(-32768)
272 0252 9078 andi r25,hi8(-32768)
273 0254 892F mov r24,r25
274 0256 8695 lsr r24
275 0258 01F0 breq .L31
276 /* epilogue start */
277 025a 0895 ret
279 .global Delay_ms_Mess
281 Delay_ms_Mess:
282 /* prologue: function */
283 /* frame size = 0 */
284 025c 2091 0000 lds r18,CountMilliseconds
285 0260 3091 0000 lds r19,(CountMilliseconds)+1
286 0264 2F5F subi r18,lo8(-(1))
287 0266 3F4F sbci r19,hi8(-(1))
288 0268 280F add r18,r24
289 026a 391F adc r19,r25
290 026c 4FEC ldi r20,lo8(-49)
291 026e 00C0 rjmp .L40
292 .L36:
293 0270 8091 0000 lds r24,AdReady
294 0274 8823 tst r24
295 0276 01F0 breq .L40
296 0278 1092 0000 sts AdReady,__zero_reg__
297 027c 4093 7A00 sts 122,r20
298 .L40:
299 0280 8091 0000 lds r24,CountMilliseconds
300 0284 9091 0000 lds r25,(CountMilliseconds)+1
301 0288 B901 movw r22,r18
302 028a 681B sub r22,r24
303 028c 790B sbc r23,r25
304 028e CB01 movw r24,r22
305 0290 8070 andi r24,lo8(-32768)
306 0292 9078 andi r25,hi8(-32768)
307 0294 892F mov r24,r25
308 0296 8695 lsr r24
309 0298 01F0 breq .L36
310 /* epilogue start */
311 029a 0895 ret
313 .global TIMER2_Init
315 TIMER2_Init:
316 /* prologue: function */
317 /* frame size = 0 */
318 029c 4FB7 in r20,__SREG__
319 029e 2091 0000 lds r18,Parameter_UserParam8
320 02a2 30E0 ldi r19,lo8(0)
321 02a4 2F77 andi r18,lo8(127)
322 02a6 3070 andi r19,hi8(127)
323 02a8 C901 movw r24,r18
324 02aa 880F lsl r24
325 02ac 991F rol r25
326 02ae 880F lsl r24
327 02b0 991F rol r25
328 02b2 820F add r24,r18
329 02b4 931F adc r25,r19
330 02b6 9093 0000 sts (CameraShutterCycle)+1,r25
331 02ba 8093 0000 sts CameraShutterCycle,r24
332 /* #APP */
333 ; 176 "timer0.c" 1
334 02be F894 cli
335 ; 0 "" 2
336 /* #NOAPP */
337 02c0 5F98 cbi 43-32,7
338 02c2 3E9A sbi 39-32,6
339 02c4 469A sbi 40-32,6
340 02c6 A0EB ldi r26,lo8(176)
341 02c8 B0E0 ldi r27,hi8(176)
342 02ca 8C91 ld r24,X
343 02cc 8F70 andi r24,lo8(15)
344 02ce 8C93 st X,r24
345 02d0 8C91 ld r24,X
346 02d2 8360 ori r24,lo8(3)
347 02d4 8C93 st X,r24
348 02d6 E1EB ldi r30,lo8(177)
349 02d8 F0E0 ldi r31,hi8(177)
350 02da 8081 ld r24,Z
351 02dc 8B73 andi r24,lo8(59)
352 02de 8083 st Z,r24
353 02e0 8081 ld r24,Z
354 02e2 8B60 ori r24,lo8(11)
355 02e4 8083 st Z,r24
356 02e6 1092 B200 sts 178,__zero_reg__
357 02ea 8FEF ldi r24,lo8(-1)
358 02ec 8093 B300 sts 179,r24
359 02f0 8C91 ld r24,X
360 02f2 8068 ori r24,lo8(-128)
361 02f4 8C93 st X,r24
362 02f6 E0E7 ldi r30,lo8(112)
363 02f8 F0E0 ldi r31,hi8(112)
364 02fa 8081 ld r24,Z
365 02fc 8A7F andi r24,lo8(-6)
366 02fe 8083 st Z,r24
367 0300 8081 ld r24,Z
368 0302 8260 ori r24,lo8(2)
369 0304 8083 st Z,r24
370 0306 4FBF out __SREG__,r20
371 /* epilogue start */
372 0308 0895 ret
374 .global Timer_Init
376 Timer_Init:
377 /* prologue: function */
378 /* frame size = 0 */
379 030a 8091 0000 lds r24,CountMilliseconds
380 030e 9091 0000 lds r25,(CountMilliseconds)+1
381 0312 0B96 adiw r24,11
382 0314 9093 0000 sts (tim_main)+1,r25
383 0318 8093 0000 sts tim_main,r24
384 031c 82E0 ldi r24,lo8(2)
385 031e 85BD out 69-32,r24
386 0320 83EA ldi r24,lo8(-93)
387 0322 84BD out 68-32,r24
388 0324 17BC out 71-32,__zero_reg__
389 0326 84EB ldi r24,lo8(-76)
390 0328 88BD out 72-32,r24
391 032a 86E0 ldi r24,lo8(6)
392 032c 86BD out 70-32,r24
393 032e EEE6 ldi r30,lo8(110)
394 0330 F0E0 ldi r31,hi8(110)
395 0332 8081 ld r24,Z
396 0334 8160 ori r24,lo8(1)
397 0336 8083 st Z,r24
398 /* epilogue start */
399 0338 0895 ret
401 .global __vector_9
403 __vector_9:
404 033a 1F92 push __zero_reg__
405 033c 0F92 push r0
406 033e 0FB6 in r0,__SREG__
407 0340 0F92 push r0
408 0342 1124 clr __zero_reg__
409 0344 CF92 push r12
410 0346 DF92 push r13
411 0348 EF92 push r14
412 034a FF92 push r15
413 034c 0F93 push r16
414 034e 1F93 push r17
415 0350 2F93 push r18
416 0352 3F93 push r19
417 0354 4F93 push r20
418 0356 5F93 push r21
419 0358 6F93 push r22
420 035a 7F93 push r23
421 035c 8F93 push r24
422 035e 9F93 push r25
423 0360 AF93 push r26
424 0362 BF93 push r27
425 0364 EF93 push r30
426 0366 FF93 push r31
427 /* prologue: Signal */
428 /* frame size = 0 */
429 0368 8091 0000 lds r24,PlatinenVersion
430 036c 8431 cpi r24,lo8(20)
431 036e 00F0 brlo .+2
432 0370 00C0 rjmp .L46
433 0372 8091 0000 lds r24,Parameter_UserParam8
434 0376 87FD sbrc r24,7
435 0378 00C0 rjmp .L46
436 037a 8091 0000 lds r24,PulseOutput.2393
437 037e 8823 tst r24
438 0380 01F0 breq .+2
439 0382 00C0 rjmp .L47
440 0384 8091 B000 lds r24,176
441 0388 86FF sbrs r24,6
442 038a 00C0 rjmp .L48
443 038c 8091 B000 lds r24,176
444 0390 8F7B andi r24,lo8(-65)
445 0392 8093 B000 sts 176,r24
446 0396 8091 0000 lds r24,Parameter_ServoNickControl
447 039a 90E0 ldi r25,lo8(0)
448 039c 880F lsl r24
449 039e 991F rol r25
450 03a0 880F lsl r24
451 03a2 991F rol r25
452 03a4 4091 0000 lds r20,ServoNickOffset.2397
453 03a8 5091 0000 lds r21,(ServoNickOffset.2397)+1
454 03ac 9A01 movw r18,r20
455 03ae 220F lsl r18
456 03b0 331F rol r19
457 03b2 240F add r18,r20
458 03b4 351F adc r19,r21
459 03b6 820F add r24,r18
460 03b8 931F adc r25,r19
461 03ba 64E0 ldi r22,lo8(4)
462 03bc 70E0 ldi r23,hi8(4)
463 03be 0E94 0000 call __divmodhi4
464 03c2 7093 0000 sts (ServoNickOffset.2397)+1,r23
465 03c6 6093 0000 sts ServoNickOffset.2397,r22
466 03ca 7093 0000 sts (ServoNickValue)+1,r23
467 03ce 6093 0000 sts ServoNickValue,r22
468 03d2 8091 0000 lds r24,EE_Parameter+98
469 03d6 2091 0000 lds r18,IntegralNick
470 03da 3091 0000 lds r19,(IntegralNick)+1
471 03de 4091 0000 lds r20,(IntegralNick)+2
472 03e2 5091 0000 lds r21,(IntegralNick)+3
473 03e6 80FF sbrs r24,0
474 03e8 00C0 rjmp .L49
475 03ea C090 0000 lds r12,ServoNickValue
476 03ee D090 0000 lds r13,(ServoNickValue)+1
477 03f2 E090 0000 lds r14,EE_Parameter+46
478 03f6 FF24 clr r15
479 03f8 00E0 ldi r16,lo8(0)
480 03fa 10E0 ldi r17,hi8(0)
481 03fc CA01 movw r24,r20
482 03fe B901 movw r22,r18
483 0400 20E8 ldi r18,lo8(128)
484 0402 30E0 ldi r19,hi8(128)
485 0404 40E0 ldi r20,hlo8(128)
486 0406 50E0 ldi r21,hhi8(128)
487 0408 0E94 0000 call __divmodsi4
488 040c C801 movw r24,r16
489 040e B701 movw r22,r14
490 0410 0E94 0000 call __mulsi3
491 0414 F2E0 ldi r31,2
492 0416 660F 1: lsl r22
493 0418 771F rol r23
494 041a 881F rol r24
495 041c 991F rol r25
496 041e FA95 dec r31
497 0420 01F4 brne 1b
498 0422 20E0 ldi r18,lo8(256)
499 0424 31E0 ldi r19,hi8(256)
500 0426 40E0 ldi r20,hlo8(256)
501 0428 50E0 ldi r21,hhi8(256)
502 042a 0E94 0000 call __divmodsi4
503 042e C20E add r12,r18
504 0430 D31E adc r13,r19
505 0432 00C0 rjmp .L90
506 .L49:
507 0434 C090 0000 lds r12,ServoNickValue
508 0438 D090 0000 lds r13,(ServoNickValue)+1
509 043c E090 0000 lds r14,EE_Parameter+46
510 0440 FF24 clr r15
511 0442 00E0 ldi r16,lo8(0)
512 0444 10E0 ldi r17,hi8(0)
513 0446 CA01 movw r24,r20
514 0448 B901 movw r22,r18
515 044a 20E8 ldi r18,lo8(128)
516 044c 30E0 ldi r19,hi8(128)
517 044e 40E0 ldi r20,hlo8(128)
518 0450 50E0 ldi r21,hhi8(128)
519 0452 0E94 0000 call __divmodsi4
520 0456 C801 movw r24,r16
521 0458 B701 movw r22,r14
522 045a 0E94 0000 call __mulsi3
523 045e E2E0 ldi r30,2
524 0460 660F 1: lsl r22
525 0462 771F rol r23
526 0464 881F rol r24
527 0466 991F rol r25
528 0468 EA95 dec r30
529 046a 01F4 brne 1b
530 046c 20E0 ldi r18,lo8(256)
531 046e 31E0 ldi r19,hi8(256)
532 0470 40E0 ldi r20,hlo8(256)
533 0472 50E0 ldi r21,hhi8(256)
534 0474 0E94 0000 call __divmodsi4
535 0478 C21A sub r12,r18
536 047a D30A sbc r13,r19
537 .L90:
538 047c D092 0000 sts (ServoNickValue)+1,r13
539 0480 C092 0000 sts ServoNickValue,r12
540 0484 2091 0000 lds r18,ServoNickValue
541 0488 3091 0000 lds r19,(ServoNickValue)+1
542 048c 8091 0000 lds r24,EE_Parameter+47
543 0490 90E0 ldi r25,lo8(0)
544 0492 880F lsl r24
545 0494 991F rol r25
546 0496 880F lsl r24
547 0498 991F rol r25
548 049a 2817 cp r18,r24
549 049c 3907 cpc r19,r25
550 049e 04F0 brlt .L91
551 .L51:
552 04a0 2091 0000 lds r18,ServoNickValue
553 04a4 3091 0000 lds r19,(ServoNickValue)+1
554 04a8 8091 0000 lds r24,EE_Parameter+48
555 04ac 90E0 ldi r25,lo8(0)
556 04ae 880F lsl r24
557 04b0 991F rol r25
558 04b2 880F lsl r24
559 04b4 991F rol r25
560 04b6 8217 cp r24,r18
561 04b8 9307 cpc r25,r19
562 04ba 04F4 brge .L52
563 .L91:
564 04bc 9093 0000 sts (ServoNickValue)+1,r25
565 04c0 8093 0000 sts ServoNickValue,r24
566 .L52:
567 04c4 2091 0000 lds r18,ServoNickValue
568 04c8 3091 0000 lds r19,(ServoNickValue)+1
569 04cc 2755 subi r18,lo8(-(425))
570 04ce 3E4F sbci r19,hi8(-(425))
571 04d0 3093 0000 sts (RemainingPulse.2394)+1,r19
572 04d4 2093 0000 sts RemainingPulse.2394,r18
573 04d8 8091 0000 lds r24,ServoNickValue
574 04dc 9091 0000 lds r25,(ServoNickValue)+1
575 04e0 64E0 ldi r22,lo8(4)
576 04e2 70E0 ldi r23,hi8(4)
577 04e4 0E94 0000 call __divmodhi4
578 04e8 7093 0000 sts (ServoNickValue)+1,r23
579 04ec 6093 0000 sts ServoNickValue,r22
580 04f0 45E0 ldi r20,hi8(1501)
581 04f2 2D3D cpi r18,lo8(1501)
582 04f4 3407 cpc r19,r20
583 04f6 00F0 brlo .L53
584 04f8 8CED ldi r24,lo8(1500)
585 04fa 95E0 ldi r25,hi8(1500)
586 04fc 00C0 rjmp .L92
587 .L53:
588 04fe 2757 subi r18,lo8(375)
589 0500 3140 sbci r19,hi8(375)
590 0502 00F4 brsh .L54
591 0504 87E7 ldi r24,lo8(375)
592 0506 91E0 ldi r25,hi8(375)
593 .L92:
594 0508 9093 0000 sts (RemainingPulse.2394)+1,r25
595 050c 8093 0000 sts RemainingPulse.2394,r24
596 .L54:
597 0510 8091 0000 lds r24,RemainingPulse.2394
598 0514 9091 0000 lds r25,(RemainingPulse.2394)+1
599 0518 00C0 rjmp .L103
600 .L48:
601 051a 8091 B000 lds r24,176
602 051e 8064 ori r24,lo8(64)
603 0520 8093 B000 sts 176,r24
604 0524 8091 0000 lds r24,EE_Parameter+53
605 0528 90E0 ldi r25,lo8(0)
606 052a 2DED ldi r18,lo8(1757)
607 052c 36E0 ldi r19,hi8(1757)
608 052e AC01 movw r20,r24
609 0530 429F mul r20,r18
610 0532 C001 movw r24,r0
611 0534 439F mul r20,r19
612 0536 900D add r25,r0
613 0538 529F mul r21,r18
614 053a 900D add r25,r0
615 053c 1124 clr r1
616 053e 2091 0000 lds r18,ServoFrameTime.2395
617 0542 3091 0000 lds r19,(ServoFrameTime.2395)+1
618 0546 821B sub r24,r18
619 0548 930B sbc r25,r19
620 054a 9093 0000 sts (RemainingPulse.2394)+1,r25
621 054e 8093 0000 sts RemainingPulse.2394,r24
622 0552 00C0 rjmp .L58
623 .L46:
624 0554 8091 0000 lds r24,PulseOutput.2393
625 0558 8823 tst r24
626 055a 01F0 breq .+2
627 055c 00C0 rjmp .L47
628 055e 8091 B000 lds r24,176
629 0562 86FF sbrs r24,6
630 0564 00C0 rjmp .L56
631 0566 8091 B000 lds r24,176
632 056a 8F7B andi r24,lo8(-65)
633 056c 8093 B000 sts 176,r24
634 0570 E091 0000 lds r30,ServoIndex.2396
635 0574 EE23 tst r30
636 0576 01F4 brne .L57
637 0578 8091 0000 lds r24,EE_Parameter+53
638 057c 90E0 ldi r25,lo8(0)
639 057e 2DED ldi r18,lo8(1757)
640 0580 36E0 ldi r19,hi8(1757)
641 0582 AC01 movw r20,r24
642 0584 429F mul r20,r18
643 0586 C001 movw r24,r0
644 0588 439F mul r20,r19
645 058a 900D add r25,r0
646 058c 529F mul r21,r18
647 058e 900D add r25,r0
648 0590 1124 clr r1
649 0592 2091 0000 lds r18,ServoFrameTime.2395
650 0596 3091 0000 lds r19,(ServoFrameTime.2395)+1
651 059a 821B sub r24,r18
652 059c 930B sbc r25,r19
653 059e 9093 0000 sts (RemainingPulse.2394)+1,r25
654 05a2 8093 0000 sts RemainingPulse.2394,r24
655 05a6 1092 0000 sts (ServoFrameTime.2395)+1,__zero_reg__
656 05aa 1092 0000 sts ServoFrameTime.2395,__zero_reg__
657 05ae 469A sbi 40-32,6
658 05b0 00C0 rjmp .L58
659 .L57:
660 05b2 49EA ldi r20,lo8(937)
661 05b4 53E0 ldi r21,hi8(937)
662 05b6 5093 0000 sts (RemainingPulse.2394)+1,r21
663 05ba 4093 0000 sts RemainingPulse.2394,r20
664 05be E330 cpi r30,lo8(3)
665 05c0 01F4 brne .+2
666 05c2 00C0 rjmp .L62
667 05c4 E430 cpi r30,lo8(4)
668 05c6 00F4 brsh .L65
669 05c8 E130 cpi r30,lo8(1)
670 05ca 01F0 breq .L60
671 05cc E230 cpi r30,lo8(2)
672 05ce 01F0 breq .+2
673 05d0 00C0 rjmp .L59
674 05d2 00C0 rjmp .L104
675 .L65:
676 05d4 E430 cpi r30,lo8(4)
677 05d6 01F4 brne .+2
678 05d8 00C0 rjmp .L63
679 05da E530 cpi r30,lo8(5)
680 05dc 01F0 breq .+2
681 05de 00C0 rjmp .L59
682 05e0 00C0 rjmp .L105
683 .L60:
684 05e2 8091 0000 lds r24,Parameter_ServoNickControl
685 05e6 90E0 ldi r25,lo8(0)
686 05e8 880F lsl r24
687 05ea 991F rol r25
688 05ec 880F lsl r24
689 05ee 991F rol r25
690 05f0 4091 0000 lds r20,ServoNickOffset.2397
691 05f4 5091 0000 lds r21,(ServoNickOffset.2397)+1
692 05f8 9A01 movw r18,r20
693 05fa 220F lsl r18
694 05fc 331F rol r19
695 05fe 240F add r18,r20
696 0600 351F adc r19,r21
697 0602 820F add r24,r18
698 0604 931F adc r25,r19
699 0606 64E0 ldi r22,lo8(4)
700 0608 70E0 ldi r23,hi8(4)
701 060a 0E94 0000 call __divmodhi4
702 060e 7093 0000 sts (ServoNickOffset.2397)+1,r23
703 0612 6093 0000 sts ServoNickOffset.2397,r22
704 0616 7093 0000 sts (ServoNickValue)+1,r23
705 061a 6093 0000 sts ServoNickValue,r22
706 061e 8091 0000 lds r24,EE_Parameter+98
707 0622 2091 0000 lds r18,IntegralNick
708 0626 3091 0000 lds r19,(IntegralNick)+1
709 062a 4091 0000 lds r20,(IntegralNick)+2
710 062e 5091 0000 lds r21,(IntegralNick)+3
711 0632 80FF sbrs r24,0
712 0634 00C0 rjmp .L66
713 0636 C090 0000 lds r12,ServoNickValue
714 063a D090 0000 lds r13,(ServoNickValue)+1
715 063e E090 0000 lds r14,EE_Parameter+46
716 0642 FF24 clr r15
717 0644 00E0 ldi r16,lo8(0)
718 0646 10E0 ldi r17,hi8(0)
719 0648 CA01 movw r24,r20
720 064a B901 movw r22,r18
721 064c 20E8 ldi r18,lo8(128)
722 064e 30E0 ldi r19,hi8(128)
723 0650 40E0 ldi r20,hlo8(128)
724 0652 50E0 ldi r21,hhi8(128)
725 0654 0E94 0000 call __divmodsi4
726 0658 C801 movw r24,r16
727 065a B701 movw r22,r14
728 065c 0E94 0000 call __mulsi3
729 0660 B2E0 ldi r27,2
730 0662 660F 1: lsl r22
731 0664 771F rol r23
732 0666 881F rol r24
733 0668 991F rol r25
734 066a BA95 dec r27
735 066c 01F4 brne 1b
736 066e 20E0 ldi r18,lo8(256)
737 0670 31E0 ldi r19,hi8(256)
738 0672 40E0 ldi r20,hlo8(256)
739 0674 50E0 ldi r21,hhi8(256)
740 0676 0E94 0000 call __divmodsi4
741 067a C20E add r12,r18
742 067c D31E adc r13,r19
743 067e 00C0 rjmp .L93
744 .L66:
745 0680 C090 0000 lds r12,ServoNickValue
746 0684 D090 0000 lds r13,(ServoNickValue)+1
747 0688 E090 0000 lds r14,EE_Parameter+46
748 068c FF24 clr r15
749 068e 00E0 ldi r16,lo8(0)
750 0690 10E0 ldi r17,hi8(0)
751 0692 CA01 movw r24,r20
752 0694 B901 movw r22,r18
753 0696 20E8 ldi r18,lo8(128)
754 0698 30E0 ldi r19,hi8(128)
755 069a 40E0 ldi r20,hlo8(128)
756 069c 50E0 ldi r21,hhi8(128)
757 069e 0E94 0000 call __divmodsi4
758 06a2 C801 movw r24,r16
759 06a4 B701 movw r22,r14
760 06a6 0E94 0000 call __mulsi3
761 06aa A2E0 ldi r26,2
762 06ac 660F 1: lsl r22
763 06ae 771F rol r23
764 06b0 881F rol r24
765 06b2 991F rol r25
766 06b4 AA95 dec r26
767 06b6 01F4 brne 1b
768 06b8 20E0 ldi r18,lo8(256)
769 06ba 31E0 ldi r19,hi8(256)
770 06bc 40E0 ldi r20,hlo8(256)
771 06be 50E0 ldi r21,hhi8(256)
772 06c0 0E94 0000 call __divmodsi4
773 06c4 C21A sub r12,r18
774 06c6 D30A sbc r13,r19
775 .L93:
776 06c8 D092 0000 sts (ServoNickValue)+1,r13
777 06cc C092 0000 sts ServoNickValue,r12
778 06d0 2091 0000 lds r18,ServoNickValue
779 06d4 3091 0000 lds r19,(ServoNickValue)+1
780 06d8 8091 0000 lds r24,EE_Parameter+47
781 06dc 90E0 ldi r25,lo8(0)
782 06de 880F lsl r24
783 06e0 991F rol r25
784 06e2 880F lsl r24
785 06e4 991F rol r25
786 06e6 2817 cp r18,r24
787 06e8 3907 cpc r19,r25
788 06ea 04F0 brlt .L94
789 .L68:
790 06ec 2091 0000 lds r18,ServoNickValue
791 06f0 3091 0000 lds r19,(ServoNickValue)+1
792 06f4 8091 0000 lds r24,EE_Parameter+48
793 06f8 90E0 ldi r25,lo8(0)
794 06fa 880F lsl r24
795 06fc 991F rol r25
796 06fe 880F lsl r24
797 0700 991F rol r25
798 0702 8217 cp r24,r18
799 0704 9307 cpc r25,r19
800 0706 04F4 brge .L69
801 .L94:
802 0708 9093 0000 sts (ServoNickValue)+1,r25
803 070c 8093 0000 sts ServoNickValue,r24
804 .L69:
805 0710 8091 0000 lds r24,ServoNickValue
806 0714 9091 0000 lds r25,(ServoNickValue)+1
807 0718 8755 subi r24,lo8(-(425))
808 071a 9E4F sbci r25,hi8(-(425))
809 071c 9093 0000 sts (RemainingPulse.2394)+1,r25
810 0720 8093 0000 sts RemainingPulse.2394,r24
811 0724 8091 0000 lds r24,ServoNickValue
812 0728 9091 0000 lds r25,(ServoNickValue)+1
813 072c 64E0 ldi r22,lo8(4)
814 072e 70E0 ldi r23,hi8(4)
815 0730 0E94 0000 call __divmodhi4
816 0734 7093 0000 sts (ServoNickValue)+1,r23
817 0738 6093 0000 sts ServoNickValue,r22
818 073c 00C0 rjmp .L70
819 .L104:
820 073e 8091 0000 lds r24,Parameter_ServoRollControl
821 0742 90E0 ldi r25,lo8(0)
822 0744 880F lsl r24
823 0746 991F rol r25
824 0748 880F lsl r24
825 074a 991F rol r25
826 074c 4091 0000 lds r20,ServoRollOffset.2398
827 0750 5091 0000 lds r21,(ServoRollOffset.2398)+1
828 0754 9A01 movw r18,r20
829 0756 220F lsl r18
830 0758 331F rol r19
831 075a 240F add r18,r20
832 075c 351F adc r19,r21
833 075e 820F add r24,r18
834 0760 931F adc r25,r19
835 0762 64E0 ldi r22,lo8(4)
836 0764 70E0 ldi r23,hi8(4)
837 0766 0E94 0000 call __divmodhi4
838 076a 7093 0000 sts (ServoRollOffset.2398)+1,r23
839 076e 6093 0000 sts ServoRollOffset.2398,r22
840 0772 7093 0000 sts (ServoRollValue)+1,r23
841 0776 6093 0000 sts ServoRollValue,r22
842 077a 8091 0000 lds r24,EE_Parameter+98
843 077e 2091 0000 lds r18,IntegralRoll
844 0782 3091 0000 lds r19,(IntegralRoll)+1
845 0786 4091 0000 lds r20,(IntegralRoll)+2
846 078a 5091 0000 lds r21,(IntegralRoll)+3
847 078e 81FF sbrs r24,1
848 0790 00C0 rjmp .L71
849 0792 C090 0000 lds r12,ServoRollValue
850 0796 D090 0000 lds r13,(ServoRollValue)+1
851 079a E090 0000 lds r14,EE_Parameter+50
852 079e FF24 clr r15
853 07a0 00E0 ldi r16,lo8(0)
854 07a2 10E0 ldi r17,hi8(0)
855 07a4 CA01 movw r24,r20
856 07a6 B901 movw r22,r18
857 07a8 20E8 ldi r18,lo8(128)
858 07aa 30E0 ldi r19,hi8(128)
859 07ac 40E0 ldi r20,hlo8(128)
860 07ae 50E0 ldi r21,hhi8(128)
861 07b0 0E94 0000 call __divmodsi4
862 07b4 C801 movw r24,r16
863 07b6 B701 movw r22,r14
864 07b8 0E94 0000 call __mulsi3
865 07bc 22E0 ldi r18,2
866 07be 660F 1: lsl r22
867 07c0 771F rol r23
868 07c2 881F rol r24
869 07c4 991F rol r25
870 07c6 2A95 dec r18
871 07c8 01F4 brne 1b
872 07ca 20E0 ldi r18,lo8(256)
873 07cc 31E0 ldi r19,hi8(256)
874 07ce 40E0 ldi r20,hlo8(256)
875 07d0 50E0 ldi r21,hhi8(256)
876 07d2 0E94 0000 call __divmodsi4
877 07d6 C20E add r12,r18
878 07d8 D31E adc r13,r19
879 07da 00C0 rjmp .L95
880 .L71:
881 07dc C090 0000 lds r12,ServoRollValue
882 07e0 D090 0000 lds r13,(ServoRollValue)+1
883 07e4 E090 0000 lds r14,EE_Parameter+50
884 07e8 FF24 clr r15
885 07ea 00E0 ldi r16,lo8(0)
886 07ec 10E0 ldi r17,hi8(0)
887 07ee CA01 movw r24,r20
888 07f0 B901 movw r22,r18
889 07f2 20E8 ldi r18,lo8(128)
890 07f4 30E0 ldi r19,hi8(128)
891 07f6 40E0 ldi r20,hlo8(128)
892 07f8 50E0 ldi r21,hhi8(128)
893 07fa 0E94 0000 call __divmodsi4
894 07fe C801 movw r24,r16
895 0800 B701 movw r22,r14
896 0802 0E94 0000 call __mulsi3
897 0806 02E0 ldi r16,2
898 0808 660F 1: lsl r22
899 080a 771F rol r23
900 080c 881F rol r24
901 080e 991F rol r25
902 0810 0A95 dec r16
903 0812 01F4 brne 1b
904 0814 20E0 ldi r18,lo8(256)
905 0816 31E0 ldi r19,hi8(256)
906 0818 40E0 ldi r20,hlo8(256)
907 081a 50E0 ldi r21,hhi8(256)
908 081c 0E94 0000 call __divmodsi4
909 0820 C21A sub r12,r18
910 0822 D30A sbc r13,r19
911 .L95:
912 0824 D092 0000 sts (ServoRollValue)+1,r13
913 0828 C092 0000 sts ServoRollValue,r12
914 082c 2091 0000 lds r18,ServoRollValue
915 0830 3091 0000 lds r19,(ServoRollValue)+1
916 0834 8091 0000 lds r24,EE_Parameter+51
917 0838 90E0 ldi r25,lo8(0)
918 083a 880F lsl r24
919 083c 991F rol r25
920 083e 880F lsl r24
921 0840 991F rol r25
922 0842 2817 cp r18,r24
923 0844 3907 cpc r19,r25
924 0846 04F0 brlt .L96
925 .L73:
926 0848 2091 0000 lds r18,ServoRollValue
927 084c 3091 0000 lds r19,(ServoRollValue)+1
928 0850 8091 0000 lds r24,EE_Parameter+52
929 0854 90E0 ldi r25,lo8(0)
930 0856 880F lsl r24
931 0858 991F rol r25
932 085a 880F lsl r24
933 085c 991F rol r25
934 085e 8217 cp r24,r18
935 0860 9307 cpc r25,r19
936 0862 04F4 brge .L74
937 .L96:
938 0864 9093 0000 sts (ServoRollValue)+1,r25
939 0868 8093 0000 sts ServoRollValue,r24
940 .L74:
941 086c 8091 0000 lds r24,ServoRollValue
942 0870 9091 0000 lds r25,(ServoRollValue)+1
943 0874 8755 subi r24,lo8(-(425))
944 0876 9E4F sbci r25,hi8(-(425))
945 0878 9093 0000 sts (RemainingPulse.2394)+1,r25
946 087c 8093 0000 sts RemainingPulse.2394,r24
947 0880 8091 0000 lds r24,ServoRollValue
948 0884 9091 0000 lds r25,(ServoRollValue)+1
949 0888 64E0 ldi r22,lo8(4)
950 088a 70E0 ldi r23,hi8(4)
951 088c 0E94 0000 call __divmodhi4
952 0890 7093 0000 sts (ServoRollValue)+1,r23
953 0894 6093 0000 sts ServoRollValue,r22
954 0898 00C0 rjmp .L70
955 .L62:
956 089a 8091 0000 lds r24,EE_Parameter+7
957 089e E82F mov r30,r24
958 08a0 F0E0 ldi r31,lo8(0)
959 08a2 EE0F lsl r30
960 08a4 FF1F rol r31
961 08a6 E050 subi r30,lo8(-(PPM_in))
962 08a8 F040 sbci r31,hi8(-(PPM_in))
963 08aa 8081 ld r24,Z
964 08ac 9181 ldd r25,Z+1
965 08ae 805E subi r24,lo8(-32)
966 08b0 9F4F sbci r25,hi8(-32)
967 08b2 04F0 brlt .L101
968 .L75:
969 08b4 8081 ld r24,Z
970 08b6 9181 ldd r25,Z+1
971 08b8 8197 sbiw r24,33
972 08ba 04F0 brlt .L76
973 08bc 8CED ldi r24,lo8(1500)
974 08be 95E0 ldi r25,hi8(1500)
975 08c0 00C0 rjmp .L97
976 .L76:
977 08c2 8091 0000 lds r24,CameraShutterCycle
978 08c6 9091 0000 lds r25,(CameraShutterCycle)+1
979 08ca C297 sbiw r24,50
980 08cc 00F0 brlo .L98
981 .L77:
982 08ce 2091 0000 lds r18,CameraShutterCycleCounter
983 08d2 3091 0000 lds r19,(CameraShutterCycleCounter)+1
984 08d6 8091 0000 lds r24,CameraShutterCycle
985 08da 9091 0000 lds r25,(CameraShutterCycle)+1
986 08de 2817 cp r18,r24
987 08e0 3907 cpc r19,r25
988 08e2 01F4 brne .L78
989 08e4 1092 0000 sts (CameraShutterCycleCounter)+1,__zero_reg__
990 08e8 1092 0000 sts CameraShutterCycleCounter,__zero_reg__
991 .L98:
992 08ec 5093 0000 sts (RemainingPulse.2394)+1,r21
993 08f0 4093 0000 sts RemainingPulse.2394,r20
994 08f4 00C0 rjmp .L70
995 .L78:
996 08f6 8091 0000 lds r24,CameraShutterCycleCounter
997 08fa 9091 0000 lds r25,(CameraShutterCycleCounter)+1
998 08fe 0196 adiw r24,1
999 0900 9093 0000 sts (CameraShutterCycleCounter)+1,r25
1000 0904 8093 0000 sts CameraShutterCycleCounter,r24
1001 0908 2091 0000 lds r18,CameraShutterCycleCounter
1002 090c 3091 0000 lds r19,(CameraShutterCycleCounter)+1
1003 0910 8091 0000 lds r24,CameraShutterCycleOnCount
1004 0914 9091 0000 lds r25,(CameraShutterCycleOnCount)+1
1005 0918 2817 cp r18,r24
1006 091a 3907 cpc r19,r25
1007 091c 01F4 brne .L70
1008 .L101:
1009 091e 87E7 ldi r24,lo8(375)
1010 0920 91E0 ldi r25,hi8(375)
1011 0922 00C0 rjmp .L97
1012 .L63:
1013 0924 8091 0000 lds r24,Parameter_Servo4
1014 0928 00C0 rjmp .L102
1015 .L105:
1016 092a 8091 0000 lds r24,Parameter_Servo5
1017 .L102:
1018 092e 90E0 ldi r25,lo8(0)
1019 0930 880F lsl r24
1020 0932 991F rol r25
1021 0934 880F lsl r24
1022 0936 991F rol r25
1023 0938 8755 subi r24,lo8(-(425))
1024 093a 9E4F sbci r25,hi8(-(425))
1025 093c 00C0 rjmp .L97
1026 .L59:
1027 093e F0E0 ldi r31,lo8(0)
1028 0940 EE0F lsl r30
1029 0942 FF1F rol r31
1030 0944 E050 subi r30,lo8(-(PPM_in))
1031 0946 F040 sbci r31,hi8(-(PPM_in))
1032 0948 8081 ld r24,Z
1033 094a 9181 ldd r25,Z+1
1034 094c 880F lsl r24
1035 094e 991F rol r25
1036 0950 8755 subi r24,lo8(-(937))
1037 0952 9C4F sbci r25,hi8(-(937))
1038 .L97:
1039 0954 9093 0000 sts (RemainingPulse.2394)+1,r25
1040 0958 8093 0000 sts RemainingPulse.2394,r24
1041 .L70:
1042 095c 8091 0000 lds r24,RemainingPulse.2394
1043 0960 9091 0000 lds r25,(RemainingPulse.2394)+1
1044 0964 45E0 ldi r20,hi8(1501)
1045 0966 8D3D cpi r24,lo8(1501)
1046 0968 9407 cpc r25,r20
1047 096a 00F0 brlo .L79
1048 096c 8CED ldi r24,lo8(1500)
1049 096e 95E0 ldi r25,hi8(1500)
1050 0970 00C0 rjmp .L99
1051 .L79:
1052 0972 8757 subi r24,lo8(375)
1053 0974 9140 sbci r25,hi8(375)
1054 0976 00F4 brsh .L80
1055 0978 87E7 ldi r24,lo8(375)
1056 097a 91E0 ldi r25,hi8(375)
1057 .L99:
1058 097c 9093 0000 sts (RemainingPulse.2394)+1,r25
1059 0980 8093 0000 sts RemainingPulse.2394,r24
1060 .L80:
1061 0984 2091 0000 lds r18,RemainingPulse.2394
1062 0988 3091 0000 lds r19,(RemainingPulse.2394)+1
1063 098c 2C5B subi r18,lo8(-(-188))
1064 098e 3040 sbci r19,hi8(-(-188))
1065 0990 3093 0000 sts (RemainingPulse.2394)+1,r19
1066 0994 2093 0000 sts RemainingPulse.2394,r18
1067 0998 8091 0000 lds r24,ServoFrameTime.2395
1068 099c 9091 0000 lds r25,(ServoFrameTime.2395)+1
1069 09a0 820F add r24,r18
1070 09a2 931F adc r25,r19
1071 .L103:
1072 09a4 9093 0000 sts (ServoFrameTime.2395)+1,r25
1073 09a8 8093 0000 sts ServoFrameTime.2395,r24
1074 09ac 00C0 rjmp .L58
1075 .L56:
1076 09ae 8091 B000 lds r24,176
1077 09b2 8064 ori r24,lo8(64)
1078 09b4 8093 B000 sts 176,r24
1079 09b8 8CEB ldi r24,lo8(188)
1080 09ba 90E0 ldi r25,hi8(188)
1081 09bc 9093 0000 sts (RemainingPulse.2394)+1,r25
1082 09c0 8093 0000 sts RemainingPulse.2394,r24
1083 09c4 8091 0000 lds r24,ServoFrameTime.2395
1084 09c8 9091 0000 lds r25,(ServoFrameTime.2395)+1
1085 09cc 8454 subi r24,lo8(-(188))
1086 09ce 9F4F sbci r25,hi8(-(188))
1087 09d0 9093 0000 sts (ServoFrameTime.2395)+1,r25
1088 09d4 8093 0000 sts ServoFrameTime.2395,r24
1089 09d8 8091 0000 lds r24,ServoActive
1090 09dc 8823 tst r24
1091 09de 01F0 breq .L81
1092 09e0 8091 0000 lds r24,SenderOkay
1093 09e4 853B cpi r24,lo8(-75)
1094 09e6 00F4 brsh .L82
1095 .L81:
1096 09e8 8091 0000 lds r24,ServoActive
1097 09ec 8230 cpi r24,lo8(2)
1098 09ee 01F4 brne .L83
1099 .L82:
1100 09f0 4698 cbi 40-32,6
1101 09f2 00C0 rjmp .L84
1102 .L83:
1103 09f4 469A sbi 40-32,6
1104 .L84:
1105 09f6 8091 0000 lds r24,ServoIndex.2396
1106 09fa 8F5F subi r24,lo8(-(1))
1107 09fc 8093 0000 sts ServoIndex.2396,r24
1108 0a00 9091 0000 lds r25,EE_Parameter+53
1109 0a04 9817 cp r25,r24
1110 0a06 00F4 brsh .L58
1111 0a08 1092 0000 sts ServoIndex.2396,__zero_reg__
1112 .L58:
1113 0a0c 81E0 ldi r24,lo8(1)
1114 0a0e 8093 0000 sts PulseOutput.2393,r24
1115 .L47:
1116 0a12 2091 0000 lds r18,RemainingPulse.2394
1117 0a16 3091 0000 lds r19,(RemainingPulse.2394)+1
1118 0a1a 81E0 ldi r24,hi8(383)
1119 0a1c 2F37 cpi r18,lo8(383)
1120 0a1e 3807 cpc r19,r24
1121 0a20 00F0 brlo .L85
1122 0a22 8FEF ldi r24,lo8(-1)
1123 0a24 8093 B300 sts 179,r24
1124 0a28 2F5F subi r18,lo8(-(-255))
1125 0a2a 3040 sbci r19,hi8(-(-255))
1126 0a2c 00C0 rjmp .L100
1127 .L85:
1128 0a2e 2F3F cpi r18,255
1129 0a30 3105 cpc r19,__zero_reg__
1130 0a32 01F0 breq .L87
1131 0a34 00F0 brlo .L87
1132 0a36 A901 movw r20,r18
1133 0a38 4F5F subi r20,lo8(-(-255))
1134 0a3a 5040 sbci r21,hi8(-(-255))
1135 0a3c 4F37 cpi r20,127
1136 0a3e 5105 cpc r21,__zero_reg__
1137 0a40 00F4 brsh .L88
1138 0a42 80E8 ldi r24,lo8(-128)
1139 0a44 8093 B300 sts 179,r24
1140 0a48 2058 subi r18,lo8(-(-128))
1141 0a4a 3040 sbci r19,hi8(-(-128))
1142 .L100:
1143 0a4c 3093 0000 sts (RemainingPulse.2394)+1,r19
1144 0a50 2093 0000 sts RemainingPulse.2394,r18
1145 0a54 00C0 rjmp .L89
1146 .L88:
1147 0a56 8FEF ldi r24,lo8(-1)
1148 0a58 8093 B300 sts 179,r24
1149 0a5c 5093 0000 sts (RemainingPulse.2394)+1,r21
1150 0a60 4093 0000 sts RemainingPulse.2394,r20
1151 0a64 00C0 rjmp .L89
1152 .L87:
1153 0a66 2093 B300 sts 179,r18
1154 0a6a 1092 0000 sts (RemainingPulse.2394)+1,__zero_reg__
1155 0a6e 1092 0000 sts RemainingPulse.2394,__zero_reg__
1156 0a72 1092 0000 sts PulseOutput.2393,__zero_reg__
1157 .L89:
1158 /* epilogue start */
1159 0a76 FF91 pop r31
1160 0a78 EF91 pop r30
1161 0a7a BF91 pop r27
1162 0a7c AF91 pop r26
1163 0a7e 9F91 pop r25
1164 0a80 8F91 pop r24
1165 0a82 7F91 pop r23
1166 0a84 6F91 pop r22
1167 0a86 5F91 pop r21
1168 0a88 4F91 pop r20
1169 0a8a 3F91 pop r19
1170 0a8c 2F91 pop r18
1171 0a8e 1F91 pop r17
1172 0a90 0F91 pop r16
1173 0a92 FF90 pop r15
1174 0a94 EF90 pop r14
1175 0a96 DF90 pop r13
1176 0a98 CF90 pop r12
1177 0a9a 0F90 pop r0
1178 0a9c 0FBE out __SREG__,r0
1179 0a9e 0F90 pop r0
1180 0aa0 1F90 pop __zero_reg__
1181 0aa2 1895 reti
1183 .global CountMilliseconds
1184 .global CountMilliseconds
1185 .section .bss
1188 CountMilliseconds:
1189 0000 0000 .skip 2,0
1190 .global UpdateMotor
1191 .global UpdateMotor
1194 UpdateMotor:
1195 0002 00 .skip 1,0
1196 .global cntKompass
1197 .global cntKompass
1200 cntKompass:
1201 0003 0000 .skip 2,0
1202 .global beeptime
1203 .global beeptime
1206 beeptime:
1207 0005 0000 .skip 2,0
1208 .global SendSPI
1209 .global SendSPI
1212 SendSPI:
1213 0007 00 .skip 1,0
1214 .global ServoActive
1215 .global ServoActive
1218 ServoActive:
1219 0008 00 .skip 1,0
1220 .global BeepMuster
1221 .data
1224 BeepMuster:
1225 0000 FFFF .word -1
1226 .global ServoNickValue
1227 .global ServoNickValue
1228 .section .bss
1231 ServoNickValue:
1232 0009 0000 .skip 2,0
1233 .global ServoRollValue
1234 .global ServoRollValue
1237 ServoRollValue:
1238 000b 0000 .skip 2,0
1239 .lcomm CameraShutterCycle,2
1240 .lcomm CameraShutterCycleCounter,2
1241 .data
1244 CameraShutterCycleOnCount:
1245 0002 1400 .word 20
1248 ServoRollOffset.2398:
1249 0004 FC01 .word 508
1252 ServoNickOffset.2397:
1253 0006 FC01 .word 508
1254 .lcomm ServoIndex.2396,1
1255 .lcomm ServoFrameTime.2395,2
1256 .lcomm RemainingPulse.2394,2
1257 .lcomm PulseOutput.2393,1
1258 .lcomm compass_active.2240,1
1259 .lcomm cnt.2239,1
1262 cnt_1ms.2238:
1263 0008 01 .byte 1
1264 .lcomm tim_main,2
1265 .global __do_copy_data
1266 .global __do_clear_bss
DEFINED SYMBOLS
*ABS*:00000000 timer0.c
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccT5cFTS.s:2 *ABS*:0000003f __SREG__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccT5cFTS.s:3 *ABS*:0000003e __SP_H__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccT5cFTS.s:4 *ABS*:0000003d __SP_L__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccT5cFTS.s:5 *ABS*:00000034 __CCP__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccT5cFTS.s:6 *ABS*:00000000 __tmp_reg__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccT5cFTS.s:7 *ABS*:00000001 __zero_reg__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccT5cFTS.s:11 .text:00000000 __vector_18
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccT5cFTS.s:1212 .bss:00000007 SendSPI
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccT5cFTS.s:1258 .bss:00000018 cnt.2239
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccT5cFTS.s:1188 .bss:00000000 CountMilliseconds
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccT5cFTS.s:1262 .data:00000008 cnt_1ms.2238
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccT5cFTS.s:1194 .bss:00000002 UpdateMotor
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccT5cFTS.s:1257 .bss:00000017 compass_active.2240
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccT5cFTS.s:1206 .bss:00000005 beeptime
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccT5cFTS.s:1224 .data:00000000 BeepMuster
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccT5cFTS.s:1200 .bss:00000003 cntKompass
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccT5cFTS.s:224 .text:00000206 SetDelay
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccT5cFTS.s:239 .text:0000021a CheckDelay
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccT5cFTS.s:255 .text:00000230 Delay_ms
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccT5cFTS.s:281 .text:0000025c Delay_ms_Mess
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccT5cFTS.s:315 .text:0000029c TIMER2_Init
.bss:0000000d CameraShutterCycle
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccT5cFTS.s:376 .text:0000030a Timer_Init
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccT5cFTS.s:1259 .bss:00000019 tim_main
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccT5cFTS.s:403 .text:0000033a __vector_9
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccT5cFTS.s:1256 .bss:00000016 PulseOutput.2393
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccT5cFTS.s:1252 .data:00000006 ServoNickOffset.2397
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccT5cFTS.s:1231 .bss:00000009 ServoNickValue
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccT5cFTS.s:1255 .bss:00000014 RemainingPulse.2394
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccT5cFTS.s:1254 .bss:00000012 ServoFrameTime.2395
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccT5cFTS.s:1240 .bss:00000011 ServoIndex.2396
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccT5cFTS.s:1248 .data:00000004 ServoRollOffset.2398
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccT5cFTS.s:1237 .bss:0000000b ServoRollValue
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccT5cFTS.s:1239 .bss:0000000f CameraShutterCycleCounter
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccT5cFTS.s:1244 .data:00000002 CameraShutterCycleOnCount
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccT5cFTS.s:1218 .bss:00000008 ServoActive
UNDEFINED SYMBOLS
SpektrumTimer
PlatinenVersion
NaviDataOkay
EE_Parameter
__udivmodhi4
KompassValue
KompassStartwert
__divmodhi4
KompassRichtung
AdReady
Parameter_UserParam8
Parameter_ServoNickControl
IntegralNick
__divmodsi4
__mulsi3
Parameter_ServoRollControl
IntegralRoll
PPM_in
Parameter_Servo4
Parameter_Servo5
SenderOkay
__do_copy_data
__do_clear_bss