Blame | Last modification | View Log | RSS feed
1 .file "fc.c"
2 __SREG__ = 0x3f
3 __SP_H__ = 0x3e
4 __SP_L__ = 0x3d
5 __tmp_reg__ = 0
6 __zero_reg__ = 1
7 .global __do_copy_data
8 .global __do_clear_bss
9 .text
10 .global MotorSmoothing
12 MotorSmoothing:
13 /* prologue: function */
14 /* frame size = 0 */
15 0000 680F add r22,r24
16 0002 791F adc r23,r25
17 0004 77FD sbrc r23,7
18 0006 00C0 rjmp .L5
19 0008 9B01 movw r18,r22
20 000a 3595 asr r19
21 000c 2795 ror r18
22 000e C901 movw r24,r18
23 /* epilogue start */
24 0010 0895 ret
25 .L5:
26 0012 6F5F subi r22,lo8(-(1))
27 0014 7F4F sbci r23,hi8(-(1))
28 0016 9B01 movw r18,r22
29 0018 3595 asr r19
30 001a 2795 ror r18
31 001c C901 movw r24,r18
32 001e 0895 ret
34 .global Mean
36 Mean:
37 0020 2F92 push r2
38 0022 3F92 push r3
39 0024 4F92 push r4
40 0026 5F92 push r5
41 0028 6F92 push r6
42 002a 7F92 push r7
43 002c 8F92 push r8
44 002e 9F92 push r9
45 0030 AF92 push r10
46 0032 BF92 push r11
47 0034 CF92 push r12
48 0036 DF92 push r13
49 0038 EF92 push r14
50 003a FF92 push r15
51 003c 0F93 push r16
52 003e 1F93 push r17
53 0040 CF93 push r28
54 0042 DF93 push r29
55 /* prologue: function */
56 /* frame size = 0 */
57 0044 6091 0000 lds r22,hiResPitchGyro
58 0048 7091 0000 lds r23,(hiResPitchGyro)+1
59 004c E090 0000 lds r14,vibrationOffsetNick
60 0050 F090 0000 lds r15,(vibrationOffsetNick)+1
61 0054 0091 0000 lds r16,(vibrationOffsetNick)+2
62 0058 1091 0000 lds r17,(vibrationOffsetNick)+3
63 005c 8827 clr r24
64 005e 77FD sbrc r23,7
65 0060 8095 com r24
66 0062 982F mov r25,r24
67 0064 6E19 sub r22,r14
68 0066 7F09 sbc r23,r15
69 0068 800B sbc r24,r16
70 006a 910B sbc r25,r17
71 006c 24E0 ldi r18,lo8(4)
72 006e 30E0 ldi r19,hi8(4)
73 0070 40E0 ldi r20,hlo8(4)
74 0072 50E0 ldi r21,hhi8(4)
75 0074 0E94 0000 call __divmodsi4
76 0078 3093 0000 sts (GyroNick)+1,r19
77 007c 2093 0000 sts GyroNick,r18
78 0080 C090 0000 lds r12,filteredHiResPitchGyro
79 0084 D090 0000 lds r13,(filteredHiResPitchGyro)+1
80 0088 6091 0000 lds r22,hiResRollGyro
81 008c 7091 0000 lds r23,(hiResRollGyro)+1
82 0090 2090 0000 lds r2,vibrationOffsetRoll
83 0094 3090 0000 lds r3,(vibrationOffsetRoll)+1
84 0098 4090 0000 lds r4,(vibrationOffsetRoll)+2
85 009c 5090 0000 lds r5,(vibrationOffsetRoll)+3
86 00a0 8827 clr r24
87 00a2 77FD sbrc r23,7
88 00a4 8095 com r24
89 00a6 982F mov r25,r24
90 00a8 6219 sub r22,r2
91 00aa 7309 sbc r23,r3
92 00ac 8409 sbc r24,r4
93 00ae 9509 sbc r25,r5
94 00b0 24E0 ldi r18,lo8(4)
95 00b2 30E0 ldi r19,hi8(4)
96 00b4 40E0 ldi r20,hlo8(4)
97 00b6 50E0 ldi r21,hhi8(4)
98 00b8 0E94 0000 call __divmodsi4
99 00bc 3093 0000 sts (GyroRoll)+1,r19
100 00c0 2093 0000 sts GyroRoll,r18
101 00c4 C091 0000 lds r28,filteredHiResRollGyro
102 00c8 D091 0000 lds r29,(filteredHiResRollGyro)+1
103 00cc 8091 0000 lds r24,hiResPitchGyro
104 00d0 9091 0000 lds r25,(hiResPitchGyro)+1
105 00d4 2091 0000 lds r18,NickNoisePeak
106 00d8 3091 0000 lds r19,(NickNoisePeak)+1
107 00dc 2817 cp r18,r24
108 00de 3907 cpc r19,r25
109 00e0 04F0 brlt .+2
110 00e2 00C0 rjmp .L7
111 00e4 8091 0000 lds r24,hiResPitchGyro
112 00e8 9091 0000 lds r25,(hiResPitchGyro)+1
113 00ec 9093 0000 sts (NickNoisePeak)+1,r25
114 00f0 8093 0000 sts NickNoisePeak,r24
115 .L8:
116 00f4 8091 0000 lds r24,hiResRollGyro
117 00f8 9091 0000 lds r25,(hiResRollGyro)+1
118 00fc 2091 0000 lds r18,RollNoisePeak
119 0100 3091 0000 lds r19,(RollNoisePeak)+1
120 0104 2817 cp r18,r24
121 0106 3907 cpc r19,r25
122 0108 04F0 brlt .+2
123 010a 00C0 rjmp .L9
124 010c 8091 0000 lds r24,hiResRollGyro
125 0110 9091 0000 lds r25,(hiResRollGyro)+1
126 0114 9093 0000 sts (RollNoisePeak)+1,r25
127 0118 8093 0000 sts RollNoisePeak,r24
128 .L10:
129 011c 8091 0000 lds r24,rawYawGyroSum
130 0120 9091 0000 lds r25,(rawYawGyroSum)+1
131 0124 2091 0000 lds r18,vibrationOffsetYaw
132 0128 3091 0000 lds r19,(vibrationOffsetYaw)+1
133 012c 821B sub r24,r18
134 012e 930B sbc r25,r19
135 0130 9093 0000 sts (GyroYaw)+1,r25
136 0134 8093 0000 sts GyroYaw,r24
137 0138 2091 7A00 lds r18,122
138 013c 286C ori r18,lo8(-56)
139 013e 2093 7A00 sts 122,r18
140 0142 1092 0000 sts ADReady,__zero_reg__
141 0146 AA27 clr r26
142 0148 97FD sbrc r25,7
143 014a A095 com r26
144 014c BA2F mov r27,r26
145 014e 2091 0000 lds r18,YawGyroHeading
146 0152 3091 0000 lds r19,(YawGyroHeading)+1
147 0156 4091 0000 lds r20,(YawGyroHeading)+2
148 015a 5091 0000 lds r21,(YawGyroHeading)+3
149 015e 280F add r18,r24
150 0160 391F adc r19,r25
151 0162 4A1F adc r20,r26
152 0164 5B1F adc r21,r27
153 0166 2093 0000 sts YawGyroHeading,r18
154 016a 3093 0000 sts (YawGyroHeading)+1,r19
155 016e 4093 0000 sts (YawGyroHeading)+2,r20
156 0172 5093 0000 sts (YawGyroHeading)+3,r21
157 0176 6090 0000 lds r6,ReadingIntegralGyroYaw
158 017a 7090 0000 lds r7,(ReadingIntegralGyroYaw)+1
159 017e 8090 0000 lds r8,(ReadingIntegralGyroYaw)+2
160 0182 9090 0000 lds r9,(ReadingIntegralGyroYaw)+3
161 0186 680E add r6,r24
162 0188 791E adc r7,r25
163 018a 8A1E adc r8,r26
164 018c 9B1E adc r9,r27
165 018e 6092 0000 sts ReadingIntegralGyroYaw,r6
166 0192 7092 0000 sts (ReadingIntegralGyroYaw)+1,r7
167 0196 8092 0000 sts (ReadingIntegralGyroYaw)+2,r8
168 019a 9092 0000 sts (ReadingIntegralGyroYaw)+3,r9
169 019e 2030 cpi r18,lo8(184320)
170 01a0 80ED ldi r24,hi8(184320)
171 01a2 3807 cpc r19,r24
172 01a4 82E0 ldi r24,hlo8(184320)
173 01a6 4807 cpc r20,r24
174 01a8 80E0 ldi r24,hhi8(184320)
175 01aa 5807 cpc r21,r24
176 01ac 04F0 brlt .L11
177 01ae DA01 movw r26,r20
178 01b0 C901 movw r24,r18
179 01b2 8050 subi r24,lo8(-(-184320))
180 01b4 904D sbci r25,hi8(-(-184320))
181 01b6 A240 sbci r26,hlo8(-(-184320))
182 01b8 B040 sbci r27,hhi8(-(-184320))
183 01ba 8093 0000 sts YawGyroHeading,r24
184 01be 9093 0000 sts (YawGyroHeading)+1,r25
185 01c2 A093 0000 sts (YawGyroHeading)+2,r26
186 01c6 B093 0000 sts (YawGyroHeading)+3,r27
187 01ca 9C01 movw r18,r24
188 01cc AD01 movw r20,r26
189 .L11:
190 01ce 57FD sbrc r21,7
191 01d0 00C0 rjmp .L18
192 .L12:
193 01d2 B601 movw r22,r12
194 01d4 8827 clr r24
195 01d6 77FD sbrc r23,7
196 01d8 8095 com r24
197 01da 982F mov r25,r24
198 01dc 6E19 sub r22,r14
199 01de 7F09 sbc r23,r15
200 01e0 800B sbc r24,r16
201 01e2 910B sbc r25,r17
202 01e4 24E0 ldi r18,lo8(4)
203 01e6 30E0 ldi r19,hi8(4)
204 01e8 40E0 ldi r20,hlo8(4)
205 01ea 50E0 ldi r21,hhi8(4)
206 01ec 0E94 0000 call __divmodsi4
207 01f0 4427 clr r20
208 01f2 37FD sbrc r19,7
209 01f4 4095 com r20
210 01f6 542F mov r21,r20
211 01f8 A090 0000 lds r10,ReadingIntegralGyroNick
212 01fc B090 0000 lds r11,(ReadingIntegralGyroNick)+1
213 0200 C090 0000 lds r12,(ReadingIntegralGyroNick)+2
214 0204 D090 0000 lds r13,(ReadingIntegralGyroNick)+3
215 0208 A20E add r10,r18
216 020a B31E adc r11,r19
217 020c C41E adc r12,r20
218 020e D51E adc r13,r21
219 0210 A092 0000 sts ReadingIntegralGyroNick,r10
220 0214 B092 0000 sts (ReadingIntegralGyroNick)+1,r11
221 0218 C092 0000 sts (ReadingIntegralGyroNick)+2,r12
222 021c D092 0000 sts (ReadingIntegralGyroNick)+3,r13
223 0220 E090 0000 lds r14,TurnOver180Nick
224 0224 F090 0000 lds r15,(TurnOver180Nick)+1
225 0228 0091 0000 lds r16,(TurnOver180Nick)+2
226 022c 1091 0000 lds r17,(TurnOver180Nick)+3
227 0230 EA14 cp r14,r10
228 0232 FB04 cpc r15,r11
229 0234 0C05 cpc r16,r12
230 0236 1D05 cpc r17,r13
231 0238 04F0 brlt .+2
232 023a 00C0 rjmp .L13
233 023c 8827 clr r24
234 023e 9927 clr r25
235 0240 DC01 movw r26,r24
236 0242 8E19 sub r24,r14
237 0244 9F09 sbc r25,r15
238 0246 A00B sbc r26,r16
239 0248 B10B sbc r27,r17
240 024a 8093 0000 sts ReadingIntegralGyroNick,r24
241 024e 9093 0000 sts (ReadingIntegralGyroNick)+1,r25
242 0252 A093 0000 sts (ReadingIntegralGyroNick)+2,r26
243 0256 B093 0000 sts (ReadingIntegralGyroNick)+3,r27
244 025a 5C01 movw r10,r24
245 025c 6D01 movw r12,r26
246 .L14:
247 025e BE01 movw r22,r28
248 0260 8827 clr r24
249 0262 77FD sbrc r23,7
250 0264 8095 com r24
251 0266 982F mov r25,r24
252 0268 6219 sub r22,r2
253 026a 7309 sbc r23,r3
254 026c 8409 sbc r24,r4
255 026e 9509 sbc r25,r5
256 0270 24E0 ldi r18,lo8(4)
257 0272 30E0 ldi r19,hi8(4)
258 0274 40E0 ldi r20,hlo8(4)
259 0276 50E0 ldi r21,hhi8(4)
260 0278 0E94 0000 call __divmodsi4
261 027c 4427 clr r20
262 027e 37FD sbrc r19,7
263 0280 4095 com r20
264 0282 542F mov r21,r20
265 0284 E090 0000 lds r14,ReadingIntegralGyroRoll
266 0288 F090 0000 lds r15,(ReadingIntegralGyroRoll)+1
267 028c 0091 0000 lds r16,(ReadingIntegralGyroRoll)+2
268 0290 1091 0000 lds r17,(ReadingIntegralGyroRoll)+3
269 0294 E20E add r14,r18
270 0296 F31E adc r15,r19
271 0298 041F adc r16,r20
272 029a 151F adc r17,r21
273 029c E092 0000 sts ReadingIntegralGyroRoll,r14
274 02a0 F092 0000 sts (ReadingIntegralGyroRoll)+1,r15
275 02a4 0093 0000 sts (ReadingIntegralGyroRoll)+2,r16
276 02a8 1093 0000 sts (ReadingIntegralGyroRoll)+3,r17
277 02ac 2091 0000 lds r18,TurnOver180Roll
278 02b0 3091 0000 lds r19,(TurnOver180Roll)+1
279 02b4 4091 0000 lds r20,(TurnOver180Roll)+2
280 02b8 5091 0000 lds r21,(TurnOver180Roll)+3
281 02bc 2E15 cp r18,r14
282 02be 3F05 cpc r19,r15
283 02c0 4007 cpc r20,r16
284 02c2 5107 cpc r21,r17
285 02c4 04F4 brge .+2
286 02c6 00C0 rjmp .L19
287 02c8 8827 clr r24
288 02ca 9927 clr r25
289 02cc DC01 movw r26,r24
290 02ce 821B sub r24,r18
291 02d0 930B sbc r25,r19
292 02d2 A40B sbc r26,r20
293 02d4 B50B sbc r27,r21
294 02d6 E816 cp r14,r24
295 02d8 F906 cpc r15,r25
296 02da 0A07 cpc r16,r26
297 02dc 1B07 cpc r17,r27
298 02de 04F4 brge .L16
299 02e0 2093 0000 sts ReadingIntegralGyroRoll,r18
300 02e4 3093 0000 sts (ReadingIntegralGyroRoll)+1,r19
301 02e8 4093 0000 sts (ReadingIntegralGyroRoll)+2,r20
302 02ec 5093 0000 sts (ReadingIntegralGyroRoll)+3,r21
303 02f0 7901 movw r14,r18
304 02f2 8A01 movw r16,r20
305 .L16:
306 02f4 A092 0000 sts IntegralGyroNick,r10
307 02f8 B092 0000 sts (IntegralGyroNick)+1,r11
308 02fc C092 0000 sts (IntegralGyroNick)+2,r12
309 0300 D092 0000 sts (IntegralGyroNick)+3,r13
310 0304 E092 0000 sts IntegralGyroRoll,r14
311 0308 F092 0000 sts (IntegralGyroRoll)+1,r15
312 030c 0093 0000 sts (IntegralGyroRoll)+2,r16
313 0310 1093 0000 sts (IntegralGyroRoll)+3,r17
314 0314 6092 0000 sts IntegralGyroYaw,r6
315 0318 7092 0000 sts (IntegralGyroYaw)+1,r7
316 031c 8092 0000 sts (IntegralGyroYaw)+2,r8
317 0320 9092 0000 sts (IntegralGyroYaw)+3,r9
318 /* epilogue start */
319 0324 DF91 pop r29
320 0326 CF91 pop r28
321 0328 1F91 pop r17
322 032a 0F91 pop r16
323 032c FF90 pop r15
324 032e EF90 pop r14
325 0330 DF90 pop r13
326 0332 CF90 pop r12
327 0334 BF90 pop r11
328 0336 AF90 pop r10
329 0338 9F90 pop r9
330 033a 8F90 pop r8
331 033c 7F90 pop r7
332 033e 6F90 pop r6
333 0340 5F90 pop r5
334 0342 4F90 pop r4
335 0344 3F90 pop r3
336 0346 2F90 pop r2
337 0348 0895 ret
338 .L13:
339 034a 8827 clr r24
340 034c 9927 clr r25
341 034e DC01 movw r26,r24
342 0350 8E19 sub r24,r14
343 0352 9F09 sbc r25,r15
344 0354 A00B sbc r26,r16
345 0356 B10B sbc r27,r17
346 0358 A816 cp r10,r24
347 035a B906 cpc r11,r25
348 035c CA06 cpc r12,r26
349 035e DB06 cpc r13,r27
350 0360 04F0 brlt .+2
351 0362 00C0 rjmp .L14
352 0364 E092 0000 sts ReadingIntegralGyroNick,r14
353 0368 F092 0000 sts (ReadingIntegralGyroNick)+1,r15
354 036c 0093 0000 sts (ReadingIntegralGyroNick)+2,r16
355 0370 1093 0000 sts (ReadingIntegralGyroNick)+3,r17
356 0374 5701 movw r10,r14
357 0376 6801 movw r12,r16
358 0378 00C0 rjmp .L14
359 .L9:
360 037a 8091 0000 lds r24,hiResRollGyro
361 037e 9091 0000 lds r25,(hiResRollGyro)+1
362 0382 9095 com r25
363 0384 8195 neg r24
364 0386 9F4F sbci r25,lo8(-1)
365 0388 2817 cp r18,r24
366 038a 3907 cpc r19,r25
367 038c 04F0 brlt .+2
368 038e 00C0 rjmp .L10
369 0390 8091 0000 lds r24,hiResRollGyro
370 0394 9091 0000 lds r25,(hiResRollGyro)+1
371 0398 9095 com r25
372 039a 8195 neg r24
373 039c 9F4F sbci r25,lo8(-1)
374 039e 9093 0000 sts (RollNoisePeak)+1,r25
375 03a2 8093 0000 sts RollNoisePeak,r24
376 03a6 00C0 rjmp .L10
377 .L7:
378 03a8 8091 0000 lds r24,hiResPitchGyro
379 03ac 9091 0000 lds r25,(hiResPitchGyro)+1
380 03b0 9095 com r25
381 03b2 8195 neg r24
382 03b4 9F4F sbci r25,lo8(-1)
383 03b6 2817 cp r18,r24
384 03b8 3907 cpc r19,r25
385 03ba 04F0 brlt .+2
386 03bc 00C0 rjmp .L8
387 03be 8091 0000 lds r24,hiResPitchGyro
388 03c2 9091 0000 lds r25,(hiResPitchGyro)+1
389 03c6 9095 com r25
390 03c8 8195 neg r24
391 03ca 9F4F sbci r25,lo8(-1)
392 03cc 9093 0000 sts (NickNoisePeak)+1,r25
393 03d0 8093 0000 sts NickNoisePeak,r24
394 03d4 00C0 rjmp .L8
395 .L19:
396 03d6 8827 clr r24
397 03d8 9927 clr r25
398 03da DC01 movw r26,r24
399 03dc 821B sub r24,r18
400 03de 930B sbc r25,r19
401 03e0 A40B sbc r26,r20
402 03e2 B50B sbc r27,r21
403 03e4 8093 0000 sts ReadingIntegralGyroRoll,r24
404 03e8 9093 0000 sts (ReadingIntegralGyroRoll)+1,r25
405 03ec A093 0000 sts (ReadingIntegralGyroRoll)+2,r26
406 03f0 B093 0000 sts (ReadingIntegralGyroRoll)+3,r27
407 03f4 7C01 movw r14,r24
408 03f6 8D01 movw r16,r26
409 03f8 00C0 rjmp .L16
410 .L18:
411 03fa 2050 subi r18,lo8(-(184320))
412 03fc 3043 sbci r19,hi8(-(184320))
413 03fe 4D4F sbci r20,hlo8(-(184320))
414 0400 5F4F sbci r21,hhi8(-(184320))
415 0402 2093 0000 sts YawGyroHeading,r18
416 0406 3093 0000 sts (YawGyroHeading)+1,r19
417 040a 4093 0000 sts (YawGyroHeading)+2,r20
418 040e 5093 0000 sts (YawGyroHeading)+3,r21
419 0412 00C0 rjmp .L12
421 .global ParameterMapping
423 ParameterMapping:
424 /* prologue: function */
425 /* frame size = 0 */
426 0414 8091 0000 lds r24,RC_Quality
427 0418 9091 0000 lds r25,(RC_Quality)+1
428 041c 813A cpi r24,161
429 041e 9105 cpc r25,__zero_reg__
430 0420 04F0 brlt .L162
431 0422 8091 0000 lds r24,ParamSet+11
432 0426 8B3F cpi r24,lo8(-5)
433 0428 00F4 brsh .L169
434 042a 8093 0000 sts FCParam+1,r24
435 .L24:
436 042e 8091 0000 lds r24,ParamSet+10
437 0432 8B3F cpi r24,lo8(-5)
438 0434 00F0 brlo .L27
439 0436 8B3F cpi r24,lo8(-5)
440 0438 01F4 brne .+2
441 043a 00C0 rjmp .L170
442 043c 8C3F cpi r24,lo8(-4)
443 043e 01F4 brne .+2
444 0440 00C0 rjmp .L171
445 0442 8D3F cpi r24,lo8(-3)
446 0444 01F4 brne .+2
447 0446 00C0 rjmp .L172
448 0448 8E3F cpi r24,lo8(-2)
449 044a 01F4 brne .L29
450 044c 8091 0000 lds r24,Poti4
451 0450 8093 0000 sts FCParam,r24
452 0454 00C0 rjmp .L29
453 .L157:
454 0456 8093 0000 sts FCParam+24,r24
455 .L159:
456 045a 6091 0000 lds r22,FCParam+9
457 045e 70E0 ldi r23,lo8(0)
458 0460 6F5F subi r22,lo8(-(1))
459 0462 7F4F sbci r23,hi8(-(1))
460 0464 8CE3 ldi r24,lo8(10300)
461 0466 98E2 ldi r25,hi8(10300)
462 0468 0E94 0000 call __divmodhi4
463 046c 7093 0000 sts (Ki)+1,r23
464 0470 6093 0000 sts Ki,r22
465 .L162:
466 0474 0895 ret
467 .L169:
468 0476 8B3F cpi r24,lo8(-5)
469 0478 01F4 brne .+2
470 047a 00C0 rjmp .L173
471 047c 8C3F cpi r24,lo8(-4)
472 047e 01F4 brne .+2
473 0480 00C0 rjmp .L174
474 0482 8D3F cpi r24,lo8(-3)
475 0484 01F4 brne .+2
476 0486 00C0 rjmp .L175
477 0488 8E3F cpi r24,lo8(-2)
478 048a 01F4 brne .L24
479 048c 8091 0000 lds r24,Poti4
480 0490 8093 0000 sts FCParam+1,r24
481 0494 00C0 rjmp .L24
482 .L27:
483 0496 8093 0000 sts FCParam,r24
484 .L29:
485 049a 8091 0000 lds r24,FCParam
486 049e 8823 tst r24
487 04a0 01F4 brne .L32
488 04a2 1092 0000 sts FCParam,__zero_reg__
489 .L33:
490 04a6 8091 0000 lds r24,ParamSet+12
491 04aa 8B3F cpi r24,lo8(-5)
492 04ac 00F0 brlo .L34
493 .L179:
494 04ae 8B3F cpi r24,lo8(-5)
495 04b0 01F4 brne .+2
496 04b2 00C0 rjmp .L176
497 04b4 8C3F cpi r24,lo8(-4)
498 04b6 01F4 brne .+2
499 04b8 00C0 rjmp .L177
500 04ba 8D3F cpi r24,lo8(-3)
501 04bc 01F4 brne .+2
502 04be 00C0 rjmp .L178
503 04c0 8E3F cpi r24,lo8(-2)
504 04c2 01F4 brne .L36
505 04c4 8091 0000 lds r24,Poti4
506 04c8 8093 0000 sts FCParam+2,r24
507 04cc 00C0 rjmp .L36
508 .L32:
509 04ce 8436 cpi r24,lo8(100)
510 04d0 00F0 brlo .L33
511 04d2 84E6 ldi r24,lo8(100)
512 04d4 8093 0000 sts FCParam,r24
513 04d8 8091 0000 lds r24,ParamSet+12
514 04dc 8B3F cpi r24,lo8(-5)
515 04de 00F4 brsh .L179
516 .L34:
517 04e0 8093 0000 sts FCParam+2,r24
518 .L36:
519 04e4 8091 0000 lds r24,FCParam+2
520 04e8 8823 tst r24
521 04ea 01F4 brne .L39
522 04ec 1092 0000 sts FCParam+2,__zero_reg__
523 .L40:
524 04f0 8091 0000 lds r24,ParamSet+14
525 04f4 8B3F cpi r24,lo8(-5)
526 04f6 00F0 brlo .L41
527 .L183:
528 04f8 8B3F cpi r24,lo8(-5)
529 04fa 01F4 brne .+2
530 04fc 00C0 rjmp .L180
531 04fe 8C3F cpi r24,lo8(-4)
532 0500 01F4 brne .+2
533 0502 00C0 rjmp .L181
534 0504 8D3F cpi r24,lo8(-3)
535 0506 01F4 brne .+2
536 0508 00C0 rjmp .L182
537 050a 8E3F cpi r24,lo8(-2)
538 050c 01F4 brne .L43
539 050e 8091 0000 lds r24,Poti4
540 0512 8093 0000 sts FCParam+3,r24
541 0516 00C0 rjmp .L43
542 .L39:
543 0518 8436 cpi r24,lo8(100)
544 051a 00F0 brlo .L40
545 051c 84E6 ldi r24,lo8(100)
546 051e 8093 0000 sts FCParam+2,r24
547 0522 8091 0000 lds r24,ParamSet+14
548 0526 8B3F cpi r24,lo8(-5)
549 0528 00F4 brsh .L183
550 .L41:
551 052a 8093 0000 sts FCParam+3,r24
552 .L43:
553 052e 8091 0000 lds r24,ParamSet+21
554 0532 8B3F cpi r24,lo8(-5)
555 0534 00F0 brlo .L46
556 0536 8B3F cpi r24,lo8(-5)
557 0538 01F4 brne .+2
558 053a 00C0 rjmp .L184
559 053c 8C3F cpi r24,lo8(-4)
560 053e 01F4 brne .+2
561 0540 00C0 rjmp .L185
562 0542 8D3F cpi r24,lo8(-3)
563 0544 01F4 brne .+2
564 0546 00C0 rjmp .L186
565 0548 8E3F cpi r24,lo8(-2)
566 054a 01F4 brne .L48
567 054c 8091 0000 lds r24,Poti4
568 0550 8093 0000 sts FCParam+4,r24
569 0554 00C0 rjmp .L48
570 .L46:
571 0556 8093 0000 sts FCParam+4,r24
572 .L48:
573 055a 8091 0000 lds r24,ParamSet+22
574 055e 8B3F cpi r24,lo8(-5)
575 0560 00F0 brlo .L51
576 0562 8B3F cpi r24,lo8(-5)
577 0564 01F4 brne .+2
578 0566 00C0 rjmp .L187
579 0568 8C3F cpi r24,lo8(-4)
580 056a 01F4 brne .+2
581 056c 00C0 rjmp .L188
582 056e 8D3F cpi r24,lo8(-3)
583 0570 01F4 brne .+2
584 0572 00C0 rjmp .L189
585 0574 8E3F cpi r24,lo8(-2)
586 0576 01F4 brne .L53
587 0578 8091 0000 lds r24,Poti4
588 057c 8093 0000 sts FCParam+6,r24
589 0580 00C0 rjmp .L53
590 .L51:
591 0582 8093 0000 sts FCParam+6,r24
592 .L53:
593 0586 8091 0000 lds r24,FCParam+6
594 058a 8B30 cpi r24,lo8(11)
595 058c 00F4 brsh .L56
596 058e 8AE0 ldi r24,lo8(10)
597 0590 8093 0000 sts FCParam+6,r24
598 .L57:
599 0594 8091 0000 lds r24,ParamSet+23
600 0598 8B3F cpi r24,lo8(-5)
601 059a 00F0 brlo .L58
602 059c 8B3F cpi r24,lo8(-5)
603 059e 01F4 brne .+2
604 05a0 00C0 rjmp .L190
605 05a2 8C3F cpi r24,lo8(-4)
606 05a4 01F4 brne .+2
607 05a6 00C0 rjmp .L191
608 05a8 8D3F cpi r24,lo8(-3)
609 05aa 01F4 brne .+2
610 05ac 00C0 rjmp .L192
611 05ae 8E3F cpi r24,lo8(-2)
612 05b0 01F4 brne .L60
613 05b2 8091 0000 lds r24,Poti4
614 05b6 8093 0000 sts FCParam+7,r24
615 05ba 00C0 rjmp .L60
616 .L56:
617 05bc 8F3F cpi r24,lo8(-1)
618 05be 01F4 brne .L57
619 05c0 8093 0000 sts FCParam+6,r24
620 05c4 00C0 rjmp .L57
621 .L58:
622 05c6 8093 0000 sts FCParam+7,r24
623 .L60:
624 05ca 8091 0000 lds r24,ParamSet+24
625 05ce 8B3F cpi r24,lo8(-5)
626 05d0 00F0 brlo .L63
627 05d2 8B3F cpi r24,lo8(-5)
628 05d4 01F4 brne .+2
629 05d6 00C0 rjmp .L193
630 05d8 8C3F cpi r24,lo8(-4)
631 05da 01F4 brne .+2
632 05dc 00C0 rjmp .L194
633 05de 8D3F cpi r24,lo8(-3)
634 05e0 01F4 brne .+2
635 05e2 00C0 rjmp .L195
636 05e4 8E3F cpi r24,lo8(-2)
637 05e6 01F4 brne .L65
638 05e8 8091 0000 lds r24,Poti4
639 05ec 8093 0000 sts FCParam+5,r24
640 05f0 00C0 rjmp .L65
641 .L63:
642 05f2 8093 0000 sts FCParam+5,r24
643 .L65:
644 05f6 8091 0000 lds r24,ParamSet+29
645 05fa 8B3F cpi r24,lo8(-5)
646 05fc 00F0 brlo .L68
647 05fe 8B3F cpi r24,lo8(-5)
648 0600 01F4 brne .+2
649 0602 00C0 rjmp .L196
650 0604 8C3F cpi r24,lo8(-4)
651 0606 01F4 brne .+2
652 0608 00C0 rjmp .L197
653 060a 8D3F cpi r24,lo8(-3)
654 060c 01F4 brne .+2
655 060e 00C0 rjmp .L198
656 0610 8E3F cpi r24,lo8(-2)
657 0612 01F4 brne .L70
658 0614 8091 0000 lds r24,Poti4
659 0618 8093 0000 sts FCParam+9,r24
660 061c 00C0 rjmp .L70
661 .L68:
662 061e 8093 0000 sts FCParam+9,r24
663 .L70:
664 0622 8091 0000 lds r24,ParamSet+30
665 0626 8B3F cpi r24,lo8(-5)
666 0628 00F0 brlo .L73
667 062a 8B3F cpi r24,lo8(-5)
668 062c 01F4 brne .+2
669 062e 00C0 rjmp .L199
670 0630 8C3F cpi r24,lo8(-4)
671 0632 01F4 brne .+2
672 0634 00C0 rjmp .L200
673 0636 8D3F cpi r24,lo8(-3)
674 0638 01F4 brne .+2
675 063a 00C0 rjmp .L201
676 063c 8E3F cpi r24,lo8(-2)
677 063e 01F4 brne .L75
678 0640 8091 0000 lds r24,Poti4
679 0644 8093 0000 sts FCParam+10,r24
680 0648 00C0 rjmp .L75
681 .L73:
682 064a 8093 0000 sts FCParam+10,r24
683 .L75:
684 064e 8091 0000 lds r24,ParamSet+31
685 0652 8B3F cpi r24,lo8(-5)
686 0654 00F0 brlo .L78
687 0656 8B3F cpi r24,lo8(-5)
688 0658 01F4 brne .+2
689 065a 00C0 rjmp .L202
690 065c 8C3F cpi r24,lo8(-4)
691 065e 01F4 brne .+2
692 0660 00C0 rjmp .L203
693 0662 8D3F cpi r24,lo8(-3)
694 0664 01F4 brne .+2
695 0666 00C0 rjmp .L204
696 0668 8E3F cpi r24,lo8(-2)
697 066a 01F4 brne .L80
698 066c 8091 0000 lds r24,Poti4
699 0670 8093 0000 sts FCParam+11,r24
700 0674 00C0 rjmp .L80
701 .L78:
702 0676 8093 0000 sts FCParam+11,r24
703 .L80:
704 067a 8091 0000 lds r24,ParamSet+32
705 067e 8B3F cpi r24,lo8(-5)
706 0680 00F0 brlo .L83
707 0682 8B3F cpi r24,lo8(-5)
708 0684 01F4 brne .+2
709 0686 00C0 rjmp .L205
710 0688 8C3F cpi r24,lo8(-4)
711 068a 01F4 brne .+2
712 068c 00C0 rjmp .L206
713 068e 8D3F cpi r24,lo8(-3)
714 0690 01F4 brne .+2
715 0692 00C0 rjmp .L207
716 0694 8E3F cpi r24,lo8(-2)
717 0696 01F4 brne .L85
718 0698 8091 0000 lds r24,Poti4
719 069c 8093 0000 sts FCParam+12,r24
720 06a0 00C0 rjmp .L85
721 .L83:
722 06a2 8093 0000 sts FCParam+12,r24
723 .L85:
724 06a6 8091 0000 lds r24,ParamSet+33
725 06aa 8B3F cpi r24,lo8(-5)
726 06ac 00F0 brlo .L88
727 06ae 8B3F cpi r24,lo8(-5)
728 06b0 01F4 brne .+2
729 06b2 00C0 rjmp .L208
730 06b4 8C3F cpi r24,lo8(-4)
731 06b6 01F4 brne .+2
732 06b8 00C0 rjmp .L209
733 06ba 8D3F cpi r24,lo8(-3)
734 06bc 01F4 brne .+2
735 06be 00C0 rjmp .L210
736 06c0 8E3F cpi r24,lo8(-2)
737 06c2 01F4 brne .L90
738 06c4 8091 0000 lds r24,Poti4
739 06c8 8093 0000 sts FCParam+13,r24
740 06cc 00C0 rjmp .L90
741 .L88:
742 06ce 8093 0000 sts FCParam+13,r24
743 .L90:
744 06d2 8091 0000 lds r24,ParamSet+50
745 06d6 8B3F cpi r24,lo8(-5)
746 06d8 00F0 brlo .L93
747 06da 8B3F cpi r24,lo8(-5)
748 06dc 01F4 brne .+2
749 06de 00C0 rjmp .L211
750 06e0 8C3F cpi r24,lo8(-4)
751 06e2 01F4 brne .+2
752 06e4 00C0 rjmp .L212
753 06e6 8D3F cpi r24,lo8(-3)
754 06e8 01F4 brne .+2
755 06ea 00C0 rjmp .L213
756 06ec 8E3F cpi r24,lo8(-2)
757 06ee 01F4 brne .L95
758 06f0 8091 0000 lds r24,Poti4
759 06f4 8093 0000 sts FCParam+14,r24
760 06f8 00C0 rjmp .L95
761 .L93:
762 06fa 8093 0000 sts FCParam+14,r24
763 .L95:
764 06fe 8091 0000 lds r24,ParamSet+51
765 0702 8B3F cpi r24,lo8(-5)
766 0704 00F0 brlo .L98
767 0706 8B3F cpi r24,lo8(-5)
768 0708 01F4 brne .+2
769 070a 00C0 rjmp .L214
770 070c 8C3F cpi r24,lo8(-4)
771 070e 01F4 brne .+2
772 0710 00C0 rjmp .L215
773 0712 8D3F cpi r24,lo8(-3)
774 0714 01F4 brne .+2
775 0716 00C0 rjmp .L216
776 0718 8E3F cpi r24,lo8(-2)
777 071a 01F4 brne .L100
778 071c 8091 0000 lds r24,Poti4
779 0720 8093 0000 sts FCParam+15,r24
780 0724 00C0 rjmp .L100
781 .L98:
782 0726 8093 0000 sts FCParam+15,r24
783 .L100:
784 072a 8091 0000 lds r24,ParamSet+52
785 072e 8B3F cpi r24,lo8(-5)
786 0730 00F0 brlo .L103
787 0732 8B3F cpi r24,lo8(-5)
788 0734 01F4 brne .+2
789 0736 00C0 rjmp .L217
790 0738 8C3F cpi r24,lo8(-4)
791 073a 01F4 brne .+2
792 073c 00C0 rjmp .L218
793 073e 8D3F cpi r24,lo8(-3)
794 0740 01F4 brne .+2
795 0742 00C0 rjmp .L219
796 0744 8E3F cpi r24,lo8(-2)
797 0746 01F4 brne .L105
798 0748 8091 0000 lds r24,Poti4
799 074c 8093 0000 sts FCParam+16,r24
800 0750 00C0 rjmp .L105
801 .L103:
802 0752 8093 0000 sts FCParam+16,r24
803 .L105:
804 0756 8091 0000 lds r24,ParamSet+53
805 075a 8B3F cpi r24,lo8(-5)
806 075c 00F0 brlo .L108
807 075e 8B3F cpi r24,lo8(-5)
808 0760 01F4 brne .+2
809 0762 00C0 rjmp .L220
810 0764 8C3F cpi r24,lo8(-4)
811 0766 01F4 brne .+2
812 0768 00C0 rjmp .L221
813 076a 8D3F cpi r24,lo8(-3)
814 076c 01F4 brne .+2
815 076e 00C0 rjmp .L222
816 0770 8E3F cpi r24,lo8(-2)
817 0772 01F4 brne .L110
818 0774 8091 0000 lds r24,Poti4
819 0778 8093 0000 sts FCParam+17,r24
820 077c 00C0 rjmp .L110
821 .L108:
822 077e 8093 0000 sts FCParam+17,r24
823 .L110:
824 0782 8091 0000 lds r24,ParamSet+34
825 0786 8B3F cpi r24,lo8(-5)
826 0788 00F0 brlo .L113
827 078a 8B3F cpi r24,lo8(-5)
828 078c 01F4 brne .+2
829 078e 00C0 rjmp .L223
830 0790 8C3F cpi r24,lo8(-4)
831 0792 01F4 brne .+2
832 0794 00C0 rjmp .L224
833 0796 8D3F cpi r24,lo8(-3)
834 0798 01F4 brne .+2
835 079a 00C0 rjmp .L225
836 079c 8E3F cpi r24,lo8(-2)
837 079e 01F4 brne .L115
838 07a0 8091 0000 lds r24,Poti4
839 07a4 8093 0000 sts FCParam+18,r24
840 07a8 00C0 rjmp .L115
841 .L113:
842 07aa 8093 0000 sts FCParam+18,r24
843 .L115:
844 07ae 8091 0000 lds r24,ParamSet+39
845 07b2 8B3F cpi r24,lo8(-5)
846 07b4 00F0 brlo .L118
847 07b6 8B3F cpi r24,lo8(-5)
848 07b8 01F4 brne .+2
849 07ba 00C0 rjmp .L226
850 07bc 8C3F cpi r24,lo8(-4)
851 07be 01F4 brne .+2
852 07c0 00C0 rjmp .L227
853 07c2 8D3F cpi r24,lo8(-3)
854 07c4 01F4 brne .+2
855 07c6 00C0 rjmp .L228
856 07c8 8E3F cpi r24,lo8(-2)
857 07ca 01F4 brne .L120
858 07cc 8091 0000 lds r24,Poti4
859 07d0 8093 0000 sts FCParam+19,r24
860 07d4 00C0 rjmp .L120
861 .L118:
862 07d6 8093 0000 sts FCParam+19,r24
863 .L120:
864 07da 8091 0000 lds r24,ParamSet+42
865 07de 8B3F cpi r24,lo8(-5)
866 07e0 00F0 brlo .L123
867 07e2 8B3F cpi r24,lo8(-5)
868 07e4 01F4 brne .+2
869 07e6 00C0 rjmp .L229
870 07e8 8C3F cpi r24,lo8(-4)
871 07ea 01F4 brne .+2
872 07ec 00C0 rjmp .L230
873 07ee 8D3F cpi r24,lo8(-3)
874 07f0 01F4 brne .+2
875 07f2 00C0 rjmp .L231
876 07f4 8E3F cpi r24,lo8(-2)
877 07f6 01F4 brne .L125
878 07f8 8091 0000 lds r24,Poti4
879 07fc 8093 0000 sts FCParam+20,r24
880 0800 00C0 rjmp .L125
881 .L123:
882 0802 8093 0000 sts FCParam+20,r24
883 .L125:
884 0806 8091 0000 lds r24,ParamSet+43
885 080a 8B3F cpi r24,lo8(-5)
886 080c 00F0 brlo .L128
887 080e 8B3F cpi r24,lo8(-5)
888 0810 01F4 brne .+2
889 0812 00C0 rjmp .L232
890 0814 8C3F cpi r24,lo8(-4)
891 0816 01F4 brne .+2
892 0818 00C0 rjmp .L233
893 081a 8D3F cpi r24,lo8(-3)
894 081c 01F4 brne .+2
895 081e 00C0 rjmp .L234
896 0820 8E3F cpi r24,lo8(-2)
897 0822 01F4 brne .L130
898 0824 8091 0000 lds r24,Poti4
899 0828 8093 0000 sts FCParam+21,r24
900 082c 00C0 rjmp .L130
901 .L128:
902 082e 8093 0000 sts FCParam+21,r24
903 .L130:
904 0832 8091 0000 lds r24,ParamSet+44
905 0836 8B3F cpi r24,lo8(-5)
906 0838 00F0 brlo .L133
907 083a 8B3F cpi r24,lo8(-5)
908 083c 01F4 brne .+2
909 083e 00C0 rjmp .L235
910 0840 8C3F cpi r24,lo8(-4)
911 0842 01F4 brne .+2
912 0844 00C0 rjmp .L236
913 0846 8D3F cpi r24,lo8(-3)
914 0848 01F4 brne .+2
915 084a 00C0 rjmp .L237
916 084c 8E3F cpi r24,lo8(-2)
917 084e 01F4 brne .L135
918 0850 8091 0000 lds r24,Poti4
919 0854 8093 0000 sts FCParam+22,r24
920 0858 00C0 rjmp .L135
921 .L133:
922 085a 8093 0000 sts FCParam+22,r24
923 .L135:
924 085e 8091 0000 lds r24,ParamSet+49
925 0862 8B3F cpi r24,lo8(-5)
926 0864 00F0 brlo .L138
927 0866 8B3F cpi r24,lo8(-5)
928 0868 01F4 brne .+2
929 086a 00C0 rjmp .L238
930 086c 8C3F cpi r24,lo8(-4)
931 086e 01F4 brne .+2
932 0870 00C0 rjmp .L239
933 0872 8D3F cpi r24,lo8(-3)
934 0874 01F4 brne .+2
935 0876 00C0 rjmp .L240
936 0878 8E3F cpi r24,lo8(-2)
937 087a 01F4 brne .L140
938 087c 8091 0000 lds r24,Poti4
939 0880 8093 0000 sts FCParam+23,r24
940 0884 00C0 rjmp .L140
941 .L138:
942 0886 8093 0000 sts FCParam+23,r24
943 .L140:
944 088a 8091 0000 lds r24,ParamSet+55
945 088e 8B3F cpi r24,lo8(-5)
946 0890 00F0 brlo .L143
947 0892 8B3F cpi r24,lo8(-5)
948 0894 01F4 brne .+2
949 0896 00C0 rjmp .L241
950 0898 8C3F cpi r24,lo8(-4)
951 089a 01F4 brne .+2
952 089c 00C0 rjmp .L242
953 089e 8D3F cpi r24,lo8(-3)
954 08a0 01F4 brne .+2
955 08a2 00C0 rjmp .L243
956 08a4 8E3F cpi r24,lo8(-2)
957 08a6 01F4 brne .L145
958 08a8 8091 0000 lds r24,Poti4
959 08ac 8093 0000 sts FCParam+25,r24
960 08b0 00C0 rjmp .L145
961 .L143:
962 08b2 8093 0000 sts FCParam+25,r24
963 .L145:
964 08b6 8091 0000 lds r24,FCParam+25
965 08ba 8230 cpi r24,lo8(2)
966 08bc 00F4 brsh .+2
967 08be 00C0 rjmp .L244
968 08c0 8F3F cpi r24,lo8(-1)
969 08c2 01F4 brne .+2
970 08c4 00C0 rjmp .L245
971 .L149:
972 08c6 8091 0000 lds r24,ParamSet+57
973 08ca 8B3F cpi r24,lo8(-5)
974 08cc 00F0 brlo .L150
975 08ce 8B3F cpi r24,lo8(-5)
976 08d0 01F0 breq .L246
977 08d2 8C3F cpi r24,lo8(-4)
978 08d4 01F4 brne .+2
979 08d6 00C0 rjmp .L247
980 08d8 8D3F cpi r24,lo8(-3)
981 08da 01F4 brne .+2
982 08dc 00C0 rjmp .L248
983 08de 8E3F cpi r24,lo8(-2)
984 08e0 01F4 brne .L152
985 08e2 8091 0000 lds r24,Poti4
986 08e6 8093 0000 sts FCParam+26,r24
987 08ea 00C0 rjmp .L152
988 .L150:
989 08ec 8093 0000 sts FCParam+26,r24
990 .L152:
991 08f0 8091 0000 lds r24,FCParam+26
992 08f4 8230 cpi r24,lo8(2)
993 08f6 00F4 brsh .+2
994 08f8 00C0 rjmp .L249
995 08fa 8F3F cpi r24,lo8(-1)
996 08fc 01F4 brne .+2
997 08fe 00C0 rjmp .L250
998 .L156:
999 0900 8091 0000 lds r24,ParamSet+74
1000 0904 8B3F cpi r24,lo8(-5)
1001 0906 00F4 brsh .+2
1002 0908 00C0 rjmp .L157
1003 090a 8B3F cpi r24,lo8(-5)
1004 090c 01F4 brne .+2
1005 090e 00C0 rjmp .L251
1006 0910 8C3F cpi r24,lo8(-4)
1007 0912 01F4 brne .+2
1008 0914 00C0 rjmp .L252
1009 0916 8D3F cpi r24,lo8(-3)
1010 0918 01F4 brne .+2
1011 091a 00C0 rjmp .L253
1012 091c 8E3F cpi r24,lo8(-2)
1013 091e 01F0 breq .+2
1014 0920 00C0 rjmp .L159
1015 0922 8091 0000 lds r24,Poti4
1016 0926 8093 0000 sts FCParam+24,r24
1017 092a 00C0 rjmp .L159
1018 .L246:
1019 092c 8091 0000 lds r24,Poti1
1020 0930 8093 0000 sts FCParam+26,r24
1021 0934 00C0 rjmp .L152
1022 .L241:
1023 0936 8091 0000 lds r24,Poti1
1024 093a 8093 0000 sts FCParam+25,r24
1025 093e 00C0 rjmp .L145
1026 .L238:
1027 0940 8091 0000 lds r24,Poti1
1028 0944 8093 0000 sts FCParam+23,r24
1029 0948 00C0 rjmp .L140
1030 .L235:
1031 094a 8091 0000 lds r24,Poti1
1032 094e 8093 0000 sts FCParam+22,r24
1033 0952 00C0 rjmp .L135
1034 .L232:
1035 0954 8091 0000 lds r24,Poti1
1036 0958 8093 0000 sts FCParam+21,r24
1037 095c 00C0 rjmp .L130
1038 .L229:
1039 095e 8091 0000 lds r24,Poti1
1040 0962 8093 0000 sts FCParam+20,r24
1041 0966 00C0 rjmp .L125
1042 .L226:
1043 0968 8091 0000 lds r24,Poti1
1044 096c 8093 0000 sts FCParam+19,r24
1045 0970 00C0 rjmp .L120
1046 .L223:
1047 0972 8091 0000 lds r24,Poti1
1048 0976 8093 0000 sts FCParam+18,r24
1049 097a 00C0 rjmp .L115
1050 .L220:
1051 097c 8091 0000 lds r24,Poti1
1052 0980 8093 0000 sts FCParam+17,r24
1053 0984 00C0 rjmp .L110
1054 .L217:
1055 0986 8091 0000 lds r24,Poti1
1056 098a 8093 0000 sts FCParam+16,r24
1057 098e 00C0 rjmp .L105
1058 .L251:
1059 0990 8091 0000 lds r24,Poti1
1060 0994 8093 0000 sts FCParam+24,r24
1061 0998 00C0 rjmp .L159
1062 .L184:
1063 099a 8091 0000 lds r24,Poti1
1064 099e 8093 0000 sts FCParam+4,r24
1065 09a2 00C0 rjmp .L48
1066 .L190:
1067 09a4 8091 0000 lds r24,Poti1
1068 09a8 8093 0000 sts FCParam+7,r24
1069 09ac 00C0 rjmp .L60
1070 .L187:
1071 09ae 8091 0000 lds r24,Poti1
1072 09b2 8093 0000 sts FCParam+6,r24
1073 09b6 00C0 rjmp .L53
1074 .L173:
1075 09b8 8091 0000 lds r24,Poti1
1076 09bc 8093 0000 sts FCParam+1,r24
1077 09c0 00C0 rjmp .L24
1078 .L170:
1079 09c2 8091 0000 lds r24,Poti1
1080 09c6 8093 0000 sts FCParam,r24
1081 09ca 00C0 rjmp .L29
1082 .L176:
1083 09cc 8091 0000 lds r24,Poti1
1084 09d0 8093 0000 sts FCParam+2,r24
1085 09d4 00C0 rjmp .L36
1086 .L180:
1087 09d6 8091 0000 lds r24,Poti1
1088 09da 8093 0000 sts FCParam+3,r24
1089 09de 00C0 rjmp .L43
1090 .L193:
1091 09e0 8091 0000 lds r24,Poti1
1092 09e4 8093 0000 sts FCParam+5,r24
1093 09e8 00C0 rjmp .L65
1094 .L196:
1095 09ea 8091 0000 lds r24,Poti1
1096 09ee 8093 0000 sts FCParam+9,r24
1097 09f2 00C0 rjmp .L70
1098 .L202:
1099 09f4 8091 0000 lds r24,Poti1
1100 09f8 8093 0000 sts FCParam+11,r24
1101 09fc 00C0 rjmp .L80
1102 .L199:
1103 09fe 8091 0000 lds r24,Poti1
1104 0a02 8093 0000 sts FCParam+10,r24
1105 0a06 00C0 rjmp .L75
1106 .L214:
1107 0a08 8091 0000 lds r24,Poti1
1108 0a0c 8093 0000 sts FCParam+15,r24
1109 0a10 00C0 rjmp .L100
1110 .L211:
1111 0a12 8091 0000 lds r24,Poti1
1112 0a16 8093 0000 sts FCParam+14,r24
1113 0a1a 00C0 rjmp .L95
1114 .L208:
1115 0a1c 8091 0000 lds r24,Poti1
1116 0a20 8093 0000 sts FCParam+13,r24
1117 0a24 00C0 rjmp .L90
1118 .L205:
1119 0a26 8091 0000 lds r24,Poti1
1120 0a2a 8093 0000 sts FCParam+12,r24
1121 0a2e 00C0 rjmp .L85
1122 .L249:
1123 0a30 81E0 ldi r24,lo8(1)
1124 0a32 8093 0000 sts FCParam+26,r24
1125 0a36 00C0 rjmp .L156
1126 .L244:
1127 0a38 81E0 ldi r24,lo8(1)
1128 0a3a 8093 0000 sts FCParam+25,r24
1129 0a3e 00C0 rjmp .L149
1130 .L245:
1131 0a40 8093 0000 sts FCParam+25,r24
1132 0a44 00C0 rjmp .L149
1133 .L250:
1134 0a46 8093 0000 sts FCParam+26,r24
1135 0a4a 00C0 rjmp .L156
1136 .L177:
1137 0a4c 8091 0000 lds r24,Poti2
1138 0a50 8093 0000 sts FCParam+2,r24
1139 0a54 00C0 rjmp .L36
1140 .L171:
1141 0a56 8091 0000 lds r24,Poti2
1142 0a5a 8093 0000 sts FCParam,r24
1143 0a5e 00C0 rjmp .L29
1144 .L206:
1145 0a60 8091 0000 lds r24,Poti2
1146 0a64 8093 0000 sts FCParam+12,r24
1147 0a68 00C0 rjmp .L85
1148 .L212:
1149 0a6a 8091 0000 lds r24,Poti2
1150 0a6e 8093 0000 sts FCParam+14,r24
1151 0a72 00C0 rjmp .L95
1152 .L209:
1153 0a74 8091 0000 lds r24,Poti2
1154 0a78 8093 0000 sts FCParam+13,r24
1155 0a7c 00C0 rjmp .L90
1156 .L194:
1157 0a7e 8091 0000 lds r24,Poti2
1158 0a82 8093 0000 sts FCParam+5,r24
1159 0a86 00C0 rjmp .L65
1160 .L181:
1161 0a88 8091 0000 lds r24,Poti2
1162 0a8c 8093 0000 sts FCParam+3,r24
1163 0a90 00C0 rjmp .L43
1164 .L185:
1165 0a92 8091 0000 lds r24,Poti2
1166 0a96 8093 0000 sts FCParam+4,r24
1167 0a9a 00C0 rjmp .L48
1168 .L197:
1169 0a9c 8091 0000 lds r24,Poti2
1170 0aa0 8093 0000 sts FCParam+9,r24
1171 0aa4 00C0 rjmp .L70
1172 .L200:
1173 0aa6 8091 0000 lds r24,Poti2
1174 0aaa 8093 0000 sts FCParam+10,r24
1175 0aae 00C0 rjmp .L75
1176 .L203:
1177 0ab0 8091 0000 lds r24,Poti2
1178 0ab4 8093 0000 sts FCParam+11,r24
1179 0ab8 00C0 rjmp .L80
1180 .L227:
1181 0aba 8091 0000 lds r24,Poti2
1182 0abe 8093 0000 sts FCParam+19,r24
1183 0ac2 00C0 rjmp .L120
1184 .L233:
1185 0ac4 8091 0000 lds r24,Poti2
1186 0ac8 8093 0000 sts FCParam+21,r24
1187 0acc 00C0 rjmp .L130
1188 .L230:
1189 0ace 8091 0000 lds r24,Poti2
1190 0ad2 8093 0000 sts FCParam+20,r24
1191 0ad6 00C0 rjmp .L125
1192 .L218:
1193 0ad8 8091 0000 lds r24,Poti2
1194 0adc 8093 0000 sts FCParam+16,r24
1195 0ae0 00C0 rjmp .L105
1196 .L224:
1197 0ae2 8091 0000 lds r24,Poti2
1198 0ae6 8093 0000 sts FCParam+18,r24
1199 0aea 00C0 rjmp .L115
1200 .L221:
1201 0aec 8091 0000 lds r24,Poti2
1202 0af0 8093 0000 sts FCParam+17,r24
1203 0af4 00C0 rjmp .L110
1204 .L236:
1205 0af6 8091 0000 lds r24,Poti2
1206 0afa 8093 0000 sts FCParam+22,r24
1207 0afe 00C0 rjmp .L135
1208 .L215:
1209 0b00 8091 0000 lds r24,Poti2
1210 0b04 8093 0000 sts FCParam+15,r24
1211 0b08 00C0 rjmp .L100
1212 .L174:
1213 0b0a 8091 0000 lds r24,Poti2
1214 0b0e 8093 0000 sts FCParam+1,r24
1215 0b12 00C0 rjmp .L24
1216 .L191:
1217 0b14 8091 0000 lds r24,Poti2
1218 0b18 8093 0000 sts FCParam+7,r24
1219 0b1c 00C0 rjmp .L60
1220 .L188:
1221 0b1e 8091 0000 lds r24,Poti2
1222 0b22 8093 0000 sts FCParam+6,r24
1223 0b26 00C0 rjmp .L53
1224 .L252:
1225 0b28 8091 0000 lds r24,Poti2
1226 0b2c 8093 0000 sts FCParam+24,r24
1227 0b30 00C0 rjmp .L159
1228 .L247:
1229 0b32 8091 0000 lds r24,Poti2
1230 0b36 8093 0000 sts FCParam+26,r24
1231 0b3a 00C0 rjmp .L152
1232 .L242:
1233 0b3c 8091 0000 lds r24,Poti2
1234 0b40 8093 0000 sts FCParam+25,r24
1235 0b44 00C0 rjmp .L145
1236 .L239:
1237 0b46 8091 0000 lds r24,Poti2
1238 0b4a 8093 0000 sts FCParam+23,r24
1239 0b4e 00C0 rjmp .L140
1240 .L248:
1241 0b50 8091 0000 lds r24,Poti3
1242 0b54 8093 0000 sts FCParam+26,r24
1243 0b58 00C0 rjmp .L152
1244 .L253:
1245 0b5a 8091 0000 lds r24,Poti3
1246 0b5e 8093 0000 sts FCParam+24,r24
1247 0b62 00C0 rjmp .L159
1248 .L219:
1249 0b64 8091 0000 lds r24,Poti3
1250 0b68 8093 0000 sts FCParam+16,r24
1251 0b6c 00C0 rjmp .L105
1252 .L231:
1253 0b6e 8091 0000 lds r24,Poti3
1254 0b72 8093 0000 sts FCParam+20,r24
1255 0b76 00C0 rjmp .L125
1256 .L222:
1257 0b78 8091 0000 lds r24,Poti3
1258 0b7c 8093 0000 sts FCParam+17,r24
1259 0b80 00C0 rjmp .L110
1260 .L234:
1261 0b82 8091 0000 lds r24,Poti3
1262 0b86 8093 0000 sts FCParam+21,r24
1263 0b8a 00C0 rjmp .L130
1264 .L240:
1265 0b8c 8091 0000 lds r24,Poti3
1266 0b90 8093 0000 sts FCParam+23,r24
1267 0b94 00C0 rjmp .L140
1268 .L243:
1269 0b96 8091 0000 lds r24,Poti3
1270 0b9a 8093 0000 sts FCParam+25,r24
1271 0b9e 00C0 rjmp .L145
1272 .L225:
1273 0ba0 8091 0000 lds r24,Poti3
1274 0ba4 8093 0000 sts FCParam+18,r24
1275 0ba8 00C0 rjmp .L115
1276 .L237:
1277 0baa 8091 0000 lds r24,Poti3
1278 0bae 8093 0000 sts FCParam+22,r24
1279 0bb2 00C0 rjmp .L135
1280 .L178:
1281 0bb4 8091 0000 lds r24,Poti3
1282 0bb8 8093 0000 sts FCParam+2,r24
1283 0bbc 00C0 rjmp .L36
1284 .L201:
1285 0bbe 8091 0000 lds r24,Poti3
1286 0bc2 8093 0000 sts FCParam+10,r24
1287 0bc6 00C0 rjmp .L75
1288 .L186:
1289 0bc8 8091 0000 lds r24,Poti3
1290 0bcc 8093 0000 sts FCParam+4,r24
1291 0bd0 00C0 rjmp .L48
1292 .L207:
1293 0bd2 8091 0000 lds r24,Poti3
1294 0bd6 8093 0000 sts FCParam+12,r24
1295 0bda 00C0 rjmp .L85
1296 .L216:
1297 0bdc 8091 0000 lds r24,Poti3
1298 0be0 8093 0000 sts FCParam+15,r24
1299 0be4 00C0 rjmp .L100
1300 .L228:
1301 0be6 8091 0000 lds r24,Poti3
1302 0bea 8093 0000 sts FCParam+19,r24
1303 0bee 00C0 rjmp .L120
1304 .L192:
1305 0bf0 8091 0000 lds r24,Poti3
1306 0bf4 8093 0000 sts FCParam+7,r24
1307 0bf8 00C0 rjmp .L60
1308 .L213:
1309 0bfa 8091 0000 lds r24,Poti3
1310 0bfe 8093 0000 sts FCParam+14,r24
1311 0c02 00C0 rjmp .L95
1312 .L172:
1313 0c04 8091 0000 lds r24,Poti3
1314 0c08 8093 0000 sts FCParam,r24
1315 0c0c 00C0 rjmp .L29
1316 .L198:
1317 0c0e 8091 0000 lds r24,Poti3
1318 0c12 8093 0000 sts FCParam+9,r24
1319 0c16 00C0 rjmp .L70
1320 .L182:
1321 0c18 8091 0000 lds r24,Poti3
1322 0c1c 8093 0000 sts FCParam+3,r24
1323 0c20 00C0 rjmp .L43
1324 .L204:
1325 0c22 8091 0000 lds r24,Poti3
1326 0c26 8093 0000 sts FCParam+11,r24
1327 0c2a 00C0 rjmp .L80
1328 .L175:
1329 0c2c 8091 0000 lds r24,Poti3
1330 0c30 8093 0000 sts FCParam+1,r24
1331 0c34 00C0 rjmp .L24
1332 .L195:
1333 0c36 8091 0000 lds r24,Poti3
1334 0c3a 8093 0000 sts FCParam+5,r24
1335 0c3e 00C0 rjmp .L65
1336 .L189:
1337 0c40 8091 0000 lds r24,Poti3
1338 0c44 8093 0000 sts FCParam+6,r24
1339 0c48 00C0 rjmp .L53
1340 .L210:
1341 0c4a 8091 0000 lds r24,Poti3
1342 0c4e 8093 0000 sts FCParam+13,r24
1343 0c52 00C0 rjmp .L90
1345 .global SendMotorData
1347 SendMotorData:
1348 /* prologue: function */
1349 /* frame size = 0 */
1350 0c54 8091 0000 lds r24,MKFlags
1351 0c58 80FD sbrc r24,0
1352 0c5a 00C0 rjmp .L255
1353 0c5c 8091 0000 lds r24,MKFlags
1354 0c60 857F andi r24,lo8(-11)
1355 0c62 8093 0000 sts MKFlags,r24
1356 0c66 9091 0000 lds r25,MotorTest_Active
1357 0c6a E0E0 ldi r30,lo8(Motor)
1358 0c6c F0E0 ldi r31,hi8(Motor)
1359 0c6e A0E0 ldi r26,lo8(MotorTest)
1360 0c70 B0E0 ldi r27,hi8(MotorTest)
1361 0c72 00C0 rjmp .L258
1362 .L263:
1363 0c74 1082 st Z,__zero_reg__
1364 0c76 3596 adiw r30,5
1365 0c78 1196 adiw r26,1
1366 0c7a 80E0 ldi r24,hi8(Motor+60)
1367 0c7c E030 cpi r30,lo8(Motor+60)
1368 0c7e F807 cpc r31,r24
1369 0c80 01F0 breq .L262
1370 .L258:
1371 0c82 9923 tst r25
1372 0c84 01F0 breq .L263
1373 0c86 8C91 ld r24,X
1374 0c88 8083 st Z,r24
1375 0c8a 3596 adiw r30,5
1376 0c8c 1196 adiw r26,1
1377 0c8e 80E0 ldi r24,hi8(Motor+60)
1378 0c90 E030 cpi r30,lo8(Motor+60)
1379 0c92 F807 cpc r31,r24
1380 0c94 01F4 brne .L258
1381 .L262:
1382 0c96 9923 tst r25
1383 0c98 01F0 breq .L255
1384 0c9a 9150 subi r25,lo8(-(-1))
1385 0c9c 9093 0000 sts MotorTest_Active,r25
1386 .L255:
1387 0ca0 E0E0 ldi r30,lo8(DebugOut+26)
1388 0ca2 F0E0 ldi r31,hi8(DebugOut+26)
1389 0ca4 8091 0000 lds r24,Motor
1390 0ca8 8093 0000 sts DebugOut+26,r24
1391 0cac 1092 0000 sts DebugOut+27,__zero_reg__
1392 0cb0 8091 0000 lds r24,Motor+5
1393 0cb4 8093 0000 sts DebugOut+28,r24
1394 0cb8 1382 std Z+3,__zero_reg__
1395 0cba 8091 0000 lds r24,Motor+15
1396 0cbe 8093 0000 sts DebugOut+30,r24
1397 0cc2 1582 std Z+5,__zero_reg__
1398 0cc4 8091 0000 lds r24,Motor+10
1399 0cc8 8093 0000 sts DebugOut+32,r24
1400 0ccc 1782 std Z+7,__zero_reg__
1401 0cce 80E0 ldi r24,lo8(0)
1402 0cd0 0E94 0000 call I2C_Start
1403 /* epilogue start */
1404 0cd4 0895 ret
1406 .global SetNeutral
1408 SetNeutral:
1409 0cd6 1F93 push r17
1410 /* prologue: function */
1411 /* frame size = 0 */
1412 0cd8 182F mov r17,r24
1413 0cda 0E94 0000 call Servo_Off
1414 0cde 1092 0000 sts FCParam+20,__zero_reg__
1415 0ce2 1092 0000 sts FCParam+21,__zero_reg__
1416 0ce6 0E94 0000 call analog_calibrate
1417 0cea 1092 0000 sts (GyroNick)+1,__zero_reg__
1418 0cee 1092 0000 sts GyroNick,__zero_reg__
1419 0cf2 1092 0000 sts (GyroRoll)+1,__zero_reg__
1420 0cf6 1092 0000 sts GyroRoll,__zero_reg__
1421 0cfa 1092 0000 sts (GyroYaw)+1,__zero_reg__
1422 0cfe 1092 0000 sts GyroYaw,__zero_reg__
1423 0d02 1092 0000 sts IntegralGyroNick,__zero_reg__
1424 0d06 1092 0000 sts (IntegralGyroNick)+1,__zero_reg__
1425 0d0a 1092 0000 sts (IntegralGyroNick)+2,__zero_reg__
1426 0d0e 1092 0000 sts (IntegralGyroNick)+3,__zero_reg__
1427 0d12 1092 0000 sts ReadingIntegralGyroNick,__zero_reg__
1428 0d16 1092 0000 sts (ReadingIntegralGyroNick)+1,__zero_reg__
1429 0d1a 1092 0000 sts (ReadingIntegralGyroNick)+2,__zero_reg__
1430 0d1e 1092 0000 sts (ReadingIntegralGyroNick)+3,__zero_reg__
1431 0d22 1092 0000 sts IntegralGyroRoll,__zero_reg__
1432 0d26 1092 0000 sts (IntegralGyroRoll)+1,__zero_reg__
1433 0d2a 1092 0000 sts (IntegralGyroRoll)+2,__zero_reg__
1434 0d2e 1092 0000 sts (IntegralGyroRoll)+3,__zero_reg__
1435 0d32 1092 0000 sts ReadingIntegralGyroRoll,__zero_reg__
1436 0d36 1092 0000 sts (ReadingIntegralGyroRoll)+1,__zero_reg__
1437 0d3a 1092 0000 sts (ReadingIntegralGyroRoll)+2,__zero_reg__
1438 0d3e 1092 0000 sts (ReadingIntegralGyroRoll)+3,__zero_reg__
1439 0d42 1092 0000 sts IntegralGyroYaw,__zero_reg__
1440 0d46 1092 0000 sts (IntegralGyroYaw)+1,__zero_reg__
1441 0d4a 1092 0000 sts (IntegralGyroYaw)+2,__zero_reg__
1442 0d4e 1092 0000 sts (IntegralGyroYaw)+3,__zero_reg__
1443 0d52 1092 0000 sts ReadingIntegralGyroYaw,__zero_reg__
1444 0d56 1092 0000 sts (ReadingIntegralGyroYaw)+1,__zero_reg__
1445 0d5a 1092 0000 sts (ReadingIntegralGyroYaw)+2,__zero_reg__
1446 0d5e 1092 0000 sts (ReadingIntegralGyroYaw)+3,__zero_reg__
1447 0d62 8091 0000 lds r24,CompassHeading
1448 0d66 9091 0000 lds r25,(CompassHeading)+1
1449 0d6a 9093 0000 sts (CompassCourse)+1,r25
1450 0d6e 8093 0000 sts CompassCourse,r24
1451 0d72 AA27 clr r26
1452 0d74 97FD sbrc r25,7
1453 0d76 A095 com r26
1454 0d78 BA2F mov r27,r26
1455 0d7a 59E0 ldi r21,9
1456 0d7c 880F 1: lsl r24
1457 0d7e 991F rol r25
1458 0d80 AA1F rol r26
1459 0d82 BB1F rol r27
1460 0d84 5A95 dec r21
1461 0d86 01F4 brne 1b
1462 0d88 8093 0000 sts YawGyroHeading,r24
1463 0d8c 9093 0000 sts (YawGyroHeading)+1,r25
1464 0d90 A093 0000 sts (YawGyroHeading)+2,r26
1465 0d94 B093 0000 sts (YawGyroHeading)+3,r27
1466 0d98 82E3 ldi r24,lo8(50)
1467 0d9a 90E0 ldi r25,hi8(50)
1468 0d9c 9093 0000 sts (BeepTime)+1,r25
1469 0da0 8093 0000 sts BeepTime,r24
1470 0da4 1092 0000 sts (GPSStickNick)+1,__zero_reg__
1471 0da8 1092 0000 sts GPSStickNick,__zero_reg__
1472 0dac 1092 0000 sts (GPSStickRoll)+1,__zero_reg__
1473 0db0 1092 0000 sts GPSStickRoll,__zero_reg__
1474 0db4 8091 0000 lds r24,MKFlags
1475 0db8 8460 ori r24,lo8(4)
1476 0dba 8093 0000 sts MKFlags,r24
1477 0dbe 8FEF ldi r24,lo8(-1)
1478 0dc0 8093 0000 sts FCParam+27,r24
1479 0dc4 1092 0000 sts FCParam+28,__zero_reg__
1480 0dc8 80E2 ldi r24,lo8(32)
1481 0dca 8093 0000 sts FCParam+29,r24
1482 0dce E091 0000 lds r30,ParamSet+4
1483 0dd2 F0E0 ldi r31,lo8(0)
1484 0dd4 EE0F lsl r30
1485 0dd6 FF1F rol r31
1486 0dd8 E050 subi r30,lo8(-(PPM_in))
1487 0dda F040 sbci r31,hi8(-(PPM_in))
1488 0ddc 8081 ld r24,Z
1489 0dde 9181 ldd r25,Z+1
1490 0de0 8259 subi r24,lo8(-(110))
1491 0de2 9F4F sbci r25,hi8(-(110))
1492 0de4 9093 0000 sts (Poti1)+1,r25
1493 0de8 8093 0000 sts Poti1,r24
1494 0dec E091 0000 lds r30,ParamSet+5
1495 0df0 F0E0 ldi r31,lo8(0)
1496 0df2 EE0F lsl r30
1497 0df4 FF1F rol r31
1498 0df6 E050 subi r30,lo8(-(PPM_in))
1499 0df8 F040 sbci r31,hi8(-(PPM_in))
1500 0dfa 8081 ld r24,Z
1501 0dfc 9181 ldd r25,Z+1
1502 0dfe 8259 subi r24,lo8(-(110))
1503 0e00 9F4F sbci r25,hi8(-(110))
1504 0e02 9093 0000 sts (Poti2)+1,r25
1505 0e06 8093 0000 sts Poti2,r24
1506 0e0a E091 0000 lds r30,ParamSet+6
1507 0e0e F0E0 ldi r31,lo8(0)
1508 0e10 EE0F lsl r30
1509 0e12 FF1F rol r31
1510 0e14 E050 subi r30,lo8(-(PPM_in))
1511 0e16 F040 sbci r31,hi8(-(PPM_in))
1512 0e18 8081 ld r24,Z
1513 0e1a 9181 ldd r25,Z+1
1514 0e1c 8259 subi r24,lo8(-(110))
1515 0e1e 9F4F sbci r25,hi8(-(110))
1516 0e20 9093 0000 sts (Poti3)+1,r25
1517 0e24 8093 0000 sts Poti3,r24
1518 0e28 E091 0000 lds r30,ParamSet+7
1519 0e2c F0E0 ldi r31,lo8(0)
1520 0e2e EE0F lsl r30
1521 0e30 FF1F rol r31
1522 0e32 E050 subi r30,lo8(-(PPM_in))
1523 0e34 F040 sbci r31,hi8(-(PPM_in))
1524 0e36 8081 ld r24,Z
1525 0e38 9181 ldd r25,Z+1
1526 0e3a 8259 subi r24,lo8(-(110))
1527 0e3c 9F4F sbci r25,hi8(-(110))
1528 0e3e 9093 0000 sts (Poti4)+1,r25
1529 0e42 8093 0000 sts Poti4,r24
1530 0e46 1123 tst r17
1531 0e48 01F0 breq .L265
1532 0e4a 8091 0000 lds r24,stickOffsetNick
1533 0e4e 9091 0000 lds r25,(stickOffsetNick)+1
1534 0e52 2091 0000 lds r18,StickNick
1535 0e56 3091 0000 lds r19,(StickNick)+1
1536 0e5a 820F add r24,r18
1537 0e5c 931F adc r25,r19
1538 0e5e 9093 0000 sts (stickOffsetNick)+1,r25
1539 0e62 8093 0000 sts stickOffsetNick,r24
1540 0e66 8091 0000 lds r24,stickOffsetRoll
1541 0e6a 9091 0000 lds r25,(stickOffsetRoll)+1
1542 0e6e 2091 0000 lds r18,StickRoll
1543 0e72 3091 0000 lds r19,(StickRoll)+1
1544 0e76 820F add r24,r18
1545 0e78 931F adc r25,r19
1546 0e7a 9093 0000 sts (stickOffsetRoll)+1,r25
1547 0e7e 8093 0000 sts stickOffsetRoll,r24
1548 .L265:
1549 0e82 0E94 0000 call Servo_On
1550 0e86 84E6 ldi r24,lo8(100)
1551 0e88 90E0 ldi r25,hi8(100)
1552 0e8a 9093 0000 sts (RC_Quality)+1,r25
1553 0e8e 8093 0000 sts RC_Quality,r24
1554 /* epilogue start */
1555 0e92 1F91 pop r17
1556 0e94 0895 ret
1558 .global Beep
1560 Beep:
1561 0e96 1F93 push r17
1562 0e98 CF93 push r28
1563 0e9a DF93 push r29
1564 /* prologue: function */
1565 /* frame size = 0 */
1566 0e9c 982F mov r25,r24
1567 0e9e 8823 tst r24
1568 0ea0 01F0 breq .L271
1569 0ea2 8091 0000 lds r24,MKFlags
1570 0ea6 80FD sbrc r24,0
1571 0ea8 00C0 rjmp .L271
1572 0eaa 192F mov r17,r25
1573 0eac 1150 subi r17,lo8(-(-1))
1574 0eae C4E6 ldi r28,lo8(100)
1575 0eb0 D0E0 ldi r29,hi8(100)
1576 0eb2 00C0 rjmp .L269
1577 .L270:
1578 0eb4 8091 0000 lds r24,MKFlags
1579 0eb8 1150 subi r17,lo8(-(-1))
1580 0eba 80FD sbrc r24,0
1581 0ebc 00C0 rjmp .L271
1582 .L269:
1583 0ebe D093 0000 sts (BeepTime)+1,r29
1584 0ec2 C093 0000 sts BeepTime,r28
1585 0ec6 8AEF ldi r24,lo8(250)
1586 0ec8 90E0 ldi r25,hi8(250)
1587 0eca 0E94 0000 call Delay_ms
1588 0ece 1123 tst r17
1589 0ed0 01F4 brne .L270
1590 .L271:
1591 /* epilogue start */
1592 0ed2 DF91 pop r29
1593 0ed4 CF91 pop r28
1594 0ed6 1F91 pop r17
1595 0ed8 0895 ret
1597 .global SetCompassCalState
1599 SetCompassCalState:
1600 /* prologue: function */
1601 /* frame size = 0 */
1602 0eda 8091 0000 lds r24,ParamSet
1603 0ede A82F mov r26,r24
1604 0ee0 B0E0 ldi r27,lo8(0)
1605 0ee2 AA0F lsl r26
1606 0ee4 BB1F rol r27
1607 0ee6 FD01 movw r30,r26
1608 0ee8 E050 subi r30,lo8(-(PPM_in))
1609 0eea F040 sbci r31,hi8(-(PPM_in))
1610 0eec 8081 ld r24,Z
1611 0eee 9181 ldd r25,Z+1
1612 0ef0 8D5E subi r24,lo8(-19)
1613 0ef2 9F4F sbci r25,hi8(-19)
1614 0ef4 04F0 brlt .L273
1615 0ef6 1092 0000 sts stick.1951,__zero_reg__
1616 .L273:
1617 0efa A050 subi r26,lo8(-(PPM_in))
1618 0efc B040 sbci r27,hi8(-(PPM_in))
1619 0efe 8D91 ld r24,X+
1620 0f00 9C91 ld r25,X
1621 0f02 8A5B subi r24,lo8(-70)
1622 0f04 9F4F sbci r25,hi8(-70)
1623 0f06 04F4 brge .L276
1624 0f08 8091 0000 lds r24,stick.1951
1625 0f0c 8823 tst r24
1626 0f0e 01F4 brne .L276
1627 0f10 81E0 ldi r24,lo8(1)
1628 0f12 8093 0000 sts stick.1951,r24
1629 0f16 8091 0000 lds r24,CompassCalState
1630 0f1a 8F5F subi r24,lo8(-(1))
1631 0f1c 8093 0000 sts CompassCalState,r24
1632 0f20 8530 cpi r24,lo8(5)
1633 0f22 00F0 brlo .L277
1634 0f24 88EE ldi r24,lo8(1000)
1635 0f26 93E0 ldi r25,hi8(1000)
1636 0f28 9093 0000 sts (BeepTime)+1,r25
1637 0f2c 8093 0000 sts BeepTime,r24
1638 .L276:
1639 0f30 0895 ret
1640 .L277:
1641 0f32 0E94 0000 call Beep
1642 0f36 0895 ret
1644 .global MotorControl
1646 MotorControl:
1647 0f38 2F92 push r2
1648 0f3a 3F92 push r3
1649 0f3c 4F92 push r4
1650 0f3e 5F92 push r5
1651 0f40 6F92 push r6
1652 0f42 7F92 push r7
1653 0f44 8F92 push r8
1654 0f46 9F92 push r9
1655 0f48 AF92 push r10
1656 0f4a BF92 push r11
1657 0f4c CF92 push r12
1658 0f4e DF92 push r13
1659 0f50 EF92 push r14
1660 0f52 FF92 push r15
1661 0f54 0F93 push r16
1662 0f56 1F93 push r17
1663 0f58 DF93 push r29
1664 0f5a CF93 push r28
1665 0f5c CDB7 in r28,__SP_L__
1666 0f5e DEB7 in r29,__SP_H__
1667 0f60 6B97 sbiw r28,27
1668 0f62 0FB6 in __tmp_reg__,__SREG__
1669 0f64 F894 cli
1670 0f66 DEBF out __SP_H__,r29
1671 0f68 0FBE out __SREG__,__tmp_reg__
1672 0f6a CDBF out __SP_L__,r28
1673 /* prologue: function */
1674 /* frame size = 27 */
1675 0f6c 0E94 0000 call Mean
1676 0f70 D090 0000 lds r13,BoardRelease
1677 0f74 2BE0 ldi r18,lo8(11)
1678 0f76 2D15 cp r18,r13
1679 0f78 00F4 brsh .+4
1680 0f7a 0C94 0000 jmp .L279
1681 0f7e 299A sbi 37-0x20,1
1682 .L280:
1683 0f80 4091 0000 lds r20,StickGas
1684 0f84 5091 0000 lds r21,(StickGas)+1
1685 0f88 5887 std Y+8,r21
1686 0f8a 4F83 std Y+7,r20
1687 0f8c 8091 0000 lds r24,ParamSet+18
1688 0f90 282F mov r18,r24
1689 0f92 30E0 ldi r19,lo8(0)
1690 0f94 C901 movw r24,r18
1691 0f96 0996 adiw r24,9
1692 0f98 8417 cp r24,r20
1693 0f9a 9507 cpc r25,r21
1694 0f9c 04F0 brlt .L281
1695 0f9e B901 movw r22,r18
1696 0fa0 665F subi r22,lo8(-(10))
1697 0fa2 7F4F sbci r23,hi8(-(10))
1698 0fa4 7887 std Y+8,r23
1699 0fa6 6F83 std Y+7,r22
1700 .L281:
1701 0fa8 8091 0000 lds r24,RC_Quality
1702 0fac 9091 0000 lds r25,(RC_Quality)+1
1703 0fb0 8837 cpi r24,120
1704 0fb2 9105 cpc r25,__zero_reg__
1705 0fb4 04F0 brlt .+2
1706 0fb6 00C0 rjmp .L282
1707 0fb8 8091 0000 lds r24,PcAccess
1708 0fbc 8823 tst r24
1709 0fbe 01F4 brne .L283
1710 0fc0 8091 0000 lds r24,BeepModulation
1711 0fc4 9091 0000 lds r25,(BeepModulation)+1
1712 0fc8 8F5F subi r24,lo8(-1)
1713 0fca 9F4F sbci r25,hi8(-1)
1714 0fcc 01F4 brne .+4
1715 0fce 0C94 0000 jmp .L481
1716 .L283:
1717 0fd2 8091 0000 lds r24,RcLostTimer.1981
1718 0fd6 9091 0000 lds r25,(RcLostTimer.1981)+1
1719 0fda 0097 sbiw r24,0
1720 0fdc 01F0 breq .+4
1721 0fde 0C94 0000 jmp .L482
1722 0fe2 8091 0000 lds r24,MKFlags
1723 0fe6 8E7E andi r24,lo8(-18)
1724 0fe8 8093 0000 sts MKFlags,r24
1725 0fec 8AE0 ldi r24,lo8(10)
1726 0fee D816 cp r13,r24
1727 0ff0 01F4 brne .+4
1728 0ff2 0C94 0000 jmp .L286
1729 .L541:
1730 0ff6 94E1 ldi r25,lo8(20)
1731 0ff8 D916 cp r13,r25
1732 0ffa 01F4 brne .+4
1733 0ffc 0C94 0000 jmp .L286
1734 1000 2898 cbi 37-0x20,0
1735 .L288:
1736 1002 8091 0000 lds r24,ModelIsFlying
1737 1006 9091 0000 lds r25,(ModelIsFlying)+1
1738 100a 895E subi r24,lo8(1001)
1739 100c 9340 sbci r25,hi8(1001)
1740 100e 00F4 brsh .+4
1741 1010 0C94 0000 jmp .L478
1742 1014 8091 0000 lds r24,ParamSet+26
1743 1018 282F mov r18,r24
1744 101a 30E0 ldi r19,lo8(0)
1745 101c 3887 std Y+8,r19
1746 101e 2F83 std Y+7,r18
1747 1020 8091 0000 lds r24,MKFlags
1748 1024 8061 ori r24,lo8(16)
1749 1026 8093 0000 sts MKFlags,r24
1750 102a E091 0000 lds r30,ParamSet
1751 102e 2E2F mov r18,r30
1752 1030 30E0 ldi r19,lo8(0)
1753 1032 220F lsl r18
1754 1034 331F rol r19
1755 1036 F901 movw r30,r18
1756 1038 E050 subi r30,lo8(-(PPM_diff))
1757 103a F040 sbci r31,hi8(-(PPM_diff))
1758 103c 1182 std Z+1,__zero_reg__
1759 103e 1082 st Z,__zero_reg__
1760 1040 A091 0000 lds r26,ParamSet+1
1761 1044 B0E0 ldi r27,lo8(0)
1762 1046 AA0F lsl r26
1763 1048 BB1F rol r27
1764 104a FD01 movw r30,r26
1765 104c E050 subi r30,lo8(-(PPM_diff))
1766 104e F040 sbci r31,hi8(-(PPM_diff))
1767 1050 1182 std Z+1,__zero_reg__
1768 1052 1082 st Z,__zero_reg__
1769 1054 E091 0000 lds r30,ParamSet+3
1770 1058 4E2F mov r20,r30
1771 105a 50E0 ldi r21,lo8(0)
1772 105c 440F lsl r20
1773 105e 551F rol r21
1774 1060 CA01 movw r24,r20
1775 1062 8050 subi r24,lo8(-(PPM_diff))
1776 1064 9040 sbci r25,hi8(-(PPM_diff))
1777 1066 FC01 movw r30,r24
1778 1068 1182 std Z+1,__zero_reg__
1779 106a 1082 st Z,__zero_reg__
1780 106c 2050 subi r18,lo8(-(PPM_in))
1781 106e 3040 sbci r19,hi8(-(PPM_in))
1782 1070 F901 movw r30,r18
1783 1072 1182 std Z+1,__zero_reg__
1784 1074 1082 st Z,__zero_reg__
1785 1076 A050 subi r26,lo8(-(PPM_in))
1786 1078 B040 sbci r27,hi8(-(PPM_in))
1787 107a 1196 adiw r26,1
1788 107c 1C92 st X,__zero_reg__
1789 107e 1E92 st -X,__zero_reg__
1790 1080 4050 subi r20,lo8(-(PPM_in))
1791 1082 5040 sbci r21,hi8(-(PPM_in))
1792 1084 FA01 movw r30,r20
1793 1086 1182 std Z+1,__zero_reg__
1794 1088 1082 st Z,__zero_reg__
1795 .L290:
1796 108a 8091 0000 lds r24,NewPpmData
1797 108e 8150 subi r24,lo8(-(-1))
1798 1090 8093 0000 sts NewPpmData,r24
1799 1094 8F5F subi r24,lo8(-(1))
1800 1096 01F4 brne .+2
1801 1098 00C0 rjmp .L355
1802 109a 8091 0000 lds r24,MKFlags
1803 109e 84FD sbrc r24,4
1804 10a0 00C0 rjmp .L355
1805 .L356:
1806 10a2 8091 0000 lds r24,LoopingRoll
1807 10a6 8823 tst r24
1808 10a8 01F0 breq .+4
1809 10aa 0C94 0000 jmp .L386
1810 .L528:
1811 10ae 8091 0000 lds r24,LoopingNick
1812 10b2 8823 tst r24
1813 10b4 01F0 breq .+4
1814 10b6 0C94 0000 jmp .L386
1815 .L387:
1816 10ba 8091 0000 lds r24,MKFlags
1817 10be 84FF sbrs r24,4
1818 10c0 00C0 rjmp .L389
1819 10c2 1092 0000 sts (StickYaw)+1,__zero_reg__
1820 10c6 1092 0000 sts StickYaw,__zero_reg__
1821 10ca 1092 0000 sts (StickNick)+1,__zero_reg__
1822 10ce 1092 0000 sts StickNick,__zero_reg__
1823 10d2 1092 0000 sts (StickRoll)+1,__zero_reg__
1824 10d6 1092 0000 sts StickRoll,__zero_reg__
1825 10da 9AE5 ldi r25,lo8(90)
1826 10dc 9093 0000 sts GyroPFactor,r25
1827 10e0 88E7 ldi r24,lo8(120)
1828 10e2 8093 0000 sts GyroIFactor,r24
1829 10e6 9093 0000 sts GyroYawPFactor,r25
1830 10ea 8093 0000 sts GyroYawIFactor,r24
1831 10ee 1092 0000 sts LoopingRoll,__zero_reg__
1832 10f2 1092 0000 sts LoopingNick,__zero_reg__
1833 10f6 1092 0000 sts (MaxStickNick)+1,__zero_reg__
1834 10fa 1092 0000 sts MaxStickNick,__zero_reg__
1835 10fe 1092 0000 sts (MaxStickRoll)+1,__zero_reg__
1836 1102 1092 0000 sts MaxStickRoll,__zero_reg__
1837 .L389:
1838 1106 3090 0000 lds r3,LoopingNick
1839 110a 3320 tst r3
1840 110c 01F0 breq .+4
1841 110e 0C94 0000 jmp .L390
1842 1112 8091 0000 lds r24,LoopingRoll
1843 1116 8823 tst r24
1844 1118 01F0 breq .+4
1845 111a 0C94 0000 jmp .L390
1846 .L391:
1847 111e 2091 0000 lds r18,ADCycleCount
1848 1122 3091 0000 lds r19,(ADCycleCount)+1
1849 1126 8091 0000 lds r24,FCParam+11
1850 112a 4AE0 ldi r20,lo8(10)
1851 112c 849F mul r24,r20
1852 112e C001 movw r24,r0
1853 1130 1124 clr r1
1854 1132 2817 cp r18,r24
1855 1134 3907 cpc r19,r25
1856 1136 00F4 brsh .+2
1857 1138 00C0 rjmp .L392
1858 113a 8091 0000 lds r24,FCParam+12
1859 113e 849F mul r24,r20
1860 1140 4001 movw r8,r0
1861 1142 1124 clr r1
1862 1144 8091 0000 lds r24,FCParam+13
1863 1148 849F mul r24,r20
1864 114a 3001 movw r6,r0
1865 114c 1124 clr r1
1866 114e E090 0000 lds r14,vibrationOffsetNick
1867 1152 F090 0000 lds r15,(vibrationOffsetNick)+1
1868 1156 0091 0000 lds r16,(vibrationOffsetNick)+2
1869 115a 1091 0000 lds r17,(vibrationOffsetNick)+3
1870 115e 8091 0000 lds r24,FCParam+10
1871 1162 C82E mov r12,r24
1872 1164 DD24 clr r13
1873 1166 8091 0000 lds r24,savedVibrationOffsetNick
1874 116a 9091 0000 lds r25,(savedVibrationOffsetNick)+1
1875 116e A701 movw r20,r14
1876 1170 481B sub r20,r24
1877 1172 590B sbc r21,r25
1878 1174 CA01 movw r24,r20
1879 1176 57FF sbrs r21,7
1880 1178 00C0 rjmp .+4
1881 117a 0C94 0000 jmp .L483
1882 117e 8C15 cp r24,r12
1883 1180 9D05 cpc r25,r13
1884 1182 04F0 brlt .+2
1885 1184 00C0 rjmp .L393
1886 .L542:
1887 1186 8091 0000 lds r24,FCParam+15
1888 118a 8823 tst r24
1889 118c 01F0 breq .+2
1890 118e 00C0 rjmp .L393
1891 1190 8091 0000 lds r24,filteredHiResPitchGyro
1892 1194 9091 0000 lds r25,(filteredHiResPitchGyro)+1
1893 1198 AA27 clr r26
1894 119a 97FD sbrc r25,7
1895 119c A095 com r26
1896 119e BA2F mov r27,r26
1897 11a0 E816 cp r14,r24
1898 11a2 F906 cpc r15,r25
1899 11a4 0A07 cpc r16,r26
1900 11a6 1B07 cpc r17,r27
1901 11a8 04F0 brlt .+4
1902 11aa 0C94 0000 jmp .L395
1903 11ae 2091 0000 lds r18,IntegralGyroNick
1904 11b2 3091 0000 lds r19,(IntegralGyroNick)+1
1905 11b6 4091 0000 lds r20,(IntegralGyroNick)+2
1906 11ba 5091 0000 lds r21,(IntegralGyroNick)+3
1907 11be 1216 cp __zero_reg__,r18
1908 11c0 1306 cpc __zero_reg__,r19
1909 11c2 1406 cpc __zero_reg__,r20
1910 11c4 1506 cpc __zero_reg__,r21
1911 11c6 04F0 brlt .+4
1912 11c8 0C94 0000 jmp .L395
1913 11cc A090 0000 lds r10,StickNick
1914 11d0 B090 0000 lds r11,(StickNick)+1
1915 11d4 A814 cp r10,r8
1916 11d6 B904 cpc r11,r9
1917 11d8 04F4 brge .+4
1918 11da 0C94 0000 jmp .L395
1919 11de 6A14 cp r6,r10
1920 11e0 7B04 cpc r7,r11
1921 11e2 04F4 brge .+4
1922 11e4 0C94 0000 jmp .L395
1923 11e8 8091 0000 lds r24,FCParam+16
1924 11ec 8058 subi r24,lo8(-(-128))
1925 11ee 9927 clr r25
1926 11f0 87FD sbrc r24,7
1927 11f2 9095 com r25
1928 11f4 A92F mov r26,r25
1929 11f6 B92F mov r27,r25
1930 11f8 8E0D add r24,r14
1931 11fa 9F1D adc r25,r15
1932 11fc A01F adc r26,r16
1933 11fe B11F adc r27,r17
1934 1200 8093 0000 sts vibrationOffsetNick,r24
1935 1204 9093 0000 sts (vibrationOffsetNick)+1,r25
1936 1208 A093 0000 sts (vibrationOffsetNick)+2,r26
1937 120c B093 0000 sts (vibrationOffsetNick)+3,r27
1938 .L479:
1939 1210 6091 0000 lds r22,FCParam+14
1940 1214 70E0 ldi r23,lo8(0)
1941 1216 80E0 ldi r24,lo8(0)
1942 1218 90E0 ldi r25,hi8(0)
1943 121a 0E94 0000 call __mulsi3
1944 121e 24E6 ldi r18,lo8(100)
1945 1220 30E0 ldi r19,hi8(100)
1946 1222 40E0 ldi r20,hlo8(100)
1947 1224 50E0 ldi r21,hhi8(100)
1948 1226 0E94 0000 call __divmodsi4
1949 122a 2093 0000 sts IntegralGyroNick,r18
1950 122e 3093 0000 sts (IntegralGyroNick)+1,r19
1951 1232 4093 0000 sts (IntegralGyroNick)+2,r20
1952 1236 5093 0000 sts (IntegralGyroNick)+3,r21
1953 .L393:
1954 123a E090 0000 lds r14,vibrationOffsetRoll
1955 123e F090 0000 lds r15,(vibrationOffsetRoll)+1
1956 1242 0091 0000 lds r16,(vibrationOffsetRoll)+2
1957 1246 1091 0000 lds r17,(vibrationOffsetRoll)+3
1958 124a 8091 0000 lds r24,savedVibrationOffsetRoll
1959 124e 9091 0000 lds r25,(savedVibrationOffsetRoll)+1
1960 1252 B701 movw r22,r14
1961 1254 681B sub r22,r24
1962 1256 790B sbc r23,r25
1963 1258 CB01 movw r24,r22
1964 125a 77FF sbrs r23,7
1965 125c 00C0 rjmp .+4
1966 125e 0C94 0000 jmp .L484
1967 1262 C816 cp r12,r24
1968 1264 D906 cpc r13,r25
1969 1266 04F0 brlt .+4
1970 1268 0C94 0000 jmp .L485
1971 .L396:
1972 126c 8091 0000 lds r24,NickNoisePeak
1973 1270 9091 0000 lds r25,(NickNoisePeak)+1
1974 1274 9093 0000 sts (debugNickNoisePeak)+1,r25
1975 1278 8093 0000 sts debugNickNoisePeak,r24
1976 127c 8091 0000 lds r24,RollNoisePeak
1977 1280 9091 0000 lds r25,(RollNoisePeak)+1
1978 1284 9093 0000 sts (debugRollNoisePeak)+1,r25
1979 1288 8093 0000 sts debugRollNoisePeak,r24
1980 128c 1092 0000 sts (RollNoisePeak)+1,__zero_reg__
1981 1290 1092 0000 sts RollNoisePeak,__zero_reg__
1982 1294 1092 0000 sts (NickNoisePeak)+1,__zero_reg__
1983 1298 1092 0000 sts NickNoisePeak,__zero_reg__
1984 129c 1092 0000 sts (ADCycleCount)+1,__zero_reg__
1985 12a0 1092 0000 sts ADCycleCount,__zero_reg__
1986 .L392:
1987 12a4 4091 0000 lds r20,StickYaw
1988 12a8 5091 0000 lds r21,(StickYaw)+1
1989 12ac CA01 movw r24,r20
1990 12ae 57FF sbrs r21,7
1991 12b0 00C0 rjmp .+4
1992 12b2 0C94 0000 jmp .L486
1993 .L400:
1994 12b6 4097 sbiw r24,16
1995 12b8 04F0 brlt .L399
1996 12ba 88EE ldi r24,lo8(1000)
1997 12bc 93E0 ldi r25,hi8(1000)
1998 12be 9093 0000 sts (BadCompassHeading)+1,r25
1999 12c2 8093 0000 sts BadCompassHeading,r24
2000 12c6 8091 0000 lds r24,ParamSet+8
2001 12ca 84FD sbrc r24,4
2002 12cc 00C0 rjmp .+4
2003 12ce 0C94 0000 jmp .L487
2004 .L399:
2005 12d2 8091 0000 lds r24,ParamSet+17
2006 12d6 90E0 ldi r25,lo8(0)
2007 12d8 849F mul r24,r20
2008 12da 9001 movw r18,r0
2009 12dc 859F mul r24,r21
2010 12de 300D add r19,r0
2011 12e0 949F mul r25,r20
2012 12e2 300D add r19,r0
2013 12e4 1124 clr r1
2014 12e6 37FF sbrs r19,7
2015 12e8 00C0 rjmp .+4
2016 12ea 0C94 0000 jmp .L488
2017 .L401:
2018 12ee 3595 asr r19
2019 12f0 2795 ror r18
2020 12f2 3595 asr r19
2021 12f4 2795 ror r18
2022 12f6 C901 movw r24,r18
2023 12f8 AA27 clr r26
2024 12fa 97FD sbrc r25,7
2025 12fc A095 com r26
2026 12fe BA2F mov r27,r26
2027 1300 8093 0000 sts SetPointYaw.1980,r24
2028 1304 9093 0000 sts (SetPointYaw.1980)+1,r25
2029 1308 A093 0000 sts (SetPointYaw.1980)+2,r26
2030 130c B093 0000 sts (SetPointYaw.1980)+3,r27
2031 1310 2091 0000 lds r18,ReadingIntegralGyroYaw
2032 1314 3091 0000 lds r19,(ReadingIntegralGyroYaw)+1
2033 1318 4091 0000 lds r20,(ReadingIntegralGyroYaw)+2
2034 131c 5091 0000 lds r21,(ReadingIntegralGyroYaw)+3
2035 1320 281B sub r18,r24
2036 1322 390B sbc r19,r25
2037 1324 4A0B sbc r20,r26
2038 1326 5B0B sbc r21,r27
2039 1328 2093 0000 sts ReadingIntegralGyroYaw,r18
2040 132c 3093 0000 sts (ReadingIntegralGyroYaw)+1,r19
2041 1330 4093 0000 sts (ReadingIntegralGyroYaw)+2,r20
2042 1334 5093 0000 sts (ReadingIntegralGyroYaw)+3,r21
2043 1338 203B cpi r18,lo8(-50000)
2044 133a 7CE3 ldi r23,hi8(-50000)
2045 133c 3707 cpc r19,r23
2046 133e 7FEF ldi r23,hlo8(-50000)
2047 1340 4707 cpc r20,r23
2048 1342 7FEF ldi r23,hhi8(-50000)
2049 1344 5707 cpc r21,r23
2050 1346 04F0 brlt .+4
2051 1348 0C94 0000 jmp .L402
2052 134c 80EB ldi r24,lo8(-50000)
2053 134e 9CE3 ldi r25,hi8(-50000)
2054 1350 AFEF ldi r26,hlo8(-50000)
2055 1352 BFEF ldi r27,hhi8(-50000)
2056 1354 8093 0000 sts ReadingIntegralGyroYaw,r24
2057 1358 9093 0000 sts (ReadingIntegralGyroYaw)+1,r25
2058 135c A093 0000 sts (ReadingIntegralGyroYaw)+2,r26
2059 1360 B093 0000 sts (ReadingIntegralGyroYaw)+3,r27
2060 .L403:
2061 1364 8091 0000 lds r24,ParamSet+8
2062 1368 8872 andi r24,lo8(40)
2063 136a 01F0 breq .+4
2064 136c 0C94 0000 jmp .L474
2065 1370 E091 0000 lds r30,GyroYaw
2066 1374 F091 0000 lds r31,(GyroYaw)+1
2067 1378 FC87 std Y+12,r31
2068 137a EB87 std Y+11,r30
2069 .L404:
2070 137c 8091 0000 lds r24,TimerDebugOut.1985
2071 1380 8150 subi r24,lo8(-(-1))
2072 1382 8093 0000 sts TimerDebugOut.1985,r24
2073 1386 8F5F subi r24,lo8(-(1))
2074 1388 01F4 brne .+4
2075 138a 0C94 0000 jmp .L475
2076 138e A090 0000 lds r10,StickNick
2077 1392 B090 0000 lds r11,(StickNick)+1
2078 1396 C090 0000 lds r12,StickRoll
2079 139a D090 0000 lds r13,(StickRoll)+1
2080 139e 4090 0000 lds r4,GyroNick
2081 13a2 5090 0000 lds r5,(GyroNick)+1
2082 13a6 8090 0000 lds r8,GyroRoll
2083 13aa 9090 0000 lds r9,(GyroRoll)+1
2084 .L422:
2085 13ae 8091 0000 lds r24,FunnelCourse
2086 13b2 8823 tst r24
2087 13b4 01F0 breq .L423
2088 13b6 1092 0000 sts IPartNick.1972,__zero_reg__
2089 13ba 1092 0000 sts (IPartNick.1972)+1,__zero_reg__
2090 13be 1092 0000 sts (IPartNick.1972)+2,__zero_reg__
2091 13c2 1092 0000 sts (IPartNick.1972)+3,__zero_reg__
2092 13c6 1092 0000 sts IPartRoll.1973,__zero_reg__
2093 13ca 1092 0000 sts (IPartRoll.1973)+1,__zero_reg__
2094 13ce 1092 0000 sts (IPartRoll.1973)+2,__zero_reg__
2095 13d2 1092 0000 sts (IPartRoll.1973)+3,__zero_reg__
2096 .L423:
2097 13d6 3320 tst r3
2098 13d8 01F4 brne .+4
2099 13da 0C94 0000 jmp .L424
2100 13de 1E82 std Y+6,__zero_reg__
2101 13e0 1D82 std Y+5,__zero_reg__
2102 13e2 2224 clr r2
2103 13e4 3324 clr r3
2104 13e6 7091 0000 lds r23,GyroIFactor
2105 13ea 7D87 std Y+13,r23
2106 .L425:
2107 13ec 8091 0000 lds r24,GyroPFactor
2108 13f0 E82E mov r14,r24
2109 13f2 FF24 clr r15
2110 13f4 00E0 ldi r16,lo8(0)
2111 13f6 10E0 ldi r17,hi8(0)
2112 13f8 8091 0000 lds r24,LoopingRoll
2113 13fc 8823 tst r24
2114 13fe 01F4 brne .+4
2115 1400 0C94 0000 jmp .L426
2116 1404 1C82 std Y+4,__zero_reg__
2117 1406 1B82 std Y+3,__zero_reg__
2118 1408 6624 clr r6
2119 140a 7724 clr r7
2120 .L427:
2121 140c B401 movw r22,r8
2122 140e 8827 clr r24
2123 1410 77FD sbrc r23,7
2124 1412 8095 com r24
2125 1414 982F mov r25,r24
2126 1416 A801 movw r20,r16
2127 1418 9701 movw r18,r14
2128 141a 0E94 0000 call __mulsi3
2129 141e 20E4 ldi r18,lo8(64)
2130 1420 30E0 ldi r19,hi8(64)
2131 1422 40E0 ldi r20,hlo8(64)
2132 1424 50E0 ldi r21,hhi8(64)
2133 1426 0E94 0000 call __divmodsi4
2134 142a B301 movw r22,r6
2135 142c 620F add r22,r18
2136 142e 731F adc r23,r19
2137 1430 7B8F std Y+27,r23
2138 1432 6A8F std Y+26,r22
2139 1434 7091 0000 lds r23,GyroYawPFactor
2140 1438 7A87 std Y+10,r23
2141 143a 8091 0000 lds r24,GyroYawIFactor
2142 143e 8987 std Y+9,r24
2143 1440 6090 0000 lds r6,IntegralGyroYaw
2144 1444 7090 0000 lds r7,(IntegralGyroYaw)+1
2145 1448 8090 0000 lds r8,(IntegralGyroYaw)+2
2146 144c 9090 0000 lds r9,(IntegralGyroYaw)+3
2147 1450 9201 movw r18,r4
2148 1452 4427 clr r20
2149 1454 37FD sbrc r19,7
2150 1456 4095 com r20
2151 1458 542F mov r21,r20
2152 145a C801 movw r24,r16
2153 145c B701 movw r22,r14
2154 145e 0E94 0000 call __mulsi3
2155 1462 20E4 ldi r18,lo8(64)
2156 1464 30E0 ldi r19,hi8(64)
2157 1466 40E0 ldi r20,hlo8(64)
2158 1468 50E0 ldi r21,hhi8(64)
2159 146a 0E94 0000 call __divmodsi4
2160 146e 220D add r18,r2
2161 1470 331D adc r19,r3
2162 1472 90E4 ldi r25,hi8(16385)
2163 1474 2130 cpi r18,lo8(16385)
2164 1476 3907 cpc r19,r25
2165 1478 04F0 brlt .L428
2166 147a 20E0 ldi r18,lo8(16384)
2167 147c 30E4 ldi r19,hi8(16384)
2168 .L428:
2169 147e 1901 movw r2,r18
2170 1480 E0EC ldi r30,hi8(-16384)
2171 1482 2030 cpi r18,lo8(-16384)
2172 1484 3E07 cpc r19,r30
2173 1486 04F4 brge .L429
2174 1488 212C mov r2,__zero_reg__
2175 148a A0EC ldi r26,hi8(-16384)
2176 148c 3A2E mov r3,r26
2177 .L429:
2178 148e 2A8D ldd r18,Y+26
2179 1490 3B8D ldd r19,Y+27
2180 1492 F0E4 ldi r31,hi8(16385)
2181 1494 2130 cpi r18,lo8(16385)
2182 1496 3F07 cpc r19,r31
2183 1498 04F0 brlt .L430
2184 149a 20E0 ldi r18,lo8(16384)
2185 149c 30E4 ldi r19,hi8(16384)
2186 .L430:
2187 149e 3A83 std Y+2,r19
2188 14a0 2983 std Y+1,r18
2189 14a2 2050 subi r18,lo8(-16384)
2190 14a4 304C sbci r19,hi8(-16384)
2191 14a6 04F4 brge .L431
2192 14a8 60E0 ldi r22,lo8(-16384)
2193 14aa 70EC ldi r23,hi8(-16384)
2194 14ac 7A83 std Y+2,r23
2195 14ae 6983 std Y+1,r22
2196 .L431:
2197 14b0 8091 0000 lds r24,MissingMotor
2198 14b4 8823 tst r24
2199 14b6 01F0 breq .L432
2200 14b8 8091 0000 lds r24,ModelIsFlying
2201 14bc 9091 0000 lds r25,(ModelIsFlying)+1
2202 14c0 0297 sbiw r24,2
2203 14c2 C097 sbiw r24,48
2204 14c4 00F4 brsh .+4
2205 14c6 0C94 0000 jmp .L489
2206 .L433:
2207 14ca 8091 0000 lds r24,ParamSet+18
2208 14ce E82F mov r30,r24
2209 14d0 F0E0 ldi r31,lo8(0)
2210 14d2 F887 std Y+8,r31
2211 14d4 EF83 std Y+7,r30
2212 .L432:
2213 14d6 8091 0000 lds r24,ParamSet+19
2214 14da 90E0 ldi r25,lo8(0)
2215 14dc 4497 sbiw r24,20
2216 14de 880F lsl r24
2217 14e0 991F rol r25
2218 14e2 880F lsl r24
2219 14e4 991F rol r25
2220 14e6 4F80 ldd r4,Y+7
2221 14e8 5884 ldd r5,Y+8
2222 14ea 440C lsl r4
2223 14ec 551C rol r5
2224 14ee 440C lsl r4
2225 14f0 551C rol r5
2226 14f2 8415 cp r24,r4
2227 14f4 9505 cpc r25,r5
2228 14f6 04F4 brge .L434
2229 14f8 2C01 movw r4,r24
2230 .L434:
2231 14fa 5092 0000 sts (DebugOut+16)+1,r5
2232 14fe 4092 0000 sts DebugOut+16,r4
2233 1502 2B85 ldd r18,Y+11
2234 1504 3C85 ldd r19,Y+12
2235 1506 220F lsl r18
2236 1508 331F rol r19
2237 150a B901 movw r22,r18
2238 150c 8827 clr r24
2239 150e 77FD sbrc r23,7
2240 1510 8095 com r24
2241 1512 982F mov r25,r24
2242 1514 EA85 ldd r30,Y+10
2243 1516 2E2F mov r18,r30
2244 1518 30E0 ldi r19,lo8(0)
2245 151a 40E0 ldi r20,lo8(0)
2246 151c 50E0 ldi r21,hi8(0)
2247 151e 0E94 0000 call __mulsi3
2248 1522 20E4 ldi r18,lo8(64)
2249 1524 30E0 ldi r19,hi8(64)
2250 1526 40E0 ldi r20,hlo8(64)
2251 1528 50E0 ldi r21,hhi8(64)
2252 152a 0E94 0000 call __divmodsi4
2253 152e 7901 movw r14,r18
2254 1530 8A01 movw r16,r20
2255 1532 F985 ldd r31,Y+9
2256 1534 6F2F mov r22,r31
2257 1536 70E0 ldi r23,lo8(0)
2258 1538 80E0 ldi r24,lo8(0)
2259 153a 90E0 ldi r25,hi8(0)
2260 153c A401 movw r20,r8
2261 153e 9301 movw r18,r6
2262 1540 0E94 0000 call __mulsi3
2263 1544 20EF ldi r18,lo8(22000)
2264 1546 35E5 ldi r19,hi8(22000)
2265 1548 40E0 ldi r20,hlo8(22000)
2266 154a 50E0 ldi r21,hhi8(22000)
2267 154c 0E94 0000 call __divmodsi4
2268 1550 C701 movw r24,r14
2269 1552 820F add r24,r18
2270 1554 931F adc r25,r19
2271 1556 20E4 ldi r18,hi8(16385)
2272 1558 8130 cpi r24,lo8(16385)
2273 155a 9207 cpc r25,r18
2274 155c 04F0 brlt .L435
2275 155e 80E0 ldi r24,lo8(16384)
2276 1560 90E4 ldi r25,hi8(16384)
2277 .L435:
2278 1562 8C01 movw r16,r24
2279 1564 30EC ldi r19,hi8(-16384)
2280 1566 8030 cpi r24,lo8(-16384)
2281 1568 9307 cpc r25,r19
2282 156a 04F4 brge .L436
2283 156c 00E0 ldi r16,lo8(-16384)
2284 156e 10EC ldi r17,hi8(-16384)
2285 .L436:
2286 1570 6091 0000 lds r22,SetPointYaw.1980
2287 1574 7091 0000 lds r23,(SetPointYaw.1980)+1
2288 1578 8091 0000 lds r24,(SetPointYaw.1980)+2
2289 157c 9091 0000 lds r25,(SetPointYaw.1980)+3
2290 1580 2CEF ldi r18,lo8(-4)
2291 1582 3FEF ldi r19,hi8(-4)
2292 1584 4FEF ldi r20,hlo8(-4)
2293 1586 5FEF ldi r21,hhi8(-4)
2294 1588 0E94 0000 call __mulsi3
2295 158c 7801 movw r14,r16
2296 158e E60E add r14,r22
2297 1590 F71E adc r15,r23
2298 1592 41EA ldi r20,lo8(161)
2299 1594 4416 cp r4,r20
2300 1596 5104 cpc r5,__zero_reg__
2301 1598 04F4 brge .+2
2302 159a 00C0 rjmp .L437
2303 159c C201 movw r24,r4
2304 159e 57FE sbrs r5,7
2305 15a0 00C0 rjmp .+4
2306 15a2 0C94 0000 jmp .L490
2307 .L438:
2308 15a6 9595 asr r25
2309 15a8 8795 ror r24
2310 15aa 2227 clr r18
2311 15ac 3327 clr r19
2312 15ae 281B sub r18,r24
2313 15b0 390B sbc r19,r25
2314 15b2 E216 cp r14,r18
2315 15b4 F306 cpc r15,r19
2316 15b6 04F0 brlt .+4
2317 15b8 0C94 0000 jmp .L491
2318 .L439:
2319 15bc 8091 0000 lds r24,ParamSet+19
2320 15c0 90E0 ldi r25,lo8(0)
2321 15c2 880F lsl r24
2322 15c4 991F rol r25
2323 15c6 880F lsl r24
2324 15c8 991F rol r25
2325 15ca 3201 movw r6,r4
2326 15cc 681A sub r6,r24
2327 15ce 790A sbc r7,r25
2328 15d0 2615 cp r18,r6
2329 15d2 3705 cpc r19,r7
2330 15d4 04F0 brlt .L443
2331 15d6 8419 sub r24,r4
2332 15d8 9509 sbc r25,r5
2333 15da 3901 movw r6,r18
2334 15dc 8217 cp r24,r18
2335 15de 9307 cpc r25,r19
2336 15e0 04F4 brge .+4
2337 15e2 0C94 0000 jmp .L492
2338 .L443:
2339 15e6 6D85 ldd r22,Y+13
2340 15e8 6623 tst r22
2341 15ea 01F4 brne .+2
2342 15ec 00C0 rjmp .L445
2343 15ee 8D81 ldd r24,Y+5
2344 15f0 9E81 ldd r25,Y+6
2345 15f2 8A19 sub r24,r10
2346 15f4 9B09 sbc r25,r11
2347 15f6 FC01 movw r30,r24
2348 15f8 CF01 movw r24,r30
2349 15fa AA27 clr r26
2350 15fc 97FD sbrc r25,7
2351 15fe A095 com r26
2352 1600 BA2F mov r27,r26
2353 1602 E090 0000 lds r14,IPartNick.1972
2354 1606 F090 0000 lds r15,(IPartNick.1972)+1
2355 160a 0091 0000 lds r16,(IPartNick.1972)+2
2356 160e 1091 0000 lds r17,(IPartNick.1972)+3
2357 1612 E80E add r14,r24
2358 1614 F91E adc r15,r25
2359 1616 0A1F adc r16,r26
2360 1618 1B1F adc r17,r27
2361 161a E092 0000 sts IPartNick.1972,r14
2362 161e F092 0000 sts (IPartNick.1972)+1,r15
2363 1622 0093 0000 sts (IPartNick.1972)+2,r16
2364 1626 1093 0000 sts (IPartNick.1972)+3,r17
2365 .L446:
2366 162a F0E0 ldi r31,lo8(-64000)
2367 162c EF16 cp r14,r31
2368 162e F6E0 ldi r31,hi8(-64000)
2369 1630 FF06 cpc r15,r31
2370 1632 FFEF ldi r31,hlo8(-64000)
2371 1634 0F07 cpc r16,r31
2372 1636 FFEF ldi r31,hhi8(-64000)
2373 1638 1F07 cpc r17,r31
2374 163a 04F0 brlt .+2
2375 163c 00C0 rjmp .L447
2376 163e 80E0 ldi r24,lo8(-64000)
2377 1640 96E0 ldi r25,hi8(-64000)
2378 1642 AFEF ldi r26,hlo8(-64000)
2379 1644 BFEF ldi r27,hhi8(-64000)
2380 1646 8093 0000 sts IPartNick.1972,r24
2381 164a 9093 0000 sts (IPartNick.1972)+1,r25
2382 164e A093 0000 sts (IPartNick.1972)+2,r26
2383 1652 B093 0000 sts (IPartNick.1972)+3,r27
2384 1656 E12C mov r14,__zero_reg__
2385 1658 26E0 ldi r18,hi8(-64000)
2386 165a F22E mov r15,r18
2387 165c 2FEF ldi r18,hlo8(-64000)
2388 165e 022F mov r16,r18
2389 1660 2FEF ldi r18,hhi8(-64000)
2390 1662 122F mov r17,r18
2391 .L448:
2392 1664 A101 movw r20,r2
2393 1666 4A19 sub r20,r10
2394 1668 5B09 sbc r21,r11
2395 166a 5A01 movw r10,r20
2396 166c 8090 0000 lds r8,Ki
2397 1670 9090 0000 lds r9,(Ki)+1
2398 1674 9401 movw r18,r8
2399 1676 4427 clr r20
2400 1678 37FD sbrc r19,7
2401 167a 4095 com r20
2402 167c 542F mov r21,r20
2403 167e C801 movw r24,r16
2404 1680 B701 movw r22,r14
2405 1682 0E94 0000 call __divmodsi4
2406 1686 A20E add r10,r18
2407 1688 B31E adc r11,r19
2408 168a 5D85 ldd r21,Y+13
2409 168c 5523 tst r21
2410 168e 01F4 brne .+2
2411 1690 00C0 rjmp .L449
2412 1692 6B81 ldd r22,Y+3
2413 1694 7C81 ldd r23,Y+4
2414 1696 6C19 sub r22,r12
2415 1698 7D09 sbc r23,r13
2416 169a CB01 movw r24,r22
2417 169c AA27 clr r26
2418 169e 97FD sbrc r25,7
2419 16a0 A095 com r26
2420 16a2 BA2F mov r27,r26
2421 16a4 E090 0000 lds r14,IPartRoll.1973
2422 16a8 F090 0000 lds r15,(IPartRoll.1973)+1
2423 16ac 0091 0000 lds r16,(IPartRoll.1973)+2
2424 16b0 1091 0000 lds r17,(IPartRoll.1973)+3
2425 16b4 E80E add r14,r24
2426 16b6 F91E adc r15,r25
2427 16b8 0A1F adc r16,r26
2428 16ba 1B1F adc r17,r27
2429 16bc E092 0000 sts IPartRoll.1973,r14
2430 16c0 F092 0000 sts (IPartRoll.1973)+1,r15
2431 16c4 0093 0000 sts (IPartRoll.1973)+2,r16
2432 16c8 1093 0000 sts (IPartRoll.1973)+3,r17
2433 .L450:
2434 16cc 70E0 ldi r23,lo8(-64000)
2435 16ce E716 cp r14,r23
2436 16d0 76E0 ldi r23,hi8(-64000)
2437 16d2 F706 cpc r15,r23
2438 16d4 7FEF ldi r23,hlo8(-64000)
2439 16d6 0707 cpc r16,r23
2440 16d8 7FEF ldi r23,hhi8(-64000)
2441 16da 1707 cpc r17,r23
2442 16dc 04F0 brlt .+2
2443 16de 00C0 rjmp .L451
2444 16e0 80E0 ldi r24,lo8(-64000)
2445 16e2 96E0 ldi r25,hi8(-64000)
2446 16e4 AFEF ldi r26,hlo8(-64000)
2447 16e6 BFEF ldi r27,hhi8(-64000)
2448 16e8 8093 0000 sts IPartRoll.1973,r24
2449 16ec 9093 0000 sts (IPartRoll.1973)+1,r25
2450 16f0 A093 0000 sts (IPartRoll.1973)+2,r26
2451 16f4 B093 0000 sts (IPartRoll.1973)+3,r27
2452 16f8 E12C mov r14,__zero_reg__
2453 16fa 86E0 ldi r24,hi8(-64000)
2454 16fc F82E mov r15,r24
2455 16fe 8FEF ldi r24,hlo8(-64000)
2456 1700 082F mov r16,r24
2457 1702 8FEF ldi r24,hhi8(-64000)
2458 1704 182F mov r17,r24
2459 .L452:
2460 1706 E981 ldd r30,Y+1
2461 1708 FA81 ldd r31,Y+2
2462 170a EC19 sub r30,r12
2463 170c FD09 sbc r31,r13
2464 170e 6F01 movw r12,r30
2465 1710 9401 movw r18,r8
2466 1712 4427 clr r20
2467 1714 37FD sbrc r19,7
2468 1716 4095 com r20
2469 1718 542F mov r21,r20
2470 171a C801 movw r24,r16
2471 171c B701 movw r22,r14
2472 171e 0E94 0000 call __divmodsi4
2473 1722 C20E add r12,r18
2474 1724 D31E adc r13,r19
2475 1726 9301 movw r18,r6
2476 1728 77FE sbrs r7,7
2477 172a 00C0 rjmp .+4
2478 172c 0C94 0000 jmp .L493
2479 .L453:
2480 1730 3595 asr r19
2481 1732 2795 ror r18
2482 1734 240D add r18,r4
2483 1736 351D adc r19,r5
2484 1738 B901 movw r22,r18
2485 173a 8827 clr r24
2486 173c 77FD sbrc r23,7
2487 173e 8095 com r24
2488 1740 982F mov r25,r24
2489 1742 2091 0000 lds r18,FCParam+23
2490 1746 30E0 ldi r19,lo8(0)
2491 1748 40E0 ldi r20,lo8(0)
2492 174a 50E0 ldi r21,hi8(0)
2493 174c 0E94 0000 call __mulsi3
2494 1750 20E4 ldi r18,lo8(64)
2495 1752 30E0 ldi r19,hi8(64)
2496 1754 40E0 ldi r20,hlo8(64)
2497 1756 50E0 ldi r21,hhi8(64)
2498 1758 0E94 0000 call __divmodsi4
2499 175c B901 movw r22,r18
2500 175e 8827 clr r24
2501 1760 9927 clr r25
2502 1762 821B sub r24,r18
2503 1764 930B sbc r25,r19
2504 1766 A816 cp r10,r24
2505 1768 B906 cpc r11,r25
2506 176a 04F0 brlt .+2
2507 176c 00C0 rjmp .L454
2508 176e 9C01 movw r18,r24
2509 .L455:
2510 1770 C816 cp r12,r24
2511 1772 D906 cpc r13,r25
2512 1774 04F0 brlt .L458
2513 1776 CB01 movw r24,r22
2514 1778 C616 cp r12,r22
2515 177a D706 cpc r13,r23
2516 177c 04F4 brge .+4
2517 177e 0C94 0000 jmp .L494
2518 .L458:
2519 1782 B0E0 ldi r27,lo8(Mixer+13)
2520 1784 2B2E mov r2,r27
2521 1786 B0E0 ldi r27,hi8(Mixer+13)
2522 1788 3B2E mov r3,r27
2523 178a A0E0 ldi r26,lo8(Motor)
2524 178c 8A2E mov r8,r26
2525 178e A0E0 ldi r26,hi8(Motor)
2526 1790 9A2E mov r9,r26
2527 1792 F0E0 ldi r31,lo8(MotorValue.1987)
2528 1794 AF2E mov r10,r31
2529 1796 F0E0 ldi r31,hi8(MotorValue.1987)
2530 1798 BF2E mov r11,r31
2531 179a A301 movw r20,r6
2532 179c 6627 clr r22
2533 179e 57FD sbrc r21,7
2534 17a0 6095 com r22
2535 17a2 762F mov r23,r22
2536 17a4 4E87 std Y+14,r20
2537 17a6 5F87 std Y+15,r21
2538 17a8 688B std Y+16,r22
2539 17aa 798B std Y+17,r23
2540 17ac A201 movw r20,r4
2541 17ae 6627 clr r22
2542 17b0 57FD sbrc r21,7
2543 17b2 6095 com r22
2544 17b4 762F mov r23,r22
2545 17b6 4A8B std Y+18,r20
2546 17b8 5B8B std Y+19,r21
2547 17ba 6C8B std Y+20,r22
2548 17bc 7D8B std Y+21,r23
2549 17be A901 movw r20,r18
2550 17c0 6627 clr r22
2551 17c2 57FD sbrc r21,7
2552 17c4 6095 com r22
2553 17c6 762F mov r23,r22
2554 17c8 4E8B std Y+22,r20
2555 17ca 5F8B std Y+23,r21
2556 17cc 688F std Y+24,r22
2557 17ce 798F std Y+25,r23
2558 17d0 2C01 movw r4,r24
2559 17d2 6624 clr r6
2560 17d4 57FC sbrc r5,7
2561 17d6 6094 com r6
2562 17d8 762C mov r7,r6
2563 17da 00C0 rjmp .L466
2564 .L498:
2565 17dc 2381 ldd r18,Z+3
2566 17de 3327 clr r19
2567 17e0 27FD sbrc r18,7
2568 17e2 3095 com r19
2569 17e4 432F mov r20,r19
2570 17e6 532F mov r21,r19
2571 17e8 6E85 ldd r22,Y+14
2572 17ea 7F85 ldd r23,Y+15
2573 17ec 8889 ldd r24,Y+16
2574 17ee 9989 ldd r25,Y+17
2575 17f0 0E94 0000 call __mulsi3
2576 17f4 20E4 ldi r18,lo8(64)
2577 17f6 30E0 ldi r19,hi8(64)
2578 17f8 40E0 ldi r20,hlo8(64)
2579 17fa 50E0 ldi r21,hhi8(64)
2580 17fc 0E94 0000 call __divmodsi4
2581 1800 7901 movw r14,r18
2582 1802 8A01 movw r16,r20
2583 1804 2D2D mov r18,r13
2584 1806 3327 clr r19
2585 1808 27FD sbrc r18,7
2586 180a 3095 com r19
2587 180c 432F mov r20,r19
2588 180e 532F mov r21,r19
2589 1810 6A89 ldd r22,Y+18
2590 1812 7B89 ldd r23,Y+19
2591 1814 8C89 ldd r24,Y+20
2592 1816 9D89 ldd r25,Y+21
2593 1818 0E94 0000 call __mulsi3
2594 181c 20E4 ldi r18,lo8(64)
2595 181e 30E0 ldi r19,hi8(64)
2596 1820 40E0 ldi r20,hlo8(64)
2597 1822 50E0 ldi r21,hhi8(64)
2598 1824 0E94 0000 call __divmodsi4
2599 1828 E20E add r14,r18
2600 182a F31E adc r15,r19
2601 182c F101 movw r30,r2
2602 182e 2181 ldd r18,Z+1
2603 1830 3327 clr r19
2604 1832 27FD sbrc r18,7
2605 1834 3095 com r19
2606 1836 432F mov r20,r19
2607 1838 532F mov r21,r19
2608 183a 6E89 ldd r22,Y+22
2609 183c 7F89 ldd r23,Y+23
2610 183e 888D ldd r24,Y+24
2611 1840 998D ldd r25,Y+25
2612 1842 0E94 0000 call __mulsi3
2613 1846 20E4 ldi r18,lo8(64)
2614 1848 30E0 ldi r19,hi8(64)
2615 184a 40E0 ldi r20,hlo8(64)
2616 184c 50E0 ldi r21,hhi8(64)
2617 184e 0E94 0000 call __divmodsi4
2618 1852 E20E add r14,r18
2619 1854 F31E adc r15,r19
2620 1856 F101 movw r30,r2
2621 1858 2281 ldd r18,Z+2
2622 185a 3327 clr r19
2623 185c 27FD sbrc r18,7
2624 185e 3095 com r19
2625 1860 432F mov r20,r19
2626 1862 532F mov r21,r19
2627 1864 C301 movw r24,r6
2628 1866 B201 movw r22,r4
2629 1868 0E94 0000 call __mulsi3
2630 186c 20E4 ldi r18,lo8(64)
2631 186e 30E0 ldi r19,hi8(64)
2632 1870 40E0 ldi r20,hlo8(64)
2633 1872 50E0 ldi r21,hhi8(64)
2634 1874 0E94 0000 call __divmodsi4
2635 1878 E20E add r14,r18
2636 187a F31E adc r15,r19
2637 187c F501 movw r30,r10
2638 187e 8081 ld r24,Z
2639 1880 9181 ldd r25,Z+1
2640 1882 E80E add r14,r24
2641 1884 F91E adc r15,r25
2642 1886 F7FC sbrc r15,7
2643 1888 00C0 rjmp .L495
2644 .L461:
2645 188a C701 movw r24,r14
2646 188c 9595 asr r25
2647 188e 8795 ror r24
2648 1890 F501 movw r30,r10
2649 1892 8083 st Z,r24
2650 1894 9183 std Z+1,r25
2651 1896 97FD sbrc r25,7
2652 1898 00C0 rjmp .L496
2653 .L462:
2654 189a AC01 movw r20,r24
2655 189c 5595 asr r21
2656 189e 4795 ror r20
2657 18a0 5595 asr r21
2658 18a2 4795 ror r20
2659 18a4 8091 0000 lds r24,ParamSet+18
2660 18a8 282F mov r18,r24
2661 18aa 30E0 ldi r19,lo8(0)
2662 18ac 4217 cp r20,r18
2663 18ae 5307 cpc r21,r19
2664 18b0 04F0 brlt .L463
2665 18b2 8091 0000 lds r24,ParamSet+19
2666 18b6 90E0 ldi r25,lo8(0)
2667 18b8 9A01 movw r18,r20
2668 18ba 8417 cp r24,r20
2669 18bc 9507 cpc r25,r21
2670 18be 04F4 brge .L463
2671 18c0 9C01 movw r18,r24
2672 .L463:
2673 18c2 F401 movw r30,r8
2674 18c4 2083 st Z,r18
2675 .L465:
2676 18c6 24E0 ldi r18,lo8(4)
2677 18c8 30E0 ldi r19,hi8(4)
2678 18ca 220E add r2,r18
2679 18cc 331E adc r3,r19
2680 18ce 45E0 ldi r20,lo8(5)
2681 18d0 50E0 ldi r21,hi8(5)
2682 18d2 840E add r8,r20
2683 18d4 951E adc r9,r21
2684 18d6 62E0 ldi r22,lo8(2)
2685 18d8 70E0 ldi r23,hi8(2)
2686 18da A60E add r10,r22
2687 18dc B71E adc r11,r23
2688 18de 70E0 ldi r23,lo8(Mixer+61)
2689 18e0 2716 cp r2,r23
2690 18e2 70E0 ldi r23,hi8(Mixer+61)
2691 18e4 3706 cpc r3,r23
2692 18e6 01F4 brne .+2
2693 18e8 00C0 rjmp .L497
2694 .L466:
2695 18ea F101 movw r30,r2
2696 18ec D080 ld r13,Z
2697 18ee 1D14 cp __zero_reg__,r13
2698 18f0 04F4 brge .+2
2699 18f2 00C0 rjmp .L498
2700 18f4 F401 movw r30,r8
2701 18f6 1082 st Z,__zero_reg__
2702 18f8 00C0 rjmp .L465
2703 .L282:
2704 18fa 8091 0000 lds r24,RC_Quality
2705 18fe 9091 0000 lds r25,(RC_Quality)+1
2706 1902 8D38 cpi r24,141
2707 1904 9105 cpc r25,__zero_reg__
2708 1906 04F4 brge .+2
2709 1908 00C0 rjmp .L290
2710 190a 8091 0000 lds r24,MKFlags
2711 190e 8F7E andi r24,lo8(-17)
2712 1910 8093 0000 sts MKFlags,r24
2713 1914 8091 0000 lds r24,ParamSet+27
2714 1918 22E3 ldi r18,lo8(50)
2715 191a 829F mul r24,r18
2716 191c C001 movw r24,r0
2717 191e 1124 clr r1
2718 1920 9093 0000 sts (RcLostTimer.1981)+1,r25
2719 1924 8093 0000 sts RcLostTimer.1981,r24
2720 1928 2F81 ldd r18,Y+7
2721 192a 3885 ldd r19,Y+8
2722 192c 2932 cpi r18,41
2723 192e 3105 cpc r19,__zero_reg__
2724 1930 04F0 brlt .L291
2725 1932 8091 0000 lds r24,MKFlags
2726 1936 80FF sbrs r24,0
2727 1938 00C0 rjmp .L291
2728 193a 8091 0000 lds r24,ModelIsFlying
2729 193e 9091 0000 lds r25,(ModelIsFlying)+1
2730 1942 3FEF ldi r19,hi8(-1)
2731 1944 8F3F cpi r24,lo8(-1)
2732 1946 9307 cpc r25,r19
2733 1948 01F4 brne .+4
2734 194a 0C94 0000 jmp .L292
2735 194e 0196 adiw r24,1
2736 1950 9093 0000 sts (ModelIsFlying)+1,r25
2737 1954 8093 0000 sts ModelIsFlying,r24
2738 .L291:
2739 1958 8091 0000 lds r24,ModelIsFlying
2740 195c 9091 0000 lds r25,(ModelIsFlying)+1
2741 1960 8F3F cpi r24,255
2742 1962 9105 cpc r25,__zero_reg__
2743 1964 01F0 breq .+6
2744 1966 00F0 brlo .+4
2745 1968 0C94 0000 jmp .L292
2746 196c 1092 0000 sts IPartNick.1972,__zero_reg__
2747 1970 1092 0000 sts (IPartNick.1972)+1,__zero_reg__
2748 1974 1092 0000 sts (IPartNick.1972)+2,__zero_reg__
2749 1978 1092 0000 sts (IPartNick.1972)+3,__zero_reg__
2750 197c 1092 0000 sts IPartRoll.1973,__zero_reg__
2751 1980 1092 0000 sts (IPartRoll.1973)+1,__zero_reg__
2752 1984 1092 0000 sts (IPartRoll.1973)+2,__zero_reg__
2753 1988 1092 0000 sts (IPartRoll.1973)+3,__zero_reg__
2754 198c 1092 0000 sts (StickYaw)+1,__zero_reg__
2755 1990 1092 0000 sts StickYaw,__zero_reg__
2756 1994 8A3F cpi r24,250
2757 1996 9105 cpc r25,__zero_reg__
2758 1998 01F4 brne .+4
2759 199a 0C94 0000 jmp .L499
2760 .L293:
2761 199e 8091 0000 lds r24,ParamSet+4
2762 19a2 E82F mov r30,r24
2763 19a4 F0E0 ldi r31,lo8(0)
2764 19a6 EE0F lsl r30
2765 19a8 FF1F rol r31
2766 19aa E050 subi r30,lo8(-(PPM_in))
2767 19ac F040 sbci r31,hi8(-(PPM_in))
2768 19ae 8081 ld r24,Z
2769 19b0 9181 ldd r25,Z+1
2770 19b2 E090 0000 lds r14,Poti1
2771 19b6 F090 0000 lds r15,(Poti1)+1
2772 19ba 8359 subi r24,lo8(-(109))
2773 19bc 9F4F sbci r25,hi8(-(109))
2774 19be 8E15 cp r24,r14
2775 19c0 9F05 cpc r25,r15
2776 19c2 04F4 brge .+4
2777 19c4 0C94 0000 jmp .L294
2778 19c8 C701 movw r24,r14
2779 19ca 0196 adiw r24,1
2780 19cc 9093 0000 sts (Poti1)+1,r25
2781 19d0 8093 0000 sts Poti1,r24
2782 19d4 7C01 movw r14,r24
2783 .L295:
2784 19d6 8091 0000 lds r24,ParamSet+5
2785 19da E82F mov r30,r24
2786 19dc F0E0 ldi r31,lo8(0)
2787 19de EE0F lsl r30
2788 19e0 FF1F rol r31
2789 19e2 E050 subi r30,lo8(-(PPM_in))
2790 19e4 F040 sbci r31,hi8(-(PPM_in))
2791 19e6 8081 ld r24,Z
2792 19e8 9181 ldd r25,Z+1
2793 19ea 0091 0000 lds r16,Poti2
2794 19ee 1091 0000 lds r17,(Poti2)+1
2795 19f2 8359 subi r24,lo8(-(109))
2796 19f4 9F4F sbci r25,hi8(-(109))
2797 19f6 8017 cp r24,r16
2798 19f8 9107 cpc r25,r17
2799 19fa 04F4 brge .+4
2800 19fc 0C94 0000 jmp .L296
2801 1a00 C801 movw r24,r16
2802 1a02 0196 adiw r24,1
2803 1a04 9093 0000 sts (Poti2)+1,r25
2804 1a08 8093 0000 sts Poti2,r24
2805 1a0c 8C01 movw r16,r24
2806 .L297:
2807 1a0e 8091 0000 lds r24,ParamSet+6
2808 1a12 E82F mov r30,r24
2809 1a14 F0E0 ldi r31,lo8(0)
2810 1a16 EE0F lsl r30
2811 1a18 FF1F rol r31
2812 1a1a E050 subi r30,lo8(-(PPM_in))
2813 1a1c F040 sbci r31,hi8(-(PPM_in))
2814 1a1e 8081 ld r24,Z
2815 1a20 9181 ldd r25,Z+1
2816 1a22 A090 0000 lds r10,Poti3
2817 1a26 B090 0000 lds r11,(Poti3)+1
2818 1a2a 8359 subi r24,lo8(-(109))
2819 1a2c 9F4F sbci r25,hi8(-(109))
2820 1a2e 8A15 cp r24,r10
2821 1a30 9B05 cpc r25,r11
2822 1a32 04F4 brge .+4
2823 1a34 0C94 0000 jmp .L298
2824 1a38 C501 movw r24,r10
2825 1a3a 0196 adiw r24,1
2826 1a3c 9093 0000 sts (Poti3)+1,r25
2827 1a40 8093 0000 sts Poti3,r24
2828 1a44 5C01 movw r10,r24
2829 .L299:
2830 1a46 8091 0000 lds r24,ParamSet+7
2831 1a4a E82F mov r30,r24
2832 1a4c F0E0 ldi r31,lo8(0)
2833 1a4e EE0F lsl r30
2834 1a50 FF1F rol r31
2835 1a52 E050 subi r30,lo8(-(PPM_in))
2836 1a54 F040 sbci r31,hi8(-(PPM_in))
2837 1a56 8081 ld r24,Z
2838 1a58 9181 ldd r25,Z+1
2839 1a5a A091 0000 lds r26,Poti4
2840 1a5e B091 0000 lds r27,(Poti4)+1
2841 1a62 8359 subi r24,lo8(-(109))
2842 1a64 9F4F sbci r25,hi8(-(109))
2843 1a66 8A17 cp r24,r26
2844 1a68 9B07 cpc r25,r27
2845 1a6a 04F4 brge .+4
2846 1a6c 0C94 0000 jmp .L300
2847 1a70 CD01 movw r24,r26
2848 1a72 0196 adiw r24,1
2849 1a74 9093 0000 sts (Poti4)+1,r25
2850 1a78 8093 0000 sts Poti4,r24
2851 1a7c DC01 movw r26,r24
2852 .L301:
2853 1a7e 8091 0000 lds r24,PPM_in+18
2854 1a82 9091 0000 lds r25,(PPM_in+18)+1
2855 1a86 E091 0000 lds r30,Poti5
2856 1a8a F091 0000 lds r31,(Poti5)+1
2857 1a8e 8359 subi r24,lo8(-(109))
2858 1a90 9F4F sbci r25,hi8(-(109))
2859 1a92 8E17 cp r24,r30
2860 1a94 9F07 cpc r25,r31
2861 1a96 04F4 brge .+4
2862 1a98 0C94 0000 jmp .L302
2863 1a9c CF01 movw r24,r30
2864 1a9e 0196 adiw r24,1
2865 1aa0 9093 0000 sts (Poti5)+1,r25
2866 1aa4 8093 0000 sts Poti5,r24
2867 1aa8 FC01 movw r30,r24
2868 .L303:
2869 1aaa 8091 0000 lds r24,PPM_in+20
2870 1aae 9091 0000 lds r25,(PPM_in+20)+1
2871 1ab2 6091 0000 lds r22,Poti6
2872 1ab6 7091 0000 lds r23,(Poti6)+1
2873 1aba 8359 subi r24,lo8(-(109))
2874 1abc 9F4F sbci r25,hi8(-(109))
2875 1abe 8617 cp r24,r22
2876 1ac0 9707 cpc r25,r23
2877 1ac2 04F4 brge .+4
2878 1ac4 0C94 0000 jmp .L304
2879 1ac8 CB01 movw r24,r22
2880 1aca 0196 adiw r24,1
2881 1acc 9093 0000 sts (Poti6)+1,r25
2882 1ad0 8093 0000 sts Poti6,r24
2883 1ad4 BC01 movw r22,r24
2884 .L305:
2885 1ad6 8091 0000 lds r24,PPM_in+22
2886 1ada 9091 0000 lds r25,(PPM_in+22)+1
2887 1ade 4091 0000 lds r20,Poti7
2888 1ae2 5091 0000 lds r21,(Poti7)+1
2889 1ae6 8359 subi r24,lo8(-(109))
2890 1ae8 9F4F sbci r25,hi8(-(109))
2891 1aea 8417 cp r24,r20
2892 1aec 9507 cpc r25,r21
2893 1aee 04F4 brge .+4
2894 1af0 0C94 0000 jmp .L306
2895 1af4 CA01 movw r24,r20
2896 1af6 0196 adiw r24,1
2897 1af8 9093 0000 sts (Poti7)+1,r25
2898 1afc 8093 0000 sts Poti7,r24
2899 1b00 AC01 movw r20,r24
2900 .L307:
2901 1b02 8091 0000 lds r24,PPM_in+24
2902 1b06 9091 0000 lds r25,(PPM_in+24)+1
2903 1b0a 2091 0000 lds r18,Poti8
2904 1b0e 3091 0000 lds r19,(Poti8)+1
2905 1b12 8359 subi r24,lo8(-(109))
2906 1b14 9F4F sbci r25,hi8(-(109))
2907 1b16 8217 cp r24,r18
2908 1b18 9307 cpc r25,r19
2909 1b1a 04F4 brge .+4
2910 1b1c 0C94 0000 jmp .L308
2911 1b20 C901 movw r24,r18
2912 1b22 0196 adiw r24,1
2913 1b24 9093 0000 sts (Poti8)+1,r25
2914 1b28 8093 0000 sts Poti8,r24
2915 1b2c 9C01 movw r18,r24
2916 .L309:
2917 1b2e F7FE sbrs r15,7
2918 1b30 00C0 rjmp .+4
2919 1b32 0C94 0000 jmp .L500
2920 1b36 8FEF ldi r24,lo8(255)
2921 1b38 E816 cp r14,r24
2922 1b3a F104 cpc r15,__zero_reg__
2923 1b3c 01F0 breq .L311
2924 1b3e 04F0 brlt .L311
2925 1b40 8FEF ldi r24,lo8(255)
2926 1b42 90E0 ldi r25,hi8(255)
2927 1b44 9093 0000 sts (Poti1)+1,r25
2928 1b48 8093 0000 sts Poti1,r24
2929 .L311:
2930 1b4c 17FF sbrs r17,7
2931 1b4e 00C0 rjmp .+4
2932 1b50 0C94 0000 jmp .L501
2933 1b54 0F3F cpi r16,255
2934 1b56 1105 cpc r17,__zero_reg__
2935 1b58 01F0 breq .L313
2936 1b5a 04F0 brlt .L313
2937 1b5c 8FEF ldi r24,lo8(255)
2938 1b5e 90E0 ldi r25,hi8(255)
2939 1b60 9093 0000 sts (Poti2)+1,r25
2940 1b64 8093 0000 sts Poti2,r24
2941 .L313:
2942 1b68 B7FE sbrs r11,7
2943 1b6a 00C0 rjmp .+4
2944 1b6c 0C94 0000 jmp .L502
2945 1b70 9FEF ldi r25,lo8(255)
2946 1b72 A916 cp r10,r25
2947 1b74 B104 cpc r11,__zero_reg__
2948 1b76 01F0 breq .L315
2949 1b78 04F0 brlt .L315
2950 1b7a 8FEF ldi r24,lo8(255)
2951 1b7c 90E0 ldi r25,hi8(255)
2952 1b7e 9093 0000 sts (Poti3)+1,r25
2953 1b82 8093 0000 sts Poti3,r24
2954 .L315:
2955 1b86 B7FF sbrs r27,7
2956 1b88 00C0 rjmp .+4
2957 1b8a 0C94 0000 jmp .L503
2958 1b8e AF3F cpi r26,255
2959 1b90 B105 cpc r27,__zero_reg__
2960 1b92 01F0 breq .L317
2961 1b94 04F0 brlt .L317
2962 1b96 8FEF ldi r24,lo8(255)
2963 1b98 90E0 ldi r25,hi8(255)
2964 1b9a 9093 0000 sts (Poti4)+1,r25
2965 1b9e 8093 0000 sts Poti4,r24
2966 .L317:
2967 1ba2 F7FF sbrs r31,7
2968 1ba4 00C0 rjmp .+4
2969 1ba6 0C94 0000 jmp .L504
2970 1baa EF3F cpi r30,255
2971 1bac F105 cpc r31,__zero_reg__
2972 1bae 01F0 breq .L319
2973 1bb0 04F0 brlt .L319
2974 1bb2 8FEF ldi r24,lo8(255)
2975 1bb4 90E0 ldi r25,hi8(255)
2976 1bb6 9093 0000 sts (Poti5)+1,r25
2977 1bba 8093 0000 sts Poti5,r24
2978 .L319:
2979 1bbe 77FF sbrs r23,7
2980 1bc0 00C0 rjmp .+4
2981 1bc2 0C94 0000 jmp .L505
2982 1bc6 6F3F cpi r22,255
2983 1bc8 7105 cpc r23,__zero_reg__
2984 1bca 01F0 breq .L321
2985 1bcc 04F0 brlt .L321
2986 1bce 8FEF ldi r24,lo8(255)
2987 1bd0 90E0 ldi r25,hi8(255)
2988 1bd2 9093 0000 sts (Poti6)+1,r25
2989 1bd6 8093 0000 sts Poti6,r24
2990 .L321:
2991 1bda 57FF sbrs r21,7
2992 1bdc 00C0 rjmp .+4
2993 1bde 0C94 0000 jmp .L506
2994 1be2 4F3F cpi r20,255
2995 1be4 5105 cpc r21,__zero_reg__
2996 1be6 01F0 breq .L323
2997 1be8 04F0 brlt .L323
2998 1bea 8FEF ldi r24,lo8(255)
2999 1bec 90E0 ldi r25,hi8(255)
3000 1bee 9093 0000 sts (Poti7)+1,r25
3001 1bf2 8093 0000 sts Poti7,r24
3002 .L323:
3003 1bf6 37FF sbrs r19,7
3004 1bf8 00C0 rjmp .+4
3005 1bfa 0C94 0000 jmp .L507
3006 1bfe 2F3F cpi r18,255
3007 1c00 3105 cpc r19,__zero_reg__
3008 1c02 01F0 breq .L325
3009 1c04 04F0 brlt .L325
3010 1c06 8FEF ldi r24,lo8(255)
3011 1c08 90E0 ldi r25,hi8(255)
3012 1c0a 9093 0000 sts (Poti8)+1,r25
3013 1c0e 8093 0000 sts Poti8,r24
3014 .L325:
3015 1c12 8091 0000 lds r24,ParamSet+2
3016 1c16 A82F mov r26,r24
3017 1c18 B0E0 ldi r27,lo8(0)
3018 1c1a AA0F lsl r26
3019 1c1c BB1F rol r27
3020 1c1e FD01 movw r30,r26
3021 1c20 E050 subi r30,lo8(-(PPM_in))
3022 1c22 F040 sbci r31,hi8(-(PPM_in))
3023 1c24 8081 ld r24,Z
3024 1c26 9181 ldd r25,Z+1
3025 1c28 8135 cpi r24,81
3026 1c2a 9105 cpc r25,__zero_reg__
3027 1c2c 04F4 brge .+2
3028 1c2e 00C0 rjmp .L326
3029 1c30 8091 0000 lds r24,MKFlags
3030 1c34 80FD sbrc r24,0
3031 1c36 00C0 rjmp .L326
3032 1c38 8091 0000 lds r24,ParamSet+3
3033 1c3c E82F mov r30,r24
3034 1c3e F0E0 ldi r31,lo8(0)
3035 1c40 EE0F lsl r30
3036 1c42 FF1F rol r31
3037 1c44 E050 subi r30,lo8(-(PPM_in))
3038 1c46 F040 sbci r31,hi8(-(PPM_in))
3039 1c48 8081 ld r24,Z
3040 1c4a 9181 ldd r25,Z+1
3041 1c4c 8C34 cpi r24,76
3042 1c4e 9105 cpc r25,__zero_reg__
3043 1c50 04F4 brge .+4
3044 1c52 0C94 0000 jmp .L327
3045 1c56 8091 0000 lds r24,delay_neutral.1982
3046 1c5a 8F5F subi r24,lo8(-(1))
3047 1c5c 8093 0000 sts delay_neutral.1982,r24
3048 1c60 893C cpi r24,lo8(-55)
3049 1c62 00F4 brsh .+2
3050 1c64 00C0 rjmp .L326
3051 1c66 1092 0000 sts delay_neutral.1982,__zero_reg__
3052 1c6a EBE0 ldi r30,lo8(11)
3053 1c6c ED15 cp r30,r13
3054 1c6e 00F4 brsh .+4
3055 1c70 0C94 0000 jmp .L329
3056 1c74 2998 cbi 37-0x20,1
3057 .L330:
3058 1c76 1092 0000 sts (ModelIsFlying)+1,__zero_reg__
3059 1c7a 1092 0000 sts ModelIsFlying,__zero_reg__
3060 1c7e 8091 0000 lds r24,ParamSet
3061 1c82 482F mov r20,r24
3062 1c84 50E0 ldi r21,lo8(0)
3063 1c86 440F lsl r20
3064 1c88 551F rol r21
3065 1c8a FA01 movw r30,r20
3066 1c8c E050 subi r30,lo8(-(PPM_in))
3067 1c8e F040 sbci r31,hi8(-(PPM_in))
3068 1c90 8081 ld r24,Z
3069 1c92 9181 ldd r25,Z+1
3070 1c94 8734 cpi r24,71
3071 1c96 9105 cpc r25,__zero_reg__
3072 1c98 04F4 brge .+4
3073 1c9a 0C94 0000 jmp .L331
3074 1c9e 8091 0000 lds r24,ParamSet+1
3075 1ca2 A82F mov r26,r24
3076 1ca4 B0E0 ldi r27,lo8(0)
3077 1ca6 AA0F lsl r26
3078 1ca8 BB1F rol r27
3079 .L332:
3080 1caa FD01 movw r30,r26
3081 1cac E050 subi r30,lo8(-(PPM_in))
3082 1cae F040 sbci r31,hi8(-(PPM_in))
3083 1cb0 8081 ld r24,Z
3084 1cb2 9181 ldd r25,Z+1
3085 1cb4 8734 cpi r24,71
3086 1cb6 9105 cpc r25,__zero_reg__
3087 1cb8 04F0 brlt .L335
3088 1cba FA01 movw r30,r20
3089 1cbc E050 subi r30,lo8(-(PPM_in))
3090 1cbe F040 sbci r31,hi8(-(PPM_in))
3091 1cc0 0190 ld __tmp_reg__,Z+
3092 1cc2 F081 ld r31,Z
3093 1cc4 E02D mov r30,__tmp_reg__
3094 .L335:
3095 1cc6 FD01 movw r30,r26
3096 1cc8 E050 subi r30,lo8(-(PPM_in))
3097 1cca F040 sbci r31,hi8(-(PPM_in))
3098 1ccc 8081 ld r24,Z
3099 1cce 9181 ldd r25,Z+1
3100 1cd0 8734 cpi r24,71
3101 1cd2 9105 cpc r25,__zero_reg__
3102 1cd4 04F4 brge .+4
3103 1cd6 0C94 0000 jmp .L336
3104 1cda FA01 movw r30,r20
3105 1cdc E050 subi r30,lo8(-(PPM_in))
3106 1cde F040 sbci r31,hi8(-(PPM_in))
3107 1ce0 8081 ld r24,Z
3108 1ce2 9181 ldd r25,Z+1
3109 1ce4 8734 cpi r24,71
3110 1ce6 9105 cpc r25,__zero_reg__
3111 1ce8 04F4 brge .+4
3112 1cea 0C94 0000 jmp .L336
3113 1cee 22E0 ldi r18,lo8(2)
3114 .L337:
3115 1cf0 FD01 movw r30,r26
3116 1cf2 E050 subi r30,lo8(-(PPM_in))
3117 1cf4 F040 sbci r31,hi8(-(PPM_in))
3118 1cf6 8081 ld r24,Z
3119 1cf8 9181 ldd r25,Z+1
3120 1cfa 8634 cpi r24,70
3121 1cfc 9105 cpc r25,__zero_reg__
3122 1cfe 04F4 brge .L338
3123 1d00 FA01 movw r30,r20
3124 1d02 E050 subi r30,lo8(-(PPM_in))
3125 1d04 F040 sbci r31,hi8(-(PPM_in))
3126 1d06 8081 ld r24,Z
3127 1d08 9181 ldd r25,Z+1
3128 1d0a 8734 cpi r24,71
3129 1d0c 9105 cpc r25,__zero_reg__
3130 1d0e 04F0 brlt .L338
3131 1d10 23E0 ldi r18,lo8(3)
3132 .L338:
3133 1d12 FD01 movw r30,r26
3134 1d14 E050 subi r30,lo8(-(PPM_in))
3135 1d16 F040 sbci r31,hi8(-(PPM_in))
3136 1d18 8081 ld r24,Z
3137 1d1a 9181 ldd r25,Z+1
3138 1d1c 8A5B subi r24,lo8(-70)
3139 1d1e 9F4F sbci r25,hi8(-70)
3140 1d20 04F4 brge .L339
3141 1d22 FA01 movw r30,r20
3142 1d24 E050 subi r30,lo8(-(PPM_in))
3143 1d26 F040 sbci r31,hi8(-(PPM_in))
3144 1d28 8081 ld r24,Z
3145 1d2a 9181 ldd r25,Z+1
3146 1d2c 8734 cpi r24,71
3147 1d2e 9105 cpc r25,__zero_reg__
3148 1d30 04F0 brlt .L339
3149 1d32 24E0 ldi r18,lo8(4)
3150 .L339:
3151 1d34 A050 subi r26,lo8(-(PPM_in))
3152 1d36 B040 sbci r27,hi8(-(PPM_in))
3153 1d38 8D91 ld r24,X+
3154 1d3a 9C91 ld r25,X
3155 1d3c 8A5B subi r24,lo8(-70)
3156 1d3e 9F4F sbci r25,hi8(-70)
3157 1d40 04F4 brge .L340
3158 1d42 4050 subi r20,lo8(-(PPM_in))
3159 1d44 5040 sbci r21,hi8(-(PPM_in))
3160 1d46 FA01 movw r30,r20
3161 1d48 8081 ld r24,Z
3162 1d4a 9181 ldd r25,Z+1
3163 1d4c 8634 cpi r24,70
3164 1d4e 9105 cpc r25,__zero_reg__
3165 1d50 04F4 brge .L340
3166 1d52 25E0 ldi r18,lo8(5)
3167 .L340:
3168 1d54 822F mov r24,r18
3169 1d56 0E94 0000 call SetActiveParamSet
3170 1d5a 0E94 0000 call GetActiveParamSet
3171 1d5e 0E94 0000 call ParamSet_ReadFromEEProm
3172 .L476:
3173 1d62 80E0 ldi r24,lo8(0)
3174 .L477:
3175 1d64 0E94 0000 call SetNeutral
3176 1d68 0E94 0000 call GetActiveParamSet
3177 1d6c 0E94 0000 call Beep
3178 1d70 8091 0000 lds r24,ParamSet+2
3179 1d74 A82F mov r26,r24
3180 1d76 B0E0 ldi r27,lo8(0)
3181 1d78 AA0F lsl r26
3182 1d7a BB1F rol r27
3183 .L326:
3184 1d7c A050 subi r26,lo8(-(PPM_in))
3185 1d7e B040 sbci r27,hi8(-(PPM_in))
3186 1d80 8D91 ld r24,X+
3187 1d82 9C91 ld r25,X
3188 1d84 8B5A subi r24,lo8(-85)
3189 1d86 9F4F sbci r25,hi8(-85)
3190 1d88 04F0 brlt .+2
3191 1d8a 00C0 rjmp .L290
3192 1d8c E091 0000 lds r30,ParamSet+3
3193 1d90 F0E0 ldi r31,lo8(0)
3194 1d92 EE0F lsl r30
3195 1d94 FF1F rol r31
3196 1d96 E050 subi r30,lo8(-(PPM_in))
3197 1d98 F040 sbci r31,hi8(-(PPM_in))
3198 1d9a 8081 ld r24,Z
3199 1d9c 9181 ldd r25,Z+1
3200 1d9e 855B subi r24,lo8(-75)
3201 1da0 9F4F sbci r25,hi8(-75)
3202 1da2 04F0 brlt .+2
3203 1da4 00C0 rjmp .L348
3204 1da6 8091 0000 lds r24,delay_startmotors.1983
3205 1daa 9091 0000 lds r25,(delay_startmotors.1983)+1
3206 1dae 883C cpi r24,200
3207 1db0 9105 cpc r25,__zero_reg__
3208 1db2 00F4 brsh .+4
3209 1db4 0C94 0000 jmp .L508
3210 1db8 883C cpi r24,200
3211 1dba 9105 cpc r25,__zero_reg__
3212 1dbc 01F4 brne .+4
3213 1dbe 0C94 0000 jmp .L509
3214 1dc2 8091 0000 lds r24,hiResPitchGyro
3215 1dc6 9091 0000 lds r25,(hiResPitchGyro)+1
3216 1dca AA27 clr r26
3217 1dcc 97FD sbrc r25,7
3218 1dce A095 com r26
3219 1dd0 BA2F mov r27,r26
3220 1dd2 4091 0000 lds r20,vibrationCalNick.1974
3221 1dd6 5091 0000 lds r21,(vibrationCalNick.1974)+1
3222 1dda 6091 0000 lds r22,(vibrationCalNick.1974)+2
3223 1dde 7091 0000 lds r23,(vibrationCalNick.1974)+3
3224 1de2 480F add r20,r24
3225 1de4 591F adc r21,r25
3226 1de6 6A1F adc r22,r26
3227 1de8 7B1F adc r23,r27
3228 1dea 4093 0000 sts vibrationCalNick.1974,r20
3229 1dee 5093 0000 sts (vibrationCalNick.1974)+1,r21
3230 1df2 6093 0000 sts (vibrationCalNick.1974)+2,r22
3231 1df6 7093 0000 sts (vibrationCalNick.1974)+3,r23
3232 1dfa 8091 0000 lds r24,hiResRollGyro
3233 1dfe 9091 0000 lds r25,(hiResRollGyro)+1
3234 1e02 AA27 clr r26
3235 1e04 97FD sbrc r25,7
3236 1e06 A095 com r26
3237 1e08 BA2F mov r27,r26
3238 1e0a A090 0000 lds r10,vibrationCalRoll.1975
3239 1e0e B090 0000 lds r11,(vibrationCalRoll.1975)+1
3240 1e12 C090 0000 lds r12,(vibrationCalRoll.1975)+2
3241 1e16 D090 0000 lds r13,(vibrationCalRoll.1975)+3
3242 1e1a A80E add r10,r24
3243 1e1c B91E adc r11,r25
3244 1e1e CA1E adc r12,r26
3245 1e20 DB1E adc r13,r27
3246 1e22 A092 0000 sts vibrationCalRoll.1975,r10
3247 1e26 B092 0000 sts (vibrationCalRoll.1975)+1,r11
3248 1e2a C092 0000 sts (vibrationCalRoll.1975)+2,r12
3249 1e2e D092 0000 sts (vibrationCalRoll.1975)+3,r13
3250 1e32 8091 0000 lds r24,rawYawGyroSum
3251 1e36 9091 0000 lds r25,(rawYawGyroSum)+1
3252 1e3a AA27 clr r26
3253 1e3c 97FD sbrc r25,7
3254 1e3e A095 com r26
3255 1e40 BA2F mov r27,r26
3256 1e42 6090 0000 lds r6,vibrationCalYaw.1976
3257 1e46 7090 0000 lds r7,(vibrationCalYaw.1976)+1
3258 1e4a 8090 0000 lds r8,(vibrationCalYaw.1976)+2
3259 1e4e 9090 0000 lds r9,(vibrationCalYaw.1976)+3
3260 1e52 680E add r6,r24
3261 1e54 791E adc r7,r25
3262 1e56 8A1E adc r8,r26
3263 1e58 9B1E adc r9,r27
3264 1e5a 6092 0000 sts vibrationCalYaw.1976,r6
3265 1e5e 7092 0000 sts (vibrationCalYaw.1976)+1,r7
3266 1e62 8092 0000 sts (vibrationCalYaw.1976)+2,r8
3267 1e66 9092 0000 sts (vibrationCalYaw.1976)+3,r9
3268 1e6a 2091 0000 lds r18,vibrationCalCount.1977
3269 1e6e 3091 0000 lds r19,(vibrationCalCount.1977)+1
3270 1e72 2F5F subi r18,lo8(-(1))
3271 1e74 3F4F sbci r19,hi8(-(1))
3272 1e76 3093 0000 sts (vibrationCalCount.1977)+1,r19
3273 1e7a 2093 0000 sts vibrationCalCount.1977,r18
3274 1e7e 8091 0000 lds r24,FCParam+15
3275 1e82 8823 tst r24
3276 1e84 01F4 brne .+4
3277 1e86 0C94 0000 jmp .L352
3278 1e8a 8091 0000 lds r24,FCParam+16
3279 1e8e 90E0 ldi r25,lo8(0)
3280 1e90 8058 subi r24,lo8(-(-128))
3281 1e92 9040 sbci r25,hi8(-(-128))
3282 1e94 AA27 clr r26
3283 1e96 97FD sbrc r25,7
3284 1e98 A095 com r26
3285 1e9a BA2F mov r27,r26
3286 1e9c 8093 0000 sts vibrationOffsetNick,r24
3287 1ea0 9093 0000 sts (vibrationOffsetNick)+1,r25
3288 1ea4 A093 0000 sts (vibrationOffsetNick)+2,r26
3289 1ea8 B093 0000 sts (vibrationOffsetNick)+3,r27
3290 1eac 8091 0000 lds r24,FCParam+17
3291 1eb0 90E0 ldi r25,lo8(0)
3292 1eb2 8058 subi r24,lo8(-(-128))
3293 1eb4 9040 sbci r25,hi8(-(-128))
3294 1eb6 AA27 clr r26
3295 1eb8 97FD sbrc r25,7
3296 1eba A095 com r26
3297 1ebc BA2F mov r27,r26
3298 1ebe 8093 0000 sts vibrationOffsetRoll,r24
3299 1ec2 9093 0000 sts (vibrationOffsetRoll)+1,r25
3300 1ec6 A093 0000 sts (vibrationOffsetRoll)+2,r26
3301 1eca B093 0000 sts (vibrationOffsetRoll)+3,r27
3302 .L353:
3303 1ece 1092 0000 sts SetPointYaw.1980,__zero_reg__
3304 1ed2 1092 0000 sts (SetPointYaw.1980)+1,__zero_reg__
3305 1ed6 1092 0000 sts (SetPointYaw.1980)+2,__zero_reg__
3306 1eda 1092 0000 sts (SetPointYaw.1980)+3,__zero_reg__
3307 1ede 1092 0000 sts ReadingIntegralGyroYaw,__zero_reg__
3308 1ee2 1092 0000 sts (ReadingIntegralGyroYaw)+1,__zero_reg__
3309 1ee6 1092 0000 sts (ReadingIntegralGyroYaw)+2,__zero_reg__
3310 1eea 1092 0000 sts (ReadingIntegralGyroYaw)+3,__zero_reg__
3311 1eee 1092 0000 sts ReadingIntegralGyroNick,__zero_reg__
3312 1ef2 1092 0000 sts (ReadingIntegralGyroNick)+1,__zero_reg__
3313 1ef6 1092 0000 sts (ReadingIntegralGyroNick)+2,__zero_reg__
3314 1efa 1092 0000 sts (ReadingIntegralGyroNick)+3,__zero_reg__
3315 1efe 1092 0000 sts ReadingIntegralGyroRoll,__zero_reg__
3316 1f02 1092 0000 sts (ReadingIntegralGyroRoll)+1,__zero_reg__
3317 1f06 1092 0000 sts (ReadingIntegralGyroRoll)+2,__zero_reg__
3318 1f0a 1092 0000 sts (ReadingIntegralGyroRoll)+3,__zero_reg__
3319 1f0e 1092 0000 sts IPartNick.1972,__zero_reg__
3320 1f12 1092 0000 sts (IPartNick.1972)+1,__zero_reg__
3321 1f16 1092 0000 sts (IPartNick.1972)+2,__zero_reg__
3322 1f1a 1092 0000 sts (IPartNick.1972)+3,__zero_reg__
3323 1f1e 1092 0000 sts IPartRoll.1973,__zero_reg__
3324 1f22 1092 0000 sts (IPartRoll.1973)+1,__zero_reg__
3325 1f26 1092 0000 sts (IPartRoll.1973)+2,__zero_reg__
3326 1f2a 1092 0000 sts (IPartRoll.1973)+3,__zero_reg__
3327 1f2e 00C0 rjmp .L350
3328 .L355:
3329 1f30 0E94 0000 call ParameterMapping
3330 1f34 E091 0000 lds r30,ParamSet
3331 1f38 F0E0 ldi r31,lo8(0)
3332 1f3a EE0F lsl r30
3333 1f3c FF1F rol r31
3334 1f3e DF01 movw r26,r30
3335 1f40 A050 subi r26,lo8(-(PPM_in))
3336 1f42 B040 sbci r27,hi8(-(PPM_in))
3337 1f44 8D91 ld r24,X+
3338 1f46 9C91 ld r25,X
3339 1f48 6091 0000 lds r22,ParamSet+15
3340 1f4c 70E0 ldi r23,lo8(0)
3341 1f4e 869F mul r24,r22
3342 1f50 9001 movw r18,r0
3343 1f52 879F mul r24,r23
3344 1f54 300D add r19,r0
3345 1f56 969F mul r25,r22
3346 1f58 300D add r19,r0
3347 1f5a 1124 clr r1
3348 1f5c 3093 0000 sts (stick_nick.1990)+1,r19
3349 1f60 2093 0000 sts stick_nick.1990,r18
3350 1f64 E050 subi r30,lo8(-(PPM_diff))
3351 1f66 F040 sbci r31,hi8(-(PPM_diff))
3352 1f68 8081 ld r24,Z
3353 1f6a 9181 ldd r25,Z+1
3354 1f6c 4091 0000 lds r20,ParamSet+16
3355 1f70 50E0 ldi r21,lo8(0)
3356 1f72 FC01 movw r30,r24
3357 1f74 E49F mul r30,r20
3358 1f76 C001 movw r24,r0
3359 1f78 E59F mul r30,r21
3360 1f7a 900D add r25,r0
3361 1f7c F49F mul r31,r20
3362 1f7e 900D add r25,r0
3363 1f80 1124 clr r1
3364 1f82 820F add r24,r18
3365 1f84 931F adc r25,r19
3366 1f86 9093 0000 sts (stick_nick.1990)+1,r25
3367 1f8a 8093 0000 sts stick_nick.1990,r24
3368 1f8e 2091 0000 lds r18,stickOffsetNick
3369 1f92 3091 0000 lds r19,(stickOffsetNick)+1
3370 1f96 821B sub r24,r18
3371 1f98 930B sbc r25,r19
3372 1f9a 2091 0000 lds r18,GPSStickNick
3373 1f9e 3091 0000 lds r19,(GPSStickNick)+1
3374 1fa2 821B sub r24,r18
3375 1fa4 930B sbc r25,r19
3376 1fa6 9093 0000 sts (StickNick)+1,r25
3377 1faa 8093 0000 sts StickNick,r24
3378 1fae E091 0000 lds r30,ParamSet+1
3379 1fb2 F0E0 ldi r31,lo8(0)
3380 1fb4 EE0F lsl r30
3381 1fb6 FF1F rol r31
3382 1fb8 DF01 movw r26,r30
3383 1fba A050 subi r26,lo8(-(PPM_in))
3384 1fbc B040 sbci r27,hi8(-(PPM_in))
3385 1fbe 8D91 ld r24,X+
3386 1fc0 9C91 ld r25,X
3387 1fc2 869F mul r24,r22
3388 1fc4 9001 movw r18,r0
3389 1fc6 879F mul r24,r23
3390 1fc8 300D add r19,r0
3391 1fca 969F mul r25,r22
3392 1fcc 300D add r19,r0
3393 1fce 1124 clr r1
3394 1fd0 3093 0000 sts (stick_roll.1991)+1,r19
3395 1fd4 2093 0000 sts stick_roll.1991,r18
3396 1fd8 E050 subi r30,lo8(-(PPM_diff))
3397 1fda F040 sbci r31,hi8(-(PPM_diff))
3398 1fdc 8081 ld r24,Z
3399 1fde 9181 ldd r25,Z+1
3400 1fe0 BC01 movw r22,r24
3401 1fe2 649F mul r22,r20
3402 1fe4 C001 movw r24,r0
3403 1fe6 659F mul r22,r21
3404 1fe8 900D add r25,r0
3405 1fea 749F mul r23,r20
3406 1fec 900D add r25,r0
3407 1fee 1124 clr r1
3408 1ff0 820F add r24,r18
3409 1ff2 931F adc r25,r19
3410 1ff4 9093 0000 sts (stick_roll.1991)+1,r25
3411 1ff8 8093 0000 sts stick_roll.1991,r24
3412 1ffc 2091 0000 lds r18,stickOffsetRoll
3413 2000 3091 0000 lds r19,(stickOffsetRoll)+1
3414 2004 821B sub r24,r18
3415 2006 930B sbc r25,r19
3416 2008 2091 0000 lds r18,GPSStickRoll
3417 200c 3091 0000 lds r19,(GPSStickRoll)+1
3418 2010 821B sub r24,r18
3419 2012 930B sbc r25,r19
3420 2014 9093 0000 sts (StickRoll)+1,r25
3421 2018 8093 0000 sts StickRoll,r24
3422 201c E091 0000 lds r30,ParamSet+3
3423 2020 F0E0 ldi r31,lo8(0)
3424 2022 EE0F lsl r30
3425 2024 FF1F rol r31
3426 2026 E050 subi r30,lo8(-(PPM_in))
3427 2028 F040 sbci r31,hi8(-(PPM_in))
3428 202a 8081 ld r24,Z
3429 202c 9181 ldd r25,Z+1
3430 202e 2227 clr r18
3431 2030 3327 clr r19
3432 2032 281B sub r18,r24
3433 2034 390B sbc r19,r25
3434 2036 3093 0000 sts (StickYaw)+1,r19
3435 203a 2093 0000 sts StickYaw,r18
3436 203e 8091 0000 lds r24,ParamSet+8
3437 2042 8872 andi r24,lo8(40)
3438 2044 01F0 breq .L357
3439 2046 2330 cpi r18,3
3440 2048 3105 cpc r19,__zero_reg__
3441 204a 04F0 brlt .+2
3442 204c 00C0 rjmp .L510
3443 204e 7FEF ldi r23,hi8(-2)
3444 2050 2E3F cpi r18,lo8(-2)
3445 2052 3707 cpc r19,r23
3446 2054 04F0 brlt .+2
3447 2056 00C0 rjmp .L359
3448 2058 2E5F subi r18,lo8(-(2))
3449 205a 3F4F sbci r19,hi8(-(2))
3450 205c 3093 0000 sts (StickYaw)+1,r19
3451 2060 2093 0000 sts StickYaw,r18
3452 .L357:
3453 2064 E091 0000 lds r30,ParamSet+2
3454 2068 F0E0 ldi r31,lo8(0)
3455 206a EE0F lsl r30
3456 206c FF1F rol r31
3457 206e E050 subi r30,lo8(-(PPM_in))
3458 2070 F040 sbci r31,hi8(-(PPM_in))
3459 2072 0190 ld __tmp_reg__,Z+
3460 2074 F081 ld r31,Z
3461 2076 E02D mov r30,__tmp_reg__
3462 2078 E858 subi r30,lo8(-(120))
3463 207a FF4F sbci r31,hi8(-(120))
3464 207c F093 0000 sts (StickGas)+1,r31
3465 2080 E093 0000 sts StickGas,r30
3466 2084 8091 0000 lds r24,FCParam+6
3467 2088 865F subi r24,lo8(-(10))
3468 208a 8093 0000 sts GyroPFactor,r24
3469 208e 9091 0000 lds r25,FCParam+7
3470 2092 9093 0000 sts GyroIFactor,r25
3471 2096 8093 0000 sts GyroYawPFactor,r24
3472 209a 9093 0000 sts GyroYawIFactor,r25
3473 209e 8091 0000 lds r24,ExternControl+10
3474 20a2 80FF sbrs r24,0
3475 20a4 00C0 rjmp .L360
3476 20a6 8091 0000 lds r24,FCParam+24
3477 20aa 8138 cpi r24,lo8(-127)
3478 20ac 00F4 brsh .+2
3479 20ae 00C0 rjmp .L360
3480 20b0 2091 0000 lds r18,ParamSet+15
3481 20b4 30E0 ldi r19,lo8(0)
3482 20b6 8091 0000 lds r24,ExternControl+3
3483 20ba 9927 clr r25
3484 20bc 87FD sbrc r24,7
3485 20be 9095 com r25
3486 20c0 AC01 movw r20,r24
3487 20c2 249F mul r18,r20
3488 20c4 C001 movw r24,r0
3489 20c6 259F mul r18,r21
3490 20c8 900D add r25,r0
3491 20ca 349F mul r19,r20
3492 20cc 900D add r25,r0
3493 20ce 1124 clr r1
3494 20d0 A090 0000 lds r10,StickNick
3495 20d4 B090 0000 lds r11,(StickNick)+1
3496 20d8 A80E add r10,r24
3497 20da B91E adc r11,r25
3498 20dc B092 0000 sts (StickNick)+1,r11
3499 20e0 A092 0000 sts StickNick,r10
3500 20e4 8091 0000 lds r24,ExternControl+4
3501 20e8 9927 clr r25
3502 20ea 87FD sbrc r24,7
3503 20ec 9095 com r25
3504 20ee BC01 movw r22,r24
3505 20f0 269F mul r18,r22
3506 20f2 C001 movw r24,r0
3507 20f4 279F mul r18,r23
3508 20f6 900D add r25,r0
3509 20f8 369F mul r19,r22
3510 20fa 900D add r25,r0
3511 20fc 1124 clr r1
3512 20fe C090 0000 lds r12,StickRoll
3513 2102 D090 0000 lds r13,(StickRoll)+1
3514 2106 C80E add r12,r24
3515 2108 D91E adc r13,r25
3516 210a D092 0000 sts (StickRoll)+1,r13
3517 210e C092 0000 sts StickRoll,r12
3518 2112 2091 0000 lds r18,ExternControl+5
3519 2116 3327 clr r19
3520 2118 27FD sbrc r18,7
3521 211a 3095 com r19
3522 211c 8091 0000 lds r24,StickYaw
3523 2120 9091 0000 lds r25,(StickYaw)+1
3524 2124 820F add r24,r18
3525 2126 931F adc r25,r19
3526 2128 9093 0000 sts (StickYaw)+1,r25
3527 212c 8093 0000 sts StickYaw,r24
3528 2130 2091 0000 lds r18,ParamSet+13
3529 2134 30E0 ldi r19,lo8(0)
3530 2136 8091 0000 lds r24,ExternControl+7
3531 213a 9927 clr r25
3532 213c 87FD sbrc r24,7
3533 213e 9095 com r25
3534 2140 AC01 movw r20,r24
3535 2142 249F mul r18,r20
3536 2144 C001 movw r24,r0
3537 2146 259F mul r18,r21
3538 2148 900D add r25,r0
3539 214a 349F mul r19,r20
3540 214c 900D add r25,r0
3541 214e 1124 clr r1
3542 2150 9093 0000 sts (ExternHeightValue)+1,r25
3543 2154 8093 0000 sts ExternHeightValue,r24
3544 2158 8091 0000 lds r24,ExternControl+6
3545 215c 90E0 ldi r25,lo8(0)
3546 215e 8E17 cp r24,r30
3547 2160 9F07 cpc r25,r31
3548 2162 04F4 brge .L360
3549 2164 9093 0000 sts (StickGas)+1,r25
3550 2168 8093 0000 sts StickGas,r24
3551 .L360:
3552 216c 8091 0000 lds r24,StickGas
3553 2170 9091 0000 lds r25,(StickGas)+1
3554 2174 97FD sbrc r25,7
3555 2176 00C0 rjmp .L511
3556 2178 8091 0000 lds r24,ParamSet+8
3557 217c 82FD sbrc r24,2
3558 217e 00C0 rjmp .L512
3559 .L362:
3560 2180 6091 0000 lds r22,StickNick
3561 2184 7091 0000 lds r23,StickNick+1
3562 2188 4091 0000 lds r20,MaxStickNick
3563 218c 5091 0000 lds r21,(MaxStickNick)+1
3564 2190 CB01 movw r24,r22
3565 2192 9C01 movw r18,r24
3566 2194 97FD sbrc r25,7
3567 2196 00C0 rjmp .L513
3568 2198 3595 asr r19
3569 219a 2795 ror r18
3570 219c 3595 asr r19
3571 219e 2795 ror r18
3572 21a0 37FD sbrc r19,7
3573 21a2 00C0 rjmp .L514
3574 .L365:
3575 21a4 4217 cp r20,r18
3576 21a6 5307 cpc r21,r19
3577 21a8 04F4 brge .+2
3578 21aa 00C0 rjmp .L515
3579 21ac 4150 subi r20,lo8(-(-1))
3580 21ae 5040 sbci r21,hi8(-(-1))
3581 21b0 5093 0000 sts (MaxStickNick)+1,r21
3582 21b4 4093 0000 sts MaxStickNick,r20
3583 .L367:
3584 21b8 6091 0000 lds r22,StickRoll
3585 21bc 7091 0000 lds r23,StickRoll+1
3586 21c0 4091 0000 lds r20,MaxStickRoll
3587 21c4 5091 0000 lds r21,(MaxStickRoll)+1
3588 21c8 CB01 movw r24,r22
3589 21ca 9C01 movw r18,r24
3590 21cc 97FD sbrc r25,7
3591 21ce 00C0 rjmp .L516
3592 .L369:
3593 21d0 3595 asr r19
3594 21d2 2795 ror r18
3595 21d4 3595 asr r19
3596 21d6 2795 ror r18
3597 21d8 37FD sbrc r19,7
3598 21da 00C0 rjmp .L517
3599 .L370:
3600 21dc 4217 cp r20,r18
3601 21de 5307 cpc r21,r19
3602 21e0 04F0 brlt .+2
3603 21e2 00C0 rjmp .L368
3604 21e4 9B01 movw r18,r22
3605 21e6 77FD sbrc r23,7
3606 21e8 00C0 rjmp .L518
3607 .L371:
3608 21ea C901 movw r24,r18
3609 21ec 9595 asr r25
3610 21ee 8795 ror r24
3611 21f0 9595 asr r25
3612 21f2 8795 ror r24
3613 21f4 9093 0000 sts (MaxStickRoll)+1,r25
3614 21f8 8093 0000 sts MaxStickRoll,r24
3615 21fc 8536 cpi r24,101
3616 21fe 9105 cpc r25,__zero_reg__
3617 2200 04F0 brlt .+2
3618 2202 00C0 rjmp .L519
3619 .L372:
3620 2204 8091 0000 lds r24,ParamSet+1
3621 2208 A82F mov r26,r24
3622 220a B0E0 ldi r27,lo8(0)
3623 220c AA0F lsl r26
3624 220e BB1F rol r27
3625 2210 FD01 movw r30,r26
3626 2212 E050 subi r30,lo8(-(PPM_in))
3627 2214 F040 sbci r31,hi8(-(PPM_in))
3628 2216 2081 ld r18,Z
3629 2218 3181 ldd r19,Z+1
3630 221a 8091 0000 lds r24,ParamSet+40
3631 221e 482F mov r20,r24
3632 2220 50E0 ldi r21,lo8(0)
3633 2222 4217 cp r20,r18
3634 2224 5307 cpc r21,r19
3635 2226 04F4 brge .L373
3636 2228 8091 0000 lds r24,ParamSet+75
3637 222c 82FD sbrc r24,2
3638 222e 00C0 rjmp .L520
3639 .L373:
3640 2230 7091 0000 lds r23,LoopingLeft
3641 2234 7723 tst r23
3642 2236 01F0 breq .L374
3643 2238 FD01 movw r30,r26
3644 223a E050 subi r30,lo8(-(PPM_in))
3645 223c F040 sbci r31,hi8(-(PPM_in))
3646 223e 2081 ld r18,Z
3647 2240 3181 ldd r19,Z+1
3648 2242 8091 0000 lds r24,ParamSet+41
3649 2246 FA01 movw r30,r20
3650 2248 E81B sub r30,r24
3651 224a F109 sbc r31,__zero_reg__
3652 224c 2E17 cp r18,r30
3653 224e 3F07 cpc r19,r31
3654 2250 04F4 brge .+2
3655 2252 00C0 rjmp .L521
3656 .L374:
3657 2254 FD01 movw r30,r26
3658 2256 E050 subi r30,lo8(-(PPM_in))
3659 2258 F040 sbci r31,hi8(-(PPM_in))
3660 225a 2081 ld r18,Z
3661 225c 3181 ldd r19,Z+1
3662 225e 8827 clr r24
3663 2260 9927 clr r25
3664 2262 841B sub r24,r20
3665 2264 950B sbc r25,r21
3666 2266 2817 cp r18,r24
3667 2268 3907 cpc r19,r25
3668 226a 04F4 brge .L375
3669 226c 8091 0000 lds r24,ParamSet+75
3670 2270 83FD sbrc r24,3
3671 2272 00C0 rjmp .L522
3672 .L375:
3673 2274 8091 0000 lds r24,LoopingRight
3674 2278 8823 tst r24
3675 227a 01F0 breq .L376
3676 227c A050 subi r26,lo8(-(PPM_in))
3677 227e B040 sbci r27,hi8(-(PPM_in))
3678 2280 2D91 ld r18,X+
3679 2282 3C91 ld r19,X
3680 2284 8091 0000 lds r24,ParamSet+41
3681 2288 90E0 ldi r25,lo8(0)
3682 228a 841B sub r24,r20
3683 228c 950B sbc r25,r21
3684 228e 8217 cp r24,r18
3685 2290 9307 cpc r25,r19
3686 2292 04F4 brge .+2
3687 2294 00C0 rjmp .L523
3688 .L376:
3689 2296 8091 0000 lds r24,ParamSet
3690 229a A82F mov r26,r24
3691 229c B0E0 ldi r27,lo8(0)
3692 229e AA0F lsl r26
3693 22a0 BB1F rol r27
3694 22a2 FD01 movw r30,r26
3695 22a4 E050 subi r30,lo8(-(PPM_in))
3696 22a6 F040 sbci r31,hi8(-(PPM_in))
3697 22a8 8081 ld r24,Z
3698 22aa 9181 ldd r25,Z+1
3699 22ac 4817 cp r20,r24
3700 22ae 5907 cpc r21,r25
3701 22b0 04F4 brge .L377
3702 22b2 8091 0000 lds r24,ParamSet+75
3703 22b6 80FD sbrc r24,0
3704 22b8 00C0 rjmp .L524
3705 .L377:
3706 22ba 6091 0000 lds r22,LoopingTop
3707 22be 6623 tst r22
3708 22c0 01F0 breq .L378
3709 22c2 FD01 movw r30,r26
3710 22c4 E050 subi r30,lo8(-(PPM_in))
3711 22c6 F040 sbci r31,hi8(-(PPM_in))
3712 22c8 2081 ld r18,Z
3713 22ca 3181 ldd r19,Z+1
3714 22cc 8091 0000 lds r24,ParamSet+41
3715 22d0 FA01 movw r30,r20
3716 22d2 E81B sub r30,r24
3717 22d4 F109 sbc r31,__zero_reg__
3718 22d6 2E17 cp r18,r30
3719 22d8 3F07 cpc r19,r31
3720 22da 04F4 brge .+2
3721 22dc 00C0 rjmp .L525
3722 .L378:
3723 22de FD01 movw r30,r26
3724 22e0 E050 subi r30,lo8(-(PPM_in))
3725 22e2 F040 sbci r31,hi8(-(PPM_in))
3726 22e4 2081 ld r18,Z
3727 22e6 3181 ldd r19,Z+1
3728 22e8 8827 clr r24
3729 22ea 9927 clr r25
3730 22ec 841B sub r24,r20
3731 22ee 950B sbc r25,r21
3732 22f0 2817 cp r18,r24
3733 22f2 3907 cpc r19,r25
3734 22f4 04F4 brge .L379
3735 22f6 8091 0000 lds r24,ParamSet+75
3736 22fa 81FD sbrc r24,1
3737 22fc 00C0 rjmp .L526
3738 .L379:
3739 22fe 8091 0000 lds r24,LoopingDown
3740 2302 8823 tst r24
3741 2304 01F0 breq .L380
3742 2306 A050 subi r26,lo8(-(PPM_in))
3743 2308 B040 sbci r27,hi8(-(PPM_in))
3744 230a 2D91 ld r18,X+
3745 230c 3C91 ld r19,X
3746 230e 8091 0000 lds r24,ParamSet+41
3747 2312 90E0 ldi r25,lo8(0)
3748 2314 841B sub r24,r20
3749 2316 950B sbc r25,r21
3750 2318 8217 cp r24,r18
3751 231a 9307 cpc r25,r19
3752 231c 04F4 brge .+2
3753 231e 00C0 rjmp .L527
3754 .L380:
3755 2320 7723 tst r23
3756 2322 01F4 brne .L381
3757 2324 8091 0000 lds r24,LoopingRight
3758 2328 8823 tst r24
3759 232a 01F4 brne .+2
3760 232c 00C0 rjmp .L382
3761 .L381:
3762 232e 81E0 ldi r24,lo8(1)
3763 2330 8093 0000 sts LoopingRoll,r24
3764 .L383:
3765 2334 6623 tst r22
3766 2336 01F4 brne .L384
3767 2338 8091 0000 lds r24,LoopingDown
3768 233c 8823 tst r24
3769 233e 01F4 brne .+2
3770 2340 00C0 rjmp .L385
3771 .L384:
3772 2342 81E0 ldi r24,lo8(1)
3773 2344 8093 0000 sts LoopingNick,r24
3774 2348 1092 0000 sts LoopingRoll,__zero_reg__
3775 234c 1092 0000 sts LoopingLeft,__zero_reg__
3776 2350 1092 0000 sts LoopingRight,__zero_reg__
3777 2354 8091 0000 lds r24,LoopingRoll
3778 2358 8823 tst r24
3779 235a 01F4 brne .+4
3780 235c 0C94 0000 jmp .L528
3781 .L386:
3782 2360 8091 0000 lds r24,ParamSet+39
3783 2364 90E0 ldi r25,lo8(0)
3784 2366 2F81 ldd r18,Y+7
3785 2368 3885 ldd r19,Y+8
3786 236a 8217 cp r24,r18
3787 236c 9307 cpc r25,r19
3788 236e 04F4 brge .+2
3789 2370 00C0 rjmp .L529
3790 2372 81E0 ldi r24,lo8(1)
3791 2374 8093 0000 sts FunnelCourse,r24
3792 2378 0C94 0000 jmp .L387
3793 .L390:
3794 237c 1092 0000 sts (ADCycleCount)+1,__zero_reg__
3795 2380 1092 0000 sts ADCycleCount,__zero_reg__
3796 2384 0C94 0000 jmp .L391
3797 .L496:
3798 2388 0396 adiw r24,3
3799 238a 00C0 rjmp .L462
3800 .L495:
3801 238c 0894 sec
3802 238e E11C adc r14,__zero_reg__
3803 2390 F11C adc r15,__zero_reg__
3804 2392 00C0 rjmp .L461
3805 .L497:
3806 /* epilogue start */
3807 2394 6B96 adiw r28,27
3808 2396 0FB6 in __tmp_reg__,__SREG__
3809 2398 F894 cli
3810 239a DEBF out __SP_H__,r29
3811 239c 0FBE out __SREG__,__tmp_reg__
3812 239e CDBF out __SP_L__,r28
3813 23a0 CF91 pop r28
3814 23a2 DF91 pop r29
3815 23a4 1F91 pop r17
3816 23a6 0F91 pop r16
3817 23a8 FF90 pop r15
3818 23aa EF90 pop r14
3819 23ac DF90 pop r13
3820 23ae CF90 pop r12
3821 23b0 BF90 pop r11
3822 23b2 AF90 pop r10
3823 23b4 9F90 pop r9
3824 23b6 8F90 pop r8
3825 23b8 7F90 pop r7
3826 23ba 6F90 pop r6
3827 23bc 5F90 pop r5
3828 23be 4F90 pop r4
3829 23c0 3F90 pop r3
3830 23c2 2F90 pop r2
3831 23c4 0895 ret
3832 .L454:
3833 23c6 A216 cp r10,r18
3834 23c8 B306 cpc r11,r19
3835 23ca 04F0 brlt .+2
3836 23cc 00C0 rjmp .L455
3837 23ce 9501 movw r18,r10
3838 23d0 00C0 rjmp .L455
3839 .L451:
3840 23d2 81E0 ldi r24,lo8(64001)
3841 23d4 E816 cp r14,r24
3842 23d6 8AEF ldi r24,hi8(64001)
3843 23d8 F806 cpc r15,r24
3844 23da 80E0 ldi r24,hlo8(64001)
3845 23dc 0807 cpc r16,r24
3846 23de 80E0 ldi r24,hhi8(64001)
3847 23e0 1807 cpc r17,r24
3848 23e2 04F4 brge .+2
3849 23e4 00C0 rjmp .L452
3850 23e6 80E0 ldi r24,lo8(64000)
3851 23e8 9AEF ldi r25,hi8(64000)
3852 23ea A0E0 ldi r26,hlo8(64000)
3853 23ec B0E0 ldi r27,hhi8(64000)
3854 23ee 8093 0000 sts IPartRoll.1973,r24
3855 23f2 9093 0000 sts (IPartRoll.1973)+1,r25
3856 23f6 A093 0000 sts (IPartRoll.1973)+2,r26
3857 23fa B093 0000 sts (IPartRoll.1973)+3,r27
3858 23fe E12C mov r14,__zero_reg__
3859 2400 0AEF ldi r16,hi8(64000)
3860 2402 F02E mov r15,r16
3861 2404 012D mov r16,__zero_reg__
3862 2406 112D mov r17,__zero_reg__
3863 2408 00C0 rjmp .L452
3864 .L449:
3865 240a 8981 ldd r24,Y+1
3866 240c 9A81 ldd r25,Y+2
3867 240e 8C19 sub r24,r12
3868 2410 9D09 sbc r25,r13
3869 2412 AA27 clr r26
3870 2414 97FD sbrc r25,7
3871 2416 A095 com r26
3872 2418 BA2F mov r27,r26
3873 241a E090 0000 lds r14,IPartRoll.1973
3874 241e F090 0000 lds r15,(IPartRoll.1973)+1
3875 2422 0091 0000 lds r16,(IPartRoll.1973)+2
3876 2426 1091 0000 lds r17,(IPartRoll.1973)+3
3877 242a E80E add r14,r24
3878 242c F91E adc r15,r25
3879 242e 0A1F adc r16,r26
3880 2430 1B1F adc r17,r27
3881 2432 E092 0000 sts IPartRoll.1973,r14
3882 2436 F092 0000 sts (IPartRoll.1973)+1,r15
3883 243a 0093 0000 sts (IPartRoll.1973)+2,r16
3884 243e 1093 0000 sts (IPartRoll.1973)+3,r17
3885 2442 00C0 rjmp .L450
3886 .L447:
3887 2444 21E0 ldi r18,lo8(64001)
3888 2446 E216 cp r14,r18
3889 2448 2AEF ldi r18,hi8(64001)
3890 244a F206 cpc r15,r18
3891 244c 20E0 ldi r18,hlo8(64001)
3892 244e 0207 cpc r16,r18
3893 2450 20E0 ldi r18,hhi8(64001)
3894 2452 1207 cpc r17,r18
3895 2454 04F4 brge .+2
3896 2456 00C0 rjmp .L448
3897 2458 80E0 ldi r24,lo8(64000)
3898 245a 9AEF ldi r25,hi8(64000)
3899 245c A0E0 ldi r26,hlo8(64000)
3900 245e B0E0 ldi r27,hhi8(64000)
3901 2460 8093 0000 sts IPartNick.1972,r24
3902 2464 9093 0000 sts (IPartNick.1972)+1,r25
3903 2468 A093 0000 sts (IPartNick.1972)+2,r26
3904 246c B093 0000 sts (IPartNick.1972)+3,r27
3905 2470 E12C mov r14,__zero_reg__
3906 2472 9AEF ldi r25,hi8(64000)
3907 2474 F92E mov r15,r25
3908 2476 012D mov r16,__zero_reg__
3909 2478 112D mov r17,__zero_reg__
3910 247a 00C0 rjmp .L448
3911 .L445:
3912 247c C101 movw r24,r2
3913 247e 8A19 sub r24,r10
3914 2480 9B09 sbc r25,r11
3915 2482 AA27 clr r26
3916 2484 97FD sbrc r25,7
3917 2486 A095 com r26
3918 2488 BA2F mov r27,r26
3919 248a E090 0000 lds r14,IPartNick.1972
3920 248e F090 0000 lds r15,(IPartNick.1972)+1
3921 2492 0091 0000 lds r16,(IPartNick.1972)+2
3922 2496 1091 0000 lds r17,(IPartNick.1972)+3
3923 249a E80E add r14,r24
3924 249c F91E adc r15,r25
3925 249e 0A1F adc r16,r26
3926 24a0 1B1F adc r17,r27
3927 24a2 E092 0000 sts IPartNick.1972,r14
3928 24a6 F092 0000 sts (IPartNick.1972)+1,r15
3929 24aa 0093 0000 sts (IPartNick.1972)+2,r16
3930 24ae 1093 0000 sts (IPartNick.1972)+3,r17
3931 24b2 00C0 rjmp .L446
3932 .L437:
3933 24b4 C701 movw r24,r14
3934 24b6 8135 cpi r24,81
3935 24b8 9105 cpc r25,__zero_reg__
3936 24ba 04F0 brlt .+2
3937 24bc 00C0 rjmp .L530
3938 24be 9C01 movw r18,r24
3939 24c0 5FEF ldi r21,hi8(-80)
3940 24c2 803B cpi r24,lo8(-80)
3941 24c4 9507 cpc r25,r21
3942 24c6 04F0 brlt .+2
3943 24c8 00C0 rjmp .L439
3944 .L540:
3945 24ca 20EB ldi r18,lo8(-80)
3946 24cc 3FEF ldi r19,hi8(-80)
3947 24ce 00C0 rjmp .L439
3948 .L426:
3949 24d0 ED85 ldd r30,Y+13
3950 24d2 6E2F mov r22,r30
3951 24d4 70E0 ldi r23,lo8(0)
3952 24d6 80E0 ldi r24,lo8(0)
3953 24d8 90E0 ldi r25,hi8(0)
3954 24da 2091 0000 lds r18,IntegralGyroRoll
3955 24de 3091 0000 lds r19,(IntegralGyroRoll)+1
3956 24e2 4091 0000 lds r20,(IntegralGyroRoll)+2
3957 24e6 5091 0000 lds r21,(IntegralGyroRoll)+3
3958 24ea 0E94 0000 call __mulsi3
3959 24ee 28EF ldi r18,lo8(11000)
3960 24f0 3AE2 ldi r19,hi8(11000)
3961 24f2 40E0 ldi r20,hlo8(11000)
3962 24f4 50E0 ldi r21,hhi8(11000)
3963 24f6 0E94 0000 call __divmodsi4
3964 24fa 3C83 std Y+4,r19
3965 24fc 2B83 std Y+3,r18
3966 24fe 3901 movw r6,r18
3967 2500 0C94 0000 jmp .L427
3968 .L424:
3969 2504 8091 0000 lds r24,GyroIFactor
3970 2508 8D87 std Y+13,r24
3971 250a 682F mov r22,r24
3972 250c 70E0 ldi r23,lo8(0)
3973 250e 80E0 ldi r24,lo8(0)
3974 2510 90E0 ldi r25,hi8(0)
3975 2512 2091 0000 lds r18,IntegralGyroNick
3976 2516 3091 0000 lds r19,(IntegralGyroNick)+1
3977 251a 4091 0000 lds r20,(IntegralGyroNick)+2
3978 251e 5091 0000 lds r21,(IntegralGyroNick)+3
3979 2522 0E94 0000 call __mulsi3
3980 2526 28EF ldi r18,lo8(11000)
3981 2528 3AE2 ldi r19,hi8(11000)
3982 252a 40E0 ldi r20,hlo8(11000)
3983 252c 50E0 ldi r21,hhi8(11000)
3984 252e 0E94 0000 call __divmodsi4
3985 2532 3E83 std Y+6,r19
3986 2534 2D83 std Y+5,r18
3987 2536 1901 movw r2,r18
3988 2538 0C94 0000 jmp .L425
3989 .L475:
3990 253c 88E1 ldi r24,lo8(24)
3991 253e 8093 0000 sts TimerDebugOut.1985,r24
3992 2542 6091 0000 lds r22,IntegralGyroNick
3993 2546 7091 0000 lds r23,(IntegralGyroNick)+1
3994 254a 8091 0000 lds r24,(IntegralGyroNick)+2
3995 254e 9091 0000 lds r25,(IntegralGyroNick)+3
3996 2552 2AE0 ldi r18,lo8(10)
3997 2554 30E0 ldi r19,hi8(10)
3998 2556 40E0 ldi r20,hlo8(10)
3999 2558 50E0 ldi r21,hhi8(10)
4000 255a 0E94 0000 call __mulsi3
4001 255e 2FEB ldi r18,lo8(1215)
4002 2560 34E0 ldi r19,hi8(1215)
4003 2562 40E0 ldi r20,hlo8(1215)
4004 2564 50E0 ldi r21,hhi8(1215)
4005 2566 0E94 0000 call __divmodsi4
4006 256a 3093 0000 sts (DebugOut+2)+1,r19
4007 256e 2093 0000 sts DebugOut+2,r18
4008 2572 6091 0000 lds r22,IntegralGyroRoll
4009 2576 7091 0000 lds r23,(IntegralGyroRoll)+1
4010 257a 8091 0000 lds r24,(IntegralGyroRoll)+2
4011 257e 9091 0000 lds r25,(IntegralGyroRoll)+3
4012 2582 2AE0 ldi r18,lo8(10)
4013 2584 30E0 ldi r19,hi8(10)
4014 2586 40E0 ldi r20,hlo8(10)
4015 2588 50E0 ldi r21,hhi8(10)
4016 258a 0E94 0000 call __mulsi3
4017 258e 2FEB ldi r18,lo8(1215)
4018 2590 34E0 ldi r19,hi8(1215)
4019 2592 40E0 ldi r20,hlo8(1215)
4020 2594 50E0 ldi r21,hhi8(1215)
4021 2596 0E94 0000 call __divmodsi4
4022 259a 3093 0000 sts (DebugOut+4)+1,r19
4023 259e 2093 0000 sts DebugOut+4,r18
4024 25a2 4090 0000 lds r4,GyroNick
4025 25a6 5090 0000 lds r5,(GyroNick)+1
4026 25aa 5092 0000 sts (DebugOut+6)+1,r5
4027 25ae 4092 0000 sts DebugOut+6,r4
4028 25b2 8090 0000 lds r8,GyroRoll
4029 25b6 9090 0000 lds r9,(GyroRoll)+1
4030 25ba 9092 0000 sts (DebugOut+8)+1,r9
4031 25be 8092 0000 sts DebugOut+8,r8
4032 25c2 8B85 ldd r24,Y+11
4033 25c4 9C85 ldd r25,Y+12
4034 25c6 9093 0000 sts (DebugOut+10)+1,r25
4035 25ca 8093 0000 sts DebugOut+10,r24
4036 25ce 8091 0000 lds r24,ReadingHeight
4037 25d2 9091 0000 lds r25,(ReadingHeight)+1
4038 25d6 9093 0000 sts (DebugOut+12)+1,r25
4039 25da 8093 0000 sts DebugOut+12,r24
4040 25de 8091 0000 lds r24,CompassHeading
4041 25e2 9091 0000 lds r25,(CompassHeading)+1
4042 25e6 9093 0000 sts (DebugOut+18)+1,r25
4043 25ea 8093 0000 sts DebugOut+18,r24
4044 25ee 8091 0000 lds r24,UBat
4045 25f2 9091 0000 lds r25,(UBat)+1
4046 25f6 9093 0000 sts (DebugOut+20)+1,r25
4047 25fa 8093 0000 sts DebugOut+20,r24
4048 25fe 8091 0000 lds r24,RC_Quality
4049 2602 9091 0000 lds r25,(RC_Quality)+1
4050 2606 9093 0000 sts (DebugOut+22)+1,r25
4051 260a 8093 0000 sts DebugOut+22,r24
4052 260e 6091 0000 lds r22,YawGyroHeading
4053 2612 7091 0000 lds r23,(YawGyroHeading)+1
4054 2616 8091 0000 lds r24,(YawGyroHeading)+2
4055 261a 9091 0000 lds r25,(YawGyroHeading)+3
4056 261e 20E0 ldi r18,lo8(512)
4057 2620 32E0 ldi r19,hi8(512)
4058 2622 40E0 ldi r20,hlo8(512)
4059 2624 50E0 ldi r21,hhi8(512)
4060 2626 0E94 0000 call __divmodsi4
4061 262a 3093 0000 sts (DebugOut+24)+1,r19
4062 262e 2093 0000 sts DebugOut+24,r18
4063 2632 80E1 ldi r24,lo8(16)
4064 2634 90E0 ldi r25,hi8(16)
4065 2636 9093 0000 sts (DebugOut+34)+1,r25
4066 263a 8093 0000 sts DebugOut+34,r24
4067 263e 81E1 ldi r24,lo8(17)
4068 2640 90E0 ldi r25,hi8(17)
4069 2642 9093 0000 sts (DebugOut+36)+1,r25
4070 2646 8093 0000 sts DebugOut+36,r24
4071 264a 82E1 ldi r24,lo8(18)
4072 264c 90E0 ldi r25,hi8(18)
4073 264e 9093 0000 sts (DebugOut+38)+1,r25
4074 2652 8093 0000 sts DebugOut+38,r24
4075 2656 83E1 ldi r24,lo8(19)
4076 2658 90E0 ldi r25,hi8(19)
4077 265a 9093 0000 sts (DebugOut+40)+1,r25
4078 265e 8093 0000 sts DebugOut+40,r24
4079 2662 4091 0000 lds r20,vibrationOffsetNick
4080 2666 5091 0000 lds r21,(vibrationOffsetNick)+1
4081 266a 8091 0000 lds r24,savedVibrationOffsetNick
4082 266e 9091 0000 lds r25,(savedVibrationOffsetNick)+1
4083 2672 FA01 movw r30,r20
4084 2674 E81B sub r30,r24
4085 2676 F90B sbc r31,r25
4086 2678 F093 0000 sts (DebugOut+42)+1,r31
4087 267c E093 0000 sts DebugOut+42,r30
4088 2680 2091 0000 lds r18,vibrationOffsetRoll
4089 2684 3091 0000 lds r19,(vibrationOffsetRoll)+1
4090 2688 8091 0000 lds r24,savedVibrationOffsetRoll
4091 268c 9091 0000 lds r25,(savedVibrationOffsetRoll)+1
4092 2690 B901 movw r22,r18
4093 2692 681B sub r22,r24
4094 2694 790B sbc r23,r25
4095 2696 7093 0000 sts (DebugOut+44)+1,r23
4096 269a 6093 0000 sts DebugOut+44,r22
4097 269e 86E1 ldi r24,lo8(22)
4098 26a0 90E0 ldi r25,hi8(22)
4099 26a2 9093 0000 sts (DebugOut+46)+1,r25
4100 26a6 8093 0000 sts DebugOut+46,r24
4101 26aa 5092 0000 sts (DebugOut+48)+1,r5
4102 26ae 4092 0000 sts DebugOut+48,r4
4103 26b2 9092 0000 sts (DebugOut+50)+1,r9
4104 26b6 8092 0000 sts DebugOut+50,r8
4105 26ba 5093 0000 sts (DebugOut+52)+1,r21
4106 26be 4093 0000 sts DebugOut+52,r20
4107 26c2 3093 0000 sts (DebugOut+54)+1,r19
4108 26c6 2093 0000 sts DebugOut+54,r18
4109 26ca 8BE1 ldi r24,lo8(27)
4110 26cc 90E0 ldi r25,hi8(27)
4111 26ce 9093 0000 sts (DebugOut+56)+1,r25
4112 26d2 8093 0000 sts DebugOut+56,r24
4113 26d6 A090 0000 lds r10,StickNick
4114 26da B090 0000 lds r11,(StickNick)+1
4115 26de B092 0000 sts (DebugOut+58)+1,r11
4116 26e2 A092 0000 sts DebugOut+58,r10
4117 26e6 C090 0000 lds r12,StickRoll
4118 26ea D090 0000 lds r13,(StickRoll)+1
4119 26ee D092 0000 sts (DebugOut+60)+1,r13
4120 26f2 C092 0000 sts DebugOut+60,r12
4121 26f6 8091 0000 lds r24,debugNickNoisePeak
4122 26fa 9091 0000 lds r25,(debugNickNoisePeak)+1
4123 26fe 9093 0000 sts (DebugOut+62)+1,r25
4124 2702 8093 0000 sts DebugOut+62,r24
4125 2706 8091 0000 lds r24,debugRollNoisePeak
4126 270a 9091 0000 lds r25,(debugRollNoisePeak)+1
4127 270e 9093 0000 sts (DebugOut+64)+1,r25
4128 2712 8093 0000 sts DebugOut+64,r24
4129 2716 0C94 0000 jmp .L422
4130 .L474:
4131 271a 8091 0000 lds r24,CompassCalState
4132 271e 8823 tst r24
4133 2720 01F0 breq .+2
4134 2722 00C0 rjmp .L531
4135 .L405:
4136 2724 6091 0000 lds r22,IntegralGyroNick
4137 2728 7091 0000 lds r23,(IntegralGyroNick)+1
4138 272c 8091 0000 lds r24,(IntegralGyroNick)+2
4139 2730 9091 0000 lds r25,(IntegralGyroNick)+3
4140 2734 20E0 ldi r18,lo8(512)
4141 2736 32E0 ldi r19,hi8(512)
4142 2738 40E0 ldi r20,hlo8(512)
4143 273a 50E0 ldi r21,hhi8(512)
4144 273c 0E94 0000 call __divmodsi4
4145 2740 8901 movw r16,r18
4146 2742 37FD sbrc r19,7
4147 2744 00C0 rjmp .L532
4148 .L406:
4149 2746 6091 0000 lds r22,IntegralGyroRoll
4150 274a 7091 0000 lds r23,(IntegralGyroRoll)+1
4151 274e 8091 0000 lds r24,(IntegralGyroRoll)+2
4152 2752 9091 0000 lds r25,(IntegralGyroRoll)+3
4153 2756 20E0 ldi r18,lo8(512)
4154 2758 32E0 ldi r19,hi8(512)
4155 275a 40E0 ldi r20,hlo8(512)
4156 275c 50E0 ldi r21,hhi8(512)
4157 275e 0E94 0000 call __divmodsi4
4158 2762 5901 movw r10,r18
4159 2764 37FD sbrc r19,7
4160 2766 00C0 rjmp .L533
4161 .L407:
4162 2768 A016 cp r10,r16
4163 276a B106 cpc r11,r17
4164 276c 04F4 brge .L408
4165 276e 5801 movw r10,r16
4166 .L408:
4167 2770 C090 0000 lds r12,CompassHeading
4168 2774 D090 0000 lds r13,(CompassHeading)+1
4169 2778 D7FC sbrc r13,7
4170 277a 00C0 rjmp .L534
4171 277c 4CE1 ldi r20,lo8(540)
4172 277e 52E0 ldi r21,hi8(540)
4173 2780 C40E add r12,r20
4174 2782 D51E adc r13,r21
4175 2784 7601 movw r14,r12
4176 2786 0027 clr r16
4177 2788 F7FC sbrc r15,7
4178 278a 0095 com r16
4179 278c 102F mov r17,r16
4180 278e 64EE ldi r22,lo8(-540)
4181 2790 7DEF ldi r23,hi8(-540)
4182 2792 C60E add r12,r22
4183 2794 D71E adc r13,r23
4184 2796 6091 0000 lds r22,YawGyroHeading
4185 279a 7091 0000 lds r23,(YawGyroHeading)+1
4186 279e 8091 0000 lds r24,(YawGyroHeading)+2
4187 27a2 9091 0000 lds r25,(YawGyroHeading)+3
4188 27a6 20E0 ldi r18,lo8(512)
4189 27a8 32E0 ldi r19,hi8(512)
4190 27aa 40E0 ldi r20,hlo8(512)
4191 27ac 50E0 ldi r21,hhi8(512)
4192 27ae 0E94 0000 call __divmodsi4
4193 27b2 E21A sub r14,r18
4194 27b4 F30A sbc r15,r19
4195 27b6 040B sbc r16,r20
4196 27b8 150B sbc r17,r21
4197 27ba C801 movw r24,r16
4198 27bc B701 movw r22,r14
4199 27be 28E6 ldi r18,lo8(360)
4200 27c0 31E0 ldi r19,hi8(360)
4201 27c2 40E0 ldi r20,hlo8(360)
4202 27c4 50E0 ldi r21,hhi8(360)
4203 27c6 0E94 0000 call __divmodsi4
4204 27ca 645B subi r22,lo8(-(-180))
4205 27cc 7040 sbci r23,hi8(-(-180))
4206 .L410:
4207 27ce 8091 0000 lds r24,GyroYaw
4208 27d2 9091 0000 lds r25,(GyroYaw)+1
4209 27d6 9C87 std Y+12,r25
4210 27d8 8B87 std Y+11,r24
4211 27da 9C01 movw r18,r24
4212 27dc 97FD sbrc r25,7
4213 27de 00C0 rjmp .L535
4214 .L412:
4215 27e0 2138 cpi r18,129
4216 27e2 3105 cpc r19,__zero_reg__
4217 27e4 04F4 brge .+2
4218 27e6 00C0 rjmp .L411
4219 27e8 EE24 clr r14
4220 27ea FF24 clr r15
4221 .L413:
4222 27ec 0091 0000 lds r16,BadCompassHeading
4223 27f0 1091 0000 lds r17,(BadCompassHeading)+1
4224 27f4 0115 cp r16,__zero_reg__
4225 27f6 1105 cpc r17,__zero_reg__
4226 27f8 01F4 brne .L414
4227 27fa 99E1 ldi r25,lo8(25)
4228 27fc A916 cp r10,r25
4229 27fe B104 cpc r11,__zero_reg__
4230 2800 04F4 brge .+2
4231 2802 00C0 rjmp .L536
4232 .L414:
4233 2804 B501 movw r22,r10
4234 2806 7595 asr r23
4235 2808 6795 ror r22
4236 280a 7595 asr r23
4237 280c 6795 ror r22
4238 280e 7595 asr r23
4239 2810 6795 ror r22
4240 2812 6F5F subi r22,lo8(-(1))
4241 2814 7F4F sbci r23,hi8(-(1))
4242 2816 C701 movw r24,r14
4243 2818 0E94 0000 call __divmodhi4
4244 281c 9B01 movw r18,r22
4245 281e 4427 clr r20
4246 2820 37FD sbrc r19,7
4247 2822 4095 com r20
4248 2824 542F mov r21,r20
4249 2826 8091 0000 lds r24,YawGyroHeading
4250 282a 9091 0000 lds r25,(YawGyroHeading)+1
4251 282e A091 0000 lds r26,(YawGyroHeading)+2
4252 2832 B091 0000 lds r27,(YawGyroHeading)+3
4253 2836 280F add r18,r24
4254 2838 391F adc r19,r25
4255 283a 4A1F adc r20,r26
4256 283c 5B1F adc r21,r27
4257 283e 2093 0000 sts YawGyroHeading,r18
4258 2842 3093 0000 sts (YawGyroHeading)+1,r19
4259 2846 4093 0000 sts (YawGyroHeading)+2,r20
4260 284a 5093 0000 sts (YawGyroHeading)+3,r21
4261 284e 8091 0000 lds r24,FCParam+4
4262 2852 882E mov r8,r24
4263 2854 9924 clr r9
4264 2856 A89C mul r10,r8
4265 2858 C001 movw r24,r0
4266 285a A99C mul r10,r9
4267 285c 900D add r25,r0
4268 285e B89C mul r11,r8
4269 2860 900D add r25,r0
4270 2862 1124 clr r1
4271 2864 97FD sbrc r25,7
4272 2866 00C0 rjmp .L537
4273 .L415:
4274 2868 9595 asr r25
4275 286a 8795 ror r24
4276 286c 9595 asr r25
4277 286e 8795 ror r24
4278 2870 9595 asr r25
4279 2872 8795 ror r24
4280 2874 9595 asr r25
4281 2876 8795 ror r24
4282 2878 9595 asr r25
4283 287a 8795 ror r24
4284 287c 6401 movw r12,r8
4285 287e C81A sub r12,r24
4286 2880 D90A sbc r13,r25
4287 2882 D7FC sbrc r13,7
4288 2884 00C0 rjmp .L416
4289 2886 0115 cp r16,__zero_reg__
4290 2888 1105 cpc r17,__zero_reg__
4291 288a 01F0 breq .+2
4292 288c 00C0 rjmp .L417
4293 288e A090 0000 lds r10,MaxStickRoll
4294 2892 B090 0000 lds r11,(MaxStickRoll)+1
4295 2896 8091 0000 lds r24,MaxStickNick
4296 289a 9091 0000 lds r25,(MaxStickNick)+1
4297 289e A80E add r10,r24
4298 28a0 B91E adc r11,r25
4299 28a2 B7FC sbrc r11,7
4300 28a4 00C0 rjmp .L538
4301 .L418:
4302 28a6 B594 asr r11
4303 28a8 A794 ror r10
4304 28aa B594 asr r11
4305 28ac A794 ror r10
4306 28ae B594 asr r11
4307 28b0 A794 ror r10
4308 28b2 60E4 ldi r22,lo8(64)
4309 28b4 70E0 ldi r23,hi8(64)
4310 28b6 A60E add r10,r22
4311 28b8 B71E adc r11,r23
4312 28ba 8091 0000 lds r24,CompassCourse
4313 28be 9091 0000 lds r25,(CompassCourse)+1
4314 28c2 AA27 clr r26
4315 28c4 97FD sbrc r25,7
4316 28c6 A095 com r26
4317 28c8 BA2F mov r27,r26
4318 28ca 1CE1 ldi r17,lo8(540)
4319 28cc E12E mov r14,r17
4320 28ce 12E0 ldi r17,hi8(540)
4321 28d0 F12E mov r15,r17
4322 28d2 012D mov r16,__zero_reg__
4323 28d4 112D mov r17,__zero_reg__
4324 28d6 E81A sub r14,r24
4325 28d8 F90A sbc r15,r25
4326 28da 0A0B sbc r16,r26
4327 28dc 1B0B sbc r17,r27
4328 28de CA01 movw r24,r20
4329 28e0 B901 movw r22,r18
4330 28e2 20E0 ldi r18,lo8(512)
4331 28e4 32E0 ldi r19,hi8(512)
4332 28e6 40E0 ldi r20,hlo8(512)
4333 28e8 50E0 ldi r21,hhi8(512)
4334 28ea 0E94 0000 call __divmodsi4
4335 28ee E20E add r14,r18
4336 28f0 F31E adc r15,r19
4337 28f2 041F adc r16,r20
4338 28f4 151F adc r17,r21
4339 28f6 C801 movw r24,r16
4340 28f8 B701 movw r22,r14
4341 28fa 28E6 ldi r18,lo8(360)
4342 28fc 31E0 ldi r19,hi8(360)
4343 28fe 40E0 ldi r20,hlo8(360)
4344 2900 50E0 ldi r21,hhi8(360)
4345 2902 0E94 0000 call __divmodsi4
4346 2906 645B subi r22,lo8(-(-180))
4347 2908 7040 sbci r23,hi8(-(-180))
4348 290a 6C9D mul r22,r12
4349 290c C001 movw r24,r0
4350 290e 6D9D mul r22,r13
4351 2910 900D add r25,r0
4352 2912 7C9D mul r23,r12
4353 2914 900D add r25,r0
4354 2916 1124 clr r1
4355 2918 B501 movw r22,r10
4356 291a 0E94 0000 call __divmodhi4
4357 291e C401 movw r24,r8
4358 2920 880F lsl r24
4359 2922 991F rol r25
4360 2924 880D add r24,r8
4361 2926 991D adc r25,r9
4362 2928 8617 cp r24,r22
4363 292a 9707 cpc r25,r23
4364 292c 04F0 brlt .+2
4365 292e 00C0 rjmp .L419
4366 2930 BC01 movw r22,r24
4367 .L420:
4368 2932 9B01 movw r18,r22
4369 2934 4427 clr r20
4370 2936 37FD sbrc r19,7
4371 2938 4095 com r20
4372 293a 542F mov r21,r20
4373 293c 8091 0000 lds r24,ReadingIntegralGyroYaw
4374 2940 9091 0000 lds r25,(ReadingIntegralGyroYaw)+1
4375 2944 A091 0000 lds r26,(ReadingIntegralGyroYaw)+2
4376 2948 B091 0000 lds r27,(ReadingIntegralGyroYaw)+3
4377 294c 820F add r24,r18
4378 294e 931F adc r25,r19
4379 2950 A41F adc r26,r20
4380 2952 B51F adc r27,r21
4381 2954 8093 0000 sts ReadingIntegralGyroYaw,r24
4382 2958 9093 0000 sts (ReadingIntegralGyroYaw)+1,r25
4383 295c A093 0000 sts (ReadingIntegralGyroYaw)+2,r26
4384 2960 B093 0000 sts (ReadingIntegralGyroYaw)+3,r27
4385 2964 0C94 0000 jmp .L404
4386 .L402:
4387 2968 2155 subi r18,lo8(50001)
4388 296a 334C sbci r19,hi8(50001)
4389 296c 4040 sbci r20,hlo8(50001)
4390 296e 5040 sbci r21,hhi8(50001)
4391 2970 04F4 brge .+4
4392 2972 0C94 0000 jmp .L403
4393 2976 80E5 ldi r24,lo8(50000)
4394 2978 93EC ldi r25,hi8(50000)
4395 297a A0E0 ldi r26,hlo8(50000)
4396 297c B0E0 ldi r27,hhi8(50000)
4397 297e 8093 0000 sts ReadingIntegralGyroYaw,r24
4398 2982 9093 0000 sts (ReadingIntegralGyroYaw)+1,r25
4399 2986 A093 0000 sts (ReadingIntegralGyroYaw)+2,r26
4400 298a B093 0000 sts (ReadingIntegralGyroYaw)+3,r27
4401 298e 0C94 0000 jmp .L403
4402 .L279:
4403 2992 2998 cbi 37-0x20,1
4404 2994 0C94 0000 jmp .L280
4405 .L529:
4406 2998 9887 std Y+8,r25
4407 299a 8F83 std Y+7,r24
4408 299c 81E0 ldi r24,lo8(1)
4409 299e 8093 0000 sts FunnelCourse,r24
4410 29a2 0C94 0000 jmp .L387
4411 .L515:
4412 29a6 9B01 movw r18,r22
4413 29a8 77FD sbrc r23,7
4414 29aa 00C0 rjmp .L539
4415 .L366:
4416 29ac C901 movw r24,r18
4417 29ae 9595 asr r25
4418 29b0 8795 ror r24
4419 29b2 9595 asr r25
4420 29b4 8795 ror r24
4421 29b6 9093 0000 sts (MaxStickNick)+1,r25
4422 29ba 8093 0000 sts MaxStickNick,r24
4423 29be 8536 cpi r24,101
4424 29c0 9105 cpc r25,__zero_reg__
4425 29c2 04F4 brge .+2
4426 29c4 00C0 rjmp .L367
4427 29c6 84E6 ldi r24,lo8(100)
4428 29c8 90E0 ldi r25,hi8(100)
4429 29ca 9093 0000 sts (MaxStickNick)+1,r25
4430 29ce 8093 0000 sts MaxStickNick,r24
4431 29d2 00C0 rjmp .L367
4432 .L512:
4433 29d4 1092 0000 sts GyroIFactor,__zero_reg__
4434 29d8 00C0 rjmp .L362
4435 .L530:
4436 29da 80E5 ldi r24,lo8(80)
4437 29dc 90E0 ldi r25,hi8(80)
4438 29de 9C01 movw r18,r24
4439 29e0 5FEF ldi r21,hi8(-80)
4440 29e2 803B cpi r24,lo8(-80)
4441 29e4 9507 cpc r25,r21
4442 29e6 04F0 brlt .+4
4443 29e8 0C94 0000 jmp .L439
4444 29ec 00C0 rjmp .L540
4445 .L494:
4446 29ee C601 movw r24,r12
4447 29f0 0C94 0000 jmp .L458
4448 .L492:
4449 29f4 3C01 movw r6,r24
4450 29f6 0C94 0000 jmp .L443
4451 .L531:
4452 29fa 8091 0000 lds r24,MKFlags
4453 29fe 80FD sbrc r24,0
4454 2a00 00C0 rjmp .L405
4455 2a02 0E94 0000 call SetCompassCalState
4456 2a06 3090 0000 lds r3,LoopingNick
4457 2a0a 2091 0000 lds r18,GyroYaw
4458 2a0e 3091 0000 lds r19,(GyroYaw)+1
4459 2a12 3C87 std Y+12,r19
4460 2a14 2B87 std Y+11,r18
4461 2a16 0C94 0000 jmp .L404
4462 .L482:
4463 2a1a 0197 sbiw r24,1
4464 2a1c 9093 0000 sts (RcLostTimer.1981)+1,r25
4465 2a20 8093 0000 sts RcLostTimer.1981,r24
4466 2a24 8AE0 ldi r24,lo8(10)
4467 2a26 D816 cp r13,r24
4468 2a28 01F0 breq .+4
4469 2a2a 0C94 0000 jmp .L541
4470 .L286:
4471 2a2e 289A sbi 37-0x20,0
4472 2a30 0C94 0000 jmp .L288
4473 .L491:
4474 2a34 9201 movw r18,r4
4475 2a36 3595 asr r19
4476 2a38 2795 ror r18
4477 2a3a E216 cp r14,r18
4478 2a3c F306 cpc r15,r19
4479 2a3e 04F0 brlt .+4
4480 2a40 0C94 0000 jmp .L439
4481 2a44 9701 movw r18,r14
4482 2a46 0C94 0000 jmp .L439
4483 .L489:
4484 2a4a 8F81 ldd r24,Y+7
4485 2a4c 9885 ldd r25,Y+8
4486 2a4e 892B or r24,r25
4487 2a50 01F4 brne .+4
4488 2a52 0C94 0000 jmp .L433
4489 2a56 81E0 ldi r24,lo8(1)
4490 2a58 90E0 ldi r25,hi8(1)
4491 2a5a 9093 0000 sts (ModelIsFlying)+1,r25
4492 2a5e 8093 0000 sts ModelIsFlying,r24
4493 2a62 0C94 0000 jmp .L433
4494 .L487:
4495 2a66 81E0 ldi r24,lo8(1)
4496 2a68 90E0 ldi r25,hi8(1)
4497 2a6a 9093 0000 sts (UpdateCompassCourse.1986)+1,r25
4498 2a6e 8093 0000 sts UpdateCompassCourse.1986,r24
4499 2a72 0C94 0000 jmp .L399
4500 .L485:
4501 2a76 8091 0000 lds r24,FCParam+15
4502 2a7a 8823 tst r24
4503 2a7c 01F0 breq .+4
4504 2a7e 0C94 0000 jmp .L396
4505 2a82 8091 0000 lds r24,filteredHiResRollGyro
4506 2a86 9091 0000 lds r25,(filteredHiResRollGyro)+1
4507 2a8a AA27 clr r26
4508 2a8c 97FD sbrc r25,7
4509 2a8e A095 com r26
4510 2a90 BA2F mov r27,r26
4511 2a92 E816 cp r14,r24
4512 2a94 F906 cpc r15,r25
4513 2a96 0A07 cpc r16,r26
4514 2a98 1B07 cpc r17,r27
4515 2a9a 04F0 brlt .+2
4516 2a9c 00C0 rjmp .L398
4517 2a9e 2091 0000 lds r18,IntegralGyroRoll
4518 2aa2 3091 0000 lds r19,(IntegralGyroRoll)+1
4519 2aa6 4091 0000 lds r20,(IntegralGyroRoll)+2
4520 2aaa 5091 0000 lds r21,(IntegralGyroRoll)+3
4521 2aae 1216 cp __zero_reg__,r18
4522 2ab0 1306 cpc __zero_reg__,r19
4523 2ab2 1406 cpc __zero_reg__,r20
4524 2ab4 1506 cpc __zero_reg__,r21
4525 2ab6 04F0 brlt .+2
4526 2ab8 00C0 rjmp .L398
4527 2aba C090 0000 lds r12,StickRoll
4528 2abe D090 0000 lds r13,(StickRoll)+1
4529 2ac2 C814 cp r12,r8
4530 2ac4 D904 cpc r13,r9
4531 2ac6 04F4 brge .+2
4532 2ac8 00C0 rjmp .L398
4533 2aca 6C14 cp r6,r12
4534 2acc 7D04 cpc r7,r13
4535 2ace 04F4 brge .+2
4536 2ad0 00C0 rjmp .L398
4537 2ad2 8091 0000 lds r24,FCParam+17
4538 2ad6 8058 subi r24,lo8(-(-128))
4539 2ad8 9927 clr r25
4540 2ada 87FD sbrc r24,7
4541 2adc 9095 com r25
4542 2ade A92F mov r26,r25
4543 2ae0 B92F mov r27,r25
4544 2ae2 8E0D add r24,r14
4545 2ae4 9F1D adc r25,r15
4546 2ae6 A01F adc r26,r16
4547 2ae8 B11F adc r27,r17
4548 2aea 8093 0000 sts vibrationOffsetRoll,r24
4549 2aee 9093 0000 sts (vibrationOffsetRoll)+1,r25
4550 2af2 A093 0000 sts (vibrationOffsetRoll)+2,r26
4551 2af6 B093 0000 sts (vibrationOffsetRoll)+3,r27
4552 .L480:
4553 2afa 6091 0000 lds r22,FCParam+14
4554 2afe 70E0 ldi r23,lo8(0)
4555 2b00 80E0 ldi r24,lo8(0)
4556 2b02 90E0 ldi r25,hi8(0)
4557 2b04 0E94 0000 call __mulsi3
4558 2b08 24E6 ldi r18,lo8(100)
4559 2b0a 30E0 ldi r19,hi8(100)
4560 2b0c 40E0 ldi r20,hlo8(100)
4561 2b0e 50E0 ldi r21,hhi8(100)
4562 2b10 0E94 0000 call __divmodsi4
4563 2b14 2093 0000 sts IntegralGyroRoll,r18
4564 2b18 3093 0000 sts (IntegralGyroRoll)+1,r19
4565 2b1c 4093 0000 sts (IntegralGyroRoll)+2,r20
4566 2b20 5093 0000 sts (IntegralGyroRoll)+3,r21
4567 2b24 0C94 0000 jmp .L396
4568 .L368:
4569 2b28 4150 subi r20,lo8(-(-1))
4570 2b2a 5040 sbci r21,hi8(-(-1))
4571 2b2c 5093 0000 sts (MaxStickRoll)+1,r21
4572 2b30 4093 0000 sts MaxStickRoll,r20
4573 2b34 00C0 rjmp .L372
4574 .L348:
4575 2b36 1092 0000 sts (delay_startmotors.1983)+1,__zero_reg__
4576 2b3a 1092 0000 sts delay_startmotors.1983,__zero_reg__
4577 .L350:
4578 2b3e E091 0000 lds r30,ParamSet+3
4579 2b42 F0E0 ldi r31,lo8(0)
4580 2b44 EE0F lsl r30
4581 2b46 FF1F rol r31
4582 2b48 E050 subi r30,lo8(-(PPM_in))
4583 2b4a F040 sbci r31,hi8(-(PPM_in))
4584 2b4c 8081 ld r24,Z
4585 2b4e 9181 ldd r25,Z+1
4586 2b50 8C34 cpi r24,76
4587 2b52 9105 cpc r25,__zero_reg__
4588 2b54 04F4 brge .+2
4589 2b56 00C0 rjmp .L354
4590 2b58 8091 0000 lds r24,delay_stopmotors.1984
4591 2b5c 9091 0000 lds r25,(delay_stopmotors.1984)+1
4592 2b60 0196 adiw r24,1
4593 2b62 9093 0000 sts (delay_stopmotors.1984)+1,r25
4594 2b66 8093 0000 sts delay_stopmotors.1984,r24
4595 2b6a 893C cpi r24,201
4596 2b6c 9105 cpc r25,__zero_reg__
4597 2b6e 00F4 brsh .+4
4598 2b70 0C94 0000 jmp .L290
4599 2b74 88EC ldi r24,lo8(200)
4600 2b76 90E0 ldi r25,hi8(200)
4601 2b78 9093 0000 sts (delay_stopmotors.1984)+1,r25
4602 2b7c 8093 0000 sts delay_stopmotors.1984,r24
4603 2b80 1092 0000 sts (ModelIsFlying)+1,__zero_reg__
4604 2b84 1092 0000 sts ModelIsFlying,__zero_reg__
4605 .L478:
4606 2b88 8091 0000 lds r24,MKFlags
4607 2b8c 8E7F andi r24,lo8(-2)
4608 2b8e 8093 0000 sts MKFlags,r24
4609 2b92 0C94 0000 jmp .L290
4610 .L411:
4611 2b96 7B01 movw r14,r22
4612 2b98 EE0C lsl r14
4613 2b9a FF1C rol r15
4614 2b9c EE0C lsl r14
4615 2b9e FF1C rol r15
4616 2ba0 EE0C lsl r14
4617 2ba2 FF1C rol r15
4618 2ba4 00C0 rjmp .L413
4619 .L486:
4620 2ba6 8827 clr r24
4621 2ba8 9927 clr r25
4622 2baa 841B sub r24,r20
4623 2bac 950B sbc r25,r21
4624 2bae 0C94 0000 jmp .L400
4625 .L493:
4626 2bb2 2227 clr r18
4627 2bb4 3327 clr r19
4628 2bb6 2619 sub r18,r6
4629 2bb8 3709 sbc r19,r7
4630 2bba 0C94 0000 jmp .L453
4631 .L488:
4632 2bbe 2D5F subi r18,lo8(-(3))
4633 2bc0 3F4F sbci r19,hi8(-(3))
4634 2bc2 0C94 0000 jmp .L401
4635 .L511:
4636 2bc6 1092 0000 sts (StickGas)+1,__zero_reg__
4637 2bca 1092 0000 sts StickGas,__zero_reg__
4638 2bce 8091 0000 lds r24,ParamSet+8
4639 2bd2 82FF sbrs r24,2
4640 2bd4 00C0 rjmp .L362
4641 2bd6 00C0 rjmp .L512
4642 .L510:
4643 2bd8 2250 subi r18,lo8(-(-2))
4644 2bda 3040 sbci r19,hi8(-(-2))
4645 2bdc 3093 0000 sts (StickYaw)+1,r19
4646 2be0 2093 0000 sts StickYaw,r18
4647 2be4 00C0 rjmp .L357
4648 .L519:
4649 2be6 84E6 ldi r24,lo8(100)
4650 2be8 90E0 ldi r25,hi8(100)
4651 2bea 9093 0000 sts (MaxStickRoll)+1,r25
4652 2bee 8093 0000 sts MaxStickRoll,r24
4653 2bf2 00C0 rjmp .L372
4654 .L385:
4655 2bf4 1092 0000 sts LoopingNick,__zero_reg__
4656 2bf8 0C94 0000 jmp .L356
4657 .L382:
4658 2bfc 1092 0000 sts LoopingRoll,__zero_reg__
4659 2c00 00C0 rjmp .L383
4660 .L526:
4661 2c02 81E0 ldi r24,lo8(1)
4662 2c04 8093 0000 sts LoopingDown,r24
4663 2c08 00C0 rjmp .L380
4664 .L524:
4665 2c0a 81E0 ldi r24,lo8(1)
4666 2c0c 8093 0000 sts LoopingTop,r24
4667 2c10 8091 0000 lds r24,ParamSet+40
4668 2c14 482F mov r20,r24
4669 2c16 50E0 ldi r21,lo8(0)
4670 2c18 61E0 ldi r22,lo8(1)
4671 2c1a 00C0 rjmp .L378
4672 .L522:
4673 2c1c 81E0 ldi r24,lo8(1)
4674 2c1e 8093 0000 sts LoopingRight,r24
4675 2c22 8091 0000 lds r24,ParamSet+40
4676 2c26 482F mov r20,r24
4677 2c28 50E0 ldi r21,lo8(0)
4678 2c2a 00C0 rjmp .L376
4679 .L520:
4680 2c2c 81E0 ldi r24,lo8(1)
4681 2c2e 8093 0000 sts LoopingLeft,r24
4682 2c32 71E0 ldi r23,lo8(1)
4683 2c34 00C0 rjmp .L374
4684 .L417:
4685 2c36 0150 subi r16,lo8(-(-1))
4686 2c38 1040 sbci r17,hi8(-(-1))
4687 2c3a 1093 0000 sts (BadCompassHeading)+1,r17
4688 2c3e 0093 0000 sts BadCompassHeading,r16
4689 2c42 0C94 0000 jmp .L404
4690 .L521:
4691 2c46 1092 0000 sts LoopingLeft,__zero_reg__
4692 2c4a 8091 0000 lds r24,ParamSet+1
4693 2c4e A82F mov r26,r24
4694 2c50 B0E0 ldi r27,lo8(0)
4695 2c52 8091 0000 lds r24,ParamSet+40
4696 2c56 482F mov r20,r24
4697 2c58 50E0 ldi r21,lo8(0)
4698 2c5a AA0F lsl r26
4699 2c5c BB1F rol r27
4700 2c5e 70E0 ldi r23,lo8(0)
4701 2c60 00C0 rjmp .L374
4702 .L525:
4703 2c62 1092 0000 sts LoopingTop,__zero_reg__
4704 2c66 8091 0000 lds r24,ParamSet
4705 2c6a A82F mov r26,r24
4706 2c6c B0E0 ldi r27,lo8(0)
4707 2c6e 8091 0000 lds r24,ParamSet+40
4708 2c72 482F mov r20,r24
4709 2c74 50E0 ldi r21,lo8(0)
4710 2c76 AA0F lsl r26
4711 2c78 BB1F rol r27
4712 2c7a 60E0 ldi r22,lo8(0)
4713 2c7c 00C0 rjmp .L378
4714 .L523:
4715 2c7e 1092 0000 sts LoopingRight,__zero_reg__
4716 2c82 8091 0000 lds r24,ParamSet+40
4717 2c86 482F mov r20,r24
4718 2c88 50E0 ldi r21,lo8(0)
4719 2c8a 00C0 rjmp .L376
4720 .L527:
4721 2c8c 1092 0000 sts LoopingDown,__zero_reg__
4722 2c90 00C0 rjmp .L380
4723 .L292:
4724 2c92 8091 0000 lds r24,MKFlags
4725 2c96 8260 ori r24,lo8(2)
4726 2c98 8093 0000 sts MKFlags,r24
4727 2c9c 0C94 0000 jmp .L293
4728 .L536:
4729 2ca0 8091 0000 lds r24,UpdateCompassCourse.1986
4730 2ca4 9091 0000 lds r25,(UpdateCompassCourse.1986)+1
4731 2ca8 892B or r24,r25
4732 2caa 01F4 brne .+2
4733 2cac 00C0 rjmp .L414
4734 2cae 88EC ldi r24,lo8(200)
4735 2cb0 90E0 ldi r25,hi8(200)
4736 2cb2 9093 0000 sts (BeepTime)+1,r25
4737 2cb6 8093 0000 sts BeepTime,r24
4738 2cba B601 movw r22,r12
4739 2cbc 8827 clr r24
4740 2cbe 77FD sbrc r23,7
4741 2cc0 8095 com r24
4742 2cc2 982F mov r25,r24
4743 2cc4 F9E0 ldi r31,9
4744 2cc6 660F 1: lsl r22
4745 2cc8 771F rol r23
4746 2cca 881F rol r24
4747 2ccc 991F rol r25
4748 2cce FA95 dec r31
4749 2cd0 01F4 brne 1b
4750 2cd2 6093 0000 sts YawGyroHeading,r22
4751 2cd6 7093 0000 sts (YawGyroHeading)+1,r23
4752 2cda 8093 0000 sts (YawGyroHeading)+2,r24
4753 2cde 9093 0000 sts (YawGyroHeading)+3,r25
4754 2ce2 20E0 ldi r18,lo8(512)
4755 2ce4 32E0 ldi r19,hi8(512)
4756 2ce6 40E0 ldi r20,hlo8(512)
4757 2ce8 50E0 ldi r21,hhi8(512)
4758 2cea 0E94 0000 call __divmodsi4
4759 2cee 3093 0000 sts (CompassCourse)+1,r19
4760 2cf2 2093 0000 sts CompassCourse,r18
4761 2cf6 1092 0000 sts (UpdateCompassCourse.1986)+1,__zero_reg__
4762 2cfa 1092 0000 sts UpdateCompassCourse.1986,__zero_reg__
4763 2cfe 00C0 rjmp .L414
4764 .L490:
4765 2d00 0196 adiw r24,1
4766 2d02 0C94 0000 jmp .L438
4767 .L484:
4768 2d06 9095 com r25
4769 2d08 8195 neg r24
4770 2d0a 9F4F sbci r25,lo8(-1)
4771 2d0c C816 cp r12,r24
4772 2d0e D906 cpc r13,r25
4773 2d10 04F4 brge .+4
4774 2d12 0C94 0000 jmp .L396
4775 2d16 00C0 rjmp .L485
4776 .L483:
4777 2d18 9095 com r25
4778 2d1a 8195 neg r24
4779 2d1c 9F4F sbci r25,lo8(-1)
4780 2d1e 8C15 cp r24,r12
4781 2d20 9D05 cpc r25,r13
4782 2d22 04F0 brlt .+4
4783 2d24 0C94 0000 jmp .L393
4784 2d28 0C94 0000 jmp .L542
4785 .L481:
4786 2d2c 88E9 ldi r24,lo8(15000)
4787 2d2e 9AE3 ldi r25,hi8(15000)
4788 2d30 9093 0000 sts (BeepTime)+1,r25
4789 2d34 8093 0000 sts BeepTime,r24
4790 2d38 80E0 ldi r24,lo8(3072)
4791 2d3a 9CE0 ldi r25,hi8(3072)
4792 2d3c 9093 0000 sts (BeepModulation)+1,r25
4793 2d40 8093 0000 sts BeepModulation,r24
4794 2d44 0C94 0000 jmp .L283
4795 .L398:
4796 2d48 8091 0000 lds r24,filteredHiResRollGyro
4797 2d4c 9091 0000 lds r25,(filteredHiResRollGyro)+1
4798 2d50 AA27 clr r26
4799 2d52 97FD sbrc r25,7
4800 2d54 A095 com r26
4801 2d56 BA2F mov r27,r26
4802 2d58 8E15 cp r24,r14
4803 2d5a 9F05 cpc r25,r15
4804 2d5c A007 cpc r26,r16
4805 2d5e B107 cpc r27,r17
4806 2d60 04F0 brlt .+4
4807 2d62 0C94 0000 jmp .L396
4808 2d66 2091 0000 lds r18,IntegralGyroRoll
4809 2d6a 3091 0000 lds r19,(IntegralGyroRoll)+1
4810 2d6e 4091 0000 lds r20,(IntegralGyroRoll)+2
4811 2d72 5091 0000 lds r21,(IntegralGyroRoll)+3
4812 2d76 57FD sbrc r21,7
4813 2d78 00C0 rjmp .+4
4814 2d7a 0C94 0000 jmp .L396
4815 2d7e C090 0000 lds r12,StickRoll
4816 2d82 D090 0000 lds r13,(StickRoll)+1
4817 2d86 8827 clr r24
4818 2d88 9927 clr r25
4819 2d8a 8819 sub r24,r8
4820 2d8c 9909 sbc r25,r9
4821 2d8e 8C15 cp r24,r12
4822 2d90 9D05 cpc r25,r13
4823 2d92 04F4 brge .+4
4824 2d94 0C94 0000 jmp .L396
4825 2d98 8827 clr r24
4826 2d9a 9927 clr r25
4827 2d9c 8619 sub r24,r6
4828 2d9e 9709 sbc r25,r7
4829 2da0 C816 cp r12,r24
4830 2da2 D906 cpc r13,r25
4831 2da4 04F4 brge .+4
4832 2da6 0C94 0000 jmp .L396
4833 2daa 8091 0000 lds r24,FCParam+17
4834 2dae 8058 subi r24,lo8(-(-128))
4835 2db0 9927 clr r25
4836 2db2 87FD sbrc r24,7
4837 2db4 9095 com r25
4838 2db6 A92F mov r26,r25
4839 2db8 B92F mov r27,r25
4840 2dba E81A sub r14,r24
4841 2dbc F90A sbc r15,r25
4842 2dbe 0A0B sbc r16,r26
4843 2dc0 1B0B sbc r17,r27
4844 2dc2 E092 0000 sts vibrationOffsetRoll,r14
4845 2dc6 F092 0000 sts (vibrationOffsetRoll)+1,r15
4846 2dca 0093 0000 sts (vibrationOffsetRoll)+2,r16
4847 2dce 1093 0000 sts (vibrationOffsetRoll)+3,r17
4848 2dd2 00C0 rjmp .L480
4849 .L395:
4850 2dd4 8091 0000 lds r24,filteredHiResPitchGyro
4851 2dd8 9091 0000 lds r25,(filteredHiResPitchGyro)+1
4852 2ddc AA27 clr r26
4853 2dde 97FD sbrc r25,7
4854 2de0 A095 com r26
4855 2de2 BA2F mov r27,r26
4856 2de4 8E15 cp r24,r14
4857 2de6 9F05 cpc r25,r15
4858 2de8 A007 cpc r26,r16
4859 2dea B107 cpc r27,r17
4860 2dec 04F0 brlt .+4
4861 2dee 0C94 0000 jmp .L393
4862 2df2 2091 0000 lds r18,IntegralGyroNick
4863 2df6 3091 0000 lds r19,(IntegralGyroNick)+1
4864 2dfa 4091 0000 lds r20,(IntegralGyroNick)+2
4865 2dfe 5091 0000 lds r21,(IntegralGyroNick)+3
4866 2e02 57FD sbrc r21,7
4867 2e04 00C0 rjmp .+4
4868 2e06 0C94 0000 jmp .L393
4869 2e0a A090 0000 lds r10,StickNick
4870 2e0e B090 0000 lds r11,(StickNick)+1
4871 2e12 8827 clr r24
4872 2e14 9927 clr r25
4873 2e16 8819 sub r24,r8
4874 2e18 9909 sbc r25,r9
4875 2e1a 8A15 cp r24,r10
4876 2e1c 9B05 cpc r25,r11
4877 2e1e 04F4 brge .+4
4878 2e20 0C94 0000 jmp .L393
4879 2e24 8827 clr r24
4880 2e26 9927 clr r25
4881 2e28 8619 sub r24,r6
4882 2e2a 9709 sbc r25,r7
4883 2e2c A816 cp r10,r24
4884 2e2e B906 cpc r11,r25
4885 2e30 04F4 brge .+4
4886 2e32 0C94 0000 jmp .L393
4887 2e36 8091 0000 lds r24,FCParam+16
4888 2e3a 8058 subi r24,lo8(-(-128))
4889 2e3c 9927 clr r25
4890 2e3e 87FD sbrc r24,7
4891 2e40 9095 com r25
4892 2e42 A92F mov r26,r25
4893 2e44 B92F mov r27,r25
4894 2e46 E81A sub r14,r24
4895 2e48 F90A sbc r15,r25
4896 2e4a 0A0B sbc r16,r26
4897 2e4c 1B0B sbc r17,r27
4898 2e4e E092 0000 sts vibrationOffsetNick,r14
4899 2e52 F092 0000 sts (vibrationOffsetNick)+1,r15
4900 2e56 0093 0000 sts (vibrationOffsetNick)+2,r16
4901 2e5a 1093 0000 sts (vibrationOffsetNick)+3,r17
4902 2e5e 0C94 0000 jmp .L479
4903 .L517:
4904 2e62 3095 com r19
4905 2e64 2195 neg r18
4906 2e66 3F4F sbci r19,lo8(-1)
4907 2e68 00C0 rjmp .L370
4908 .L516:
4909 2e6a 2D5F subi r18,lo8(-(3))
4910 2e6c 3F4F sbci r19,hi8(-(3))
4911 2e6e 00C0 rjmp .L369
4912 .L513:
4913 2e70 2D5F subi r18,lo8(-(3))
4914 2e72 3F4F sbci r19,hi8(-(3))
4915 2e74 3595 asr r19
4916 2e76 2795 ror r18
4917 2e78 3595 asr r19
4918 2e7a 2795 ror r18
4919 2e7c 37FF sbrs r19,7
4920 2e7e 00C0 rjmp .L365
4921 .L514:
4922 2e80 3095 com r19
4923 2e82 2195 neg r18
4924 2e84 3F4F sbci r19,lo8(-1)
4925 2e86 00C0 rjmp .L365
4926 .L534:
4927 2e88 60E0 ldi r22,lo8(0)
4928 2e8a 70E0 ldi r23,hi8(0)
4929 2e8c 00C0 rjmp .L410
4930 .L416:
4931 2e8e 84EF ldi r24,lo8(500)
4932 2e90 91E0 ldi r25,hi8(500)
4933 2e92 9093 0000 sts (BadCompassHeading)+1,r25
4934 2e96 8093 0000 sts BadCompassHeading,r24
4935 2e9a 0C94 0000 jmp .L404
4936 .L298:
4937 2e9e 8081 ld r24,Z
4938 2ea0 9181 ldd r25,Z+1
4939 2ea2 8259 subi r24,lo8(-(110))
4940 2ea4 9F4F sbci r25,hi8(-(110))
4941 2ea6 8A15 cp r24,r10
4942 2ea8 9B05 cpc r25,r11
4943 2eaa 04F0 brlt .+4
4944 2eac 0C94 0000 jmp .L299
4945 2eb0 A114 cp r10,__zero_reg__
4946 2eb2 B104 cpc r11,__zero_reg__
4947 2eb4 01F4 brne .+4
4948 2eb6 0C94 0000 jmp .L299
4949 2eba C501 movw r24,r10
4950 2ebc 0197 sbiw r24,1
4951 2ebe 9093 0000 sts (Poti3)+1,r25
4952 2ec2 8093 0000 sts Poti3,r24
4953 2ec6 5C01 movw r10,r24
4954 2ec8 0C94 0000 jmp .L299
4955 .L296:
4956 2ecc 8081 ld r24,Z
4957 2ece 9181 ldd r25,Z+1
4958 2ed0 8259 subi r24,lo8(-(110))
4959 2ed2 9F4F sbci r25,hi8(-(110))
4960 2ed4 8017 cp r24,r16
4961 2ed6 9107 cpc r25,r17
4962 2ed8 04F0 brlt .+4
4963 2eda 0C94 0000 jmp .L297
4964 2ede 0115 cp r16,__zero_reg__
4965 2ee0 1105 cpc r17,__zero_reg__
4966 2ee2 01F4 brne .+4
4967 2ee4 0C94 0000 jmp .L297
4968 2ee8 C801 movw r24,r16
4969 2eea 0197 sbiw r24,1
4970 2eec 9093 0000 sts (Poti2)+1,r25
4971 2ef0 8093 0000 sts Poti2,r24
4972 2ef4 8C01 movw r16,r24
4973 2ef6 0C94 0000 jmp .L297
4974 .L294:
4975 2efa 8081 ld r24,Z
4976 2efc 9181 ldd r25,Z+1
4977 2efe 8259 subi r24,lo8(-(110))
4978 2f00 9F4F sbci r25,hi8(-(110))
4979 2f02 8E15 cp r24,r14
4980 2f04 9F05 cpc r25,r15
4981 2f06 04F0 brlt .+4
4982 2f08 0C94 0000 jmp .L295
4983 2f0c E114 cp r14,__zero_reg__
4984 2f0e F104 cpc r15,__zero_reg__
4985 2f10 01F4 brne .+4
4986 2f12 0C94 0000 jmp .L295
4987 2f16 C701 movw r24,r14
4988 2f18 0197 sbiw r24,1
4989 2f1a 9093 0000 sts (Poti1)+1,r25
4990 2f1e 8093 0000 sts Poti1,r24
4991 2f22 7C01 movw r14,r24
4992 2f24 0C94 0000 jmp .L295
4993 .L308:
4994 2f28 8091 0000 lds r24,PPM_in+24
4995 2f2c 9091 0000 lds r25,(PPM_in+24)+1
4996 2f30 8259 subi r24,lo8(-(110))
4997 2f32 9F4F sbci r25,hi8(-(110))
4998 2f34 8217 cp r24,r18
4999 2f36 9307 cpc r25,r19
5000 2f38 04F0 brlt .+4
5001 2f3a 0C94 0000 jmp .L309
5002 2f3e 2115 cp r18,__zero_reg__
5003 2f40 3105 cpc r19,__zero_reg__
5004 2f42 01F4 brne .+4
5005 2f44 0C94 0000 jmp .L309
5006 2f48 C901 movw r24,r18
5007 2f4a 0197 sbiw r24,1
5008 2f4c 9093 0000 sts (Poti8)+1,r25
5009 2f50 8093 0000 sts Poti8,r24
5010 2f54 9C01 movw r18,r24
5011 2f56 0C94 0000 jmp .L309
5012 .L306:
5013 2f5a 8091 0000 lds r24,PPM_in+22
5014 2f5e 9091 0000 lds r25,(PPM_in+22)+1
5015 2f62 8259 subi r24,lo8(-(110))
5016 2f64 9F4F sbci r25,hi8(-(110))
5017 2f66 8417 cp r24,r20
5018 2f68 9507 cpc r25,r21
5019 2f6a 04F0 brlt .+4
5020 2f6c 0C94 0000 jmp .L307
5021 2f70 4115 cp r20,__zero_reg__
5022 2f72 5105 cpc r21,__zero_reg__
5023 2f74 01F4 brne .+4
5024 2f76 0C94 0000 jmp .L307
5025 2f7a CA01 movw r24,r20
5026 2f7c 0197 sbiw r24,1
5027 2f7e 9093 0000 sts (Poti7)+1,r25
5028 2f82 8093 0000 sts Poti7,r24
5029 2f86 AC01 movw r20,r24
5030 2f88 0C94 0000 jmp .L307
5031 .L304:
5032 2f8c 8091 0000 lds r24,PPM_in+20
5033 2f90 9091 0000 lds r25,(PPM_in+20)+1
5034 2f94 8259 subi r24,lo8(-(110))
5035 2f96 9F4F sbci r25,hi8(-(110))
5036 2f98 8617 cp r24,r22
5037 2f9a 9707 cpc r25,r23
5038 2f9c 04F0 brlt .+4
5039 2f9e 0C94 0000 jmp .L305
5040 2fa2 6115 cp r22,__zero_reg__
5041 2fa4 7105 cpc r23,__zero_reg__
5042 2fa6 01F4 brne .+4
5043 2fa8 0C94 0000 jmp .L305
5044 2fac CB01 movw r24,r22
5045 2fae 0197 sbiw r24,1
5046 2fb0 9093 0000 sts (Poti6)+1,r25
5047 2fb4 8093 0000 sts Poti6,r24
5048 2fb8 BC01 movw r22,r24
5049 2fba 0C94 0000 jmp .L305
5050 .L302:
5051 2fbe 8091 0000 lds r24,PPM_in+18
5052 2fc2 9091 0000 lds r25,(PPM_in+18)+1
5053 2fc6 8259 subi r24,lo8(-(110))
5054 2fc8 9F4F sbci r25,hi8(-(110))
5055 2fca 8E17 cp r24,r30
5056 2fcc 9F07 cpc r25,r31
5057 2fce 04F0 brlt .+4
5058 2fd0 0C94 0000 jmp .L303
5059 2fd4 3097 sbiw r30,0
5060 2fd6 01F4 brne .+4
5061 2fd8 0C94 0000 jmp .L303
5062 2fdc CF01 movw r24,r30
5063 2fde 0197 sbiw r24,1
5064 2fe0 9093 0000 sts (Poti5)+1,r25
5065 2fe4 8093 0000 sts Poti5,r24
5066 2fe8 FC01 movw r30,r24
5067 2fea 0C94 0000 jmp .L303
5068 .L300:
5069 2fee 8081 ld r24,Z
5070 2ff0 9181 ldd r25,Z+1
5071 2ff2 8259 subi r24,lo8(-(110))
5072 2ff4 9F4F sbci r25,hi8(-(110))
5073 2ff6 8A17 cp r24,r26
5074 2ff8 9B07 cpc r25,r27
5075 2ffa 04F0 brlt .+4
5076 2ffc 0C94 0000 jmp .L301
5077 3000 1097 sbiw r26,0
5078 3002 01F4 brne .+4
5079 3004 0C94 0000 jmp .L301
5080 3008 CD01 movw r24,r26
5081 300a 0197 sbiw r24,1
5082 300c 9093 0000 sts (Poti4)+1,r25
5083 3010 8093 0000 sts Poti4,r24
5084 3014 DC01 movw r26,r24
5085 3016 0C94 0000 jmp .L301
5086 .L537:
5087 301a 4F96 adiw r24,31
5088 301c 00C0 rjmp .L415
5089 .L533:
5090 301e B094 com r11
5091 3020 A194 neg r10
5092 3022 B108 sbc r11,__zero_reg__
5093 3024 B394 inc r11
5094 3026 00C0 rjmp .L407
5095 .L532:
5096 3028 1095 com r17
5097 302a 0195 neg r16
5098 302c 1F4F sbci r17,lo8(-1)
5099 302e 00C0 rjmp .L406
5100 .L535:
5101 3030 3095 com r19
5102 3032 2195 neg r18
5103 3034 3F4F sbci r19,lo8(-1)
5104 3036 00C0 rjmp .L412
5105 .L359:
5106 3038 1092 0000 sts (StickYaw)+1,__zero_reg__
5107 303c 1092 0000 sts StickYaw,__zero_reg__
5108 3040 00C0 rjmp .L357
5109 .L507:
5110 3042 1092 0000 sts (Poti8)+1,__zero_reg__
5111 3046 1092 0000 sts Poti8,__zero_reg__
5112 304a 0C94 0000 jmp .L325
5113 .L500:
5114 304e 1092 0000 sts (Poti1)+1,__zero_reg__
5115 3052 1092 0000 sts Poti1,__zero_reg__
5116 3056 0C94 0000 jmp .L311
5117 .L506:
5118 305a 1092 0000 sts (Poti7)+1,__zero_reg__
5119 305e 1092 0000 sts Poti7,__zero_reg__
5120 3062 0C94 0000 jmp .L323
5121 .L505:
5122 3066 1092 0000 sts (Poti6)+1,__zero_reg__
5123 306a 1092 0000 sts Poti6,__zero_reg__
5124 306e 0C94 0000 jmp .L321
5125 .L504:
5126 3072 1092 0000 sts (Poti5)+1,__zero_reg__
5127 3076 1092 0000 sts Poti5,__zero_reg__
5128 307a 0C94 0000 jmp .L319
5129 .L503:
5130 307e 1092 0000 sts (Poti4)+1,__zero_reg__
5131 3082 1092 0000 sts Poti4,__zero_reg__
5132 3086 0C94 0000 jmp .L317
5133 .L502:
5134 308a 1092 0000 sts (Poti3)+1,__zero_reg__
5135 308e 1092 0000 sts Poti3,__zero_reg__
5136 3092 0C94 0000 jmp .L315
5137 .L501:
5138 3096 1092 0000 sts (Poti2)+1,__zero_reg__
5139 309a 1092 0000 sts Poti2,__zero_reg__
5140 309e 0C94 0000 jmp .L313
5141 .L419:
5142 30a2 4427 clr r20
5143 30a4 5527 clr r21
5144 30a6 481B sub r20,r24
5145 30a8 590B sbc r21,r25
5146 30aa 6417 cp r22,r20
5147 30ac 7507 cpc r23,r21
5148 30ae 04F0 brlt .+2
5149 30b0 00C0 rjmp .L420
5150 30b2 BA01 movw r22,r20
5151 30b4 00C0 rjmp .L420
5152 .L539:
5153 30b6 3095 com r19
5154 30b8 2195 neg r18
5155 30ba 3F4F sbci r19,lo8(-1)
5156 30bc 00C0 rjmp .L366
5157 .L518:
5158 30be 3095 com r19
5159 30c0 2195 neg r18
5160 30c2 3F4F sbci r19,lo8(-1)
5161 30c4 00C0 rjmp .L371
5162 .L354:
5163 30c6 1092 0000 sts (delay_stopmotors.1984)+1,__zero_reg__
5164 30ca 1092 0000 sts delay_stopmotors.1984,__zero_reg__
5165 30ce 0C94 0000 jmp .L290
5166 .L327:
5167 30d2 8081 ld r24,Z
5168 30d4 9181 ldd r25,Z+1
5169 30d6 855B subi r24,lo8(-75)
5170 30d8 9F4F sbci r25,hi8(-75)
5171 30da 04F4 brge .L344
5172 30dc 8091 0000 lds r24,delay_neutral.1982
5173 30e0 8F5F subi r24,lo8(-(1))
5174 30e2 8093 0000 sts delay_neutral.1982,r24
5175 30e6 893C cpi r24,lo8(-55)
5176 30e8 00F4 brsh .+4
5177 30ea 0C94 0000 jmp .L326
5178 30ee 1092 0000 sts delay_neutral.1982,__zero_reg__
5179 30f2 3BE0 ldi r19,lo8(11)
5180 30f4 3D15 cp r19,r13
5181 30f6 00F4 brsh .+2
5182 30f8 00C0 rjmp .L346
5183 30fa 2998 cbi 37-0x20,1
5184 .L347:
5185 30fc 1092 0000 sts (ModelIsFlying)+1,__zero_reg__
5186 3100 1092 0000 sts ModelIsFlying,__zero_reg__
5187 3104 0C94 0000 jmp .L476
5188 .L508:
5189 3108 0196 adiw r24,1
5190 310a 9093 0000 sts (delay_startmotors.1983)+1,r25
5191 310e 8093 0000 sts delay_startmotors.1983,r24
5192 3112 00C0 rjmp .L350
5193 .L499:
5194 3114 81E0 ldi r24,lo8(1)
5195 3116 90E0 ldi r25,hi8(1)
5196 3118 9093 0000 sts (UpdateCompassCourse.1986)+1,r25
5197 311c 8093 0000 sts UpdateCompassCourse.1986,r24
5198 3120 1092 0000 sts ReadingIntegralGyroYaw,__zero_reg__
5199 3124 1092 0000 sts (ReadingIntegralGyroYaw)+1,__zero_reg__
5200 3128 1092 0000 sts (ReadingIntegralGyroYaw)+2,__zero_reg__
5201 312c 1092 0000 sts (ReadingIntegralGyroYaw)+3,__zero_reg__
5202 3130 1092 0000 sts SetPointYaw.1980,__zero_reg__
5203 3134 1092 0000 sts (SetPointYaw.1980)+1,__zero_reg__
5204 3138 1092 0000 sts (SetPointYaw.1980)+2,__zero_reg__
5205 313c 1092 0000 sts (SetPointYaw.1980)+3,__zero_reg__
5206 3140 0C94 0000 jmp .L293
5207 .L538:
5208 3144 E7E0 ldi r30,lo8(7)
5209 3146 F0E0 ldi r31,hi8(7)
5210 3148 AE0E add r10,r30
5211 314a BF1E adc r11,r31
5212 314c 00C0 rjmp .L418
5213 .L344:
5214 314e 1092 0000 sts delay_neutral.1982,__zero_reg__
5215 3152 0C94 0000 jmp .L326
5216 .L352:
5217 3156 7901 movw r14,r18
5218 3158 0027 clr r16
5219 315a F7FC sbrc r15,7
5220 315c 0095 com r16
5221 315e 102F mov r17,r16
5222 3160 CB01 movw r24,r22
5223 3162 BA01 movw r22,r20
5224 3164 A801 movw r20,r16
5225 3166 9701 movw r18,r14
5226 3168 0E94 0000 call __divmodsi4
5227 316c 2093 0000 sts savedVibrationOffsetNick,r18
5228 3170 3093 0000 sts savedVibrationOffsetNick+1,r19
5229 3174 4093 0000 sts savedVibrationOffsetNick+2,r20
5230 3178 5093 0000 sts savedVibrationOffsetNick+3,r21
5231 317c 2093 0000 sts vibrationOffsetNick,r18
5232 3180 3093 0000 sts vibrationOffsetNick+1,r19
5233 3184 4093 0000 sts vibrationOffsetNick+2,r20
5234 3188 5093 0000 sts vibrationOffsetNick+3,r21
5235 318c C601 movw r24,r12
5236 318e B501 movw r22,r10
5237 3190 A801 movw r20,r16
5238 3192 9701 movw r18,r14
5239 3194 0E94 0000 call __divmodsi4
5240 3198 2093 0000 sts savedVibrationOffsetRoll,r18
5241 319c 3093 0000 sts savedVibrationOffsetRoll+1,r19
5242 31a0 4093 0000 sts savedVibrationOffsetRoll+2,r20
5243 31a4 5093 0000 sts savedVibrationOffsetRoll+3,r21
5244 31a8 2093 0000 sts vibrationOffsetRoll,r18
5245 31ac 3093 0000 sts vibrationOffsetRoll+1,r19
5246 31b0 4093 0000 sts vibrationOffsetRoll+2,r20
5247 31b4 5093 0000 sts vibrationOffsetRoll+3,r21
5248 31b8 C401 movw r24,r8
5249 31ba B301 movw r22,r6
5250 31bc A801 movw r20,r16
5251 31be 9701 movw r18,r14
5252 31c0 0E94 0000 call __divmodsi4
5253 31c4 2093 0000 sts vibrationOffsetYaw,r18
5254 31c8 3093 0000 sts (vibrationOffsetYaw)+1,r19
5255 31cc 4093 0000 sts (vibrationOffsetYaw)+2,r20
5256 31d0 5093 0000 sts (vibrationOffsetYaw)+3,r21
5257 31d4 0C94 0000 jmp .L353
5258 .L509:
5259 31d8 89EC ldi r24,lo8(201)
5260 31da 90E0 ldi r25,hi8(201)
5261 31dc 9093 0000 sts (delay_startmotors.1983)+1,r25
5262 31e0 8093 0000 sts delay_startmotors.1983,r24
5263 31e4 81E0 ldi r24,lo8(1)
5264 31e6 90E0 ldi r25,hi8(1)
5265 31e8 9093 0000 sts (ModelIsFlying)+1,r25
5266 31ec 8093 0000 sts ModelIsFlying,r24
5267 31f0 1092 0000 sts (vibrationCalCount.1977)+1,__zero_reg__
5268 31f4 1092 0000 sts vibrationCalCount.1977,__zero_reg__
5269 31f8 1092 0000 sts vibrationCalYaw.1976,__zero_reg__
5270 31fc 1092 0000 sts (vibrationCalYaw.1976)+1,__zero_reg__
5271 3200 1092 0000 sts (vibrationCalYaw.1976)+2,__zero_reg__
5272 3204 1092 0000 sts (vibrationCalYaw.1976)+3,__zero_reg__
5273 3208 1092 0000 sts vibrationCalRoll.1975,__zero_reg__
5274 320c 1092 0000 sts (vibrationCalRoll.1975)+1,__zero_reg__
5275 3210 1092 0000 sts (vibrationCalRoll.1975)+2,__zero_reg__
5276 3214 1092 0000 sts (vibrationCalRoll.1975)+3,__zero_reg__
5277 3218 1092 0000 sts vibrationCalNick.1974,__zero_reg__
5278 321c 1092 0000 sts (vibrationCalNick.1974)+1,__zero_reg__
5279 3220 1092 0000 sts (vibrationCalNick.1974)+2,__zero_reg__
5280 3224 1092 0000 sts (vibrationCalNick.1974)+3,__zero_reg__
5281 3228 88EE ldi r24,lo8(1000)
5282 322a 93E0 ldi r25,hi8(1000)
5283 322c A0E0 ldi r26,hlo8(1000)
5284 322e B0E0 ldi r27,hhi8(1000)
5285 3230 8093 0000 sts savedVibrationOffsetRoll,r24
5286 3234 9093 0000 sts (savedVibrationOffsetRoll)+1,r25
5287 3238 A093 0000 sts (savedVibrationOffsetRoll)+2,r26
5288 323c B093 0000 sts (savedVibrationOffsetRoll)+3,r27
5289 3240 8093 0000 sts savedVibrationOffsetNick,r24
5290 3244 9093 0000 sts (savedVibrationOffsetNick)+1,r25
5291 3248 A093 0000 sts (savedVibrationOffsetNick)+2,r26
5292 324c B093 0000 sts (savedVibrationOffsetNick)+3,r27
5293 3250 8091 0000 lds r24,MKFlags
5294 3254 8960 ori r24,lo8(9)
5295 3256 8093 0000 sts MKFlags,r24
5296 325a 00C0 rjmp .L350
5297 .L329:
5298 325c 299A sbi 37-0x20,1
5299 325e 0C94 0000 jmp .L330
5300 .L336:
5301 3262 21E0 ldi r18,lo8(1)
5302 3264 0C94 0000 jmp .L337
5303 .L331:
5304 3268 8091 0000 lds r24,ParamSet+1
5305 326c A82F mov r26,r24
5306 326e B0E0 ldi r27,lo8(0)
5307 3270 AA0F lsl r26
5308 3272 BB1F rol r27
5309 3274 FD01 movw r30,r26
5310 3276 E050 subi r30,lo8(-(PPM_in))
5311 3278 F040 sbci r31,hi8(-(PPM_in))
5312 327a 0190 ld __tmp_reg__,Z+
5313 327c F081 ld r31,Z
5314 327e E02D mov r30,__tmp_reg__
5315 3280 F7FD sbrc r31,7
5316 3282 00C0 rjmp .L543
5317 .L334:
5318 3284 E734 cpi r30,71
5319 3286 F105 cpc r31,__zero_reg__
5320 3288 04F0 brlt .+4
5321 328a 0C94 0000 jmp .L332
5322 328e 8091 0000 lds r24,ParamSet+8
5323 3292 8872 andi r24,lo8(40)
5324 3294 01F0 breq .L341
5325 3296 A050 subi r26,lo8(-(PPM_in))
5326 3298 B040 sbci r27,hi8(-(PPM_in))
5327 329a 8D91 ld r24,X+
5328 329c 9C91 ld r25,X
5329 329e 97FD sbrc r25,7
5330 32a0 00C0 rjmp .L544
5331 .L343:
5332 32a2 4E97 sbiw r24,30
5333 32a4 04F4 brge .L342
5334 32a6 4050 subi r20,lo8(-(PPM_in))
5335 32a8 5040 sbci r21,hi8(-(PPM_in))
5336 32aa FA01 movw r30,r20
5337 32ac 8081 ld r24,Z
5338 32ae 9181 ldd r25,Z+1
5339 32b0 8A5B subi r24,lo8(-70)
5340 32b2 9F4F sbci r25,hi8(-70)
5341 32b4 04F4 brge .L342
5342 32b6 81E0 ldi r24,lo8(1)
5343 32b8 8093 0000 sts CompassCalState,r24
5344 32bc 88EE ldi r24,lo8(1000)
5345 32be 93E0 ldi r25,hi8(1000)
5346 32c0 9093 0000 sts (BeepTime)+1,r25
5347 32c4 8093 0000 sts BeepTime,r24
5348 32c8 8091 0000 lds r24,ParamSet+2
5349 32cc A82F mov r26,r24
5350 32ce B0E0 ldi r27,lo8(0)
5351 32d0 AA0F lsl r26
5352 32d2 BB1F rol r27
5353 32d4 0C94 0000 jmp .L326
5354 .L346:
5355 32d8 299A sbi 37-0x20,1
5356 32da 00C0 rjmp .L347
5357 .L342:
5358 32dc 0E94 0000 call GetActiveParamSet
5359 32e0 0E94 0000 call ParamSet_ReadFromEEProm
5360 32e4 81E0 ldi r24,lo8(1)
5361 32e6 0C94 0000 jmp .L477
5362 .L341:
5363 32ea 0E94 0000 call GetActiveParamSet
5364 32ee 0E94 0000 call ParamSet_ReadFromEEProm
5365 32f2 0C94 0000 jmp .L476
5366 .L543:
5367 32f6 F095 com r31
5368 32f8 E195 neg r30
5369 32fa FF4F sbci r31,lo8(-1)
5370 32fc 00C0 rjmp .L334
5371 .L544:
5372 32fe 9095 com r25
5373 3300 8195 neg r24
5374 3302 9F4F sbci r25,lo8(-1)
5375 3304 00C0 rjmp .L343
5377 .global IntegralGyroNick
5378 .global IntegralGyroNick
5379 .section .bss
5382 IntegralGyroNick:
5383 0000 0000 0000 .skip 4,0
5384 .global IntegralGyroRoll
5385 .global IntegralGyroRoll
5388 IntegralGyroRoll:
5389 0004 0000 0000 .skip 4,0
5390 .global IntegralGyroYaw
5391 .global IntegralGyroYaw
5394 IntegralGyroYaw:
5395 0008 0000 0000 .skip 4,0
5396 .global ReadingIntegralGyroNick
5397 .global ReadingIntegralGyroNick
5400 ReadingIntegralGyroNick:
5401 000c 0000 0000 .skip 4,0
5402 .global ReadingIntegralGyroRoll
5403 .global ReadingIntegralGyroRoll
5406 ReadingIntegralGyroRoll:
5407 0010 0000 0000 .skip 4,0
5408 .global ReadingIntegralGyroYaw
5409 .global ReadingIntegralGyroYaw
5412 ReadingIntegralGyroYaw:
5413 0014 0000 0000 .skip 4,0
5414 .global CompassHeading
5415 .data
5418 CompassHeading:
5419 0000 FFFF .word -1
5420 .global CompassCourse
5423 CompassCourse:
5424 0002 FFFF .word -1
5425 .global CompassOffCourse
5426 .global CompassOffCourse
5427 .section .bss
5430 CompassOffCourse:
5431 0018 0000 .skip 2,0
5432 .global CompassCalState
5433 .global CompassCalState
5436 CompassCalState:
5437 001a 00 .skip 1,0
5438 .global FunnelCourse
5439 .global FunnelCourse
5442 FunnelCourse:
5443 001b 00 .skip 1,0
5444 .global BadCompassHeading
5445 .data
5448 BadCompassHeading:
5449 0004 F401 .word 500
5450 .global NaviAccNick
5451 .global NaviAccNick
5452 .section .bss
5455 NaviAccNick:
5456 001c 0000 .skip 2,0
5457 .global NaviAccRoll
5458 .global NaviAccRoll
5461 NaviAccRoll:
5462 001e 0000 .skip 2,0
5463 .global NaviCntAcc
5464 .global NaviCntAcc
5467 NaviCntAcc:
5468 0020 0000 .skip 2,0
5469 .global ModelIsFlying
5470 .global ModelIsFlying
5473 ModelIsFlying:
5474 0022 0000 .skip 2,0
5475 .global MKFlags
5476 .global MKFlags
5479 MKFlags:
5480 0024 00 .skip 1,0
5481 .global TurnOver180Nick
5482 .data
5485 TurnOver180Nick:
5486 0006 4C .byte 76
5487 0007 56 .byte 86
5488 0008 03 .byte 3
5489 0009 00 .byte 0
5490 .global TurnOver180Roll
5493 TurnOver180Roll:
5494 000a 4C .byte 76
5495 000b 56 .byte 86
5496 000c 03 .byte 3
5497 000d 00 .byte 0
5498 .global Ki
5501 Ki:
5502 000e 3801 .word 312
5503 .global Poti1
5504 .global Poti1
5505 .section .bss
5508 Poti1:
5509 0025 0000 .skip 2,0
5510 .global Poti2
5511 .global Poti2
5514 Poti2:
5515 0027 0000 .skip 2,0
5516 .global Poti3
5517 .global Poti3
5520 Poti3:
5521 0029 0000 .skip 2,0
5522 .global Poti4
5523 .global Poti4
5526 Poti4:
5527 002b 0000 .skip 2,0
5528 .global Poti5
5529 .global Poti5
5532 Poti5:
5533 002d 0000 .skip 2,0
5534 .global Poti6
5535 .global Poti6
5538 Poti6:
5539 002f 0000 .skip 2,0
5540 .global Poti7
5541 .global Poti7
5544 Poti7:
5545 0031 0000 .skip 2,0
5546 .global Poti8
5547 .global Poti8
5550 Poti8:
5551 0033 0000 .skip 2,0
5552 .global RequiredMotors
5553 .global RequiredMotors
5556 RequiredMotors:
5557 0035 00 .skip 1,0
5558 .global StickNick
5559 .global StickNick
5562 StickNick:
5563 0036 0000 .skip 2,0
5564 .global StickRoll
5565 .global StickRoll
5568 StickRoll:
5569 0038 0000 .skip 2,0
5570 .global StickYaw
5571 .global StickYaw
5574 StickYaw:
5575 003a 0000 .skip 2,0
5576 .global StickGas
5577 .global StickGas
5580 StickGas:
5581 003c 0000 .skip 2,0
5582 .global stickOffsetNick
5583 .global stickOffsetNick
5586 stickOffsetNick:
5587 003e 0000 .skip 2,0
5588 .global stickOffsetRoll
5589 .global stickOffsetRoll
5592 stickOffsetRoll:
5593 0040 0000 .skip 2,0
5594 .global vibrationOffsetNick
5595 .global vibrationOffsetNick
5598 vibrationOffsetNick:
5599 0042 0000 0000 .skip 4,0
5600 .global vibrationOffsetRoll
5601 .global vibrationOffsetRoll
5604 vibrationOffsetRoll:
5605 0046 0000 0000 .skip 4,0
5606 .global vibrationOffsetYaw
5607 .global vibrationOffsetYaw
5610 vibrationOffsetYaw:
5611 004a 0000 0000 .skip 4,0
5612 .global savedVibrationOffsetNick
5613 .global savedVibrationOffsetNick
5616 savedVibrationOffsetNick:
5617 004e 0000 0000 .skip 4,0
5618 .global savedVibrationOffsetRoll
5619 .global savedVibrationOffsetRoll
5622 savedVibrationOffsetRoll:
5623 0052 0000 0000 .skip 4,0
5624 .global GPSStickNick
5625 .global GPSStickNick
5628 GPSStickNick:
5629 0056 0000 .skip 2,0
5630 .global GPSStickRoll
5631 .global GPSStickRoll
5634 GPSStickRoll:
5635 0058 0000 .skip 2,0
5636 .global MaxStickNick
5637 .global MaxStickNick
5640 MaxStickNick:
5641 005a 0000 .skip 2,0
5642 .global MaxStickRoll
5643 .global MaxStickRoll
5646 MaxStickRoll:
5647 005c 0000 .skip 2,0
5648 .global ExternStickNick
5649 .global ExternStickNick
5652 ExternStickNick:
5653 005e 0000 .skip 2,0
5654 .global ExternStickRoll
5655 .global ExternStickRoll
5658 ExternStickRoll:
5659 0060 0000 .skip 2,0
5660 .global ExternStickYaw
5661 .global ExternStickYaw
5664 ExternStickYaw:
5665 0062 0000 .skip 2,0
5666 .global ExternHeightValue
5667 .data
5670 ExternHeightValue:
5671 0010 ECFF .word -20
5672 .global ReadingHeight
5673 .global ReadingHeight
5674 .section .bss
5677 ReadingHeight:
5678 0064 0000 .skip 2,0
5679 .global SetPointHeight
5680 .global SetPointHeight
5683 SetPointHeight:
5684 0066 0000 .skip 2,0
5685 .global AttitudeCorrectionRoll
5686 .global AttitudeCorrectionRoll
5689 AttitudeCorrectionRoll:
5690 0068 0000 .skip 2,0
5691 .global AttitudeCorrectionNick
5692 .global AttitudeCorrectionNick
5695 AttitudeCorrectionNick:
5696 006a 0000 .skip 2,0
5697 .global LoopingNick
5698 .global LoopingNick
5701 LoopingNick:
5702 006c 00 .skip 1,0
5703 .global LoopingRoll
5704 .global LoopingRoll
5707 LoopingRoll:
5708 006d 00 .skip 1,0
5709 .global LoopingLeft
5710 .global LoopingLeft
5713 LoopingLeft:
5714 006e 00 .skip 1,0
5715 .global LoopingRight
5716 .global LoopingRight
5719 LoopingRight:
5720 006f 00 .skip 1,0
5721 .global LoopingDown
5722 .global LoopingDown
5725 LoopingDown:
5726 0070 00 .skip 1,0
5727 .global LoopingTop
5728 .global LoopingTop
5731 LoopingTop:
5732 0071 00 .skip 1,0
5733 .global FCParam
5734 .data
5737 FCParam:
5738 0012 30 .byte 48
5739 0013 FB .byte -5
5740 0014 10 .byte 16
5741 0015 3A .byte 58
5742 0016 40 .byte 64
5743 0017 08 .byte 8
5744 0018 96 .byte -106
5745 0019 96 .byte -106
5746 001a 02 .byte 2
5747 001b 0A .byte 10
5748 001c 00 .byte 0
5749 001d 00 .byte 0
5750 001e 00 .byte 0
5751 001f 00 .byte 0
5752 0020 00 .byte 0
5753 0021 00 .byte 0
5754 0022 00 .byte 0
5755 0023 00 .byte 0
5756 0024 64 .byte 100
5757 0025 46 .byte 70
5758 0026 5A .byte 90
5759 0027 41 .byte 65
5760 0028 40 .byte 64
5761 0029 64 .byte 100
5762 002a 00 .byte 0
5763 002b 00 .byte 0
5764 002c 00 .byte 0
5765 002d 0000 00 .skip 3,0
5766 .lcomm stick_roll.1991,2
5767 .lcomm stick_nick.1990,2
5768 .lcomm MotorValue.1987,24
5769 .lcomm UpdateCompassCourse.1986,2
5770 .lcomm TimerDebugOut.1985,1
5771 .lcomm delay_stopmotors.1984,2
5772 .lcomm delay_startmotors.1983,2
5773 .lcomm delay_neutral.1982,1
5774 .lcomm RcLostTimer.1981,2
5775 .lcomm SetPointYaw.1980,4
5776 .lcomm vibrationCalCount.1977,2
5777 .lcomm vibrationCalYaw.1976,4
5778 .lcomm vibrationCalRoll.1975,4
5779 .lcomm vibrationCalNick.1974,4
5780 .lcomm IPartRoll.1973,4
5781 .lcomm IPartNick.1972,4
5784 stick.1951:
5785 0030 01 .byte 1
5786 .comm GyroNick,2,1
5787 .comm GyroRoll,2,1
5788 .comm GyroYaw,2,1
5789 .comm YawGyroHeading,4,1
5790 .comm GyroPFactor,1,1
5791 .comm GyroIFactor,1,1
5792 .comm GyroYawPFactor,1,1
5793 .comm GyroYawIFactor,1,1
5794 .comm NickNoisePeak,2,1
5795 .comm RollNoisePeak,2,1
5796 .comm debugNickNoisePeak,2,1
5797 .comm debugRollNoisePeak,2,1
DEFINED SYMBOLS
*ABS*:00000000 fc.c
/tmp/ccDP7nnW.s:2 *ABS*:0000003f __SREG__
/tmp/ccDP7nnW.s:3 *ABS*:0000003e __SP_H__
/tmp/ccDP7nnW.s:4 *ABS*:0000003d __SP_L__
/tmp/ccDP7nnW.s:5 *ABS*:00000000 __tmp_reg__
/tmp/ccDP7nnW.s:6 *ABS*:00000001 __zero_reg__
/tmp/ccDP7nnW.s:12 .text:00000000 MotorSmoothing
/tmp/ccDP7nnW.s:36 .text:00000020 Mean
/tmp/ccDP7nnW.s:5598 .bss:00000042 vibrationOffsetNick
*COM*:00000002 GyroNick
/tmp/ccDP7nnW.s:5604 .bss:00000046 vibrationOffsetRoll
*COM*:00000002 GyroRoll
*COM*:00000002 NickNoisePeak
*COM*:00000002 RollNoisePeak
/tmp/ccDP7nnW.s:5610 .bss:0000004a vibrationOffsetYaw
*COM*:00000002 GyroYaw
*COM*:00000004 YawGyroHeading
/tmp/ccDP7nnW.s:5412 .bss:00000014 ReadingIntegralGyroYaw
/tmp/ccDP7nnW.s:5400 .bss:0000000c ReadingIntegralGyroNick
/tmp/ccDP7nnW.s:5485 .data:00000006 TurnOver180Nick
/tmp/ccDP7nnW.s:5406 .bss:00000010 ReadingIntegralGyroRoll
/tmp/ccDP7nnW.s:5493 .data:0000000a TurnOver180Roll
/tmp/ccDP7nnW.s:5382 .bss:00000000 IntegralGyroNick
/tmp/ccDP7nnW.s:5388 .bss:00000004 IntegralGyroRoll
/tmp/ccDP7nnW.s:5394 .bss:00000008 IntegralGyroYaw
/tmp/ccDP7nnW.s:423 .text:00000414 ParameterMapping
/tmp/ccDP7nnW.s:5737 .data:00000012 FCParam
/tmp/ccDP7nnW.s:5526 .bss:0000002b Poti4
/tmp/ccDP7nnW.s:5501 .data:0000000e Ki
/tmp/ccDP7nnW.s:5508 .bss:00000025 Poti1
/tmp/ccDP7nnW.s:5514 .bss:00000027 Poti2
/tmp/ccDP7nnW.s:5520 .bss:00000029 Poti3
/tmp/ccDP7nnW.s:1347 .text:00000c54 SendMotorData
/tmp/ccDP7nnW.s:5479 .bss:00000024 MKFlags
/tmp/ccDP7nnW.s:1408 .text:00000cd6 SetNeutral
/tmp/ccDP7nnW.s:5418 .data:00000000 CompassHeading
/tmp/ccDP7nnW.s:5423 .data:00000002 CompassCourse
/tmp/ccDP7nnW.s:5628 .bss:00000056 GPSStickNick
/tmp/ccDP7nnW.s:5634 .bss:00000058 GPSStickRoll
/tmp/ccDP7nnW.s:5586 .bss:0000003e stickOffsetNick
/tmp/ccDP7nnW.s:5562 .bss:00000036 StickNick
/tmp/ccDP7nnW.s:5592 .bss:00000040 stickOffsetRoll
/tmp/ccDP7nnW.s:5568 .bss:00000038 StickRoll
/tmp/ccDP7nnW.s:1560 .text:00000e96 Beep
/tmp/ccDP7nnW.s:1599 .text:00000eda SetCompassCalState
/tmp/ccDP7nnW.s:5784 .data:00000030 stick.1951
/tmp/ccDP7nnW.s:5436 .bss:0000001a CompassCalState
/tmp/ccDP7nnW.s:1646 .text:00000f38 MotorControl
/tmp/ccDP7nnW.s:5580 .bss:0000003c StickGas
/tmp/ccDP7nnW.s:5773 .bss:00000096 RcLostTimer.1981
/tmp/ccDP7nnW.s:5473 .bss:00000022 ModelIsFlying
/tmp/ccDP7nnW.s:5707 .bss:0000006d LoopingRoll
/tmp/ccDP7nnW.s:5701 .bss:0000006c LoopingNick
/tmp/ccDP7nnW.s:5574 .bss:0000003a StickYaw
*COM*:00000001 GyroPFactor
*COM*:00000001 GyroIFactor
*COM*:00000001 GyroYawPFactor
*COM*:00000001 GyroYawIFactor
/tmp/ccDP7nnW.s:5640 .bss:0000005a MaxStickNick
/tmp/ccDP7nnW.s:5646 .bss:0000005c MaxStickRoll
/tmp/ccDP7nnW.s:5616 .bss:0000004e savedVibrationOffsetNick
/tmp/ccDP7nnW.s:5622 .bss:00000052 savedVibrationOffsetRoll
*COM*:00000002 debugNickNoisePeak
*COM*:00000002 debugRollNoisePeak
/tmp/ccDP7nnW.s:5448 .data:00000004 BadCompassHeading
/tmp/ccDP7nnW.s:5774 .bss:00000098 SetPointYaw.1980
/tmp/ccDP7nnW.s:5769 .bss:00000090 TimerDebugOut.1985
/tmp/ccDP7nnW.s:5442 .bss:0000001b FunnelCourse
/tmp/ccDP7nnW.s:5780 .bss:000000ae IPartNick.1972
/tmp/ccDP7nnW.s:5779 .bss:000000aa IPartRoll.1973
/tmp/ccDP7nnW.s:5767 .bss:00000076 MotorValue.1987
/tmp/ccDP7nnW.s:5532 .bss:0000002d Poti5
/tmp/ccDP7nnW.s:5538 .bss:0000002f Poti6
/tmp/ccDP7nnW.s:5544 .bss:00000031 Poti7
/tmp/ccDP7nnW.s:5550 .bss:00000033 Poti8
/tmp/ccDP7nnW.s:5772 .bss:00000095 delay_neutral.1982
/tmp/ccDP7nnW.s:5771 .bss:00000093 delay_startmotors.1983
/tmp/ccDP7nnW.s:5778 .bss:000000a6 vibrationCalNick.1974
/tmp/ccDP7nnW.s:5777 .bss:000000a2 vibrationCalRoll.1975
/tmp/ccDP7nnW.s:5776 .bss:0000009e vibrationCalYaw.1976
/tmp/ccDP7nnW.s:5775 .bss:0000009c vibrationCalCount.1977
/tmp/ccDP7nnW.s:5766 .bss:00000074 stick_nick.1990
.bss:00000072 stick_roll.1991
/tmp/ccDP7nnW.s:5670 .data:00000010 ExternHeightValue
/tmp/ccDP7nnW.s:5713 .bss:0000006e LoopingLeft
/tmp/ccDP7nnW.s:5719 .bss:0000006f LoopingRight
/tmp/ccDP7nnW.s:5731 .bss:00000071 LoopingTop
/tmp/ccDP7nnW.s:5725 .bss:00000070 LoopingDown
/tmp/ccDP7nnW.s:5677 .bss:00000064 ReadingHeight
/tmp/ccDP7nnW.s:5768 .bss:0000008e UpdateCompassCourse.1986
/tmp/ccDP7nnW.s:5770 .bss:00000091 delay_stopmotors.1984
/tmp/ccDP7nnW.s:5430 .bss:00000018 CompassOffCourse
/tmp/ccDP7nnW.s:5455 .bss:0000001c NaviAccNick
/tmp/ccDP7nnW.s:5461 .bss:0000001e NaviAccRoll
/tmp/ccDP7nnW.s:5467 .bss:00000020 NaviCntAcc
/tmp/ccDP7nnW.s:5556 .bss:00000035 RequiredMotors
/tmp/ccDP7nnW.s:5652 .bss:0000005e ExternStickNick
/tmp/ccDP7nnW.s:5658 .bss:00000060 ExternStickRoll
/tmp/ccDP7nnW.s:5664 .bss:00000062 ExternStickYaw
/tmp/ccDP7nnW.s:5683 .bss:00000066 SetPointHeight
/tmp/ccDP7nnW.s:5689 .bss:00000068 AttitudeCorrectionRoll
/tmp/ccDP7nnW.s:5695 .bss:0000006a AttitudeCorrectionNick
UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
hiResPitchGyro
__divmodsi4
filteredHiResPitchGyro
hiResRollGyro
filteredHiResRollGyro
rawYawGyroSum
ADReady
RC_Quality
ParamSet
__divmodhi4
MotorTest_Active
Motor
MotorTest
DebugOut
I2C_Start
Servo_Off
analog_calibrate
BeepTime
PPM_in
Servo_On
Delay_ms
BoardRelease
PcAccess
BeepModulation
PPM_diff
NewPpmData
ADCycleCount
__mulsi3
MissingMotor
Mixer
SetActiveParamSet
GetActiveParamSet
ParamSet_ReadFromEEProm
ExternControl
UBat