Subversion Repositories FlightCtrl

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
1379 Arthur 1
   1               		.file	"Spectrum.c"
2
   2               	__SREG__ = 0x3f
3
   3               	__SP_H__ = 0x3e
4
   4               	__SP_L__ = 0x3d
5
   5               	__CCP__  = 0x34
6
   6               	__tmp_reg__ = 0
7
   7               	__zero_reg__ = 1
8
   8               		.text
9
   9               	.global	Uart1Init
10
  11               	Uart1Init:
11
  12               	/* prologue: function */
12
  13               	/* frame size = 0 */
13
  14 0000 8091 C900 		lds r24,201
14
  15 0004 8F77      		andi r24,lo8(127)
15
  16 0006 8093 C900 		sts 201,r24
16
  17 000a 8091 C900 		lds r24,201
17
  18 000e 8F7B      		andi r24,lo8(-65)
18
  19 0010 8093 C900 		sts 201,r24
19
  20 0014 8091 C900 		lds r24,201
20
  21 0018 8F7D      		andi r24,lo8(-33)
21
  22 001a 8093 C900 		sts 201,r24
22
  23 001e 5A9A      		sbi 43-32,2
23
  24 0020 5298      		cbi 42-32,2
24
  25 0022 1092 CD00 		sts 205,__zero_reg__
25
  26 0026 84E1      		ldi r24,lo8(20)
26
  27 0028 8093 CC00 		sts 204,r24
27
  28 002c 8091 C800 		lds r24,200
28
  29 0030 8260      		ori r24,lo8(2)
29
  30 0032 8093 C800 		sts 200,r24
30
  31 0036 80E1      		ldi r24,lo8(16)
31
  32 0038 8093 C900 		sts 201,r24
32
  33 003c 8091 CA00 		lds r24,202
33
  34 0040 8F77      		andi r24,lo8(127)
34
  35 0042 8093 CA00 		sts 202,r24
35
  36 0046 8091 CA00 		lds r24,202
36
  37 004a 8F7B      		andi r24,lo8(-65)
37
  38 004c 8093 CA00 		sts 202,r24
38
  39 0050 8091 CA00 		lds r24,202
39
  40 0054 8F7D      		andi r24,lo8(-33)
40
  41 0056 8093 CA00 		sts 202,r24
41
  42 005a 8091 CA00 		lds r24,202
42
  43 005e 8F7E      		andi r24,lo8(-17)
43
  44 0060 8093 CA00 		sts 202,r24
44
  45 0064 8091 CA00 		lds r24,202
45
  46 0068 877F      		andi r24,lo8(-9)
46
  47 006a 8093 CA00 		sts 202,r24
47
  48 006e 8091 C900 		lds r24,201
48
  49 0072 8B7F      		andi r24,lo8(-5)
49
  50 0074 8093 C900 		sts 201,r24
50
  51 0078 8091 CA00 		lds r24,202
51
  52 007c 8460      		ori r24,lo8(4)
52
  53 007e 8093 CA00 		sts 202,r24
53
  54 0082 8091 CA00 		lds r24,202
54
  55 0086 8260      		ori r24,lo8(2)
55
  56 0088 8093 CA00 		sts 202,r24
56
  57 008c 8091 C800 		lds r24,200
57
  58 0090 87FF      		sbrs r24,7
58
  59 0092 00C0      		rjmp .L2
59
  60               	.L5:
60
  61 0094 8091 CE00 		lds r24,206
61
  62 0098 8091 C800 		lds r24,200
62
  63 009c 87FD      		sbrc r24,7
63
  64 009e 00C0      		rjmp .L5
64
  65               	.L2:
65
  66 00a0 8091 C900 		lds r24,201
66
  67 00a4 8068      		ori r24,lo8(-128)
67
  68 00a6 8093 C900 		sts 201,r24
68
  69               	/* epilogue start */
69
  70 00aa 0895      		ret
70
  72               	.global	__vector_28
71
  74               	__vector_28:
72
  75 00ac 1F92      		push __zero_reg__
73
  76 00ae 0F92      		push r0
74
  77 00b0 0FB6      		in r0,__SREG__
75
  78 00b2 0F92      		push r0
76
  79 00b4 1124      		clr __zero_reg__
77
  80 00b6 1F93      		push r17
78
  81 00b8 2F93      		push r18
79
  82 00ba 3F93      		push r19
80
  83 00bc 4F93      		push r20
81
  84 00be 5F93      		push r21
