Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
1 .file "Spektrum.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 SpektrumTimer
11 .global SpektrumTimer
12 .section .bss
15 SpektrumTimer:
16 0000 00 .skip 1,0
17 .text
18 .global SpektrumUartInit
20 SpektrumUartInit:
21 /* prologue: frame size=0 */
22 /* prologue end (size=0) */
23 0000 4FB7 in r20,95-0x20
24 0002 24E1 ldi r18,lo8(20)
25 0004 30E0 ldi r19,hi8(20)
26 /* #APP */
27 0006 F894 cli
28 /* #NOAPP */
29 0008 8091 C900 lds r24,201
30 000c 8F77 andi r24,lo8(127)
31 000e 8093 C900 sts 201,r24
32 0012 8091 C900 lds r24,201
33 0016 8F7B andi r24,lo8(-65)
34 0018 8093 C900 sts 201,r24
35 001c 8091 C900 lds r24,201
36 0020 8F7D andi r24,lo8(-33)
37 0022 8093 C900 sts 201,r24
38 0026 5A9A sbi 43-0x20,2
39 0028 5298 cbi 42-0x20,2
40 002a 5B9A sbi 43-0x20,3
41 002c 539A sbi 42-0x20,3
42 002e 832F mov r24,r19
43 0030 9927 clr r25
44 0032 8093 CD00 sts 205,r24
45 0036 2093 CC00 sts 204,r18
46 003a 8091 C800 lds r24,200
47 003e 8260 ori r24,lo8(2)
48 0040 8093 C800 sts 200,r24
49 0044 80E1 ldi r24,lo8(16)
50 0046 8093 C900 sts 201,r24
51 004a 8091 CA00 lds r24,202
52 004e 8F77 andi r24,lo8(127)
53 0050 8093 CA00 sts 202,r24
54 0054 8091 CA00 lds r24,202
55 0058 8F7B andi r24,lo8(-65)
56 005a 8093 CA00 sts 202,r24
57 005e 8091 CA00 lds r24,202
58 0062 8F7D andi r24,lo8(-33)
59 0064 8093 CA00 sts 202,r24
60 0068 8091 CA00 lds r24,202
61 006c 8F7E andi r24,lo8(-17)
62 006e 8093 CA00 sts 202,r24
63 0072 8091 CA00 lds r24,202
64 0076 877F andi r24,lo8(-9)
65 0078 8093 CA00 sts 202,r24
66 007c 8091 C900 lds r24,201
67 0080 8B7F andi r24,lo8(-5)
68 0082 8093 C900 sts 201,r24
69 0086 8091 CA00 lds r24,202
70 008a 8460 ori r24,lo8(4)
71 008c 8093 CA00 sts 202,r24
72 0090 8091 CA00 lds r24,202
73 0094 8260 ori r24,lo8(2)
74 0096 8093 CA00 sts 202,r24
75 .L7:
76 009a 8091 C800 lds r24,200
77 009e 87FF sbrs r24,7
78 00a0 03C0 rjmp .L6
79 00a2 8091 CE00 lds r24,206
80 00a6 F9CF rjmp .L7
81 .L6:
82 00a8 8091 C900 lds r24,201
83 00ac 8068 ori r24,lo8(-128)
84 00ae 8093 C900 sts 201,r24
85 00b2 4FBF out 95-0x20,r20
86 /* epilogue: frame size=0 */
87 00b4 0895 ret
88 /* epilogue end (size=1) */
89 /* function SpektrumUartInit size 92 (91) */
91 .section .progmem.data,"a",@progbits
94 __c.5:
95 0000 0A0D 506C .string "\n\rPlease connect Spektrum receiver for binding NOW..."
95 6561 7365
95 2063 6F6E
95 6E65 6374
95 2053 7065
98 __c.6:
99 0036 6F6B 2E0A .string "ok.\n\r"
99 0D00
102 __c.7:
103 003c 5469 6D65 .string "Timeout.\n\r"
103 6F75 742E
103 0A0D 00
104 .text
105 .global SpektrumBinding
107 SpektrumBinding:
108 /* prologue: frame size=0 */
109 00b6 FF92 push r15
110 00b8 0F93 push r16
111 00ba 1F93 push r17
112 00bc CF93 push r28
113 00be DF93 push r29
114 /* prologue end (size=5) */
115 00c0 80E1 ldi r24,lo8(10000)
116 00c2 97E2 ldi r25,hi8(10000)
117 00c4 0E94 0000 call SetDelay
118 00c8 EC01 movw r28,r24
119 00ca FF24 clr r15
120 00cc 8091 C900 lds r24,201
121 00d0 8F77 andi r24,lo8(127)
122 00d2 8093 C900 sts 201,r24
123 00d6 8091 C900 lds r24,201
124 00da 8F7E andi r24,lo8(-17)
125 00dc 8093 C900 sts 201,r24
126 00e0 5A98 cbi 43-0x20,2
127 00e2 80E0 ldi r24,lo8(__c.5)
128 00e4 90E0 ldi r25,hi8(__c.5)
129 00e6 9F93 push r25
130 00e8 8F93 push r24
131 00ea 00E0 ldi r16,lo8(pm(uart_putchar))
132 00ec 10E0 ldi r17,hi8(pm(uart_putchar))
133 00ee 1F93 push r17
134 00f0 0F93 push r16
135 00f2 E091 0000 lds r30,_printf_P
136 00f6 F091 0000 lds r31,(_printf_P)+1
137 00fa 0995 icall
138 00fc 0F90 pop __tmp_reg__
139 00fe 0F90 pop __tmp_reg__
140 0100 0F90 pop __tmp_reg__
141 0102 0F90 pop __tmp_reg__
142 0104 02C0 rjmp .L9
143 .L12:
144 0106 4A99 sbic 41-0x20,2
145 0108 6CC0 rjmp .L96
146 .L9:
147 010a CE01 movw r24,r28
148 010c 0E94 0000 call CheckDelay
149 0110 8823 tst r24
150 0112 C9F3 breq .L12
151 .L10:
152 0114 E091 0000 lds r30,_printf_P
153 0118 F091 0000 lds r31,(_printf_P)+1
154 011c FF20 tst r15
155 011e 09F4 brne .+2
156 0120 68C0 rjmp .L13
157 0122 80E0 ldi r24,lo8(__c.6)
158 0124 90E0 ldi r25,hi8(__c.6)
159 0126 9F93 push r25
160 0128 8F93 push r24
161 012a 1F93 push r17
162 012c 0F93 push r16
163 012e 0995 icall
164 0130 529A sbi 42-0x20,2
165 0132 0F90 pop __tmp_reg__
166 0134 0F90 pop __tmp_reg__
167 0136 0F90 pop __tmp_reg__
168 0138 0F90 pop __tmp_reg__
169 .L14:
170 013a CE01 movw r24,r28
171 013c 0E94 0000 call CheckDelay
172 0140 8823 tst r24
173 0142 D9F3 breq .L14
174 0144 83E6 ldi r24,lo8(99)
175 0146 90E0 ldi r25,hi8(99)
176 .L20:
177 0148 5A9A sbi 43-0x20,2
178 014a 0197 sbiw r24,1
179 014c 97FF sbrs r25,7
180 014e FCCF rjmp .L20
181 0150 8FE8 ldi r24,lo8(399)
182 0152 91E0 ldi r25,hi8(399)
183 .L24:
184 0154 5A98 cbi 43-0x20,2
185 0156 0197 sbiw r24,1
186 0158 97FF sbrs r25,7
187 015a FCCF rjmp .L24
188 015c 89E0 ldi r24,lo8(9)
189 015e 90E0 ldi r25,hi8(9)
190 .L28:
191 0160 5A9A sbi 43-0x20,2
192 0162 0197 sbiw r24,1
193 0164 97FF sbrs r25,7
194 0166 FCCF rjmp .L28
195 0168 89E0 ldi r24,lo8(9)
196 016a 90E0 ldi r25,hi8(9)
197 .L32:
198 016c 5A98 cbi 43-0x20,2
199 016e 0197 sbiw r24,1
200 0170 97FF sbrs r25,7
201 0172 FCCF rjmp .L32
202 0174 8FE8 ldi r24,lo8(399)
203 0176 91E0 ldi r25,hi8(399)
204 .L36:
205 0178 5A9A sbi 43-0x20,2
206 017a 0197 sbiw r24,1
207 017c 97FF sbrs r25,7
208 017e FCCF rjmp .L36
209 0180 8FE8 ldi r24,lo8(399)
210 0182 91E0 ldi r25,hi8(399)
211 .L40:
212 0184 5A98 cbi 43-0x20,2
213 0186 0197 sbiw r24,1
214 0188 97FF sbrs r25,7
215 018a FCCF rjmp .L40
216 018c 89E0 ldi r24,lo8(9)
217 018e 90E0 ldi r25,hi8(9)
218 .L44:
219 0190 5A9A sbi 43-0x20,2
220 0192 0197 sbiw r24,1
221 0194 97FF sbrs r25,7
222 0196 FCCF rjmp .L44
223 0198 89E0 ldi r24,lo8(9)
224 019a 90E0 ldi r25,hi8(9)
225 .L48:
226 019c 5A98 cbi 43-0x20,2
227 019e 0197 sbiw r24,1
228 01a0 97FF sbrs r25,7
229 01a2 FCCF rjmp .L48
230 01a4 8FE8 ldi r24,lo8(399)
231 01a6 91E0 ldi r25,hi8(399)
232 .L52:
233 01a8 5A9A sbi 43-0x20,2
234 01aa 0197 sbiw r24,1
235 01ac 97FF sbrs r25,7
236 01ae FCCF rjmp .L52
237 01b0 8FE8 ldi r24,lo8(399)
238 01b2 91E0 ldi r25,hi8(399)
239 .L56:
240 01b4 5A98 cbi 43-0x20,2
241 01b6 0197 sbiw r24,1
242 01b8 97FF sbrs r25,7
243 01ba FCCF rjmp .L56
244 01bc 89E0 ldi r24,lo8(9)
245 01be 90E0 ldi r25,hi8(9)
246 .L60:
247 01c0 5A9A sbi 43-0x20,2
248 01c2 0197 sbiw r24,1
249 01c4 97FF sbrs r25,7
250 01c6 FCCF rjmp .L60
251 01c8 89E0 ldi r24,lo8(9)
252 01ca 90E0 ldi r25,hi8(9)
253 .L64:
254 01cc 5A98 cbi 43-0x20,2
255 01ce 0197 sbiw r24,1
256 01d0 97FF sbrs r25,7
257 01d2 FCCF rjmp .L64
258 01d4 8FE8 ldi r24,lo8(399)
259 01d6 91E0 ldi r25,hi8(399)
260 .L68:
261 01d8 5A9A sbi 43-0x20,2
262 01da 0197 sbiw r24,1
263 01dc 97FF sbrs r25,7
264 01de FCCF rjmp .L68
265 01e0 13C0 rjmp .L69
266 .L96:
267 01e2 8AE5 ldi r24,lo8(90)
268 01e4 90E0 ldi r25,hi8(90)
269 01e6 0E94 0000 call SetDelay
270 01ea EC01 movw r28,r24
271 01ec 91E0 ldi r25,lo8(1)
272 01ee F92E mov r15,r25
273 01f0 91CF rjmp .L10
274 .L13:
275 01f2 80E0 ldi r24,lo8(__c.7)
276 01f4 90E0 ldi r25,hi8(__c.7)
277 01f6 9F93 push r25
278 01f8 8F93 push r24
279 01fa 1F93 push r17
280 01fc 0F93 push r16
281 01fe 0995 icall
282 0200 0F90 pop __tmp_reg__
283 0202 0F90 pop __tmp_reg__
284 0204 0F90 pop __tmp_reg__
285 0206 0F90 pop __tmp_reg__
286 .L69:
287 0208 5298 cbi 42-0x20,2
288 020a 5A98 cbi 43-0x20,2
289 020c 0E94 0000 call SpektrumUartInit
290 /* epilogue: frame size=0 */
291 0210 E5E0 ldi r30,5
292 0212 CDB7 in r28,__SP_L__
293 0214 DEB7 in r29,__SP_H__
294 0216 0C94 0000 jmp __epilogue_restores__+26
295 /* epilogue end (size=5) */
296 /* function SpektrumBinding size 178 (168) */
298 .lcomm Sync.0,1
299 .lcomm FrameCnt.1,1
300 .lcomm ByteHigh.2,1
301 .data
304 ReSync.3:
305 0000 01 .byte 1
306 .lcomm Frame2.4,1
307 .text
308 .global SpektrumParser
310 SpektrumParser:
311 /* prologue: frame size=0 */
312 021a EF92 push r14
313 021c FF92 push r15
314 021e 0F93 push r16
315 0220 1F93 push r17
316 0222 CF93 push r28
317 0224 DF93 push r29
318 /* prologue end (size=6) */
319 0226 482F mov r20,r24
320 0228 00E0 ldi r16,lo8(0)
321 022a 10E0 ldi r17,hi8(0)
322 022c 8091 0000 lds r24,ReSync.3
323 0230 8130 cpi r24,lo8(1)
324 0232 61F4 brne .L98
325 0234 1092 0000 sts ReSync.3,__zero_reg__
326 0238 84E4 ldi r24,lo8(68)
327 023a 8093 0000 sts SpektrumTimer,r24
328 023e 1092 0000 sts FrameCnt.1,__zero_reg__
329 0242 1092 0000 sts Sync.0,__zero_reg__
330 0246 1092 0000 sts ByteHigh.2,__zero_reg__
331 024a 2BC1 rjmp .L97
332 .L98:
333 024c 8091 0000 lds r24,SpektrumTimer
334 0250 8823 tst r24
335 0252 19F4 brne .L100
336 0254 21E0 ldi r18,lo8(1)
337 0256 30E0 ldi r19,hi8(1)
338 0258 01C0 rjmp .L101
339 .L100:
340 025a 9801 movw r18,r16
341 .L101:
342 025c 9091 0000 lds r25,Sync.0
343 0260 9923 tst r25
344 0262 71F4 brne .L102
345 0264 232B or r18,r19
346 0266 11F0 breq .L103
347 0268 81E0 ldi r24,lo8(1)
348 026a 10C0 rjmp .L138
349 .L103:
350 026c 84E4 ldi r24,lo8(68)
351 026e 8093 0000 sts SpektrumTimer,r24
352 0272 9093 0000 sts FrameCnt.1,r25
353 0276 9093 0000 sts Sync.0,r25
354 027a 9093 0000 sts ByteHigh.2,r25
355 027e FAC0 rjmp .L105
356 .L102:
357 0280 9130 cpi r25,lo8(1)
358 0282 69F4 brne .L106
359 0284 232B or r18,r19
360 0286 09F0 breq .+2
361 0288 EBC0 rjmp .L112
362 028a 82E0 ldi r24,lo8(2)
363 .L138:
364 028c 8093 0000 sts Sync.0,r24
365 0290 8091 0000 lds r24,FrameCnt.1
366 0294 8F5F subi r24,lo8(-(1))
367 0296 8093 0000 sts FrameCnt.1,r24
368 029a 83E0 ldi r24,lo8(3)
369 029c E9C0 rjmp .L136
370 .L106:
371 029e 9230 cpi r25,lo8(2)
372 02a0 D1F4 brne .L108
373 02a2 232B or r18,r19
374 02a4 09F0 breq .+2
375 02a6 DCC0 rjmp .L112
376 02a8 83E0 ldi r24,lo8(3)
377 02aa 8093 0000 sts SpektrumTimer,r24
378 02ae 4093 0000 sts ByteHigh.2,r20
379 02b2 9091 0000 lds r25,FrameCnt.1
380 02b6 9230 cpi r25,lo8(2)
381 02b8 39F4 brne .L109
382 02ba 1092 0000 sts Frame2.4,__zero_reg__
383 02be 47FF sbrs r20,7
384 02c0 03C0 rjmp .L109
385 02c2 81E0 ldi r24,lo8(1)
386 02c4 8093 0000 sts Frame2.4,r24
387 .L109:
388 02c8 83E0 ldi r24,lo8(3)
389 02ca 8093 0000 sts Sync.0,r24
390 02ce 9F5F subi r25,lo8(-(1))
391 02d0 9093 0000 sts FrameCnt.1,r25
392 02d4 CFC0 rjmp .L105
393 .L108:
394 02d6 9330 cpi r25,lo8(3)
395 02d8 09F0 breq .+2
396 02da C2C0 rjmp .L112
397 02dc 232B or r18,r19
398 02de 09F0 breq .+2
399 02e0 BFC0 rjmp .L112
400 02e2 9093 0000 sts SpektrumTimer,r25
401 02e6 82E0 ldi r24,lo8(2)
402 02e8 8093 0000 sts Sync.0,r24
403 02ec 8091 0000 lds r24,FrameCnt.1
404 02f0 8F5F subi r24,lo8(-(1))
405 02f2 8093 0000 sts FrameCnt.1,r24
406 02f6 2091 0000 lds r18,ByteHigh.2
407 02fa 822F mov r24,r18
408 02fc 9927 clr r25
409 02fe 782F mov r23,r24
410 0300 6627 clr r22
411 0302 842F mov r24,r20
412 0304 9927 clr r25
413 0306 682B or r22,r24
414 0308 792B or r23,r25
415 030a 8091 0000 lds r24,EE_Parameter+39
416 030e 8130 cpi r24,lo8(1)
417 0310 49F4 brne .L113
418 0312 7370 andi r23,hi8(1023)
419 0314 CB01 movw r24,r22
420 0316 8050 subi r24,lo8(-(-512))
421 0318 9240 sbci r25,hi8(-(-512))
422 031a 63E0 ldi r22,lo8(3)
423 031c 70E0 ldi r23,hi8(3)
424 031e 0E94 0000 call __divmodhi4
425 0322 17C0 rjmp .L137
426 .L113:
427 0324 8230 cpi r24,lo8(2)
428 0326 61F4 brne .L115
429 0328 7770 andi r23,hi8(2047)
430 032a CB01 movw r24,r22
431 032c 8050 subi r24,lo8(-(-1024))
432 032e 9440 sbci r25,hi8(-(-1024))
433 0330 66E0 ldi r22,lo8(6)
434 0332 70E0 ldi r23,hi8(6)
435 0334 0E94 0000 call __divmodhi4
436 0338 2695 lsr r18
437 033a 2695 lsr r18
438 033c 2695 lsr r18
439 033e 0BC0 rjmp .L135
440 .L115:
441 0340 7370 andi r23,hi8(1023)
442 0342 6856 subi r22,lo8(-(-360))
443 0344 7140 sbci r23,hi8(-(-360))
444 0346 CB01 movw r24,r22
445 0348 77FD sbrc r23,7
446 034a 0196 adiw r24,1
447 .L117:
448 034c BC01 movw r22,r24
449 034e 7595 asr r23
450 0350 6795 ror r22
451 .L137:
452 0352 2695 lsr r18
453 0354 2695 lsr r18
454 .L135:
455 0356 022F mov r16,r18
456 0358 1127 clr r17
457 035a 0F70 andi r16,lo8(15)
458 035c 1070 andi r17,hi8(15)
459 035e 0F5F subi r16,lo8(-(1))
460 0360 1F4F sbci r17,hi8(-(1))
461 0362 0D30 cpi r16,13
462 0364 1105 cpc r17,__zero_reg__
463 0366 08F0 brlo .+2
464 0368 74C0 rjmp .L118
465 036a 7801 movw r14,r16
466 036c E00E add r14,r16
467 036e F11E adc r15,r17
468 0370 F701 movw r30,r14
469 0372 E050 subi r30,lo8(-(PPM_in))
470 0374 F040 sbci r31,hi8(-(PPM_in))
471 0376 8081 ld r24,Z
472 0378 9181 ldd r25,Z+1
473 037a 9B01 movw r18,r22
474 037c 281B sub r18,r24
475 037e 390B sbc r19,r25
476 0380 C901 movw r24,r18
477 0382 37FF sbrs r19,7
478 0384 03C0 rjmp .L120
479 0386 9095 com r25
480 0388 8195 neg r24
481 038a 9F4F sbci r25,lo8(-1)
482 .L120:
483 038c 0697 sbiw r24,6
484 038e 94F4 brge .L119
485 0390 8091 0000 lds r24,SenderOkay
486 0394 883C cpi r24,lo8(-56)
487 0396 30F4 brsh .L121
488 0398 8091 0000 lds r24,SenderOkay
489 039c 865F subi r24,lo8(-(10))
490 039e 8093 0000 sts SenderOkay,r24
491 03a2 08C0 rjmp .L119
492 .L121:
493 03a4 88EC ldi r24,lo8(-56)
494 03a6 8093 0000 sts SenderOkay,r24
495 03aa 8091 6F00 lds r24,111
496 03ae 8F7D andi r24,lo8(-33)
497 03b0 8093 6F00 sts 111,r24
498 .L119:
499 03b4 F701 movw r30,r14
500 03b6 E050 subi r30,lo8(-(PPM_in))
501 03b8 F040 sbci r31,hi8(-(PPM_in))
502 03ba 8081 ld r24,Z
503 03bc 9181 ldd r25,Z+1
504 03be 9C01 movw r18,r24
505 03c0 220F lsl r18
506 03c2 331F rol r19
507 03c4 280F add r18,r24
508 03c6 391F adc r19,r25
509 03c8 260F add r18,r22
510 03ca 371F adc r19,r23
511 03cc 37FF sbrs r19,7
512 03ce 02C0 rjmp .L123
513 03d0 2D5F subi r18,lo8(-(3))
514 03d2 3F4F sbci r19,hi8(-(3))
515 .L123:
516 03d4 E901 movw r28,r18
517 03d6 D595 asr r29
518 03d8 C795 ror r28
519 03da D595 asr r29
520 03dc C795 ror r28
521 03de CB01 movw r24,r22
522 03e0 0196 adiw r24,1
523 03e2 8C17 cp r24,r28
524 03e4 9D07 cpc r25,r29
525 03e6 14F4 brge .L124
526 03e8 2197 sbiw r28,1
527 03ea 06C0 rjmp .L125
528 .L124:
529 03ec 6150 subi r22,lo8(-(-1))
530 03ee 7040 sbci r23,hi8(-(-1))
531 03f0 C617 cp r28,r22
532 03f2 D707 cpc r29,r23
533 03f4 0CF4 brge .L125
534 03f6 2196 adiw r28,1
535 .L125:
536 03f8 8091 0000 lds r24,SenderOkay
537 03fc 843B cpi r24,lo8(-76)
538 03fe D0F0 brlo .L127
539 0400 F701 movw r30,r14
540 0402 E050 subi r30,lo8(-(PPM_in))
541 0404 F040 sbci r31,hi8(-(PPM_in))
542 0406 8081 ld r24,Z
543 0408 9181 ldd r25,Z+1
544 040a FE01 movw r30,r28
545 040c E81B sub r30,r24
546 040e F90B sbc r31,r25
547 0410 CF01 movw r24,r30
548 0412 63E0 ldi r22,lo8(3)
549 0414 70E0 ldi r23,hi8(3)
550 0416 0E94 0000 call __divmodhi4
551 041a CB01 movw r24,r22
552 041c 880F lsl r24
553 041e 991F rol r25
554 0420 860F add r24,r22
555 0422 971F adc r25,r23
556 0424 20E0 ldi r18,lo8(PPM_diff)
557 0426 30E0 ldi r19,hi8(PPM_diff)
558 0428 E20E add r14,r18
559 042a F31E adc r15,r19
560 042c F701 movw r30,r14
561 042e 9183 std Z+1,r25
562 0430 8083 st Z,r24
563 0432 07C0 rjmp .L128
564 .L127:
565 0434 20E0 ldi r18,lo8(PPM_diff)
566 0436 30E0 ldi r19,hi8(PPM_diff)
567 0438 E20E add r14,r18
568 043a F31E adc r15,r19
569 043c F701 movw r30,r14
570 043e 1182 std Z+1,__zero_reg__
571 0440 1082 st Z,__zero_reg__
572 .L128:
573 0442 000F add r16,r16
574 0444 111F adc r17,r17
575 0446 0050 subi r16,lo8(-(PPM_in))
576 0448 1040 sbci r17,hi8(-(PPM_in))
577 044a F801 movw r30,r16
578 044c D183 std Z+1,r29
579 044e C083 st Z,r28
580 0450 11C0 rjmp .L105
581 .L118:
582 0452 0231 cpi r16,18
583 0454 1105 cpc r17,__zero_reg__
584 0456 70F0 brlo .L105
585 0458 81E0 ldi r24,lo8(1)
586 045a 8093 0000 sts ReSync.3,r24
587 045e 0AC0 rjmp .L105
588 .L112:
589 0460 81E0 ldi r24,lo8(1)
590 0462 8093 0000 sts ReSync.3,r24
591 0466 1092 0000 sts FrameCnt.1,__zero_reg__
592 046a 1092 0000 sts Frame2.4,__zero_reg__
593 046e 84E4 ldi r24,lo8(68)
594 .L136:
595 0470 8093 0000 sts SpektrumTimer,r24
596 .L105:
597 0474 8091 0000 lds r24,FrameCnt.1
598 0478 8031 cpi r24,lo8(16)
599 047a 98F0 brlo .L97
600 047c 8091 0000 lds r24,Frame2.4
601 0480 8823 tst r24
602 0482 31F4 brne .L133
603 0484 8091 0000 lds r24,ReSync.3
604 0488 8823 tst r24
605 048a 11F4 brne .L133
606 048c 8093 0000 sts NewPpmData,r24
607 .L133:
608 0490 1092 0000 sts FrameCnt.1,__zero_reg__
609 0494 1092 0000 sts Frame2.4,__zero_reg__
610 0498 1092 0000 sts Sync.0,__zero_reg__
611 049c 84E4 ldi r24,lo8(68)
612 049e 8093 0000 sts SpektrumTimer,r24
613 .L97:
614 /* epilogue: frame size=0 */
615 04a2 E6E0 ldi r30,6
616 04a4 CDB7 in r28,__SP_L__
617 04a6 DEB7 in r29,__SP_H__
618 04a8 0C94 0000 jmp __epilogue_restores__+24
619 /* epilogue end (size=5) */
620 /* function SpektrumParser size 334 (323) */
622 /* File "Spektrum.c": code 604 = 0x025c ( 582), prologues 11, epilogues 11 */
DEFINED SYMBOLS
*ABS*:00000000 Spektrum.c
C:\Users\Arthur-P\AppData\Local\Temp/ccIfbaaa.s:3 *ABS*:0000003f __SREG__
C:\Users\Arthur-P\AppData\Local\Temp/ccIfbaaa.s:4 *ABS*:0000003e __SP_H__
C:\Users\Arthur-P\AppData\Local\Temp/ccIfbaaa.s:5 *ABS*:0000003d __SP_L__
C:\Users\Arthur-P\AppData\Local\Temp/ccIfbaaa.s:6 *ABS*:00000000 __tmp_reg__
C:\Users\Arthur-P\AppData\Local\Temp/ccIfbaaa.s:7 *ABS*:00000001 __zero_reg__
C:\Users\Arthur-P\AppData\Local\Temp/ccIfbaaa.s:15 .bss:00000000 SpektrumTimer
C:\Users\Arthur-P\AppData\Local\Temp/ccIfbaaa.s:20 .text:00000000 SpektrumUartInit
C:\Users\Arthur-P\AppData\Local\Temp/ccIfbaaa.s:94 .progmem.data:00000000 __c.5
C:\Users\Arthur-P\AppData\Local\Temp/ccIfbaaa.s:98 .progmem.data:00000036 __c.6
C:\Users\Arthur-P\AppData\Local\Temp/ccIfbaaa.s:102 .progmem.data:0000003c __c.7
C:\Users\Arthur-P\AppData\Local\Temp/ccIfbaaa.s:107 .text:000000b6 SpektrumBinding
.bss:00000001 Sync.0
C:\Users\Arthur-P\AppData\Local\Temp/ccIfbaaa.s:298 .bss:00000002 FrameCnt.1
C:\Users\Arthur-P\AppData\Local\Temp/ccIfbaaa.s:299 .bss:00000003 ByteHigh.2
C:\Users\Arthur-P\AppData\Local\Temp/ccIfbaaa.s:304 .data:00000000 ReSync.3
C:\Users\Arthur-P\AppData\Local\Temp/ccIfbaaa.s:300 .bss:00000004 Frame2.4
C:\Users\Arthur-P\AppData\Local\Temp/ccIfbaaa.s:310 .text:0000021a SpektrumParser
UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
SetDelay
uart_putchar
_printf_P
CheckDelay
__epilogue_restores__
EE_Parameter
__divmodhi4
PPM_in
SenderOkay
PPM_diff
NewPpmData