Subversion Repositories FlightCtrl

Rev

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

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