82
  85 00c0 6F93      		push r22
83
  86 00c2 7F93      		push r23
84
  87 00c4 8F93      		push r24
85
  88 00c6 9F93      		push r25
86
  89 00c8 AF93      		push r26
87
  90 00ca BF93      		push r27
88
  91 00cc CF93      		push r28
89
  92 00ce DF93      		push r29
90
  93 00d0 EF93      		push r30
91
  94 00d2 FF93      		push r31
92
  95               	/* prologue: Signal */
93
  96               	/* frame size = 0 */
94
  97 00d4 2091 CE00 		lds r18,206
95
  98 00d8 1091 0000 		lds r17,ReSync.2294
96
  99 00dc 1130      		cpi r17,lo8(1)
97
 100 00de 01F4      		brne .+2
98
 101 00e0 00C0      		rjmp .L30
99
 102 00e2 40E0      		ldi r20,lo8(0)
100
 103 00e4 50E0      		ldi r21,hi8(0)
101
 104 00e6 8091 0000 		lds r24,SpektrumTimer
102
 105 00ea 8823      		tst r24
103
 106 00ec 01F0      		breq .L31
104
 107 00ee 8091 0000 		lds r24,Sync.2291
105
 108 00f2 8823      		tst r24
106
 109 00f4 01F0      		breq .L32
107
 110               	.L12:
108
 111 00f6 8130      		cpi r24,lo8(1)
109
 112 00f8 01F4      		brne .+2
110
 113 00fa 00C0      		rjmp .L33
111
 114 00fc 8230      		cpi r24,lo8(2)
112
 115 00fe 01F4      		brne .+2
113
 116 0100 00C0      		rjmp .L34
114
 117 0102 8330      		cpi r24,lo8(3)
115
 118 0104 01F4      		brne .+2
116
 119 0106 00C0      		rjmp .L35
117
 120               	.L18:
118
 121 0108 81E0      		ldi r24,lo8(1)
119
 122 010a 8093 0000 		sts ReSync.2294,r24
120
 123 010e 1092 0000 		sts FrameCnt.2292,__zero_reg__
121
 124 0112 1092 0000 		sts Frame2.2295,__zero_reg__
122
 125 0116 84E4      		ldi r24,lo8(68)
123
 126 0118 8093 0000 		sts SpektrumTimer,r24
124
 127 011c 00C0      		rjmp .L28
125
 128               	.L32:
126
 129 011e 452B      		or r20,r21
127
 130 0120 01F0      		breq .L13
128
 131 0122 81E0      		ldi r24,lo8(1)
129
 132               	.L29:
130
 133 0124 8093 0000 		sts Sync.2291,r24
131
 134 0128 4091 0000 		lds r20,FrameCnt.2292
132
 135 012c 4F5F      		subi r20,lo8(-(1))
133
 136 012e 4093 0000 		sts FrameCnt.2292,r20
134
 137 0132 83E0      		ldi r24,lo8(3)
135
 138 0134 8093 0000 		sts SpektrumTimer,r24
136
 139               	.L14:
137
 140 0138 4031      		cpi r20,lo8(16)
138
 141 013a 00F0      		brlo .L28
139
 142 013c 8091 0000 		lds r24,Frame2.2295
140
 143 0140 8823      		tst r24
141
 144 0142 01F4      		brne .L27
142
 145 0144 1123      		tst r17
143
 146 0146 01F4      		brne .L27
144
 147 0148 1092 0000 		sts NewPpmData,__zero_reg__
145
 148               	.L27:
146
 149 014c 1092 0000 		sts FrameCnt.2292,__zero_reg__
147
 150 0150 1092 0000 		sts Frame2.2295,__zero_reg__
148
 151 0154 1092 0000 		sts Sync.2291,__zero_reg__
149
 152 0158 84E4      		ldi r24,lo8(68)
150
 153 015a 8093 0000 		sts SpektrumTimer,r24
151
 154 015e 00C0      		rjmp .L28
152
 155               	.L31:
153
 156 0160 41E0      		ldi r20,lo8(1)
154
 157 0162 50E0      		ldi r21,hi8(1)
155
 158 0164 8091 0000 		lds r24,Sync.2291
156
 159 0168 8823      		tst r24
157
 160 016a 01F4      		brne .L12
158
 161 016c 00C0      		rjmp .L32
159
 162               	.L30:
160
 163 016e 1092 0000 		sts ReSync.2294,__zero_reg__
161
 164               	.L13:
