0,0 → 1,1233 |
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.2155 |
42 0040 8150 subi r24,lo8(-(-1)) |
43 0042 8093 0000 sts cnt.2155,r24 |
44 0046 8F5F subi r24,lo8(-(1)) |
45 0048 01F4 brne .L4 |
46 004a 89E0 ldi r24,lo8(9) |
47 004c 8093 0000 sts cnt.2155,r24 |
48 0050 8091 0000 lds r24,cnt_1ms.2154 |
49 0054 8F5F subi r24,lo8(-(1)) |
50 0056 8170 andi r24,lo8(1) |
51 0058 8093 0000 sts cnt_1ms.2154,r24 |
52 005c 8823 tst r24 |
53 005e 01F4 brne .+2 |
54 0060 00C0 rjmp .L22 |
55 .L5: |
56 0062 8091 0000 lds r24,CountMilliseconds |
57 0066 9091 0000 lds r25,(CountMilliseconds)+1 |
58 006a 0196 adiw r24,1 |
59 006c 9093 0000 sts (CountMilliseconds)+1,r25 |
60 0070 8093 0000 sts CountMilliseconds,r24 |
61 .L4: |
62 0074 8091 0000 lds r24,beeptime |
63 0078 9091 0000 lds r25,(beeptime)+1 |
64 007c 892B or r24,r25 |
65 007e 01F4 brne .+2 |
66 0080 00C0 rjmp .L6 |
67 0082 8091 0000 lds r24,beeptime |
68 0086 9091 0000 lds r25,(beeptime)+1 |
69 008a 0197 sbiw r24,1 |
70 008c 9093 0000 sts (beeptime)+1,r25 |
71 0090 8093 0000 sts beeptime,r24 |
72 0094 8091 0000 lds r24,beeptime |
73 0098 9091 0000 lds r25,(beeptime)+1 |
74 009c 2091 0000 lds r18,BeepMuster |
75 00a0 3091 0000 lds r19,(BeepMuster)+1 |
76 00a4 8223 and r24,r18 |
77 00a6 9323 and r25,r19 |
78 00a8 892B or r24,r25 |
79 00aa 01F4 brne .+2 |
80 00ac 00C0 rjmp .L8 |
81 00ae 8091 0000 lds r24,PlatinenVersion |
82 00b2 8A30 cpi r24,lo8(10) |
83 00b4 01F4 brne .+2 |
84 00b6 00C0 rjmp .L23 |
85 00b8 479A sbi 40-32,7 |
86 .L11: |
87 00ba 8091 0000 lds r24,EE_Parameter+8 |
88 00be 83FF sbrs r24,3 |
89 00c0 00C0 rjmp .L18 |
90 00c2 3499 sbic 38-32,4 |
91 00c4 00C0 rjmp .L24 |
92 00c6 8091 0000 lds r24,cntKompass |
93 00ca 9091 0000 lds r25,(cntKompass)+1 |
94 00ce 892B or r24,r25 |
95 00d0 01F0 breq .L14 |
96 00d2 8091 0000 lds r24,cntKompass |
97 00d6 9091 0000 lds r25,(cntKompass)+1 |
98 00da 8A56 subi r24,lo8(362) |
99 00dc 9140 sbci r25,hi8(362) |
100 00de 00F4 brsh .L14 |
101 00e0 8091 0000 lds r24,cntKompass |
102 00e4 9091 0000 lds r25,(cntKompass)+1 |
103 00e8 2091 0000 lds r18,cntKompass |
104 00ec 3091 0000 lds r19,(cntKompass)+1 |
105 00f0 69E2 ldi r22,lo8(41) |
106 00f2 70E0 ldi r23,hi8(41) |
107 00f4 0E94 0000 call __udivmodhi4 |
108 00f8 260F add r18,r22 |
109 00fa 371F adc r19,r23 |
110 00fc 3093 0000 sts (cntKompass)+1,r19 |
111 0100 2093 0000 sts cntKompass,r18 |
112 0104 8091 0000 lds r24,cntKompass |
113 0108 9091 0000 lds r25,(cntKompass)+1 |
114 010c 0B97 sbiw r24,11 |
115 010e 00F4 brsh .+2 |
116 0110 00C0 rjmp .L15 |
117 0112 8091 0000 lds r24,cntKompass |
118 0116 9091 0000 lds r25,(cntKompass)+1 |
119 011a 0A97 sbiw r24,10 |
120 011c 9093 0000 sts (KompassValue)+1,r25 |
121 0120 8093 0000 sts KompassValue,r24 |
122 .L14: |
123 0124 8091 0000 lds r24,KompassValue |
124 0128 9091 0000 lds r25,(KompassValue)+1 |
125 012c 845E subi r24,lo8(-(540)) |
126 012e 9D4F sbci r25,hi8(-(540)) |
127 0130 2091 0000 lds r18,KompassStartwert |
128 0134 3091 0000 lds r19,(KompassStartwert)+1 |
129 0138 821B sub r24,r18 |
130 013a 930B sbc r25,r19 |
131 013c 68E6 ldi r22,lo8(360) |
132 013e 71E0 ldi r23,hi8(360) |
133 0140 0E94 0000 call __divmodhi4 |
134 0144 845B subi r24,lo8(-(-180)) |
135 0146 9040 sbci r25,hi8(-(-180)) |
136 0148 9093 0000 sts (KompassRichtung)+1,r25 |
137 014c 8093 0000 sts KompassRichtung,r24 |
138 0150 1092 0000 sts (cntKompass)+1,__zero_reg__ |
139 0154 1092 0000 sts cntKompass,__zero_reg__ |
140 .L18: |
141 /* epilogue start */ |
142 0158 BF91 pop r27 |
143 015a AF91 pop r26 |
144 015c 9F91 pop r25 |
145 015e 8F91 pop r24 |
146 0160 7F91 pop r23 |
147 0162 6F91 pop r22 |
148 0164 5F91 pop r21 |
149 0166 3F91 pop r19 |
150 0168 2F91 pop r18 |
151 016a 0F90 pop r0 |
152 016c 0FBE out __SREG__,r0 |
153 016e 0F90 pop r0 |
154 0170 1F90 pop __zero_reg__ |
155 0172 1895 reti |
156 .L6: |
157 0174 8FEF ldi r24,lo8(-1) |
158 0176 9FEF ldi r25,hi8(-1) |
159 0178 9093 0000 sts (BeepMuster)+1,r25 |
160 017c 8093 0000 sts BeepMuster,r24 |
161 .L8: |
162 0180 8091 0000 lds r24,PlatinenVersion |
163 0184 8A30 cpi r24,lo8(10) |
164 0186 01F0 breq .L25 |
165 0188 4798 cbi 40-32,7 |
166 018a 00C0 rjmp .L11 |
167 .L22: |
168 018c 81E0 ldi r24,lo8(1) |
169 018e 8093 0000 sts UpdateMotor,r24 |
170 0192 00C0 rjmp .L5 |
171 .L24: |
172 0194 8091 0000 lds r24,cntKompass |
173 0198 9091 0000 lds r25,(cntKompass)+1 |
174 019c 0196 adiw r24,1 |
175 019e 9093 0000 sts (cntKompass)+1,r25 |
176 01a2 8093 0000 sts cntKompass,r24 |
177 01a6 00C0 rjmp .L18 |
178 .L23: |
179 01a8 5A9A sbi 43-32,2 |
180 01aa 00C0 rjmp .L11 |
181 .L25: |
182 01ac 5A98 cbi 43-32,2 |
183 01ae 00C0 rjmp .L11 |
184 .L15: |
185 01b0 1092 0000 sts (KompassValue)+1,__zero_reg__ |
186 01b4 1092 0000 sts KompassValue,__zero_reg__ |
187 01b8 00C0 rjmp .L14 |
189 .global SetDelay |
191 SetDelay: |
192 /* prologue: function */ |
193 /* frame size = 0 */ |
194 01ba 2091 0000 lds r18,CountMilliseconds |
195 01be 3091 0000 lds r19,(CountMilliseconds)+1 |
196 01c2 2F5F subi r18,lo8(-(1)) |
197 01c4 3F4F sbci r19,hi8(-(1)) |
198 01c6 280F add r18,r24 |
199 01c8 391F adc r19,r25 |
200 01ca C901 movw r24,r18 |
201 /* epilogue start */ |
202 01cc 0895 ret |
204 .global CheckDelay |
206 CheckDelay: |
207 /* prologue: function */ |
208 /* frame size = 0 */ |
209 01ce 2091 0000 lds r18,CountMilliseconds |
210 01d2 3091 0000 lds r19,(CountMilliseconds)+1 |
211 01d6 821B sub r24,r18 |
212 01d8 930B sbc r25,r19 |
213 01da 8070 andi r24,lo8(-32768) |
214 01dc 9078 andi r25,hi8(-32768) |
215 01de 892F mov r24,r25 |
216 01e0 8695 lsr r24 |
217 /* epilogue start */ |
218 01e2 0895 ret |
220 .global Delay_ms |
222 Delay_ms: |
223 /* prologue: function */ |
224 /* frame size = 0 */ |
225 01e4 2091 0000 lds r18,CountMilliseconds |
226 01e8 3091 0000 lds r19,(CountMilliseconds)+1 |
227 01ec 2F5F subi r18,lo8(-(1)) |
228 01ee 3F4F sbci r19,hi8(-(1)) |
229 01f0 280F add r18,r24 |
230 01f2 391F adc r19,r25 |
231 .L31: |
232 01f4 8091 0000 lds r24,CountMilliseconds |
233 01f8 9091 0000 lds r25,(CountMilliseconds)+1 |
234 01fc A901 movw r20,r18 |
235 01fe 481B sub r20,r24 |
236 0200 590B sbc r21,r25 |
237 0202 CA01 movw r24,r20 |
238 0204 8070 andi r24,lo8(-32768) |
239 0206 9078 andi r25,hi8(-32768) |
240 0208 892F mov r24,r25 |
241 020a 8695 lsr r24 |
242 020c 01F0 breq .L31 |
243 /* epilogue start */ |
244 020e 0895 ret |
246 .global Delay_ms_Mess |
248 Delay_ms_Mess: |
249 /* prologue: function */ |
250 /* frame size = 0 */ |
251 0210 2091 0000 lds r18,CountMilliseconds |
252 0214 3091 0000 lds r19,(CountMilliseconds)+1 |
253 0218 2F5F subi r18,lo8(-(1)) |
254 021a 3F4F sbci r19,hi8(-(1)) |
255 021c 280F add r18,r24 |
256 021e 391F adc r19,r25 |
257 0220 4FEC ldi r20,lo8(-49) |
258 .L40: |
259 0222 8091 0000 lds r24,CountMilliseconds |
260 0226 9091 0000 lds r25,(CountMilliseconds)+1 |
261 022a B901 movw r22,r18 |
262 022c 681B sub r22,r24 |
263 022e 790B sbc r23,r25 |
264 0230 CB01 movw r24,r22 |
265 0232 8070 andi r24,lo8(-32768) |
266 0234 9078 andi r25,hi8(-32768) |
267 0236 892F mov r24,r25 |
268 0238 8695 lsr r24 |
269 023a 01F4 brne .L41 |
270 023c 8091 0000 lds r24,AdReady |
271 0240 8823 tst r24 |
272 0242 01F0 breq .L40 |
273 0244 1092 0000 sts AdReady,__zero_reg__ |
274 0248 4093 7A00 sts 122,r20 |
275 024c 00C0 rjmp .L40 |
276 .L41: |
277 /* epilogue start */ |
278 024e 0895 ret |
280 .global TIMER2_Init |
282 TIMER2_Init: |
283 /* prologue: function */ |
284 /* frame size = 0 */ |
285 0250 9FB7 in r25,__SREG__ |
286 /* #APP */ |
287 ; 142 "timer0.c" 1 |
288 0252 F894 cli |
289 ; 0 "" 2 |
290 /* #NOAPP */ |
291 0254 5F98 cbi 43-32,7 |
292 0256 3E9A sbi 39-32,6 |
293 0258 469A sbi 40-32,6 |
294 025a A0EB ldi r26,lo8(176) |
295 025c B0E0 ldi r27,hi8(176) |
296 025e 8C91 ld r24,X |
297 0260 8F70 andi r24,lo8(15) |
298 0262 8C93 st X,r24 |
299 0264 8C91 ld r24,X |
300 0266 8360 ori r24,lo8(3) |
301 0268 8C93 st X,r24 |
302 026a E1EB ldi r30,lo8(177) |
303 026c F0E0 ldi r31,hi8(177) |
304 026e 8081 ld r24,Z |
305 0270 8B73 andi r24,lo8(59) |
306 0272 8083 st Z,r24 |
307 0274 8081 ld r24,Z |
308 0276 8B60 ori r24,lo8(11) |
309 0278 8083 st Z,r24 |
310 027a 1092 B200 sts 178,__zero_reg__ |
311 027e 8FEF ldi r24,lo8(-1) |
312 0280 8093 B300 sts 179,r24 |
313 0284 8C91 ld r24,X |
314 0286 8068 ori r24,lo8(-128) |
315 0288 8C93 st X,r24 |
316 028a E0E7 ldi r30,lo8(112) |
317 028c F0E0 ldi r31,hi8(112) |
318 028e 8081 ld r24,Z |
319 0290 8A7F andi r24,lo8(-6) |
320 0292 8083 st Z,r24 |
321 0294 8081 ld r24,Z |
322 0296 8260 ori r24,lo8(2) |
323 0298 8083 st Z,r24 |
324 029a 9FBF out __SREG__,r25 |
325 /* epilogue start */ |
326 029c 0895 ret |
328 .global Timer_Init |
330 Timer_Init: |
331 /* prologue: function */ |
332 /* frame size = 0 */ |
333 029e 8091 0000 lds r24,CountMilliseconds |
334 02a2 9091 0000 lds r25,(CountMilliseconds)+1 |
335 02a6 0B96 adiw r24,11 |
336 02a8 9093 0000 sts (tim_main)+1,r25 |
337 02ac 8093 0000 sts tim_main,r24 |
338 02b0 82E0 ldi r24,lo8(2) |
339 02b2 85BD out 69-32,r24 |
340 02b4 83EA ldi r24,lo8(-93) |
341 02b6 84BD out 68-32,r24 |
342 02b8 17BC out 71-32,__zero_reg__ |
343 02ba 88E7 ldi r24,lo8(120) |
344 02bc 88BD out 72-32,r24 |
345 02be 86E0 ldi r24,lo8(6) |
346 02c0 86BD out 70-32,r24 |
347 02c2 EEE6 ldi r30,lo8(110) |
348 02c4 F0E0 ldi r31,hi8(110) |
349 02c6 8081 ld r24,Z |
350 02c8 8160 ori r24,lo8(1) |
351 02ca 8083 st Z,r24 |
352 /* epilogue start */ |
353 02cc 0895 ret |
355 .global __vector_9 |
357 __vector_9: |
358 02ce 1F92 push __zero_reg__ |
359 02d0 0F92 push r0 |
360 02d2 0FB6 in r0,__SREG__ |
361 02d4 0F92 push r0 |
362 02d6 1124 clr __zero_reg__ |
363 02d8 CF92 push r12 |
364 02da DF92 push r13 |
365 02dc EF92 push r14 |
366 02de FF92 push r15 |
367 02e0 0F93 push r16 |
368 02e2 1F93 push r17 |
369 02e4 2F93 push r18 |
370 02e6 3F93 push r19 |
371 02e8 4F93 push r20 |
372 02ea 5F93 push r21 |
373 02ec 6F93 push r22 |
374 02ee 7F93 push r23 |
375 02f0 8F93 push r24 |
376 02f2 9F93 push r25 |
377 02f4 AF93 push r26 |
378 02f6 BF93 push r27 |
379 02f8 EF93 push r30 |
380 02fa FF93 push r31 |
381 /* prologue: Signal */ |
382 /* frame size = 0 */ |
383 02fc 8091 0000 lds r24,PlatinenVersion |
384 0300 8431 cpi r24,lo8(20) |
385 0302 00F0 brlo .+2 |
386 0304 00C0 rjmp .L47 |
387 0306 8091 0000 lds r24,Parameter_UserParam8 |
388 030a 87FD sbrc r24,7 |
389 030c 00C0 rjmp .L47 |
390 030e 8091 0000 lds r24,PulseOutput.2296 |
391 0312 8823 tst r24 |
392 0314 01F0 breq .+2 |
393 0316 00C0 rjmp .L99 |
394 0318 8091 B000 lds r24,176 |
395 031c 86FF sbrs r24,6 |
396 031e 00C0 rjmp .L49 |
397 0320 8091 B000 lds r24,176 |
398 0324 8F7B andi r24,lo8(-65) |
399 0326 8093 B000 sts 176,r24 |
400 032a 8091 0000 lds r24,Parameter_ServoNickControl |
401 032e 482F mov r20,r24 |
402 0330 50E0 ldi r21,lo8(0) |
403 0332 440F lsl r20 |
404 0334 551F rol r21 |
405 0336 440F lsl r20 |
406 0338 551F rol r21 |
407 033a 2091 0000 lds r18,ServoNickOffset.2300 |
408 033e 3091 0000 lds r19,(ServoNickOffset.2300)+1 |
409 0342 C901 movw r24,r18 |
410 0344 880F lsl r24 |
411 0346 991F rol r25 |
412 0348 820F add r24,r18 |
413 034a 931F adc r25,r19 |
414 034c 480F add r20,r24 |
415 034e 591F adc r21,r25 |
416 0350 57FD sbrc r21,7 |
417 0352 00C0 rjmp .L100 |
418 .L50: |
419 0354 CA01 movw r24,r20 |
420 0356 9595 asr r25 |
421 0358 8795 ror r24 |
422 035a 9595 asr r25 |
423 035c 8795 ror r24 |
424 035e 9093 0000 sts (ServoNickOffset.2300)+1,r25 |
425 0362 8093 0000 sts ServoNickOffset.2300,r24 |
426 0366 9093 0000 sts (ServoNickValue)+1,r25 |
427 036a 8093 0000 sts ServoNickValue,r24 |
428 036e 8091 0000 lds r24,EE_Parameter+87 |
429 0372 80FD sbrc r24,0 |
430 0374 00C0 rjmp .L101 |
431 0376 C090 0000 lds r12,ServoNickValue |
432 037a D090 0000 lds r13,(ServoNickValue)+1 |
433 037e E090 0000 lds r14,EE_Parameter+40 |
434 0382 FF24 clr r15 |
435 0384 00E0 ldi r16,lo8(0) |
436 0386 10E0 ldi r17,hi8(0) |
437 0388 6091 0000 lds r22,IntegralNick |
438 038c 7091 0000 lds r23,(IntegralNick)+1 |
439 0390 8091 0000 lds r24,(IntegralNick)+2 |
440 0394 9091 0000 lds r25,(IntegralNick)+3 |
441 0398 20E8 ldi r18,lo8(128) |
442 039a 30E0 ldi r19,hi8(128) |
443 039c 40E0 ldi r20,hlo8(128) |
444 039e 50E0 ldi r21,hhi8(128) |
445 03a0 0E94 0000 call __divmodsi4 |
446 03a4 C801 movw r24,r16 |
447 03a6 B701 movw r22,r14 |
448 03a8 0E94 0000 call __mulsi3 |
449 03ac 660F lsl r22 |
450 03ae 771F rol r23 |
451 03b0 881F rol r24 |
452 03b2 991F rol r25 |
453 03b4 660F lsl r22 |
454 03b6 771F rol r23 |
455 03b8 881F rol r24 |
456 03ba 991F rol r25 |
457 03bc 20E0 ldi r18,lo8(256) |
458 03be 31E0 ldi r19,hi8(256) |
459 03c0 40E0 ldi r20,hlo8(256) |
460 03c2 50E0 ldi r21,hhi8(256) |
461 03c4 0E94 0000 call __divmodsi4 |
462 03c8 C21A sub r12,r18 |
463 03ca D30A sbc r13,r19 |
464 03cc D092 0000 sts (ServoNickValue)+1,r13 |
465 03d0 C092 0000 sts ServoNickValue,r12 |
466 .L52: |
467 03d4 8091 0000 lds r24,EE_Parameter+41 |
468 03d8 282F mov r18,r24 |
469 03da 30E0 ldi r19,lo8(0) |
470 03dc 220F lsl r18 |
471 03de 331F rol r19 |
472 03e0 220F lsl r18 |
473 03e2 331F rol r19 |
474 03e4 8091 0000 lds r24,ServoNickValue |
475 03e8 9091 0000 lds r25,(ServoNickValue)+1 |
476 03ec 8217 cp r24,r18 |
477 03ee 9307 cpc r25,r19 |
478 03f0 04F0 brlt .L95 |
479 03f2 8091 0000 lds r24,EE_Parameter+42 |
480 03f6 282F mov r18,r24 |
481 03f8 30E0 ldi r19,lo8(0) |
482 03fa 220F lsl r18 |
483 03fc 331F rol r19 |
484 03fe 220F lsl r18 |
485 0400 331F rol r19 |
486 0402 8091 0000 lds r24,ServoNickValue |
487 0406 9091 0000 lds r25,(ServoNickValue)+1 |
488 040a 2817 cp r18,r24 |
489 040c 3907 cpc r19,r25 |
490 040e 04F4 brge .L54 |
491 .L95: |
492 0410 3093 0000 sts (ServoNickValue)+1,r19 |
493 0414 2093 0000 sts ServoNickValue,r18 |
494 .L54: |
495 0418 2091 0000 lds r18,ServoNickValue |
496 041c 3091 0000 lds r19,(ServoNickValue)+1 |
497 0420 2755 subi r18,lo8(-(425)) |
498 0422 3E4F sbci r19,hi8(-(425)) |
499 0424 3093 0000 sts (RemainingPulse.2297)+1,r19 |
500 0428 2093 0000 sts RemainingPulse.2297,r18 |
501 042c 8091 0000 lds r24,ServoNickValue |
502 0430 9091 0000 lds r25,(ServoNickValue)+1 |
503 0434 97FD sbrc r25,7 |
504 0436 00C0 rjmp .L102 |
505 .L55: |
506 0438 9595 asr r25 |
507 043a 8795 ror r24 |
508 043c 9595 asr r25 |
509 043e 8795 ror r24 |
510 0440 9093 0000 sts (ServoNickValue)+1,r25 |
511 0444 8093 0000 sts ServoNickValue,r24 |
512 0448 45E0 ldi r20,hi8(1501) |
513 044a 2D3D cpi r18,lo8(1501) |
514 044c 3407 cpc r19,r20 |
515 044e 00F4 brsh .+2 |
516 0450 00C0 rjmp .L56 |
517 0452 8CED ldi r24,lo8(1500) |
518 0454 95E0 ldi r25,hi8(1500) |
519 0456 9093 0000 sts (RemainingPulse.2297)+1,r25 |
520 045a 8093 0000 sts RemainingPulse.2297,r24 |
521 .L57: |
522 045e 4091 0000 lds r20,RemainingPulse.2297 |
523 0462 5091 0000 lds r21,(RemainingPulse.2297)+1 |
524 0466 5093 0000 sts (ServoFrameTime.2298)+1,r21 |
525 046a 4093 0000 sts ServoFrameTime.2298,r20 |
526 046e 00C0 rjmp .L61 |
527 .L47: |
528 0470 8091 0000 lds r24,PulseOutput.2296 |
529 0474 8823 tst r24 |
530 0476 01F0 breq .L93 |
531 .L99: |
532 0478 4091 0000 lds r20,RemainingPulse.2297 |
533 047c 5091 0000 lds r21,(RemainingPulse.2297)+1 |
534 0480 81E0 ldi r24,hi8(383) |
535 0482 4F37 cpi r20,lo8(383) |
536 0484 5807 cpc r21,r24 |
537 0486 00F0 brlo .+2 |
538 0488 00C0 rjmp .L103 |
539 .L84: |
540 048a 4F3F cpi r20,255 |
541 048c 5105 cpc r21,__zero_reg__ |
542 048e 01F0 breq .+4 |
543 0490 00F0 brlo .+2 |
544 0492 00C0 rjmp .L104 |
545 0494 4093 B300 sts 179,r20 |
546 0498 1092 0000 sts (RemainingPulse.2297)+1,__zero_reg__ |
547 049c 1092 0000 sts RemainingPulse.2297,__zero_reg__ |
548 04a0 1092 0000 sts PulseOutput.2296,__zero_reg__ |
549 .L88: |
550 /* epilogue start */ |
551 04a4 FF91 pop r31 |
552 04a6 EF91 pop r30 |
553 04a8 BF91 pop r27 |
554 04aa AF91 pop r26 |
555 04ac 9F91 pop r25 |
556 04ae 8F91 pop r24 |
557 04b0 7F91 pop r23 |
558 04b2 6F91 pop r22 |
559 04b4 5F91 pop r21 |
560 04b6 4F91 pop r20 |
561 04b8 3F91 pop r19 |
562 04ba 2F91 pop r18 |
563 04bc 1F91 pop r17 |
564 04be 0F91 pop r16 |
565 04c0 FF90 pop r15 |
566 04c2 EF90 pop r14 |
567 04c4 DF90 pop r13 |
568 04c6 CF90 pop r12 |
569 04c8 0F90 pop r0 |
570 04ca 0FBE out __SREG__,r0 |
571 04cc 0F90 pop r0 |
572 04ce 1F90 pop __zero_reg__ |
573 04d0 1895 reti |
574 .L93: |
575 04d2 8091 B000 lds r24,176 |
576 04d6 86FF sbrs r24,6 |
577 04d8 00C0 rjmp .L59 |
578 04da 8091 B000 lds r24,176 |
579 04de 8F7B andi r24,lo8(-65) |
580 04e0 8093 B000 sts 176,r24 |
581 04e4 8091 0000 lds r24,ServoIndex.2299 |
582 04e8 8823 tst r24 |
583 04ea 01F0 breq .+2 |
584 04ec 00C0 rjmp .L60 |
585 04ee 8091 0000 lds r24,EE_Parameter+47 |
586 04f2 90E0 ldi r25,lo8(0) |
587 04f4 2DED ldi r18,lo8(1757) |
588 04f6 36E0 ldi r19,hi8(1757) |
589 04f8 A901 movw r20,r18 |
590 04fa 849F mul r24,r20 |
591 04fc 9001 movw r18,r0 |
592 04fe 859F mul r24,r21 |
593 0500 300D add r19,r0 |
594 0502 949F mul r25,r20 |
595 0504 300D add r19,r0 |
596 0506 1124 clr r1 |
597 0508 8091 0000 lds r24,ServoFrameTime.2298 |
598 050c 9091 0000 lds r25,(ServoFrameTime.2298)+1 |
599 0510 281B sub r18,r24 |
600 0512 390B sbc r19,r25 |
601 0514 3093 0000 sts (RemainingPulse.2297)+1,r19 |
602 0518 2093 0000 sts RemainingPulse.2297,r18 |
603 051c 1092 0000 sts (ServoFrameTime.2298)+1,__zero_reg__ |
604 0520 1092 0000 sts ServoFrameTime.2298,__zero_reg__ |
605 0524 469A sbi 40-32,6 |
606 0526 A901 movw r20,r18 |
607 .L61: |
608 0528 81E0 ldi r24,lo8(1) |
609 052a 8093 0000 sts PulseOutput.2296,r24 |
610 052e 81E0 ldi r24,hi8(383) |
611 0530 4F37 cpi r20,lo8(383) |
612 0532 5807 cpc r21,r24 |
613 0534 00F4 brsh .+2 |
614 0536 00C0 rjmp .L84 |
615 .L103: |
616 0538 8FEF ldi r24,lo8(-1) |
617 053a 8093 B300 sts 179,r24 |
618 053e 4F5F subi r20,lo8(-(-255)) |
619 0540 5040 sbci r21,hi8(-(-255)) |
620 0542 5093 0000 sts (RemainingPulse.2297)+1,r21 |
621 0546 4093 0000 sts RemainingPulse.2297,r20 |
622 054a 00C0 rjmp .L88 |
623 .L104: |
624 054c 9A01 movw r18,r20 |
625 054e 2F5F subi r18,lo8(-(-255)) |
626 0550 3040 sbci r19,hi8(-(-255)) |
627 0552 2F37 cpi r18,127 |
628 0554 3105 cpc r19,__zero_reg__ |
629 0556 00F4 brsh .L87 |
630 0558 80E8 ldi r24,lo8(-128) |
631 055a 8093 B300 sts 179,r24 |
632 055e 4058 subi r20,lo8(-(-128)) |
633 0560 5040 sbci r21,hi8(-(-128)) |
634 0562 5093 0000 sts (RemainingPulse.2297)+1,r21 |
635 0566 4093 0000 sts RemainingPulse.2297,r20 |
636 056a 00C0 rjmp .L88 |
637 .L59: |
638 056c 8091 B000 lds r24,176 |
639 0570 8064 ori r24,lo8(64) |
640 0572 8093 B000 sts 176,r24 |
641 0576 8CEB ldi r24,lo8(188) |
642 0578 90E0 ldi r25,hi8(188) |
643 057a 9093 0000 sts (RemainingPulse.2297)+1,r25 |
644 057e 8093 0000 sts RemainingPulse.2297,r24 |
645 0582 8091 0000 lds r24,ServoFrameTime.2298 |
646 0586 9091 0000 lds r25,(ServoFrameTime.2298)+1 |
647 058a 8454 subi r24,lo8(-(188)) |
648 058c 9F4F sbci r25,hi8(-(188)) |
649 058e 9093 0000 sts (ServoFrameTime.2298)+1,r25 |
650 0592 8093 0000 sts ServoFrameTime.2298,r24 |
651 0596 8091 0000 lds r24,ServoActive |
652 059a 8823 tst r24 |
653 059c 01F0 breq .L82 |
654 059e 8091 0000 lds r24,SenderOkay |
655 05a2 853B cpi r24,lo8(-75) |
656 05a4 00F0 brlo .+2 |
657 05a6 00C0 rjmp .L105 |
658 .L82: |
659 05a8 469A sbi 40-32,6 |
660 .L83: |
661 05aa 8091 0000 lds r24,ServoIndex.2299 |
662 05ae 8F5F subi r24,lo8(-(1)) |
663 05b0 8093 0000 sts ServoIndex.2299,r24 |
664 05b4 9091 0000 lds r25,EE_Parameter+47 |
665 05b8 9817 cp r25,r24 |
666 05ba 00F4 brsh .L98 |
667 05bc 1092 0000 sts ServoIndex.2299,__zero_reg__ |
668 .L98: |
669 05c0 4091 0000 lds r20,RemainingPulse.2297 |
670 05c4 5091 0000 lds r21,(RemainingPulse.2297)+1 |
671 05c8 00C0 rjmp .L61 |
672 .L87: |
673 05ca 8FEF ldi r24,lo8(-1) |
674 05cc 8093 B300 sts 179,r24 |
675 05d0 3093 0000 sts (RemainingPulse.2297)+1,r19 |
676 05d4 2093 0000 sts RemainingPulse.2297,r18 |
677 05d8 00C0 rjmp .L88 |
678 .L49: |
679 05da 8091 B000 lds r24,176 |
680 05de 8064 ori r24,lo8(64) |
681 05e0 8093 B000 sts 176,r24 |
682 05e4 8091 0000 lds r24,EE_Parameter+47 |
683 05e8 90E0 ldi r25,lo8(0) |
684 05ea 2DED ldi r18,lo8(1757) |
685 05ec 36E0 ldi r19,hi8(1757) |
686 05ee 829F mul r24,r18 |
687 05f0 A001 movw r20,r0 |
688 05f2 839F mul r24,r19 |
689 05f4 500D add r21,r0 |
690 05f6 929F mul r25,r18 |
691 05f8 500D add r21,r0 |
692 05fa 1124 clr r1 |
693 05fc 8091 0000 lds r24,ServoFrameTime.2298 |
694 0600 9091 0000 lds r25,(ServoFrameTime.2298)+1 |
695 0604 481B sub r20,r24 |
696 0606 590B sbc r21,r25 |
697 0608 00C0 rjmp .L61 |
698 .L60: |
699 060a 29EA ldi r18,lo8(937) |
700 060c 33E0 ldi r19,hi8(937) |
701 060e 3093 0000 sts (RemainingPulse.2297)+1,r19 |
702 0612 2093 0000 sts RemainingPulse.2297,r18 |
703 0616 8230 cpi r24,lo8(2) |
704 0618 01F4 brne .+2 |
705 061a 00C0 rjmp .L64 |
706 061c 8330 cpi r24,lo8(3) |
707 061e 01F4 brne .+2 |
708 0620 00C0 rjmp .L65 |
709 0622 8130 cpi r24,lo8(1) |
710 0624 01F4 brne .+2 |
711 0626 00C0 rjmp .L106 |
712 .L62: |
713 0628 4091 0000 lds r20,RemainingPulse.2297 |
714 062c 5091 0000 lds r21,(RemainingPulse.2297)+1 |
715 0630 85E0 ldi r24,hi8(1501) |
716 0632 4D3D cpi r20,lo8(1501) |
717 0634 5807 cpc r21,r24 |
718 0636 00F4 brsh .+2 |
719 0638 00C0 rjmp .L80 |
720 063a 4CED ldi r20,lo8(1500) |
721 063c 55E0 ldi r21,hi8(1500) |
722 .L81: |
723 063e 4C5B subi r20,lo8(-(-188)) |
724 0640 5040 sbci r21,hi8(-(-188)) |
725 0642 8091 0000 lds r24,ServoFrameTime.2298 |
726 0646 9091 0000 lds r25,(ServoFrameTime.2298)+1 |
727 064a 840F add r24,r20 |
728 064c 951F adc r25,r21 |
729 064e 9093 0000 sts (ServoFrameTime.2298)+1,r25 |
730 0652 8093 0000 sts ServoFrameTime.2298,r24 |
731 0656 00C0 rjmp .L61 |
732 .L101: |
733 0658 C090 0000 lds r12,ServoNickValue |
734 065c D090 0000 lds r13,(ServoNickValue)+1 |
735 0660 E090 0000 lds r14,EE_Parameter+40 |
736 0664 FF24 clr r15 |
737 0666 00E0 ldi r16,lo8(0) |
738 0668 10E0 ldi r17,hi8(0) |
739 066a 6091 0000 lds r22,IntegralNick |
740 066e 7091 0000 lds r23,(IntegralNick)+1 |
741 0672 8091 0000 lds r24,(IntegralNick)+2 |
742 0676 9091 0000 lds r25,(IntegralNick)+3 |
743 067a 20E8 ldi r18,lo8(128) |
744 067c 30E0 ldi r19,hi8(128) |
745 067e 40E0 ldi r20,hlo8(128) |
746 0680 50E0 ldi r21,hhi8(128) |
747 0682 0E94 0000 call __divmodsi4 |
748 0686 C801 movw r24,r16 |
749 0688 B701 movw r22,r14 |
750 068a 0E94 0000 call __mulsi3 |
751 068e 660F lsl r22 |
752 0690 771F rol r23 |
753 0692 881F rol r24 |
754 0694 991F rol r25 |
755 0696 660F lsl r22 |
756 0698 771F rol r23 |
757 069a 881F rol r24 |
758 069c 991F rol r25 |
759 069e 20E0 ldi r18,lo8(256) |
760 06a0 31E0 ldi r19,hi8(256) |
761 06a2 40E0 ldi r20,hlo8(256) |
762 06a4 50E0 ldi r21,hhi8(256) |
763 06a6 0E94 0000 call __divmodsi4 |
764 06aa C20E add r12,r18 |
765 06ac D31E adc r13,r19 |
766 06ae D092 0000 sts (ServoNickValue)+1,r13 |
767 06b2 C092 0000 sts ServoNickValue,r12 |
768 06b6 00C0 rjmp .L52 |
769 .L105: |
770 06b8 4698 cbi 40-32,6 |
771 06ba 00C0 rjmp .L83 |
772 .L65: |
773 06bc E091 0000 lds r30,EE_Parameter+6 |
774 06c0 F0E0 ldi r31,lo8(0) |
775 06c2 EE0F lsl r30 |
776 06c4 FF1F rol r31 |
777 06c6 E050 subi r30,lo8(-(PPM_in)) |
778 06c8 F040 sbci r31,hi8(-(PPM_in)) |
779 06ca 8081 ld r24,Z |
780 06cc 9181 ldd r25,Z+1 |
781 06ce 805E subi r24,lo8(-32) |
782 06d0 9F4F sbci r25,hi8(-32) |
783 06d2 04F0 brlt .+2 |
784 06d4 00C0 rjmp .L78 |
785 06d6 87E7 ldi r24,lo8(375) |
786 06d8 91E0 ldi r25,hi8(375) |
787 06da 9093 0000 sts (RemainingPulse.2297)+1,r25 |
788 06de 8093 0000 sts RemainingPulse.2297,r24 |
789 .L79: |
790 06e2 4091 0000 lds r20,RemainingPulse.2297 |
791 06e6 5091 0000 lds r21,(RemainingPulse.2297)+1 |
792 .L80: |
793 06ea 81E0 ldi r24,hi8(375) |
794 06ec 4737 cpi r20,lo8(375) |
795 06ee 5807 cpc r21,r24 |
796 06f0 00F0 brlo .+2 |
797 06f2 00C0 rjmp .L81 |
798 06f4 47E7 ldi r20,lo8(375) |
799 06f6 51E0 ldi r21,hi8(375) |
800 06f8 00C0 rjmp .L81 |
801 .L56: |
802 06fa 2757 subi r18,lo8(375) |
803 06fc 3140 sbci r19,hi8(375) |
804 06fe 00F0 brlo .+2 |
805 0700 00C0 rjmp .L57 |
806 0702 87E7 ldi r24,lo8(375) |
807 0704 91E0 ldi r25,hi8(375) |
808 0706 9093 0000 sts (RemainingPulse.2297)+1,r25 |
809 070a 8093 0000 sts RemainingPulse.2297,r24 |
810 070e 00C0 rjmp .L57 |
811 .L64: |
812 0710 8091 0000 lds r24,Parameter_ServoRollControl |
813 0714 482F mov r20,r24 |
814 0716 50E0 ldi r21,lo8(0) |
815 0718 440F lsl r20 |
816 071a 551F rol r21 |
817 071c 440F lsl r20 |
818 071e 551F rol r21 |
819 0720 2091 0000 lds r18,ServoRollOffset.2301 |
820 0724 3091 0000 lds r19,(ServoRollOffset.2301)+1 |
821 0728 C901 movw r24,r18 |
822 072a 880F lsl r24 |
823 072c 991F rol r25 |
824 072e 820F add r24,r18 |
825 0730 931F adc r25,r19 |
826 0732 480F add r20,r24 |
827 0734 591F adc r21,r25 |
828 0736 57FD sbrc r21,7 |
829 0738 00C0 rjmp .L107 |
830 .L72: |
831 073a CA01 movw r24,r20 |
832 073c 9595 asr r25 |
833 073e 8795 ror r24 |
834 0740 9595 asr r25 |
835 0742 8795 ror r24 |
836 0744 9093 0000 sts (ServoRollOffset.2301)+1,r25 |
837 0748 8093 0000 sts ServoRollOffset.2301,r24 |
838 074c 9093 0000 sts (ServoRollValue)+1,r25 |
839 0750 8093 0000 sts ServoRollValue,r24 |
840 0754 8091 0000 lds r24,EE_Parameter+87 |
841 0758 81FF sbrs r24,1 |
842 075a 00C0 rjmp .L73 |
843 075c C090 0000 lds r12,ServoRollValue |
844 0760 D090 0000 lds r13,(ServoRollValue)+1 |
845 0764 E090 0000 lds r14,EE_Parameter+44 |
846 0768 FF24 clr r15 |
847 076a 00E0 ldi r16,lo8(0) |
848 076c 10E0 ldi r17,hi8(0) |
849 076e 6091 0000 lds r22,IntegralRoll |
850 0772 7091 0000 lds r23,(IntegralRoll)+1 |
851 0776 8091 0000 lds r24,(IntegralRoll)+2 |
852 077a 9091 0000 lds r25,(IntegralRoll)+3 |
853 077e 20E8 ldi r18,lo8(128) |
854 0780 30E0 ldi r19,hi8(128) |
855 0782 40E0 ldi r20,hlo8(128) |
856 0784 50E0 ldi r21,hhi8(128) |
857 0786 0E94 0000 call __divmodsi4 |
858 078a C801 movw r24,r16 |
859 078c B701 movw r22,r14 |
860 078e 0E94 0000 call __mulsi3 |
861 0792 660F lsl r22 |
862 0794 771F rol r23 |
863 0796 881F rol r24 |
864 0798 991F rol r25 |
865 079a 660F lsl r22 |
866 079c 771F rol r23 |
867 079e 881F rol r24 |
868 07a0 991F rol r25 |
869 07a2 20E0 ldi r18,lo8(256) |
870 07a4 31E0 ldi r19,hi8(256) |
871 07a6 40E0 ldi r20,hlo8(256) |
872 07a8 50E0 ldi r21,hhi8(256) |
873 07aa 0E94 0000 call __divmodsi4 |
874 07ae C20E add r12,r18 |
875 07b0 D31E adc r13,r19 |
876 07b2 D092 0000 sts (ServoRollValue)+1,r13 |
877 07b6 C092 0000 sts ServoRollValue,r12 |
878 .L74: |
879 07ba 8091 0000 lds r24,EE_Parameter+45 |
880 07be 282F mov r18,r24 |
881 07c0 30E0 ldi r19,lo8(0) |
882 07c2 220F lsl r18 |
883 07c4 331F rol r19 |
884 07c6 220F lsl r18 |
885 07c8 331F rol r19 |
886 07ca 8091 0000 lds r24,ServoRollValue |
887 07ce 9091 0000 lds r25,(ServoRollValue)+1 |
888 07d2 8217 cp r24,r18 |
889 07d4 9307 cpc r25,r19 |
890 07d6 04F0 brlt .L97 |
891 07d8 8091 0000 lds r24,EE_Parameter+46 |
892 07dc 282F mov r18,r24 |
893 07de 30E0 ldi r19,lo8(0) |
894 07e0 220F lsl r18 |
895 07e2 331F rol r19 |
896 07e4 220F lsl r18 |
897 07e6 331F rol r19 |
898 07e8 8091 0000 lds r24,ServoRollValue |
899 07ec 9091 0000 lds r25,(ServoRollValue)+1 |
900 07f0 2817 cp r18,r24 |
901 07f2 3907 cpc r19,r25 |
902 07f4 04F4 brge .L76 |
903 .L97: |
904 07f6 3093 0000 sts (ServoRollValue)+1,r19 |
905 07fa 2093 0000 sts ServoRollValue,r18 |
906 .L76: |
907 07fe 8091 0000 lds r24,ServoRollValue |
908 0802 9091 0000 lds r25,(ServoRollValue)+1 |
909 0806 8755 subi r24,lo8(-(425)) |
910 0808 9E4F sbci r25,hi8(-(425)) |
911 080a 9093 0000 sts (RemainingPulse.2297)+1,r25 |
912 080e 8093 0000 sts RemainingPulse.2297,r24 |
913 0812 8091 0000 lds r24,ServoRollValue |
914 0816 9091 0000 lds r25,(ServoRollValue)+1 |
915 081a 97FD sbrc r25,7 |
916 081c 00C0 rjmp .L108 |
917 .L77: |
918 081e 9595 asr r25 |
919 0820 8795 ror r24 |
920 0822 9595 asr r25 |
921 0824 8795 ror r24 |
922 0826 9093 0000 sts (ServoRollValue)+1,r25 |
923 082a 8093 0000 sts ServoRollValue,r24 |
924 082e 00C0 rjmp .L62 |
925 .L106: |
926 0830 8091 0000 lds r24,Parameter_ServoNickControl |
927 0834 482F mov r20,r24 |
928 0836 50E0 ldi r21,lo8(0) |
929 0838 440F lsl r20 |
930 083a 551F rol r21 |
931 083c 440F lsl r20 |
932 083e 551F rol r21 |
933 0840 2091 0000 lds r18,ServoNickOffset.2300 |
934 0844 3091 0000 lds r19,(ServoNickOffset.2300)+1 |
935 0848 C901 movw r24,r18 |
936 084a 880F lsl r24 |
937 084c 991F rol r25 |
938 084e 820F add r24,r18 |
939 0850 931F adc r25,r19 |
940 0852 480F add r20,r24 |
941 0854 591F adc r21,r25 |
942 0856 57FD sbrc r21,7 |
943 0858 00C0 rjmp .L109 |
944 .L66: |
945 085a CA01 movw r24,r20 |
946 085c 9595 asr r25 |
947 085e 8795 ror r24 |
948 0860 9595 asr r25 |
949 0862 8795 ror r24 |
950 0864 9093 0000 sts (ServoNickOffset.2300)+1,r25 |
951 0868 8093 0000 sts ServoNickOffset.2300,r24 |
952 086c 9093 0000 sts (ServoNickValue)+1,r25 |
953 0870 8093 0000 sts ServoNickValue,r24 |
954 0874 8091 0000 lds r24,EE_Parameter+87 |
955 0878 80FF sbrs r24,0 |
956 087a 00C0 rjmp .L67 |
957 087c C090 0000 lds r12,ServoNickValue |
958 0880 D090 0000 lds r13,(ServoNickValue)+1 |
959 0884 E090 0000 lds r14,EE_Parameter+40 |
960 0888 FF24 clr r15 |
961 088a 00E0 ldi r16,lo8(0) |
962 088c 10E0 ldi r17,hi8(0) |
963 088e 6091 0000 lds r22,IntegralNick |
964 0892 7091 0000 lds r23,(IntegralNick)+1 |
965 0896 8091 0000 lds r24,(IntegralNick)+2 |
966 089a 9091 0000 lds r25,(IntegralNick)+3 |
967 089e 20E8 ldi r18,lo8(128) |
968 08a0 30E0 ldi r19,hi8(128) |
969 08a2 40E0 ldi r20,hlo8(128) |
970 08a4 50E0 ldi r21,hhi8(128) |
971 08a6 0E94 0000 call __divmodsi4 |
972 08aa C801 movw r24,r16 |
973 08ac B701 movw r22,r14 |
974 08ae 0E94 0000 call __mulsi3 |
975 08b2 660F lsl r22 |
976 08b4 771F rol r23 |
977 08b6 881F rol r24 |
978 08b8 991F rol r25 |
979 08ba 660F lsl r22 |
980 08bc 771F rol r23 |
981 08be 881F rol r24 |
982 08c0 991F rol r25 |
983 08c2 20E0 ldi r18,lo8(256) |
984 08c4 31E0 ldi r19,hi8(256) |
985 08c6 40E0 ldi r20,hlo8(256) |
986 08c8 50E0 ldi r21,hhi8(256) |
987 08ca 0E94 0000 call __divmodsi4 |
988 08ce C20E add r12,r18 |
989 08d0 D31E adc r13,r19 |
990 08d2 D092 0000 sts (ServoNickValue)+1,r13 |
991 08d6 C092 0000 sts ServoNickValue,r12 |
992 .L68: |
993 08da 8091 0000 lds r24,EE_Parameter+41 |
994 08de 282F mov r18,r24 |
995 08e0 30E0 ldi r19,lo8(0) |
996 08e2 220F lsl r18 |
997 08e4 331F rol r19 |
998 08e6 220F lsl r18 |
999 08e8 331F rol r19 |
1000 08ea 8091 0000 lds r24,ServoNickValue |
1001 08ee 9091 0000 lds r25,(ServoNickValue)+1 |
1002 08f2 8217 cp r24,r18 |
1003 08f4 9307 cpc r25,r19 |
1004 08f6 04F0 brlt .L96 |
1005 08f8 8091 0000 lds r24,EE_Parameter+42 |
1006 08fc 282F mov r18,r24 |
1007 08fe 30E0 ldi r19,lo8(0) |
1008 0900 220F lsl r18 |
1009 0902 331F rol r19 |
1010 0904 220F lsl r18 |
1011 0906 331F rol r19 |
1012 0908 8091 0000 lds r24,ServoNickValue |
1013 090c 9091 0000 lds r25,(ServoNickValue)+1 |
1014 0910 2817 cp r18,r24 |
1015 0912 3907 cpc r19,r25 |
1016 0914 04F4 brge .L70 |
1017 .L96: |
1018 0916 3093 0000 sts (ServoNickValue)+1,r19 |
1019 091a 2093 0000 sts ServoNickValue,r18 |
1020 .L70: |
1021 091e 8091 0000 lds r24,ServoNickValue |
1022 0922 9091 0000 lds r25,(ServoNickValue)+1 |
1023 0926 8755 subi r24,lo8(-(425)) |
1024 0928 9E4F sbci r25,hi8(-(425)) |
1025 092a 9093 0000 sts (RemainingPulse.2297)+1,r25 |
1026 092e 8093 0000 sts RemainingPulse.2297,r24 |
1027 0932 8091 0000 lds r24,ServoNickValue |
1028 0936 9091 0000 lds r25,(ServoNickValue)+1 |
1029 093a 97FD sbrc r25,7 |
1030 093c 00C0 rjmp .L110 |
1031 .L71: |
1032 093e 9595 asr r25 |
1033 0940 8795 ror r24 |
1034 0942 9595 asr r25 |
1035 0944 8795 ror r24 |
1036 0946 9093 0000 sts (ServoNickValue)+1,r25 |
1037 094a 8093 0000 sts ServoNickValue,r24 |
1038 094e 00C0 rjmp .L62 |
1039 .L102: |
1040 0950 0396 adiw r24,3 |
1041 0952 00C0 rjmp .L55 |
1042 .L100: |
1043 0954 4D5F subi r20,lo8(-(3)) |
1044 0956 5F4F sbci r21,hi8(-(3)) |
1045 0958 00C0 rjmp .L50 |
1046 .L78: |
1047 095a 3093 0000 sts (RemainingPulse.2297)+1,r19 |
1048 095e 2093 0000 sts RemainingPulse.2297,r18 |
1049 0962 00C0 rjmp .L79 |
1050 .L67: |
1051 0964 C090 0000 lds r12,ServoNickValue |
1052 0968 D090 0000 lds r13,(ServoNickValue)+1 |
1053 096c E090 0000 lds r14,EE_Parameter+40 |
1054 0970 FF24 clr r15 |
1055 0972 00E0 ldi r16,lo8(0) |
1056 0974 10E0 ldi r17,hi8(0) |
1057 0976 6091 0000 lds r22,IntegralNick |
1058 097a 7091 0000 lds r23,(IntegralNick)+1 |
1059 097e 8091 0000 lds r24,(IntegralNick)+2 |
1060 0982 9091 0000 lds r25,(IntegralNick)+3 |
1061 0986 20E8 ldi r18,lo8(128) |
1062 0988 30E0 ldi r19,hi8(128) |
1063 098a 40E0 ldi r20,hlo8(128) |
1064 098c 50E0 ldi r21,hhi8(128) |
1065 098e 0E94 0000 call __divmodsi4 |
1066 0992 C801 movw r24,r16 |
1067 0994 B701 movw r22,r14 |
1068 0996 0E94 0000 call __mulsi3 |
1069 099a 660F lsl r22 |
1070 099c 771F rol r23 |
1071 099e 881F rol r24 |
1072 09a0 991F rol r25 |
1073 09a2 660F lsl r22 |
1074 09a4 771F rol r23 |
1075 09a6 881F rol r24 |
1076 09a8 991F rol r25 |
1077 09aa 20E0 ldi r18,lo8(256) |
1078 09ac 31E0 ldi r19,hi8(256) |
1079 09ae 40E0 ldi r20,hlo8(256) |
1080 09b0 50E0 ldi r21,hhi8(256) |
1081 09b2 0E94 0000 call __divmodsi4 |
1082 09b6 C21A sub r12,r18 |
1083 09b8 D30A sbc r13,r19 |
1084 09ba D092 0000 sts (ServoNickValue)+1,r13 |
1085 09be C092 0000 sts ServoNickValue,r12 |
1086 09c2 00C0 rjmp .L68 |
1087 .L73: |
1088 09c4 C090 0000 lds r12,ServoRollValue |
1089 09c8 D090 0000 lds r13,(ServoRollValue)+1 |
1090 09cc E090 0000 lds r14,EE_Parameter+44 |
1091 09d0 FF24 clr r15 |
1092 09d2 00E0 ldi r16,lo8(0) |
1093 09d4 10E0 ldi r17,hi8(0) |
1094 09d6 6091 0000 lds r22,IntegralRoll |
1095 09da 7091 0000 lds r23,(IntegralRoll)+1 |
1096 09de 8091 0000 lds r24,(IntegralRoll)+2 |
1097 09e2 9091 0000 lds r25,(IntegralRoll)+3 |
1098 09e6 20E8 ldi r18,lo8(128) |
1099 09e8 30E0 ldi r19,hi8(128) |
1100 09ea 40E0 ldi r20,hlo8(128) |
1101 09ec 50E0 ldi r21,hhi8(128) |
1102 09ee 0E94 0000 call __divmodsi4 |
1103 09f2 C801 movw r24,r16 |
1104 09f4 B701 movw r22,r14 |
1105 09f6 0E94 0000 call __mulsi3 |
1106 09fa 660F lsl r22 |
1107 09fc 771F rol r23 |
1108 09fe 881F rol r24 |
1109 0a00 991F rol r25 |
1110 0a02 660F lsl r22 |
1111 0a04 771F rol r23 |
1112 0a06 881F rol r24 |
1113 0a08 991F rol r25 |
1114 0a0a 20E0 ldi r18,lo8(256) |
1115 0a0c 31E0 ldi r19,hi8(256) |
1116 0a0e 40E0 ldi r20,hlo8(256) |
1117 0a10 50E0 ldi r21,hhi8(256) |
1118 0a12 0E94 0000 call __divmodsi4 |
1119 0a16 C21A sub r12,r18 |
1120 0a18 D30A sbc r13,r19 |
1121 0a1a D092 0000 sts (ServoRollValue)+1,r13 |
1122 0a1e C092 0000 sts ServoRollValue,r12 |
1123 0a22 00C0 rjmp .L74 |
1124 .L109: |
1125 0a24 4D5F subi r20,lo8(-(3)) |
1126 0a26 5F4F sbci r21,hi8(-(3)) |
1127 0a28 00C0 rjmp .L66 |
1128 .L107: |
1129 0a2a 4D5F subi r20,lo8(-(3)) |
1130 0a2c 5F4F sbci r21,hi8(-(3)) |
1131 0a2e 00C0 rjmp .L72 |
1132 .L110: |
1133 0a30 0396 adiw r24,3 |
1134 0a32 00C0 rjmp .L71 |
1135 .L108: |
1136 0a34 0396 adiw r24,3 |
1137 0a36 00C0 rjmp .L77 |
1139 .global CountMilliseconds |
1140 .global CountMilliseconds |
1141 .section .bss |
1144 CountMilliseconds: |
1145 0000 0000 .skip 2,0 |
1146 .global UpdateMotor |
1147 .global UpdateMotor |
1150 UpdateMotor: |
1151 0002 00 .skip 1,0 |
1152 .global cntKompass |
1153 .global cntKompass |
1156 cntKompass: |
1157 0003 0000 .skip 2,0 |
1158 .global beeptime |
1159 .global beeptime |
1162 beeptime: |
1163 0005 0000 .skip 2,0 |
1164 .global SendSPI |
1165 .global SendSPI |
1168 SendSPI: |
1169 0007 00 .skip 1,0 |
1170 .global ServoActive |
1171 .global ServoActive |
1174 ServoActive: |
1175 0008 00 .skip 1,0 |
1176 .global BeepMuster |
1177 .data |
1180 BeepMuster: |
1181 0000 FFFF .word -1 |
1182 .global ServoNickValue |
1183 .global ServoNickValue |
1184 .section .bss |
1187 ServoNickValue: |
1188 0009 0000 .skip 2,0 |
1189 .global ServoRollValue |
1190 .global ServoRollValue |
1193 ServoRollValue: |
1194 000b 0000 .skip 2,0 |
1195 .data |
1198 ServoRollOffset.2301: |
1199 0002 FC01 .word 508 |
1202 ServoNickOffset.2300: |
1203 0004 FC01 .word 508 |
1204 .lcomm ServoIndex.2299,1 |
1205 .lcomm ServoFrameTime.2298,2 |
1206 .lcomm RemainingPulse.2297,2 |
1207 .lcomm PulseOutput.2296,1 |
1208 .lcomm cnt.2155,1 |
1211 cnt_1ms.2154: |
1212 0006 01 .byte 1 |
1213 .lcomm tim_main,2 |
1214 .comm Mixer,77,1 |
1215 .global __do_copy_data |
1216 .global __do_clear_bss |
DEFINED SYMBOLS |
*ABS*:00000000 timer0.c |
C:\Users\Arthur\AppData\Local\Temp/cc5hikm5.s:2 *ABS*:0000003f __SREG__ |
C:\Users\Arthur\AppData\Local\Temp/cc5hikm5.s:3 *ABS*:0000003e __SP_H__ |
C:\Users\Arthur\AppData\Local\Temp/cc5hikm5.s:4 *ABS*:0000003d __SP_L__ |
C:\Users\Arthur\AppData\Local\Temp/cc5hikm5.s:5 *ABS*:00000034 __CCP__ |
C:\Users\Arthur\AppData\Local\Temp/cc5hikm5.s:6 *ABS*:00000000 __tmp_reg__ |
C:\Users\Arthur\AppData\Local\Temp/cc5hikm5.s:7 *ABS*:00000001 __zero_reg__ |
C:\Users\Arthur\AppData\Local\Temp/cc5hikm5.s:11 .text:00000000 __vector_18 |
C:\Users\Arthur\AppData\Local\Temp/cc5hikm5.s:1168 .bss:00000007 SendSPI |
C:\Users\Arthur\AppData\Local\Temp/cc5hikm5.s:1207 .bss:00000013 cnt.2155 |
C:\Users\Arthur\AppData\Local\Temp/cc5hikm5.s:1211 .data:00000006 cnt_1ms.2154 |
C:\Users\Arthur\AppData\Local\Temp/cc5hikm5.s:1144 .bss:00000000 CountMilliseconds |
C:\Users\Arthur\AppData\Local\Temp/cc5hikm5.s:1162 .bss:00000005 beeptime |
C:\Users\Arthur\AppData\Local\Temp/cc5hikm5.s:1180 .data:00000000 BeepMuster |
C:\Users\Arthur\AppData\Local\Temp/cc5hikm5.s:1156 .bss:00000003 cntKompass |
C:\Users\Arthur\AppData\Local\Temp/cc5hikm5.s:1150 .bss:00000002 UpdateMotor |
C:\Users\Arthur\AppData\Local\Temp/cc5hikm5.s:191 .text:000001ba SetDelay |
C:\Users\Arthur\AppData\Local\Temp/cc5hikm5.s:206 .text:000001ce CheckDelay |
C:\Users\Arthur\AppData\Local\Temp/cc5hikm5.s:222 .text:000001e4 Delay_ms |
C:\Users\Arthur\AppData\Local\Temp/cc5hikm5.s:248 .text:00000210 Delay_ms_Mess |
C:\Users\Arthur\AppData\Local\Temp/cc5hikm5.s:282 .text:00000250 TIMER2_Init |
C:\Users\Arthur\AppData\Local\Temp/cc5hikm5.s:330 .text:0000029e Timer_Init |
C:\Users\Arthur\AppData\Local\Temp/cc5hikm5.s:1208 .bss:00000014 tim_main |
C:\Users\Arthur\AppData\Local\Temp/cc5hikm5.s:357 .text:000002ce __vector_9 |
C:\Users\Arthur\AppData\Local\Temp/cc5hikm5.s:1206 .bss:00000012 PulseOutput.2296 |
C:\Users\Arthur\AppData\Local\Temp/cc5hikm5.s:1202 .data:00000004 ServoNickOffset.2300 |
C:\Users\Arthur\AppData\Local\Temp/cc5hikm5.s:1187 .bss:00000009 ServoNickValue |
C:\Users\Arthur\AppData\Local\Temp/cc5hikm5.s:1205 .bss:00000010 RemainingPulse.2297 |
C:\Users\Arthur\AppData\Local\Temp/cc5hikm5.s:1204 .bss:0000000e ServoFrameTime.2298 |
.bss:0000000d ServoIndex.2299 |
C:\Users\Arthur\AppData\Local\Temp/cc5hikm5.s:1174 .bss:00000008 ServoActive |
C:\Users\Arthur\AppData\Local\Temp/cc5hikm5.s:1198 .data:00000002 ServoRollOffset.2301 |
C:\Users\Arthur\AppData\Local\Temp/cc5hikm5.s:1193 .bss:0000000b ServoRollValue |
*COM*:0000004d Mixer |
|
UNDEFINED SYMBOLS |
SpektrumTimer |
PlatinenVersion |
EE_Parameter |
__udivmodhi4 |
KompassValue |
KompassStartwert |
__divmodhi4 |
KompassRichtung |
AdReady |
Parameter_UserParam8 |
Parameter_ServoNickControl |
IntegralNick |
__divmodsi4 |
__mulsi3 |
SenderOkay |
PPM_in |
Parameter_ServoRollControl |
IntegralRoll |
__do_copy_data |
__do_clear_bss |