Subversion Repositories FlightCtrl

Rev

Rev 1755 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

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