162
 165 0172 84E4      		ldi r24,lo8(68)
163
 166 0174 8093 0000 		sts SpektrumTimer,r24
164
 167 0178 1092 0000 		sts FrameCnt.2292,__zero_reg__
165
 168 017c 1092 0000 		sts Sync.2291,__zero_reg__
166
 169 0180 1092 0000 		sts ByteHigh.2293,__zero_reg__
167
 170               	.L28:
168
 171               	/* epilogue start */
169
 172 0184 FF91      		pop r31
170
 173 0186 EF91      		pop r30
171
 174 0188 DF91      		pop r29
172
 175 018a CF91      		pop r28
173
 176 018c BF91      		pop r27
174
 177 018e AF91      		pop r26
175
 178 0190 9F91      		pop r25
176
 179 0192 8F91      		pop r24
177
 180 0194 7F91      		pop r23
178
 181 0196 6F91      		pop r22
179
 182 0198 5F91      		pop r21
180
 183 019a 4F91      		pop r20
181
 184 019c 3F91      		pop r19
182
 185 019e 2F91      		pop r18
183
 186 01a0 1F91      		pop r17
184
 187 01a2 0F90      		pop r0
185
 188 01a4 0FBE      		out __SREG__,r0
186
 189 01a6 0F90      		pop r0
187
 190 01a8 1F90      		pop __zero_reg__
188
 191 01aa 1895      		reti
189
 192               	.L35:
190
 193 01ac 452B      		or r20,r21
191
 194 01ae 01F0      		breq .+2
192
 195 01b0 00C0      		rjmp .L18
193
 196 01b2 8093 0000 		sts SpektrumTimer,r24
194
 197 01b6 82E0      		ldi r24,lo8(2)
195
 198 01b8 8093 0000 		sts Sync.2291,r24
196
 199 01bc 4091 0000 		lds r20,FrameCnt.2292
197
 200 01c0 4F5F      		subi r20,lo8(-(1))
198
 201 01c2 4093 0000 		sts FrameCnt.2292,r20
199
 202 01c6 3091 0000 		lds r19,ByteHigh.2293
200
 203 01ca 832F      		mov r24,r19
201
 204 01cc 8695      		lsr r24
202
 205 01ce 8695      		lsr r24
203
 206 01d0 E82F      		mov r30,r24
204
 207 01d2 F0E0      		ldi r31,lo8(0)
205
 208 01d4 EF70      		andi r30,lo8(15)
206
 209 01d6 F070      		andi r31,hi8(15)
207
 210 01d8 3196      		adiw r30,1
208
 211 01da EB30      		cpi r30,11
209
 212 01dc F105      		cpc r31,__zero_reg__
210
 213 01de 00F0      		brlo .+2
211
 214 01e0 00C0      		rjmp .L14
212
 215 01e2 932F      		mov r25,r19
213
 216 01e4 80E0      		ldi r24,lo8(0)
214
 217 01e6 30E0      		ldi r19,lo8(0)
215
 218 01e8 822B      		or r24,r18
216
 219 01ea 932B      		or r25,r19
217
 220 01ec 9370      		andi r25,hi8(1023)
218
 221 01ee 8050      		subi r24,lo8(-(-512))
219
 222 01f0 9240      		sbci r25,hi8(-(-512))
220
 223 01f2 63E0      		ldi r22,lo8(3)
221
 224 01f4 70E0      		ldi r23,hi8(3)
222
 225 01f6 0E94 0000 		call __divmodhi4
223
 226 01fa DB01      		movw r26,r22
224
 227 01fc EF01      		movw r28,r30
225
 228 01fe CC0F      		lsl r28
226
 229 0200 DD1F      		rol r29
227
 230 0202 FE01      		movw r30,r28
228
 231 0204 E050      		subi r30,lo8(-(PPM_in))
229
 232 0206 F040      		sbci r31,hi8(-(PPM_in))
230
 233 0208 8081      		ld r24,Z
231
 234 020a 9181      		ldd r25,Z+1
232
 235 020c 9B01      		movw r18,r22
233
 236 020e 281B      		sub r18,r24
234
 237 0210 390B      		sbc r19,r25
235
 238 0212 C901      		movw r24,r18
236
 239 0214 37FD      		sbrc r19,7
237
 240 0216 00C0      		rjmp .L36
238
 241               	.L20:
239
 242 0218 0697      		sbiw r24,6
240
 243 021a 04F4      		brge .L19
241
 244 021c 8091 0000 		lds r24,SenderOkay
242
 245 0220 883C      		cpi r24,lo8(-56)
243
 246 0222 00F0      		brlo .+2
244
 247 0224 00C0      		rjmp .L21
245
 248 0226 8091 0000 		lds r24,SenderOkay
246
 249 022a 865F      		subi r24,lo8(-(10))
247
 250 022c 8093 0000 		sts SenderOkay,r24
248
 251               	.L19:
249
 252 0230 FE01      		movw r30,r28
250
 253 0232 E050      		subi r30,lo8(-(PPM_in))
251
 254 0234 F040      		sbci r31,hi8(-(PPM_in))
252
 255 0236 8081      		ld r24,Z
253
 256 0238 9181      		ldd r25,Z+1
254
 257 023a 9C01      		movw r18,r24
255
 258 023c 220F      		lsl r18
256
 259 023e 331F      		rol r19
257
 260 0240 280F      		add r18,r24
258
 261 0242 391F      		adc r19,r25
259
 262 0244 2A0F      		add r18,r26
260
 263 0246 3B1F      		adc r19,r27
261
 264 0248 37FD      		sbrc r19,7
262
 265 024a 00C0      		rjmp .L37
263
 266               	.L22:
264
 267 024c 3595      		asr r19
265
 268 024e 2795      		ror r18
266
 269 0250 3595      		asr r19
267
 270 0252 2795      		ror r18
268
 271 0254 CD01      		movw r24,r26
269
 272 0256 0196      		adiw r24,1
270
 273 0258 8217      		cp r24,r18
271
 274 025a 9307      		cpc r25,r19
272
 275 025c 04F0      		brlt .+2
273
 276 025e 00C0      		rjmp .L23
274
 277 0260 2150      		subi r18,lo8(-(-1))
275
 278 0262 3040      		sbci r19,hi8(-(-1))
276
 279               	.L24:
277
 280 0264 8091 0000 		lds r24,SenderOkay
278
 281 0268 843B      		cpi r24,lo8(-76)
279
 282 026a 00F0      		brlo .L25
280
 283 026c FE01      		movw r30,r28
281
 284 026e E050      		subi r30,lo8(-(PPM_in))
282
 285 0270 F040      		sbci r31,hi8(-(PPM_in))
283
 286 0272 8081      		ld r24,Z
284
 287 0274 9181      		ldd r25,Z+1
285
 288 0276 B901      		movw r22,r18
286
 289 0278 681B      		sub r22,r24
287
 290 027a 790B      		sbc r23,r25
288
 291 027c CB01      		movw r24,r22
289
 292 027e 63E0      		ldi r22,lo8(3)
290
 293 0280 70E0      		ldi r23,hi8(3)
291
 294 0282 0E94 0000 		call __divmodhi4
292
 295 0286 CB01      		movw r24,r22
293
 296 0288 880F      		lsl r24
294
 297 028a 991F      		rol r25
295
 298 028c 860F      		add r24,r22
296
 299 028e 971F      		adc r25,r23
297
 300 0290 FE01      		movw r30,r28
298
 301 0292 E050      		subi r30,lo8(-(PPM_diff))
299
 302 0294 F040      		sbci r31,hi8(-(PPM_diff))
300
 303 0296 9183      		std Z+1,r25
301
 304 0298 8083      		st Z,r24
302
 305               	.L26:
303
 306 029a C050      		subi r28,lo8(-(PPM_in))
304
 307 029c D040      		sbci r29,hi8(-(PPM_in))
305
 308 029e 3983      		std Y+1,r19
306
 309 02a0 2883      		st Y,r18
307
 310 02a2 00C0      		rjmp .L14
308
 311               	.L33:
309
 312 02a4 452B      		or r20,r21
310
 313 02a6 01F0      		breq .+2
311
 314 02a8 00C0      		rjmp .L18
312
 315 02aa 82E0      		ldi r24,lo8(2)
313
 316 02ac 00C0      		rjmp .L29
314
 317               	.L34:
315
 318 02ae 452B      		or r20,r21
316
 319 02b0 01F0      		breq .+2
317
 320 02b2 00C0      		rjmp .L18
318
 321 02b4 83E0      		ldi r24,lo8(3)
319
 322 02b6 8093 0000 		sts SpektrumTimer,r24
320
 323 02ba 2093 0000 		sts ByteHigh.2293,r18
321
 324 02be 9091 0000 		lds r25,FrameCnt.2292
322
 325 02c2 9230      		cpi r25,lo8(2)
323
 326 02c4 01F0      		breq .L38
324
 327               	.L17:
325
 328 02c6 83E0      		ldi r24,lo8(3)
326
 329 02c8 8093 0000 		sts Sync.2291,r24
327
 330 02cc 892F      		mov r24,r25
328
 331 02ce 8F5F      		subi r24,lo8(-(1))
329
 332 02d0 8093 0000 		sts FrameCnt.2292,r24
330
 333 02d4 482F      		mov r20,r24
331
 334 02d6 00C0      		rjmp .L14
332
 335               	.L38:
333
 336 02d8 1092 0000 		sts Frame2.2295,__zero_reg__
334
 337 02dc 27FF      		sbrs r18,7
335
 338 02de 00C0      		rjmp .L17
336
 339 02e0 81E0      		ldi r24,lo8(1)
337
 340 02e2 8093 0000 		sts Frame2.2295,r24
338
 341 02e6 00C0      		rjmp .L17
339
 342               	.L25:
340
 343 02e8 FE01      		movw r30,r28
341
 344 02ea E050      		subi r30,lo8(-(PPM_diff))
342
 345 02ec F040      		sbci r31,hi8(-(PPM_diff))
343
 346 02ee 1182      		std Z+1,__zero_reg__
344
 347 02f0 1082      		st Z,__zero_reg__
345
 348 02f2 00C0      		rjmp .L26
346
 349               	.L23:
347
 350 02f4 1197      		sbiw r26,1
348
 351 02f6 2A17      		cp r18,r26
349
 352 02f8 3B07      		cpc r19,r27
350
 353 02fa 04F0      		brlt .+2
351
 354 02fc 00C0      		rjmp .L24
352
 355 02fe 2F5F      		subi r18,lo8(-(1))
353
 356 0300 3F4F      		sbci r19,hi8(-(1))
354
 357 0302 00C0      		rjmp .L24
355
 358               	.L21:
356
 359 0304 88EC      		ldi r24,lo8(-56)
357
 360 0306 8093 0000 		sts SenderOkay,r24
358
 361 030a 8091 6F00 		lds r24,111
359
 362 030e 8F7D      		andi r24,lo8(-33)
360
 363 0310 8093 6F00 		sts 111,r24
361
 364 0314 00C0      		rjmp .L19
362
 365               	.L37:
363
 366 0316 2D5F      		subi r18,lo8(-(3))
364
 367 0318 3F4F      		sbci r19,hi8(-(3))
365
 368 031a 00C0      		rjmp .L22
366
 369               	.L36:
367
 370 031c 9095      		com r25
368
 371 031e 8195      		neg r24
369
 372 0320 9F4F      		sbci r25,lo8(-1)
370
 373 0322 00C0      		rjmp .L20
371
 375               	.global	SpektrumBinding
372
 377               	SpektrumBinding:
373
 378 0324 CF93      		push r28
374
 379 0326 DF93      		push r29
375
 380               	/* prologue: function */
376
 381               	/* frame size = 0 */
377
 382 0328 80E1      		ldi r24,lo8(10000)
378
 383 032a 97E2      		ldi r25,hi8(10000)
379
 384 032c 0E94 0000 		call SetDelay
380
 385 0330 EC01      		movw r28,r24
381
 386 0332 8091 C900 		lds r24,201
382
 387 0336 8F77      		andi r24,lo8(127)
383
 388 0338 8093 C900 		sts 201,r24
384
 389 033c 8091 C900 		lds r24,201
385
 390 0340 8F7E      		andi r24,lo8(-17)
386
 391 0342 8093 C900 		sts 201,r24
387
 392 0346 5A98      		cbi 43-32,2
388
 393 0348 00D0      		rcall .
389
 394 034a 0F92      		push __tmp_reg__
390
 395 034c EDB7      		in r30,__SP_L__
391
 396 034e FEB7      		in r31,__SP_H__
392
 397 0350 1182      		std Z+1,__zero_reg__
393
 398 0352 80E0      		ldi r24,lo8(__c.2135)
394
 399 0354 90E0      		ldi r25,hi8(__c.2135)
395
 400 0356 9383      		std Z+3,r25
396
 401 0358 8283      		std Z+2,r24
397
 402 035a 0E94 0000 		call _printf_P
398
 403 035e 0F90      		pop __tmp_reg__
399
 404 0360 0F90      		pop __tmp_reg__
400
 405 0362 0F90      		pop __tmp_reg__
401
 406               	.L40:
402
 407 0364 CE01      		movw r24,r28
403
 408 0366 0E94 0000 		call CheckDelay
404
 409 036a 8823      		tst r24
405
 410 036c 01F0      		breq .+2
406
 411 036e 00C0      		rjmp .L75
407
 412 0370 4A9B      		sbis 41-32,2
408
 413 0372 00C0      		rjmp .L40
409
 414 0374 8AE5      		ldi r24,lo8(90)
410
 415 0376 90E0      		ldi r25,hi8(90)
411
 416 0378 0E94 0000 		call SetDelay
412
 417 037c EC01      		movw r28,r24
413
 418 037e 00D0      		rcall .
414
 419 0380 0F92      		push __tmp_reg__
415
 420 0382 EDB7      		in r30,__SP_L__
416
 421 0384 FEB7      		in r31,__SP_H__
417
 422 0386 1182      		std Z+1,__zero_reg__
418
 423 0388 80E0      		ldi r24,lo8(__c.2140)
419
 424 038a 90E0      		ldi r25,hi8(__c.2140)
420
 425 038c 9383      		std Z+3,r25
421
 426 038e 8283      		std Z+2,r24
422
 427 0390 0E94 0000 		call _printf_P
423
 428 0394 529A      		sbi 42-32,2
424
 429 0396 0F90      		pop __tmp_reg__
425
 430 0398 0F90      		pop __tmp_reg__
426
 431 039a 0F90      		pop __tmp_reg__
427
 432               	.L41:
428
 433 039c CE01      		movw r24,r28
429
 434 039e 0E94 0000 		call CheckDelay
430
 435 03a2 8823      		tst r24
431
 436 03a4 01F0      		breq .L41
432
 437 03a6 80E0      		ldi r24,lo8(0)
433
 438 03a8 90E0      		ldi r25,hi8(0)
434
 439               	.L44:
435
 440 03aa 5A9A      		sbi 43-32,2
436
 441 03ac 0196      		adiw r24,1
437
 442 03ae 8436      		cpi r24,100
438
 443 03b0 9105      		cpc r25,__zero_reg__
439
 444 03b2 01F4      		brne .L44
440
 445 03b4 80E0      		ldi r24,lo8(0)
441
 446 03b6 90E0      		ldi r25,hi8(0)
442
 447               	.L45:
443
 448 03b8 5A98      		cbi 43-32,2
444
 449 03ba 0196      		adiw r24,1
445
 450 03bc F1E0      		ldi r31,hi8(400)
446
 451 03be 8039      		cpi r24,lo8(400)
447
 452 03c0 9F07      		cpc r25,r31
448
 453 03c2 01F4      		brne .L45
449
 454 03c4 80E0      		ldi r24,lo8(0)
450
 455 03c6 90E0      		ldi r25,hi8(0)
451
 456               	.L46:
452
 457 03c8 5A9A      		sbi 43-32,2
453
 458 03ca 0196      		adiw r24,1
454
 459 03cc 8A30      		cpi r24,10
455
 460 03ce 9105      		cpc r25,__zero_reg__
456
 461 03d0 01F4      		brne .L46
457
 462 03d2 80E0      		ldi r24,lo8(0)
458
 463 03d4 90E0      		ldi r25,hi8(0)
459
 464               	.L47:
460
 465 03d6 5A98      		cbi 43-32,2
461
 466 03d8 0196      		adiw r24,1
462
 467 03da 8A30      		cpi r24,10
463
 468 03dc 9105      		cpc r25,__zero_reg__
464
 469 03de 01F4      		brne .L47
465
 470 03e0 80E0      		ldi r24,lo8(0)
466
 471 03e2 90E0      		ldi r25,hi8(0)
467
 472               	.L48:
468
 473 03e4 5A9A      		sbi 43-32,2
469
 474 03e6 0196      		adiw r24,1
470
 475 03e8 21E0      		ldi r18,hi8(400)
471
 476 03ea 8039      		cpi r24,lo8(400)
472
 477 03ec 9207      		cpc r25,r18
473
 478 03ee 01F4      		brne .L48
474
 479 03f0 80E0      		ldi r24,lo8(0)
475
 480 03f2 90E0      		ldi r25,hi8(0)
476
 481               	.L49:
477
 482 03f4 5A98      		cbi 43-32,2
478
 483 03f6 0196      		adiw r24,1
479
 484 03f8 E1E0      		ldi r30,hi8(400)
480
 485 03fa 8039      		cpi r24,lo8(400)
481
 486 03fc 9E07      		cpc r25,r30
482
 487 03fe 01F4      		brne .L49
483
 488 0400 80E0      		ldi r24,lo8(0)
484
 489 0402 90E0      		ldi r25,hi8(0)
485
 490               	.L50:
486
 491 0404 5A9A      		sbi 43-32,2
487
 492 0406 0196      		adiw r24,1
488
 493 0408 8A30      		cpi r24,10
489
 494 040a 9105      		cpc r25,__zero_reg__
490
 495 040c 01F4      		brne .L50
491
 496 040e 80E0      		ldi r24,lo8(0)
492
 497 0410 90E0      		ldi r25,hi8(0)
493
 498               	.L51:
494
 499 0412 5A98      		cbi 43-32,2
495
 500 0414 0196      		adiw r24,1
496
 501 0416 8A30      		cpi r24,10
497
 502 0418 9105      		cpc r25,__zero_reg__
498
 503 041a 01F4      		brne .L51
499
 504 041c 80E0      		ldi r24,lo8(0)
500
 505 041e 90E0      		ldi r25,hi8(0)
501
 506               	.L52:
502
 507 0420 5A9A      		sbi 43-32,2
503
 508 0422 0196      		adiw r24,1
504
 509 0424 F1E0      		ldi r31,hi8(400)
505
 510 0426 8039      		cpi r24,lo8(400)
506
 511 0428 9F07      		cpc r25,r31
507
 512 042a 01F4      		brne .L52
508
 513 042c 80E0      		ldi r24,lo8(0)
509
 514 042e 90E0      		ldi r25,hi8(0)
510
 515               	.L53:
511
 516 0430 5A98      		cbi 43-32,2
512
 517 0432 0196      		adiw r24,1
513
 518 0434 21E0      		ldi r18,hi8(400)
514
 519 0436 8039      		cpi r24,lo8(400)
515
 520 0438 9207      		cpc r25,r18
516
 521 043a 01F4      		brne .L53
517
 522 043c 80E0      		ldi r24,lo8(0)
518
 523 043e 90E0      		ldi r25,hi8(0)
519
 524               	.L54:
520
 525 0440 5A9A      		sbi 43-32,2
521
 526 0442 0196      		adiw r24,1
522
 527 0444 8A30      		cpi r24,10
523
 528 0446 9105      		cpc r25,__zero_reg__
524
 529 0448 01F4      		brne .L54
525
 530 044a 80E0      		ldi r24,lo8(0)
526
 531 044c 90E0      		ldi r25,hi8(0)
527
 532               	.L55:
528
 533 044e 5A98      		cbi 43-32,2
529
 534 0450 0196      		adiw r24,1
530
 535 0452 8A30      		cpi r24,10
531
 536 0454 9105      		cpc r25,__zero_reg__
532
 537 0456 01F4      		brne .L55
533
 538 0458 80E0      		ldi r24,lo8(0)
534
 539 045a 90E0      		ldi r25,hi8(0)
535
 540               	.L56:
536
 541 045c 5A9A      		sbi 43-32,2
537
 542 045e 0196      		adiw r24,1
538
 543 0460 E1E0      		ldi r30,hi8(400)
539
 544 0462 8039      		cpi r24,lo8(400)
540
 545 0464 9E07      		cpc r25,r30
541
 546 0466 01F4      		brne .L56
542
 547 0468 5298      		cbi 42-32,2
543
 548 046a 5A98      		cbi 43-32,2
544
 549 046c 0E94 0000 		call Uart1Init
545
 550               	/* epilogue start */
546
 551 0470 DF91      		pop r29
547
 552 0472 CF91      		pop r28
548
 553 0474 0895      		ret
549
 554               	.L75:
550
 555 0476 00D0      		rcall .
551
 556 0478 0F92      		push __tmp_reg__
552
 557 047a EDB7      		in r30,__SP_L__
553
 558 047c FEB7      		in r31,__SP_H__
554
 559 047e 1182      		std Z+1,__zero_reg__
555
 560 0480 80E0      		ldi r24,lo8(__c.2184)
556
 561 0482 90E0      		ldi r25,hi8(__c.2184)
557
 562 0484 9383      		std Z+3,r25
558
 563 0486 8283      		std Z+2,r24
559
 564 0488 0E94 0000 		call _printf_P
560
 565 048c 0F90      		pop __tmp_reg__
561
 566 048e 0F90      		pop __tmp_reg__
562
 567 0490 0F90      		pop __tmp_reg__
563
 568 0492 5298      		cbi 42-32,2
564
 569 0494 5A98      		cbi 43-32,2
565
 570 0496 0E94 0000 		call Uart1Init
566
 571 049a DF91      		pop r29
567
 572 049c CF91      		pop r28
568
 573 049e 0895      		ret
569
 575               	.global	SpektrumTimer
570
 576               	.global	SpektrumTimer
571
 577               		.section .bss
572
 580               	SpektrumTimer:
573
 581 0000 00        		.skip 1,0
574
 582               		.lcomm Frame2.2295,1
575
 583               		.data
576
 586               	ReSync.2294:
577
 587 0000 01        		.byte	1
578
 588               		.lcomm ByteHigh.2293,1
579
 589               		.lcomm FrameCnt.2292,1
580
 590               		.lcomm Sync.2291,1
581
 591               		.section	.progmem.data,"a",@progbits
582
 594               	__c.2184:
583
 595 0000 5469 6D65 		.string	"Timeout.\n\r"
584
 595      6F75 742E
585
 595      0A0D 00
586
 598               	__c.2140:
587
 599 000b 6F6B 2E0A 		.string	"ok.\n\r"
588
 599      0D00
589
 602               	__c.2135:
590
 603 0011 0A0D 506C 		.string	"\n\rPlease connect Spektrum receiver for binding NOW..."
591
 603      6561 7365
592
 603      2063 6F6E
593
 603      6E65 6374
594
 603      2053 7065
595
 604               		.comm Mixer,77,1
596
 605               	.global __do_copy_data
597
 606               	.global __do_clear_bss
598
DEFINED SYMBOLS
599
                            *ABS*:00000000 Spectrum.c
600
C:\Users\Arthur\AppData\Local\Temp/cc5ocnei.s:2      *ABS*:0000003f __SREG__
601
C:\Users\Arthur\AppData\Local\Temp/cc5ocnei.s:3      *ABS*:0000003e __SP_H__
602
C:\Users\Arthur\AppData\Local\Temp/cc5ocnei.s:4      *ABS*:0000003d __SP_L__
603
C:\Users\Arthur\AppData\Local\Temp/cc5ocnei.s:5      *ABS*:00000034 __CCP__
604
C:\Users\Arthur\AppData\Local\Temp/cc5ocnei.s:6      *ABS*:00000000 __tmp_reg__
605
C:\Users\Arthur\AppData\Local\Temp/cc5ocnei.s:7      *ABS*:00000001 __zero_reg__
606
C:\Users\Arthur\AppData\Local\Temp/cc5ocnei.s:11     .text:00000000 Uart1Init
607
C:\Users\Arthur\AppData\Local\Temp/cc5ocnei.s:74     .text:000000ac __vector_28
608
C:\Users\Arthur\AppData\Local\Temp/cc5ocnei.s:586    .data:00000000 ReSync.2294
609
C:\Users\Arthur\AppData\Local\Temp/cc5ocnei.s:580    .bss:00000000 SpektrumTimer
610
C:\Users\Arthur\AppData\Local\Temp/cc5ocnei.s:589    .bss:00000004 Sync.2291
611
C:\Users\Arthur\AppData\Local\Temp/cc5ocnei.s:588    .bss:00000003 FrameCnt.2292
612
                             .bss:00000001 Frame2.2295
613
C:\Users\Arthur\AppData\Local\Temp/cc5ocnei.s:582    .bss:00000002 ByteHigh.2293
614
C:\Users\Arthur\AppData\Local\Temp/cc5ocnei.s:377    .text:00000324 SpektrumBinding
615
C:\Users\Arthur\AppData\Local\Temp/cc5ocnei.s:602    .progmem.data:00000011 __c.2135
616
C:\Users\Arthur\AppData\Local\Temp/cc5ocnei.s:598    .progmem.data:0000000b __c.2140
617
C:\Users\Arthur\AppData\Local\Temp/cc5ocnei.s:594    .progmem.data:00000000 __c.2184
618
                            *COM*:0000004d Mixer
619
620
UNDEFINED SYMBOLS
621
NewPpmData
622
__divmodhi4
623
PPM_in
624
SenderOkay
625
PPM_diff
626
SetDelay
627
_printf_P
628
CheckDelay
629
__do_copy_data
630
__do_clear_bss