Details | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
1754 | - | 1 | 1 .file "timer0.c" |
2 | 2 .arch atmega644p |
||
3 | 3 __SREG__ = 0x3f |
||
4 | 4 __SP_H__ = 0x3e |
||
5 | 5 __SP_L__ = 0x3d |
||
6 | 6 __tmp_reg__ = 0 |
||
7 | 7 __zero_reg__ = 1 |
||
8 | 8 .global __do_copy_data |
||
9 | 9 .global __do_clear_bss |
||
10 | 10 .global ServoRollValue |
||
11 | 11 .global ServoRollValue |
||
12 | 12 .section .bss |
||
13 | 15 ServoRollValue: |
||
14 | 16 0000 0000 .skip 2,0 |
||
15 | 17 .global ServoNickValue |
||
16 | 18 .global ServoNickValue |
||
17 | 21 ServoNickValue: |
||
18 | 22 0002 0000 .skip 2,0 |
||
19 | 23 .global BeepMuster |
||
20 | 24 .data |
||
21 | 27 BeepMuster: |
||
22 | 28 0000 FFFF .word -1 |
||
23 | 29 .global ServoActive |
||
24 | 30 .global ServoActive |
||
25 | 31 .section .bss |
||
26 | 34 ServoActive: |
||
27 | 35 0004 00 .skip 1,0 |
||
28 | 36 .global SendSPI |
||
29 | 37 .global SendSPI |
||
30 | 40 SendSPI: |
||
31 | 41 0005 00 .skip 1,0 |
||
32 | 42 .global beeptime |
||
33 | 43 .global beeptime |
||
34 | 46 beeptime: |
||
35 | 47 0006 0000 .skip 2,0 |
||
36 | 48 .global cntKompass |
||
37 | 49 .global cntKompass |
||
38 | 52 cntKompass: |
||
39 | 53 0008 0000 .skip 2,0 |
||
40 | 54 .global UpdateMotor |
||
41 | 55 .global UpdateMotor |
||
42 | 58 UpdateMotor: |
||
43 | 59 000a 00 .skip 1,0 |
||
44 | 60 .global CountMilliseconds |
||
45 | 61 .global CountMilliseconds |
||
46 | 64 CountMilliseconds: |
||
47 | 65 000b 0000 .skip 2,0 |
||
48 | 66 .data |
||
49 | 69 CameraShutterCycleOnCount: |
||
50 | 70 0002 1400 .word 20 |
||
51 | 71 .lcomm CameraShutterCycleCounter,2 |
||
52 | 72 .lcomm CameraShutterCycle,2 |
||
53 | 75 cnt_1ms.6: |
||
54 | 76 0004 01 .byte 1 |
||
55 | 77 .lcomm cnt.7,1 |
||
56 | 78 .lcomm compass_active.8,1 |
||
57 | 79 .text |
||
58 | 80 .global __vector_18 |
||
59 | 82 __vector_18: |
||
60 | 83 /* prologue: frame size=0 */ |
||
61 | 84 0000 1F92 push __zero_reg__ |
||
62 | 85 0002 0F92 push __tmp_reg__ |
||
63 | 86 0004 0FB6 in __tmp_reg__,__SREG__ |
||
64 | 87 0006 0F92 push __tmp_reg__ |
||
65 | 88 0008 1124 clr __zero_reg__ |
||
66 | 89 000a 2F93 push r18 |
||
67 | 90 000c 3F93 push r19 |
||
68 | 91 000e 5F93 push r21 |
||
69 | 92 0010 6F93 push r22 |
||
70 | 93 0012 7F93 push r23 |
||
71 | 94 0014 8F93 push r24 |
||
72 | 95 0016 9F93 push r25 |
||
73 | 96 0018 AF93 push r26 |
||
74 | 97 001a BF93 push r27 |
||
75 | 98 001c EF93 push r30 |
||
76 | 99 001e FF93 push r31 |
||
77 | 100 /* prologue end (size=16) */ |
||
78 | 101 0020 20E0 ldi r18,lo8(0) |
||
79 | 102 0022 8091 0000 lds r24,SendSPI |
||
80 | 103 0026 8823 tst r24 |
||
81 | 104 0028 29F0 breq .L2 |
||
82 | 105 002a 8091 0000 lds r24,SendSPI |
||
83 | 106 002e 8150 subi r24,lo8(-(-1)) |
||
84 | 107 0030 8093 0000 sts SendSPI,r24 |
||
85 | 108 .L2: |
||
86 | 109 0034 8091 0000 lds r24,SpektrumTimer |
||
87 | 110 0038 8823 tst r24 |
||
88 | 111 003a 19F0 breq .L3 |
||
89 | 112 003c 8150 subi r24,lo8(-(-1)) |
||
90 | 113 003e 8093 0000 sts SpektrumTimer,r24 |
||
91 | 114 .L3: |
||
92 | 115 0042 8091 0000 lds r24,cnt.7 |
||
93 | 116 0046 8150 subi r24,lo8(-(-1)) |
||
94 | 117 0048 8093 0000 sts cnt.7,r24 |
||
95 | 118 004c 8F3F cpi r24,lo8(-1) |
||
96 | 119 004e 09F0 breq .+2 |
||
97 | 120 0050 57C0 rjmp .L4 |
||
98 | 121 0052 89E0 ldi r24,lo8(9) |
||
99 | 122 0054 8093 0000 sts cnt.7,r24 |
||
100 | 123 0058 8091 0000 lds r24,CountMilliseconds |
||
101 | 124 005c 9091 0000 lds r25,(CountMilliseconds)+1 |
||
102 | 125 0060 0196 adiw r24,1 |
||
103 | 126 0062 9093 0000 sts (CountMilliseconds)+1,r25 |
||
104 | 127 0066 8093 0000 sts CountMilliseconds,r24 |
||
105 | 128 006a 8091 0000 lds r24,cnt_1ms.6 |
||
106 | 129 006e 8F5F subi r24,lo8(-(1)) |
||
107 | 130 0070 8170 andi r24,lo8(1) |
||
108 | 131 0072 8093 0000 sts cnt_1ms.6,r24 |
||
109 | 132 0076 8823 tst r24 |
||
110 | 133 0078 19F4 brne .L5 |
||
111 | 134 007a 81E0 ldi r24,lo8(1) |
||
112 | 135 007c 8093 0000 sts UpdateMotor,r24 |
||
113 | 136 .L5: |
||
114 | 137 0080 86B1 in r24,38-0x20 |
||
115 | 138 0082 8091 0000 lds r24,beeptime |
||
116 | 139 0086 9091 0000 lds r25,(beeptime)+1 |
||
117 | 140 008a 892B or r24,r25 |
||
118 | 141 008c 21F1 breq .L7 |
||
119 | 142 008e 8091 0000 lds r24,beeptime |
||
120 | 143 0092 9091 0000 lds r25,(beeptime)+1 |
||
121 | 144 0096 0B97 sbiw r24,11 |
||
122 | 145 0098 50F0 brlo .L8 |
||
123 | 146 009a 8091 0000 lds r24,beeptime |
||
124 | 147 009e 9091 0000 lds r25,(beeptime)+1 |
||
125 | 148 00a2 0A97 sbiw r24,10 |
||
126 | 149 00a4 9093 0000 sts (beeptime)+1,r25 |
||
127 | 150 00a8 8093 0000 sts beeptime,r24 |
||
128 | 151 00ac 04C0 rjmp .L9 |
||
129 | 152 .L8: |
||
130 | 153 00ae 1092 0000 sts (beeptime)+1,__zero_reg__ |
||
131 | 154 00b2 1092 0000 sts beeptime,__zero_reg__ |
||
132 | 155 .L9: |
||
133 | 156 00b6 8091 0000 lds r24,beeptime |
||
134 | 157 00ba 9091 0000 lds r25,(beeptime)+1 |
||
135 | 158 00be 2091 0000 lds r18,BeepMuster |
||
136 | 159 00c2 3091 0000 lds r19,(BeepMuster)+1 |
||
137 | 160 00c6 8223 and r24,r18 |
||
138 | 161 00c8 9323 and r25,r19 |
||
139 | 162 00ca 892B or r24,r25 |
||
140 | 163 00cc 11F0 breq .L10 |
||
141 | 164 00ce 21E0 ldi r18,lo8(1) |
||
142 | 165 00d0 08C0 rjmp .L12 |
||
143 | 166 .L10: |
||
144 | 167 00d2 20E0 ldi r18,lo8(0) |
||
145 | 168 00d4 06C0 rjmp .L12 |
||
146 | 169 .L7: |
||
147 | 170 00d6 8FEF ldi r24,lo8(-1) |
||
148 | 171 00d8 9FEF ldi r25,hi8(-1) |
||
149 | 172 00da 9093 0000 sts (BeepMuster)+1,r25 |
||
150 | 173 00de 8093 0000 sts BeepMuster,r24 |
||
151 | 174 .L12: |
||
152 | 175 00e2 8091 0000 lds r24,PlatinenVersion |
||
153 | 176 00e6 2223 tst r18 |
||
154 | 177 00e8 31F0 breq .L13 |
||
155 | 178 00ea 8A30 cpi r24,lo8(10) |
||
156 | 179 00ec 11F4 brne .L14 |
||
157 | 180 00ee 5A9A sbi 43-0x20,2 |
||
158 | 181 00f0 07C0 rjmp .L4 |
||
159 | 182 .L14: |
||
160 | 183 00f2 479A sbi 40-0x20,7 |
||
161 | 184 00f4 05C0 rjmp .L4 |
||
162 | 185 .L13: |
||
163 | 186 00f6 8A30 cpi r24,lo8(10) |
||
164 | 187 00f8 11F4 brne .L17 |
||
165 | 188 00fa 5A98 cbi 43-0x20,2 |
||
166 | 189 00fc 01C0 rjmp .L4 |
||
167 | 190 .L17: |
||
168 | 191 00fe 4798 cbi 40-0x20,7 |
||
169 | 192 .L4: |
||
170 | 193 0100 8091 0000 lds r24,compass_active.8 |
||
171 | 194 0104 8823 tst r24 |
||
172 | 195 0106 09F4 brne .+2 |
||
173 | 196 0108 72C0 rjmp .L1 |
||
174 | 197 010a 2091 0000 lds r18,NaviDataOkay |
||
175 | 198 010e 2223 tst r18 |
||
176 | 199 0110 09F0 breq .+2 |
||
177 | 200 0112 6DC0 rjmp .L1 |
||
178 | 201 0114 8091 0000 lds r24,EE_Parameter+13 |
||
179 | 202 0118 83FF sbrs r24,3 |
||
180 | 203 011a 69C0 rjmp .L1 |
||
181 | 204 011c 86B1 in r24,38-0x20 |
||
182 | 205 011e 9927 clr r25 |
||
183 | 206 0120 FC01 movw r30,r24 |
||
184 | 207 0122 E071 andi r30,lo8(16) |
||
185 | 208 0124 F070 andi r31,hi8(16) |
||
186 | 209 0126 84FF sbrs r24,4 |
||
187 | 210 0128 14C0 rjmp .L20 |
||
188 | 211 012a 8091 0000 lds r24,cntKompass |
||
189 | 212 012e 9091 0000 lds r25,(cntKompass)+1 |
||
190 | 213 0132 0196 adiw r24,1 |
||
191 | 214 0134 9093 0000 sts (cntKompass)+1,r25 |
||
192 | 215 0138 8093 0000 sts cntKompass,r24 |
||
193 | 216 013c 8091 0000 lds r24,cntKompass |
||
194 | 217 0140 9091 0000 lds r25,(cntKompass)+1 |
||
195 | 218 0144 895E subi r24,lo8(1001) |
||
196 | 219 0146 9340 sbci r25,hi8(1001) |
||
197 | 220 0148 08F4 brsh .+2 |
||
198 | 221 014a 51C0 rjmp .L1 |
||
199 | 222 014c 2093 0000 sts compass_active.8,r18 |
||
200 | 223 0150 4EC0 rjmp .L1 |
||
201 | 224 .L20: |
||
202 | 225 0152 8091 0000 lds r24,cntKompass |
||
203 | 226 0156 9091 0000 lds r25,(cntKompass)+1 |
||
204 | 227 015a 892B or r24,r25 |
||
205 | 228 015c 09F4 brne .+2 |
||
206 | 229 015e 43C0 rjmp .L23 |
||
207 | 230 0160 8091 0000 lds r24,cntKompass |
||
208 | 231 0164 9091 0000 lds r25,(cntKompass)+1 |
||
209 | 232 0168 8A56 subi r24,lo8(362) |
||
210 | 233 016a 9140 sbci r25,hi8(362) |
||
211 | 234 016c E0F5 brsh .L23 |
||
212 | 235 016e 8091 0000 lds r24,cntKompass |
||
213 | 236 0172 9091 0000 lds r25,(cntKompass)+1 |
||
214 | 237 0176 69E2 ldi r22,lo8(41) |
||
215 | 238 0178 70E0 ldi r23,hi8(41) |
||
216 | 239 017a 0E94 0000 call __udivmodhi4 |
||
217 | 240 017e 8091 0000 lds r24,cntKompass |
||
218 | 241 0182 9091 0000 lds r25,(cntKompass)+1 |
||
219 | 242 0186 860F add r24,r22 |
||
220 | 243 0188 971F adc r25,r23 |
||
221 | 244 018a 9093 0000 sts (cntKompass)+1,r25 |
||
222 | 245 018e 8093 0000 sts cntKompass,r24 |
||
223 | 246 0192 8091 0000 lds r24,cntKompass |
||
224 | 247 0196 9091 0000 lds r25,(cntKompass)+1 |
||
225 | 248 019a 0B97 sbiw r24,11 |
||
226 | 249 019c 50F0 brlo .L24 |
||
227 | 250 019e 8091 0000 lds r24,cntKompass |
||
228 | 251 01a2 9091 0000 lds r25,(cntKompass)+1 |
||
229 | 252 01a6 0A97 sbiw r24,10 |
||
230 | 253 01a8 9093 0000 sts (KompassValue)+1,r25 |
||
231 | 254 01ac 8093 0000 sts KompassValue,r24 |
||
232 | 255 01b0 04C0 rjmp .L25 |
||
233 | 256 .L24: |
||
234 | 257 01b2 F093 0000 sts (KompassValue)+1,r31 |
||
235 | 258 01b6 E093 0000 sts KompassValue,r30 |
||
236 | 259 .L25: |
||
237 | 260 01ba 8091 0000 lds r24,KompassValue |
||
238 | 261 01be 9091 0000 lds r25,(KompassValue)+1 |
||
239 | 262 01c2 2091 0000 lds r18,KompassStartwert |
||
240 | 263 01c6 3091 0000 lds r19,(KompassStartwert)+1 |
||
241 | 264 01ca 821B sub r24,r18 |
||
242 | 265 01cc 930B sbc r25,r19 |
||
243 | 266 01ce 845E subi r24,lo8(-(540)) |
||
244 | 267 01d0 9D4F sbci r25,hi8(-(540)) |
||
245 | 268 01d2 68E6 ldi r22,lo8(360) |
||
246 | 269 01d4 71E0 ldi r23,hi8(360) |
||
247 | 270 01d6 0E94 0000 call __divmodhi4 |
||
248 | 271 01da 845B subi r24,lo8(-(-180)) |
||
249 | 272 01dc 9040 sbci r25,hi8(-(-180)) |
||
250 | 273 01de 9093 0000 sts (KompassRichtung)+1,r25 |
||
251 | 274 01e2 8093 0000 sts KompassRichtung,r24 |
||
252 | 275 .L23: |
||
253 | 276 01e6 1092 0000 sts (cntKompass)+1,__zero_reg__ |
||
254 | 277 01ea 1092 0000 sts cntKompass,__zero_reg__ |
||
255 | 278 .L1: |
||
256 | 279 /* epilogue: frame size=0 */ |
||
257 | 280 01ee FF91 pop r31 |
||
258 | 281 01f0 EF91 pop r30 |
||
259 | 282 01f2 BF91 pop r27 |
||
260 | 283 01f4 AF91 pop r26 |
||
261 | 284 01f6 9F91 pop r25 |
||
262 | 285 01f8 8F91 pop r24 |
||
263 | 286 01fa 7F91 pop r23 |
||
264 | 287 01fc 6F91 pop r22 |
||
265 | 288 01fe 5F91 pop r21 |
||
266 | 289 0200 3F91 pop r19 |
||
267 | 290 0202 2F91 pop r18 |
||
268 | 291 0204 0F90 pop __tmp_reg__ |
||
269 | 292 0206 0FBE out __SREG__,__tmp_reg__ |
||
270 | 293 0208 0F90 pop __tmp_reg__ |
||
271 | 294 020a 1F90 pop __zero_reg__ |
||
272 | 295 020c 1895 reti |
||
273 | 296 /* epilogue end (size=16) */ |
||
274 | 297 /* function __vector_18 size 267 (235) */ |
||
275 | 299 .global SetDelay |
||
276 | 301 SetDelay: |
||
277 | 302 /* prologue: frame size=0 */ |
||
278 | 303 /* prologue end (size=0) */ |
||
279 | 304 020e 2091 0000 lds r18,CountMilliseconds |
||
280 | 305 0212 3091 0000 lds r19,(CountMilliseconds)+1 |
||
281 | 306 0216 280F add r18,r24 |
||
282 | 307 0218 391F adc r19,r25 |
||
283 | 308 021a C901 movw r24,r18 |
||
284 | 309 021c 0196 adiw r24,1 |
||
285 | 310 /* epilogue: frame size=0 */ |
||
286 | 311 021e 0895 ret |
||
287 | 312 /* epilogue end (size=1) */ |
||
288 | 313 /* function SetDelay size 9 (8) */ |
||
289 | 315 .global CheckDelay |
||
290 | 317 CheckDelay: |
||
291 | 318 /* prologue: frame size=0 */ |
||
292 | 319 /* prologue end (size=0) */ |
||
293 | 320 0220 2091 0000 lds r18,CountMilliseconds |
||
294 | 321 0224 3091 0000 lds r19,(CountMilliseconds)+1 |
||
295 | 322 0228 821B sub r24,r18 |
||
296 | 323 022a 930B sbc r25,r19 |
||
297 | 324 022c 892F mov r24,r25 |
||
298 | 325 022e 9927 clr r25 |
||
299 | 326 0230 8695 lsr r24 |
||
300 | 327 0232 8074 andi r24,lo8(64) |
||
301 | 328 0234 9070 andi r25,hi8(64) |
||
302 | 329 /* epilogue: frame size=0 */ |
||
303 | 330 0236 0895 ret |
||
304 | 331 /* epilogue end (size=1) */ |
||
305 | 332 /* function CheckDelay size 12 (11) */ |
||
306 | 334 .global Delay_ms |
||
307 | 336 Delay_ms: |
||
308 | 337 /* prologue: frame size=0 */ |
||
309 | 338 0238 CF93 push r28 |
||
310 | 339 023a DF93 push r29 |
||
311 | 340 /* prologue end (size=2) */ |
||
312 | 341 023c 0E94 0000 call SetDelay |
||
313 | 342 0240 EC01 movw r28,r24 |
||
314 | 343 .L29: |
||
315 | 344 0242 CE01 movw r24,r28 |
||
316 | 345 0244 0E94 0000 call CheckDelay |
||
317 | 346 0248 8823 tst r24 |
||
318 | 347 024a D9F3 breq .L29 |
||
319 | 348 /* epilogue: frame size=0 */ |
||
320 | 349 024c DF91 pop r29 |
||
321 | 350 024e CF91 pop r28 |
||
322 | 351 0250 0895 ret |
||
323 | 352 /* epilogue end (size=3) */ |
||
324 | 353 /* function Delay_ms size 13 (8) */ |
||
325 | 355 .global Delay_ms_Mess |
||
326 | 357 Delay_ms_Mess: |
||
327 | 358 /* prologue: frame size=0 */ |
||
328 | 359 0252 CF93 push r28 |
||
329 | 360 0254 DF93 push r29 |
||
330 | 361 /* prologue end (size=2) */ |
||
331 | 362 0256 0E94 0000 call SetDelay |
||
332 | 363 025a EC01 movw r28,r24 |
||
333 | 364 025c 09C0 rjmp .L40 |
||
334 | 365 .L36: |
||
335 | 366 025e 8091 0000 lds r24,AdReady |
||
336 | 367 0262 8823 tst r24 |
||
337 | 368 0264 29F0 breq .L40 |
||
338 | 369 0266 9093 0000 sts AdReady,r25 |
||
339 | 370 026a 8FEC ldi r24,lo8(-49) |
||
340 | 371 026c 8093 7A00 sts 122,r24 |
||
341 | 372 .L40: |
||
342 | 373 0270 CE01 movw r24,r28 |
||
343 | 374 0272 0E94 0000 call CheckDelay |
||
344 | 375 0276 982F mov r25,r24 |
||
345 | 376 0278 8823 tst r24 |
||
346 | 377 027a 89F3 breq .L36 |
||
347 | 378 /* epilogue: frame size=0 */ |
||
348 | 379 027c DF91 pop r29 |
||
349 | 380 027e CF91 pop r28 |
||
350 | 381 0280 0895 ret |
||
351 | 382 /* epilogue end (size=3) */ |
||
352 | 383 /* function Delay_ms_Mess size 24 (19) */ |
||
353 | 385 .global TIMER2_Init |
||
354 | 387 TIMER2_Init: |
||
355 | 388 /* prologue: frame size=0 */ |
||
356 | 389 /* prologue end (size=0) */ |
||
357 | 390 0282 4FB7 in r20,95-0x20 |
||
358 | 391 0284 8091 0000 lds r24,Parameter_UserParam8 |
||
359 | 392 0288 282F mov r18,r24 |
||
360 | 393 028a 3327 clr r19 |
||
361 | 394 028c 2F77 andi r18,lo8(127) |
||
362 | 395 028e 3070 andi r19,hi8(127) |
||
363 | 396 0290 C901 movw r24,r18 |
||
364 | 397 0292 880F lsl r24 |
||
365 | 398 0294 991F rol r25 |
||
366 | 399 0296 880F lsl r24 |
||
367 | 400 0298 991F rol r25 |
||
368 | 401 029a 820F add r24,r18 |
||
369 | 402 029c 931F adc r25,r19 |
||
370 | 403 029e 9093 0000 sts (CameraShutterCycle)+1,r25 |
||
371 | 404 02a2 8093 0000 sts CameraShutterCycle,r24 |
||
372 | 405 /* #APP */ |
||
373 | 406 02a6 F894 cli |
||
374 | 407 /* #NOAPP */ |
||
375 | 408 02a8 5F98 cbi 43-0x20,7 |
||
376 | 409 02aa 3E9A sbi 39-0x20,6 |
||
377 | 410 02ac 469A sbi 40-0x20,6 |
||
378 | 411 02ae 8091 B000 lds r24,176 |
||
379 | 412 02b2 8F70 andi r24,lo8(15) |
||
380 | 413 02b4 8093 B000 sts 176,r24 |
||
381 | 414 02b8 8091 B000 lds r24,176 |
||
382 | 415 02bc 8360 ori r24,lo8(3) |
||
383 | 416 02be 8093 B000 sts 176,r24 |
||
384 | 417 02c2 8091 B100 lds r24,177 |
||
385 | 418 02c6 8B73 andi r24,lo8(59) |
||
386 | 419 02c8 8093 B100 sts 177,r24 |
||
387 | 420 02cc 8091 B100 lds r24,177 |
||
388 | 421 02d0 8B60 ori r24,lo8(11) |
||
389 | 422 02d2 8093 B100 sts 177,r24 |
||
390 | 423 02d6 1092 B200 sts 178,__zero_reg__ |
||
391 | 424 02da 8FEF ldi r24,lo8(-1) |
||
392 | 425 02dc 8093 B300 sts 179,r24 |
||
393 | 426 02e0 8091 B000 lds r24,176 |
||
394 | 427 02e4 8068 ori r24,lo8(-128) |
||
395 | 428 02e6 8093 B000 sts 176,r24 |
||
396 | 429 02ea 8091 7000 lds r24,112 |
||
397 | 430 02ee 8A7F andi r24,lo8(-6) |
||
398 | 431 02f0 8093 7000 sts 112,r24 |
||
399 | 432 02f4 8091 7000 lds r24,112 |
||
400 | 433 02f8 8260 ori r24,lo8(2) |
||
401 | 434 02fa 8093 7000 sts 112,r24 |
||
402 | 435 02fe 4FBF out 95-0x20,r20 |
||
403 | 436 /* epilogue: frame size=0 */ |
||
404 | 437 0300 0895 ret |
||
405 | 438 /* epilogue end (size=1) */ |
||
406 | 439 /* function TIMER2_Init size 65 (64) */ |
||
407 | 441 .global Timer_Init |
||
408 | 443 Timer_Init: |
||
409 | 444 /* prologue: frame size=0 */ |
||
410 | 445 /* prologue end (size=0) */ |
||
411 | 446 0302 8AE0 ldi r24,lo8(10) |
||
412 | 447 0304 90E0 ldi r25,hi8(10) |
||
413 | 448 0306 0E94 0000 call SetDelay |
||
414 | 449 030a 9093 0000 sts (tim_main)+1,r25 |
||
415 | 450 030e 8093 0000 sts tim_main,r24 |
||
416 | 451 0312 82E0 ldi r24,lo8(2) |
||
417 | 452 0314 85BD out 69-0x20,r24 |
||
418 | 453 0316 83EA ldi r24,lo8(-93) |
||
419 | 454 0318 84BD out 68-0x20,r24 |
||
420 | 455 031a 17BC out 71-0x20,__zero_reg__ |
||
421 | 456 031c 84EB ldi r24,lo8(-76) |
||
422 | 457 031e 88BD out 72-0x20,r24 |
||
423 | 458 0320 86E0 ldi r24,lo8(6) |
||
424 | 459 0322 86BD out 70-0x20,r24 |
||
425 | 460 0324 8091 6E00 lds r24,110 |
||
426 | 461 0328 8160 ori r24,lo8(1) |
||
427 | 462 032a 8093 6E00 sts 110,r24 |
||
428 | 463 /* epilogue: frame size=0 */ |
||
429 | 464 032e 0895 ret |
||
430 | 465 /* epilogue end (size=1) */ |
||
431 | 466 /* function Timer_Init size 23 (22) */ |
||
432 | 468 .lcomm PulseOutput.0,1 |
||
433 | 469 .lcomm RemainingPulse.1,2 |
||
434 | 470 .lcomm ServoFrameTime.2,2 |
||
435 | 471 .lcomm ServoIndex.3,1 |
||
436 | 472 .data |
||
437 | 475 ServoNickOffset.4: |
||
438 | 476 0005 FC01 .word 508 |
||
439 | 479 ServoRollOffset.5: |
||
440 | 480 0007 FC01 .word 508 |
||
441 | 481 .text |
||
442 | 482 .global __vector_9 |
||
443 | 484 __vector_9: |
||
444 | 485 /* prologue: frame size=0 */ |
||
445 | 486 0330 1F92 push __zero_reg__ |
||
446 | 487 0332 0F92 push __tmp_reg__ |
||
447 | 488 0334 0FB6 in __tmp_reg__,__SREG__ |
||
448 | 489 0336 0F92 push __tmp_reg__ |
||
449 | 490 0338 1124 clr __zero_reg__ |
||
450 | 491 033a 2F93 push r18 |
||
451 | 492 033c 3F93 push r19 |
||
452 | 493 033e 4F93 push r20 |
||
453 | 494 0340 5F93 push r21 |
||
454 | 495 0342 6F93 push r22 |
||
455 | 496 0344 7F93 push r23 |
||
456 | 497 0346 8F93 push r24 |
||
457 | 498 0348 9F93 push r25 |
||
458 | 499 034a AF93 push r26 |
||
459 | 500 034c BF93 push r27 |
||
460 | 501 034e CF93 push r28 |
||
461 | 502 0350 DF93 push r29 |
||
462 | 503 0352 EF93 push r30 |
||
463 | 504 0354 FF93 push r31 |
||
464 | 505 /* prologue end (size=19) */ |
||
465 | 506 0356 8091 0000 lds r24,PlatinenVersion |
||
466 | 507 035a 8431 cpi r24,lo8(20) |
||
467 | 508 035c 08F0 brlo .+2 |
||
468 | 509 035e 17C1 rjmp .L44 |
||
469 | 510 0360 8091 0000 lds r24,Parameter_UserParam8 |
||
470 | 511 0364 87FD sbrc r24,7 |
||
471 | 512 0366 13C1 rjmp .L44 |
||
472 | 513 0368 8091 0000 lds r24,PulseOutput.0 |
||
473 | 514 036c 8823 tst r24 |
||
474 | 515 036e 09F0 breq .+2 |
||
475 | 516 0370 AEC3 rjmp .L62 |
||
476 | 517 0372 8091 B000 lds r24,176 |
||
477 | 518 0376 86FF sbrs r24,6 |
||
478 | 519 0378 ECC0 rjmp .L46 |
||
479 | 520 037a 8091 B000 lds r24,176 |
||
480 | 521 037e 8F7B andi r24,lo8(-65) |
||
481 | 522 0380 8093 B000 sts 176,r24 |
||
482 | 523 0384 89EA ldi r24,lo8(937) |
||
483 | 524 0386 93E0 ldi r25,hi8(937) |
||
484 | 525 0388 9093 0000 sts (RemainingPulse.1)+1,r25 |
||
485 | 526 038c 8093 0000 sts RemainingPulse.1,r24 |
||
486 | 527 0390 8091 0000 lds r24,ServoNickOffset.4 |
||
487 | 528 0394 9091 0000 lds r25,(ServoNickOffset.4)+1 |
||
488 | 529 0398 9C01 movw r18,r24 |
||
489 | 530 039a 220F lsl r18 |
||
490 | 531 039c 331F rol r19 |
||
491 | 532 039e 280F add r18,r24 |
||
492 | 533 03a0 391F adc r19,r25 |
||
493 | 534 03a2 8091 0000 lds r24,Parameter_ServoNickControl |
||
494 | 535 03a6 9927 clr r25 |
||
495 | 536 03a8 880F lsl r24 |
||
496 | 537 03aa 991F rol r25 |
||
497 | 538 03ac 880F lsl r24 |
||
498 | 539 03ae 991F rol r25 |
||
499 | 540 03b0 280F add r18,r24 |
||
500 | 541 03b2 391F adc r19,r25 |
||
501 | 542 03b4 37FF sbrs r19,7 |
||
502 | 543 03b6 02C0 rjmp .L47 |
||
503 | 544 03b8 2D5F subi r18,lo8(-(3)) |
||
504 | 545 03ba 3F4F sbci r19,hi8(-(3)) |
||
505 | 546 .L47: |
||
506 | 547 03bc C901 movw r24,r18 |
||
507 | 548 03be 9595 asr r25 |
||
508 | 549 03c0 8795 ror r24 |
||
509 | 550 03c2 9595 asr r25 |
||
510 | 551 03c4 8795 ror r24 |
||
511 | 552 03c6 9093 0000 sts (ServoNickOffset.4)+1,r25 |
||
512 | 553 03ca 8093 0000 sts ServoNickOffset.4,r24 |
||
513 | 554 03ce 9093 0000 sts (ServoNickValue)+1,r25 |
||
514 | 555 03d2 8093 0000 sts ServoNickValue,r24 |
||
515 | 556 03d6 8091 0000 lds r24,EE_Parameter+98 |
||
516 | 557 03da 6091 0000 lds r22,EE_Parameter+46 |
||
517 | 558 03de 2091 0000 lds r18,IntegralNick |
||
518 | 559 03e2 3091 0000 lds r19,(IntegralNick)+1 |
||
519 | 560 03e6 4091 0000 lds r20,(IntegralNick)+2 |
||
520 | 561 03ea 5091 0000 lds r21,(IntegralNick)+3 |
||
521 | 562 03ee 80FF sbrs r24,0 |
||
522 | 563 03f0 2CC0 rjmp .L48 |
||
523 | 564 03f2 7727 clr r23 |
||
524 | 565 03f4 8827 clr r24 |
||
525 | 566 03f6 9927 clr r25 |
||
526 | 567 03f8 EA01 movw r28,r20 |
||
527 | 568 03fa D901 movw r26,r18 |
||
528 | 569 03fc 57FF sbrs r21,7 |
||
529 | 570 03fe 04C0 rjmp .L49 |
||
530 | 571 0400 A158 subi r26,lo8(-(127)) |
||
531 | 572 0402 BF4F sbci r27,hi8(-(127)) |
||
532 | 573 0404 CF4F sbci r28,hlo8(-(127)) |
||
533 | 574 0406 DF4F sbci r29,hhi8(-(127)) |
||
534 | 575 .L49: |
||
535 | 576 0408 E7E0 ldi r30,7 |
||
536 | 577 040a D595 1: asr r29 |
||
537 | 578 040c C795 ror r28 |
||
538 | 579 040e B795 ror r27 |
||
539 | 580 0410 A795 ror r26 |
||
540 | 581 0412 EA95 dec r30 |
||
541 | 582 0414 D1F7 brne 1b |
||
542 | 583 0416 9D01 movw r18,r26 |
||
543 | 584 0418 AE01 movw r20,r28 |
||
544 | 585 041a 0E94 0000 call __mulsi3 |
||
545 | 586 041e 9B01 movw r18,r22 |
||
546 | 587 0420 AC01 movw r20,r24 |
||
547 | 588 0422 97FF sbrs r25,7 |
||
548 | 589 0424 04C0 rjmp .L50 |
||
549 | 590 0426 215C subi r18,lo8(-(63)) |
||
550 | 591 0428 3F4F sbci r19,hi8(-(63)) |
||
551 | 592 042a 4F4F sbci r20,hlo8(-(63)) |
||
552 | 593 042c 5F4F sbci r21,hhi8(-(63)) |
||
553 | 594 .L50: |
||
554 | 595 042e 66E0 ldi r22,6 |
||
555 | 596 0430 5595 1: asr r21 |
||
556 | 597 0432 4795 ror r20 |
||
557 | 598 0434 3795 ror r19 |
||
558 | 599 0436 2795 ror r18 |
||
559 | 600 0438 6A95 dec r22 |
||
560 | 601 043a D1F7 brne 1b |
||
561 | 602 043c 8091 0000 lds r24,ServoNickValue |
||
562 | 603 0440 9091 0000 lds r25,(ServoNickValue)+1 |
||
563 | 604 0444 820F add r24,r18 |
||
564 | 605 0446 931F adc r25,r19 |
||
565 | 606 0448 2BC0 rjmp .L121 |
||
566 | 607 .L48: |
||
567 | 608 044a 7727 clr r23 |
||
568 | 609 044c 8827 clr r24 |
||
569 | 610 044e 9927 clr r25 |
||
570 | 611 0450 EA01 movw r28,r20 |
||
571 | 612 0452 D901 movw r26,r18 |
||
572 | 613 0454 57FF sbrs r21,7 |
||
573 | 614 0456 04C0 rjmp .L52 |
||
574 | 615 0458 A158 subi r26,lo8(-(127)) |
||
575 | 616 045a BF4F sbci r27,hi8(-(127)) |
||
576 | 617 045c CF4F sbci r28,hlo8(-(127)) |
||
577 | 618 045e DF4F sbci r29,hhi8(-(127)) |
||
578 | 619 .L52: |
||
579 | 620 0460 27E0 ldi r18,7 |
||
580 | 621 0462 D595 1: asr r29 |
||
581 | 622 0464 C795 ror r28 |
||
582 | 623 0466 B795 ror r27 |
||
583 | 624 0468 A795 ror r26 |
||
584 | 625 046a 2A95 dec r18 |
||
585 | 626 046c D1F7 brne 1b |
||
586 | 627 046e 9D01 movw r18,r26 |
||
587 | 628 0470 AE01 movw r20,r28 |
||
588 | 629 0472 0E94 0000 call __mulsi3 |
||
589 | 630 0476 9B01 movw r18,r22 |
||
590 | 631 0478 AC01 movw r20,r24 |
||
591 | 632 047a 97FF sbrs r25,7 |
||
592 | 633 047c 04C0 rjmp .L53 |
||
593 | 634 047e 215C subi r18,lo8(-(63)) |
||
594 | 635 0480 3F4F sbci r19,hi8(-(63)) |
||
595 | 636 0482 4F4F sbci r20,hlo8(-(63)) |
||
596 | 637 0484 5F4F sbci r21,hhi8(-(63)) |
||
597 | 638 .L53: |
||
598 | 639 0486 F6E0 ldi r31,6 |
||
599 | 640 0488 5595 1: asr r21 |
||
600 | 641 048a 4795 ror r20 |
||
601 | 642 048c 3795 ror r19 |
||
602 | 643 048e 2795 ror r18 |
||
603 | 644 0490 FA95 dec r31 |
||
604 | 645 0492 D1F7 brne 1b |
||
605 | 646 0494 8091 0000 lds r24,ServoNickValue |
||
606 | 647 0498 9091 0000 lds r25,(ServoNickValue)+1 |
||
607 | 648 049c 821B sub r24,r18 |
||
608 | 649 049e 930B sbc r25,r19 |
||
609 | 650 .L121: |
||
610 | 651 04a0 9093 0000 sts (ServoNickValue)+1,r25 |
||
611 | 652 04a4 8093 0000 sts ServoNickValue,r24 |
||
612 | 653 04a8 8091 0000 lds r24,EE_Parameter+47 |
||
613 | 654 04ac 282F mov r18,r24 |
||
614 | 655 04ae 3327 clr r19 |
||
615 | 656 04b0 220F lsl r18 |
||
616 | 657 04b2 331F rol r19 |
||
617 | 658 04b4 220F lsl r18 |
||
618 | 659 04b6 331F rol r19 |
||
619 | 660 04b8 8091 0000 lds r24,ServoNickValue |
||
620 | 661 04bc 9091 0000 lds r25,(ServoNickValue)+1 |
||
621 | 662 04c0 8217 cp r24,r18 |
||
622 | 663 04c2 9307 cpc r25,r19 |
||
623 | 664 04c4 7CF0 brlt .L122 |
||
624 | 665 04c6 8091 0000 lds r24,EE_Parameter+48 |
||
625 | 666 04ca 282F mov r18,r24 |
||
626 | 667 04cc 3327 clr r19 |
||
627 | 668 04ce 220F lsl r18 |
||
628 | 669 04d0 331F rol r19 |
||
629 | 670 04d2 220F lsl r18 |
||
630 | 671 04d4 331F rol r19 |
||
631 | 672 04d6 8091 0000 lds r24,ServoNickValue |
||
632 | 673 04da 9091 0000 lds r25,(ServoNickValue)+1 |
||
633 | 674 04de 2817 cp r18,r24 |
||
634 | 675 04e0 3907 cpc r19,r25 |
||
635 | 676 04e2 24F4 brge .L55 |
||
636 | 677 .L122: |
||
637 | 678 04e4 3093 0000 sts (ServoNickValue)+1,r19 |
||
638 | 679 04e8 2093 0000 sts ServoNickValue,r18 |
||
639 | 680 .L55: |
||
640 | 681 04ec 2091 0000 lds r18,RemainingPulse.1 |
||
641 | 682 04f0 3091 0000 lds r19,(RemainingPulse.1)+1 |
||
642 | 683 04f4 8091 0000 lds r24,ServoNickValue |
||
643 | 684 04f8 9091 0000 lds r25,(ServoNickValue)+1 |
||
644 | 685 04fc 280F add r18,r24 |
||
645 | 686 04fe 391F adc r19,r25 |
||
646 | 687 0500 2050 subi r18,lo8(-(-512)) |
||
647 | 688 0502 3240 sbci r19,hi8(-(-512)) |
||
648 | 689 0504 3093 0000 sts (RemainingPulse.1)+1,r19 |
||
649 | 690 0508 2093 0000 sts RemainingPulse.1,r18 |
||
650 | 691 050c 8091 0000 lds r24,ServoNickValue |
||
651 | 692 0510 9091 0000 lds r25,(ServoNickValue)+1 |
||
652 | 693 0514 97FD sbrc r25,7 |
||
653 | 694 0516 0396 adiw r24,3 |
||
654 | 695 .L57: |
||
655 | 696 0518 9595 asr r25 |
||
656 | 697 051a 8795 ror r24 |
||
657 | 698 051c 9595 asr r25 |
||
658 | 699 051e 8795 ror r24 |
||
659 | 700 0520 9093 0000 sts (ServoNickValue)+1,r25 |
||
660 | 701 0524 8093 0000 sts ServoNickValue,r24 |
||
661 | 702 0528 45E0 ldi r20,hi8(1501) |
||
662 | 703 052a 2D3D cpi r18,lo8(1501) |
||
663 | 704 052c 3407 cpc r19,r20 |
||
664 | 705 052e 18F0 brlo .L58 |
||
665 | 706 0530 8CED ldi r24,lo8(1500) |
||
666 | 707 0532 95E0 ldi r25,hi8(1500) |
||
667 | 708 0534 05C0 rjmp .L123 |
||
668 | 709 .L58: |
||
669 | 710 0536 2757 subi r18,lo8(375) |
||
670 | 711 0538 3140 sbci r19,hi8(375) |
||
671 | 712 053a 30F4 brsh .L59 |
||
672 | 713 053c 87E7 ldi r24,lo8(375) |
||
673 | 714 053e 91E0 ldi r25,hi8(375) |
||
674 | 715 .L123: |
||
675 | 716 0540 9093 0000 sts (RemainingPulse.1)+1,r25 |
||
676 | 717 0544 8093 0000 sts RemainingPulse.1,r24 |
||
677 | 718 .L59: |
||
678 | 719 0548 8091 0000 lds r24,RemainingPulse.1 |
||
679 | 720 054c 9091 0000 lds r25,(RemainingPulse.1)+1 |
||
680 | 721 0550 87C2 rjmp .L134 |
||
681 | 722 .L46: |
||
682 | 723 0552 8091 B000 lds r24,176 |
||
683 | 724 0556 8064 ori r24,lo8(64) |
||
684 | 725 0558 8093 B000 sts 176,r24 |
||
685 | 726 055c 8091 0000 lds r24,EE_Parameter+53 |
||
686 | 727 0560 282F mov r18,r24 |
||
687 | 728 0562 3327 clr r19 |
||
688 | 729 0564 8DED ldi r24,lo8(1757) |
||
689 | 730 0566 96E0 ldi r25,hi8(1757) |
||
690 | 731 0568 289F mul r18,r24 |
||
691 | 732 056a A001 movw r20,r0 |
||
692 | 733 056c 299F mul r18,r25 |
||
693 | 734 056e 500D add r21,r0 |
||
694 | 735 0570 389F mul r19,r24 |
||
695 | 736 0572 500D add r21,r0 |
||
696 | 737 0574 1124 clr r1 |
||
697 | 738 0576 CA01 movw r24,r20 |
||
698 | 739 0578 2091 0000 lds r18,ServoFrameTime.2 |
||
699 | 740 057c 3091 0000 lds r19,(ServoFrameTime.2)+1 |
||
700 | 741 0580 821B sub r24,r18 |
||
701 | 742 0582 930B sbc r25,r19 |
||
702 | 743 0584 9093 0000 sts (RemainingPulse.1)+1,r25 |
||
703 | 744 0588 8093 0000 sts RemainingPulse.1,r24 |
||
704 | 745 058c 9DC2 rjmp .L109 |
||
705 | 746 .L44: |
||
706 | 747 058e 8091 0000 lds r24,PulseOutput.0 |
||
707 | 748 0592 8823 tst r24 |
||
708 | 749 0594 09F0 breq .+2 |
||
709 | 750 0596 9BC2 rjmp .L62 |
||
710 | 751 0598 8091 B000 lds r24,176 |
||
711 | 752 059c 86FF sbrs r24,6 |
||
712 | 753 059e 65C2 rjmp .L64 |
||
713 | 754 05a0 8091 B000 lds r24,176 |
||
714 | 755 05a4 8F7B andi r24,lo8(-65) |
||
715 | 756 05a6 8093 B000 sts 176,r24 |
||
716 | 757 05aa E091 0000 lds r30,ServoIndex.3 |
||
717 | 758 05ae EE23 tst r30 |
||
718 | 759 05b0 F1F4 brne .L65 |
||
719 | 760 05b2 8091 0000 lds r24,EE_Parameter+53 |
||
720 | 761 05b6 282F mov r18,r24 |
||
721 | 762 05b8 3327 clr r19 |
||
722 | 763 05ba 8DED ldi r24,lo8(1757) |
||
723 | 764 05bc 96E0 ldi r25,hi8(1757) |
||
724 | 765 05be 289F mul r18,r24 |
||
725 | 766 05c0 A001 movw r20,r0 |
||
726 | 767 05c2 299F mul r18,r25 |
||
727 | 768 05c4 500D add r21,r0 |
||
728 | 769 05c6 389F mul r19,r24 |
||
729 | 770 05c8 500D add r21,r0 |
||
730 | 771 05ca 1124 clr r1 |
||
731 | 772 05cc CA01 movw r24,r20 |
||
732 | 773 05ce 2091 0000 lds r18,ServoFrameTime.2 |
||
733 | 774 05d2 3091 0000 lds r19,(ServoFrameTime.2)+1 |
||
734 | 775 05d6 821B sub r24,r18 |
||
735 | 776 05d8 930B sbc r25,r19 |
||
736 | 777 05da 9093 0000 sts (RemainingPulse.1)+1,r25 |
||
737 | 778 05de 8093 0000 sts RemainingPulse.1,r24 |
||
738 | 779 05e2 1092 0000 sts (ServoFrameTime.2)+1,__zero_reg__ |
||
739 | 780 05e6 1092 0000 sts ServoFrameTime.2,__zero_reg__ |
||
740 | 781 05ea 469A sbi 40-0x20,6 |
||
741 | 782 05ec 6DC2 rjmp .L109 |
||
742 | 783 .L65: |
||
743 | 784 05ee 49EA ldi r20,lo8(937) |
||
744 | 785 05f0 53E0 ldi r21,hi8(937) |
||
745 | 786 05f2 5093 0000 sts (RemainingPulse.1)+1,r21 |
||
746 | 787 05f6 4093 0000 sts RemainingPulse.1,r20 |
||
747 | 788 05fa 8E2F mov r24,r30 |
||
748 | 789 05fc 9927 clr r25 |
||
749 | 790 05fe 8330 cpi r24,3 |
||
750 | 791 0600 9105 cpc r25,__zero_reg__ |
||
751 | 792 0602 09F4 brne .+2 |
||
752 | 793 0604 A4C1 rjmp .L92 |
||
753 | 794 0606 8430 cpi r24,4 |
||
754 | 795 0608 9105 cpc r25,__zero_reg__ |
||
755 | 796 060a 3CF4 brge .L105 |
||
756 | 797 060c 8130 cpi r24,1 |
||
757 | 798 060e 9105 cpc r25,__zero_reg__ |
||
758 | 799 0610 61F0 breq .L68 |
||
759 | 800 0612 0297 sbiw r24,2 |
||
760 | 801 0614 09F4 brne .+2 |
||
761 | 802 0616 D2C0 rjmp .L80 |
||
762 | 803 0618 ECC1 rjmp .L104 |
||
763 | 804 .L105: |
||
764 | 805 061a 8430 cpi r24,4 |
||
765 | 806 061c 9105 cpc r25,__zero_reg__ |
||
766 | 807 061e 09F4 brne .+2 |
||
767 | 808 0620 DBC1 rjmp .L102 |
||
768 | 809 0622 0597 sbiw r24,5 |
||
769 | 810 0624 09F4 brne .+2 |
||
770 | 811 0626 DBC1 rjmp .L103 |
||
771 | 812 0628 E4C1 rjmp .L104 |
||
772 | 813 .L68: |
||
773 | 814 062a 8091 0000 lds r24,ServoNickOffset.4 |
||
774 | 815 062e 9091 0000 lds r25,(ServoNickOffset.4)+1 |
||
775 | 816 0632 9C01 movw r18,r24 |
||
776 | 817 0634 220F lsl r18 |
||
777 | 818 0636 331F rol r19 |
||
778 | 819 0638 280F add r18,r24 |
||
779 | 820 063a 391F adc r19,r25 |
||
780 | 821 063c 8091 0000 lds r24,Parameter_ServoNickControl |
||
781 | 822 0640 9927 clr r25 |
||
782 | 823 0642 880F lsl r24 |
||
783 | 824 0644 991F rol r25 |
||
784 | 825 0646 880F lsl r24 |
||
785 | 826 0648 991F rol r25 |
||
786 | 827 064a 280F add r18,r24 |
||
787 | 828 064c 391F adc r19,r25 |
||
788 | 829 064e 37FF sbrs r19,7 |
||
789 | 830 0650 02C0 rjmp .L69 |
||
790 | 831 0652 2D5F subi r18,lo8(-(3)) |
||
791 | 832 0654 3F4F sbci r19,hi8(-(3)) |
||
792 | 833 .L69: |
||
793 | 834 0656 C901 movw r24,r18 |
||
794 | 835 0658 9595 asr r25 |
||
795 | 836 065a 8795 ror r24 |
||
796 | 837 065c 9595 asr r25 |
||
797 | 838 065e 8795 ror r24 |
||
798 | 839 0660 9093 0000 sts (ServoNickOffset.4)+1,r25 |
||
799 | 840 0664 8093 0000 sts ServoNickOffset.4,r24 |
||
800 | 841 0668 9093 0000 sts (ServoNickValue)+1,r25 |
||
801 | 842 066c 8093 0000 sts ServoNickValue,r24 |
||
802 | 843 0670 8091 0000 lds r24,EE_Parameter+98 |
||
803 | 844 0674 6091 0000 lds r22,EE_Parameter+46 |
||
804 | 845 0678 2091 0000 lds r18,IntegralNick |
||
805 | 846 067c 3091 0000 lds r19,(IntegralNick)+1 |
||
806 | 847 0680 4091 0000 lds r20,(IntegralNick)+2 |
||
807 | 848 0684 5091 0000 lds r21,(IntegralNick)+3 |
||
808 | 849 0688 80FF sbrs r24,0 |
||
809 | 850 068a 2CC0 rjmp .L70 |
||
810 | 851 068c 7727 clr r23 |
||
811 | 852 068e 8827 clr r24 |
||
812 | 853 0690 9927 clr r25 |
||
813 | 854 0692 EA01 movw r28,r20 |
||
814 | 855 0694 D901 movw r26,r18 |
||
815 | 856 0696 57FF sbrs r21,7 |
||
816 | 857 0698 04C0 rjmp .L71 |
||
817 | 858 069a A158 subi r26,lo8(-(127)) |
||
818 | 859 069c BF4F sbci r27,hi8(-(127)) |
||
819 | 860 069e CF4F sbci r28,hlo8(-(127)) |
||
820 | 861 06a0 DF4F sbci r29,hhi8(-(127)) |
||
821 | 862 .L71: |
||
822 | 863 06a2 27E0 ldi r18,7 |
||
823 | 864 06a4 D595 1: asr r29 |
||
824 | 865 06a6 C795 ror r28 |
||
825 | 866 06a8 B795 ror r27 |
||
826 | 867 06aa A795 ror r26 |
||
827 | 868 06ac 2A95 dec r18 |
||
828 | 869 06ae D1F7 brne 1b |
||
829 | 870 06b0 9D01 movw r18,r26 |
||
830 | 871 06b2 AE01 movw r20,r28 |
||
831 | 872 06b4 0E94 0000 call __mulsi3 |
||
832 | 873 06b8 9B01 movw r18,r22 |
||
833 | 874 06ba AC01 movw r20,r24 |
||
834 | 875 06bc 97FF sbrs r25,7 |
||
835 | 876 06be 04C0 rjmp .L72 |
||
836 | 877 06c0 215C subi r18,lo8(-(63)) |
||
837 | 878 06c2 3F4F sbci r19,hi8(-(63)) |
||
838 | 879 06c4 4F4F sbci r20,hlo8(-(63)) |
||
839 | 880 06c6 5F4F sbci r21,hhi8(-(63)) |
||
840 | 881 .L72: |
||
841 | 882 06c8 F6E0 ldi r31,6 |
||
842 | 883 06ca 5595 1: asr r21 |
||
843 | 884 06cc 4795 ror r20 |
||
844 | 885 06ce 3795 ror r19 |
||
845 | 886 06d0 2795 ror r18 |
||
846 | 887 06d2 FA95 dec r31 |
||
847 | 888 06d4 D1F7 brne 1b |
||
848 | 889 06d6 8091 0000 lds r24,ServoNickValue |
||
849 | 890 06da 9091 0000 lds r25,(ServoNickValue)+1 |
||
850 | 891 06de 820F add r24,r18 |
||
851 | 892 06e0 931F adc r25,r19 |
||
852 | 893 06e2 27C0 rjmp .L124 |
||
853 | 894 .L70: |
||
854 | 895 06e4 7727 clr r23 |
||
855 | 896 06e6 8827 clr r24 |
||
856 | 897 06e8 9927 clr r25 |
||
857 | 898 06ea 57FF sbrs r21,7 |
||
858 | 899 06ec 04C0 rjmp .L74 |
||
859 | 900 06ee 2158 subi r18,lo8(-(127)) |
||
860 | 901 06f0 3F4F sbci r19,hi8(-(127)) |
||
861 | 902 06f2 4F4F sbci r20,hlo8(-(127)) |
||
862 | 903 06f4 5F4F sbci r21,hhi8(-(127)) |
||
863 | 904 .L74: |
||
864 | 905 06f6 E7E0 ldi r30,7 |
||
865 | 906 06f8 5595 1: asr r21 |
||
866 | 907 06fa 4795 ror r20 |
||
867 | 908 06fc 3795 ror r19 |
||
868 | 909 06fe 2795 ror r18 |
||
869 | 910 0700 EA95 dec r30 |
||
870 | 911 0702 D1F7 brne 1b |
||
871 | 912 0704 0E94 0000 call __mulsi3 |
||
872 | 913 0708 9B01 movw r18,r22 |
||
873 | 914 070a AC01 movw r20,r24 |
||
874 | 915 070c 97FF sbrs r25,7 |
||
875 | 916 070e 04C0 rjmp .L75 |
||
876 | 917 0710 215C subi r18,lo8(-(63)) |
||
877 | 918 0712 3F4F sbci r19,hi8(-(63)) |
||
878 | 919 0714 4F4F sbci r20,hlo8(-(63)) |
||
879 | 920 0716 5F4F sbci r21,hhi8(-(63)) |
||
880 | 921 .L75: |
||
881 | 922 0718 66E0 ldi r22,6 |
||
882 | 923 071a 5595 1: asr r21 |
||
883 | 924 071c 4795 ror r20 |
||
884 | 925 071e 3795 ror r19 |
||
885 | 926 0720 2795 ror r18 |
||
886 | 927 0722 6A95 dec r22 |
||
887 | 928 0724 D1F7 brne 1b |
||
888 | 929 0726 8091 0000 lds r24,ServoNickValue |
||
889 | 930 072a 9091 0000 lds r25,(ServoNickValue)+1 |
||
890 | 931 072e 821B sub r24,r18 |
||
891 | 932 0730 930B sbc r25,r19 |
||
892 | 933 .L124: |
||
893 | 934 0732 9093 0000 sts (ServoNickValue)+1,r25 |
||
894 | 935 0736 8093 0000 sts ServoNickValue,r24 |
||
895 | 936 073a 8091 0000 lds r24,EE_Parameter+47 |
||
896 | 937 073e 282F mov r18,r24 |
||
897 | 938 0740 3327 clr r19 |
||
898 | 939 0742 220F lsl r18 |
||
899 | 940 0744 331F rol r19 |
||
900 | 941 0746 220F lsl r18 |
||
901 | 942 0748 331F rol r19 |
||
902 | 943 074a 8091 0000 lds r24,ServoNickValue |
||
903 | 944 074e 9091 0000 lds r25,(ServoNickValue)+1 |
||
904 | 945 0752 8217 cp r24,r18 |
||
905 | 946 0754 9307 cpc r25,r19 |
||
906 | 947 0756 7CF0 brlt .L125 |
||
907 | 948 0758 8091 0000 lds r24,EE_Parameter+48 |
||
908 | 949 075c 282F mov r18,r24 |
||
909 | 950 075e 3327 clr r19 |
||
910 | 951 0760 220F lsl r18 |
||
911 | 952 0762 331F rol r19 |
||
912 | 953 0764 220F lsl r18 |
||
913 | 954 0766 331F rol r19 |
||
914 | 955 0768 8091 0000 lds r24,ServoNickValue |
||
915 | 956 076c 9091 0000 lds r25,(ServoNickValue)+1 |
||
916 | 957 0770 2817 cp r18,r24 |
||
917 | 958 0772 3907 cpc r19,r25 |
||
918 | 959 0774 24F4 brge .L77 |
||
919 | 960 .L125: |
||
920 | 961 0776 3093 0000 sts (ServoNickValue)+1,r19 |
||
921 | 962 077a 2093 0000 sts ServoNickValue,r18 |
||
922 | 963 .L77: |
||
923 | 964 077e 8091 0000 lds r24,RemainingPulse.1 |
||
924 | 965 0782 9091 0000 lds r25,(RemainingPulse.1)+1 |
||
925 | 966 0786 2091 0000 lds r18,ServoNickValue |
||
926 | 967 078a 3091 0000 lds r19,(ServoNickValue)+1 |
||
927 | 968 078e 820F add r24,r18 |
||
928 | 969 0790 931F adc r25,r19 |
||
929 | 970 0792 8050 subi r24,lo8(-(-512)) |
||
930 | 971 0794 9240 sbci r25,hi8(-(-512)) |
||
931 | 972 0796 9093 0000 sts (RemainingPulse.1)+1,r25 |
||
932 | 973 079a 8093 0000 sts RemainingPulse.1,r24 |
||
933 | 974 079e 8091 0000 lds r24,ServoNickValue |
||
934 | 975 07a2 9091 0000 lds r25,(ServoNickValue)+1 |
||
935 | 976 07a6 97FD sbrc r25,7 |
||
936 | 977 07a8 0396 adiw r24,3 |
||
937 | 978 .L79: |
||
938 | 979 07aa 9595 asr r25 |
||
939 | 980 07ac 8795 ror r24 |
||
940 | 981 07ae 9595 asr r25 |
||
941 | 982 07b0 8795 ror r24 |
||
942 | 983 07b2 9093 0000 sts (ServoNickValue)+1,r25 |
||
943 | 984 07b6 8093 0000 sts ServoNickValue,r24 |
||
944 | 985 07ba 2EC1 rjmp .L67 |
||
945 | 986 .L80: |
||
946 | 987 07bc 8091 0000 lds r24,ServoRollOffset.5 |
||
947 | 988 07c0 9091 0000 lds r25,(ServoRollOffset.5)+1 |
||
948 | 989 07c4 9C01 movw r18,r24 |
||
949 | 990 07c6 220F lsl r18 |
||
950 | 991 07c8 331F rol r19 |
||
951 | 992 07ca 280F add r18,r24 |
||
952 | 993 07cc 391F adc r19,r25 |
||
953 | 994 07ce 8091 0000 lds r24,Parameter_ServoRollControl |
||
954 | 995 07d2 9927 clr r25 |
||
955 | 996 07d4 880F lsl r24 |
||
956 | 997 07d6 991F rol r25 |
||
957 | 998 07d8 880F lsl r24 |
||
958 | 999 07da 991F rol r25 |
||
959 | 1000 07dc 280F add r18,r24 |
||
960 | 1001 07de 391F adc r19,r25 |
||
961 | 1002 07e0 37FF sbrs r19,7 |
||
962 | 1003 07e2 02C0 rjmp .L81 |
||
963 | 1004 07e4 2D5F subi r18,lo8(-(3)) |
||
964 | 1005 07e6 3F4F sbci r19,hi8(-(3)) |
||
965 | 1006 .L81: |
||
966 | 1007 07e8 C901 movw r24,r18 |
||
967 | 1008 07ea 9595 asr r25 |
||
968 | 1009 07ec 8795 ror r24 |
||
969 | 1010 07ee 9595 asr r25 |
||
970 | 1011 07f0 8795 ror r24 |
||
971 | 1012 07f2 9093 0000 sts (ServoRollOffset.5)+1,r25 |
||
972 | 1013 07f6 8093 0000 sts ServoRollOffset.5,r24 |
||
973 | 1014 07fa 9093 0000 sts (ServoRollValue)+1,r25 |
||
974 | 1015 07fe 8093 0000 sts ServoRollValue,r24 |
||
975 | 1016 0802 8091 0000 lds r24,EE_Parameter+98 |
||
976 | 1017 0806 6091 0000 lds r22,EE_Parameter+50 |
||
977 | 1018 080a A091 0000 lds r26,IntegralRoll |
||
978 | 1019 080e B091 0000 lds r27,(IntegralRoll)+1 |
||
979 | 1020 0812 C091 0000 lds r28,(IntegralRoll)+2 |
||
980 | 1021 0816 D091 0000 lds r29,(IntegralRoll)+3 |
||
981 | 1022 081a 81FF sbrs r24,1 |
||
982 | 1023 081c 2AC0 rjmp .L82 |
||
983 | 1024 081e 7727 clr r23 |
||
984 | 1025 0820 8827 clr r24 |
||
985 | 1026 0822 9927 clr r25 |
||
986 | 1027 0824 9D01 movw r18,r26 |
||
987 | 1028 0826 AE01 movw r20,r28 |
||
988 | 1029 0828 D7FF sbrs r29,7 |
||
989 | 1030 082a 04C0 rjmp .L83 |
||
990 | 1031 082c 2158 subi r18,lo8(-(127)) |
||
991 | 1032 082e 3F4F sbci r19,hi8(-(127)) |
||
992 | 1033 0830 4F4F sbci r20,hlo8(-(127)) |
||
993 | 1034 0832 5F4F sbci r21,hhi8(-(127)) |
||
994 | 1035 .L83: |
||
995 | 1036 0834 E7E0 ldi r30,7 |
||
996 | 1037 0836 5595 1: asr r21 |
||
997 | 1038 0838 4795 ror r20 |
||
998 | 1039 083a 3795 ror r19 |
||
999 | 1040 083c 2795 ror r18 |
||
1000 | 1041 083e EA95 dec r30 |
||
1001 | 1042 0840 D1F7 brne 1b |
||
1002 | 1043 0842 0E94 0000 call __mulsi3 |
||
1003 | 1044 0846 9B01 movw r18,r22 |
||
1004 | 1045 0848 AC01 movw r20,r24 |
||
1005 | 1046 084a 97FF sbrs r25,7 |
||
1006 | 1047 084c 04C0 rjmp .L84 |
||
1007 | 1048 084e 215C subi r18,lo8(-(63)) |
||
1008 | 1049 0850 3F4F sbci r19,hi8(-(63)) |
||
1009 | 1050 0852 4F4F sbci r20,hlo8(-(63)) |
||
1010 | 1051 0854 5F4F sbci r21,hhi8(-(63)) |
||
1011 | 1052 .L84: |
||
1012 | 1053 0856 C6E0 ldi r28,6 |
||
1013 | 1054 0858 5595 1: asr r21 |
||
1014 | 1055 085a 4795 ror r20 |
||
1015 | 1056 085c 3795 ror r19 |
||
1016 | 1057 085e 2795 ror r18 |
||
1017 | 1058 0860 CA95 dec r28 |
||
1018 | 1059 0862 D1F7 brne 1b |
||
1019 | 1060 0864 8091 0000 lds r24,ServoRollValue |
||
1020 | 1061 0868 9091 0000 lds r25,(ServoRollValue)+1 |
||
1021 | 1062 086c 820F add r24,r18 |
||
1022 | 1063 086e 931F adc r25,r19 |
||
1023 | 1064 0870 29C0 rjmp .L126 |
||
1024 | 1065 .L82: |
||
1025 | 1066 0872 7727 clr r23 |
||
1026 | 1067 0874 8827 clr r24 |
||
1027 | 1068 0876 9927 clr r25 |
||
1028 | 1069 0878 9D01 movw r18,r26 |
||
1029 | 1070 087a AE01 movw r20,r28 |
||
1030 | 1071 087c D7FF sbrs r29,7 |
||
1031 | 1072 087e 04C0 rjmp .L86 |
||
1032 | 1073 0880 2158 subi r18,lo8(-(127)) |
||
1033 | 1074 0882 3F4F sbci r19,hi8(-(127)) |
||
1034 | 1075 0884 4F4F sbci r20,hlo8(-(127)) |
||
1035 | 1076 0886 5F4F sbci r21,hhi8(-(127)) |
||
1036 | 1077 .L86: |
||
1037 | 1078 0888 B7E0 ldi r27,7 |
||
1038 | 1079 088a 5595 1: asr r21 |
||
1039 | 1080 088c 4795 ror r20 |
||
1040 | 1081 088e 3795 ror r19 |
||
1041 | 1082 0890 2795 ror r18 |
||
1042 | 1083 0892 BA95 dec r27 |
||
1043 | 1084 0894 D1F7 brne 1b |
||
1044 | 1085 0896 0E94 0000 call __mulsi3 |
||
1045 | 1086 089a 9B01 movw r18,r22 |
||
1046 | 1087 089c AC01 movw r20,r24 |
||
1047 | 1088 089e 97FF sbrs r25,7 |
||
1048 | 1089 08a0 04C0 rjmp .L87 |
||
1049 | 1090 08a2 215C subi r18,lo8(-(63)) |
||
1050 | 1091 08a4 3F4F sbci r19,hi8(-(63)) |
||
1051 | 1092 08a6 4F4F sbci r20,hlo8(-(63)) |
||
1052 | 1093 08a8 5F4F sbci r21,hhi8(-(63)) |
||
1053 | 1094 .L87: |
||
1054 | 1095 08aa A6E0 ldi r26,6 |
||
1055 | 1096 08ac 5595 1: asr r21 |
||
1056 | 1097 08ae 4795 ror r20 |
||
1057 | 1098 08b0 3795 ror r19 |
||
1058 | 1099 08b2 2795 ror r18 |
||
1059 | 1100 08b4 AA95 dec r26 |
||
1060 | 1101 08b6 D1F7 brne 1b |
||
1061 | 1102 08b8 8091 0000 lds r24,ServoRollValue |
||
1062 | 1103 08bc 9091 0000 lds r25,(ServoRollValue)+1 |
||
1063 | 1104 08c0 821B sub r24,r18 |
||
1064 | 1105 08c2 930B sbc r25,r19 |
||
1065 | 1106 .L126: |
||
1066 | 1107 08c4 9093 0000 sts (ServoRollValue)+1,r25 |
||
1067 | 1108 08c8 8093 0000 sts ServoRollValue,r24 |
||
1068 | 1109 08cc 8091 0000 lds r24,EE_Parameter+51 |
||
1069 | 1110 08d0 282F mov r18,r24 |
||
1070 | 1111 08d2 3327 clr r19 |
||
1071 | 1112 08d4 220F lsl r18 |
||
1072 | 1113 08d6 331F rol r19 |
||
1073 | 1114 08d8 220F lsl r18 |
||
1074 | 1115 08da 331F rol r19 |
||
1075 | 1116 08dc 8091 0000 lds r24,ServoRollValue |
||
1076 | 1117 08e0 9091 0000 lds r25,(ServoRollValue)+1 |
||
1077 | 1118 08e4 8217 cp r24,r18 |
||
1078 | 1119 08e6 9307 cpc r25,r19 |
||
1079 | 1120 08e8 7CF0 brlt .L127 |
||
1080 | 1121 08ea 8091 0000 lds r24,EE_Parameter+52 |
||
1081 | 1122 08ee 282F mov r18,r24 |
||
1082 | 1123 08f0 3327 clr r19 |
||
1083 | 1124 08f2 220F lsl r18 |
||
1084 | 1125 08f4 331F rol r19 |
||
1085 | 1126 08f6 220F lsl r18 |
||
1086 | 1127 08f8 331F rol r19 |
||
1087 | 1128 08fa 8091 0000 lds r24,ServoRollValue |
||
1088 | 1129 08fe 9091 0000 lds r25,(ServoRollValue)+1 |
||
1089 | 1130 0902 2817 cp r18,r24 |
||
1090 | 1131 0904 3907 cpc r19,r25 |
||
1091 | 1132 0906 24F4 brge .L89 |
||
1092 | 1133 .L127: |
||
1093 | 1134 0908 3093 0000 sts (ServoRollValue)+1,r19 |
||
1094 | 1135 090c 2093 0000 sts ServoRollValue,r18 |
||
1095 | 1136 .L89: |
||
1096 | 1137 0910 8091 0000 lds r24,RemainingPulse.1 |
||
1097 | 1138 0914 9091 0000 lds r25,(RemainingPulse.1)+1 |
||
1098 | 1139 0918 2091 0000 lds r18,ServoRollValue |
||
1099 | 1140 091c 3091 0000 lds r19,(ServoRollValue)+1 |
||
1100 | 1141 0920 820F add r24,r18 |
||
1101 | 1142 0922 931F adc r25,r19 |
||
1102 | 1143 0924 8050 subi r24,lo8(-(-512)) |
||
1103 | 1144 0926 9240 sbci r25,hi8(-(-512)) |
||
1104 | 1145 0928 9093 0000 sts (RemainingPulse.1)+1,r25 |
||
1105 | 1146 092c 8093 0000 sts RemainingPulse.1,r24 |
||
1106 | 1147 0930 8091 0000 lds r24,ServoRollValue |
||
1107 | 1148 0934 9091 0000 lds r25,(ServoRollValue)+1 |
||
1108 | 1149 0938 97FD sbrc r25,7 |
||
1109 | 1150 093a 0396 adiw r24,3 |
||
1110 | 1151 .L91: |
||
1111 | 1152 093c 9595 asr r25 |
||
1112 | 1153 093e 8795 ror r24 |
||
1113 | 1154 0940 9595 asr r25 |
||
1114 | 1155 0942 8795 ror r24 |
||
1115 | 1156 0944 9093 0000 sts (ServoRollValue)+1,r25 |
||
1116 | 1157 0948 8093 0000 sts ServoRollValue,r24 |
||
1117 | 1158 094c 65C0 rjmp .L67 |
||
1118 | 1159 .L92: |
||
1119 | 1160 094e 8091 0000 lds r24,EE_Parameter+7 |
||
1120 | 1161 0952 E82F mov r30,r24 |
||
1121 | 1162 0954 FF27 clr r31 |
||
1122 | 1163 0956 EE0F add r30,r30 |
||
1123 | 1164 0958 FF1F adc r31,r31 |
||
1124 | 1165 095a E050 subi r30,lo8(-(PPM_in)) |
||
1125 | 1166 095c F040 sbci r31,hi8(-(PPM_in)) |
||
1126 | 1167 095e 8081 ld r24,Z |
||
1127 | 1168 0960 9181 ldd r25,Z+1 |
||
1128 | 1169 0962 805E subi r24,lo8(-32) |
||
1129 | 1170 0964 9F4F sbci r25,hi8(-32) |
||
1130 | 1171 0966 ACF1 brlt .L132 |
||
1131 | 1172 0968 8081 ld r24,Z |
||
1132 | 1173 096a 9181 ldd r25,Z+1 |
||
1133 | 1174 096c 8197 sbiw r24,33 |
||
1134 | 1175 096e 1CF0 brlt .L95 |
||
1135 | 1176 0970 8CED ldi r24,lo8(1500) |
||
1136 | 1177 0972 95E0 ldi r25,hi8(1500) |
||
1137 | 1178 0974 4DC0 rjmp .L128 |
||
1138 | 1179 .L95: |
||
1139 | 1180 0976 8091 0000 lds r24,CameraShutterCycle |
||
1140 | 1181 097a 9091 0000 lds r25,(CameraShutterCycle)+1 |
||
1141 | 1182 097e C297 sbiw r24,50 |
||
1142 | 1183 0980 78F0 brlo .L129 |
||
1143 | 1184 0982 2091 0000 lds r18,CameraShutterCycleCounter |
||
1144 | 1185 0986 3091 0000 lds r19,(CameraShutterCycleCounter)+1 |
||
1145 | 1186 098a 8091 0000 lds r24,CameraShutterCycle |
||
1146 | 1187 098e 9091 0000 lds r25,(CameraShutterCycle)+1 |
||
1147 | 1188 0992 2817 cp r18,r24 |
||
1148 | 1189 0994 3907 cpc r19,r25 |
||
1149 | 1190 0996 49F4 brne .L99 |
||
1150 | 1191 0998 1092 0000 sts (CameraShutterCycleCounter)+1,__zero_reg__ |
||
1151 | 1192 099c 1092 0000 sts CameraShutterCycleCounter,__zero_reg__ |
||
1152 | 1193 .L129: |
||
1153 | 1194 09a0 5093 0000 sts (RemainingPulse.1)+1,r21 |
||
1154 | 1195 09a4 4093 0000 sts RemainingPulse.1,r20 |
||
1155 | 1196 09a8 37C0 rjmp .L67 |
||
1156 | 1197 .L99: |
||
1157 | 1198 09aa 8091 0000 lds r24,CameraShutterCycleCounter |
||
1158 | 1199 09ae 9091 0000 lds r25,(CameraShutterCycleCounter)+1 |
||
1159 | 1200 09b2 0196 adiw r24,1 |
||
1160 | 1201 09b4 9093 0000 sts (CameraShutterCycleCounter)+1,r25 |
||
1161 | 1202 09b8 8093 0000 sts CameraShutterCycleCounter,r24 |
||
1162 | 1203 09bc 2091 0000 lds r18,CameraShutterCycleCounter |
||
1163 | 1204 09c0 3091 0000 lds r19,(CameraShutterCycleCounter)+1 |
||
1164 | 1205 09c4 8091 0000 lds r24,CameraShutterCycleOnCount |
||
1165 | 1206 09c8 9091 0000 lds r25,(CameraShutterCycleOnCount)+1 |
||
1166 | 1207 09cc 2817 cp r18,r24 |
||
1167 | 1208 09ce 3907 cpc r19,r25 |
||
1168 | 1209 09d0 19F5 brne .L67 |
||
1169 | 1210 .L132: |
||
1170 | 1211 09d2 87E7 ldi r24,lo8(375) |
||
1171 | 1212 09d4 91E0 ldi r25,hi8(375) |
||
1172 | 1213 09d6 1CC0 rjmp .L128 |
||
1173 | 1214 .L102: |
||
1174 | 1215 09d8 8091 0000 lds r24,Parameter_Servo4 |
||
1175 | 1216 09dc 02C0 rjmp .L133 |
||
1176 | 1217 .L103: |
||
1177 | 1218 09de 8091 0000 lds r24,Parameter_Servo5 |
||
1178 | 1219 .L133: |
||
1179 | 1220 09e2 9927 clr r25 |
||
1180 | 1221 09e4 880F lsl r24 |
||
1181 | 1222 09e6 991F rol r25 |
||
1182 | 1223 09e8 880F lsl r24 |
||
1183 | 1224 09ea 991F rol r25 |
||
1184 | 1225 09ec 8755 subi r24,lo8(-(425)) |
||
1185 | 1226 09ee 9E4F sbci r25,hi8(-(425)) |
||
1186 | 1227 09f0 0FC0 rjmp .L128 |
||
1187 | 1228 .L104: |
||
1188 | 1229 09f2 FF27 clr r31 |
||
1189 | 1230 09f4 EE0F add r30,r30 |
||
1190 | 1231 09f6 FF1F adc r31,r31 |
||
1191 | 1232 09f8 E050 subi r30,lo8(-(PPM_in)) |
||
1192 | 1233 09fa F040 sbci r31,hi8(-(PPM_in)) |
||
1193 | 1234 09fc 2081 ld r18,Z |
||
1194 | 1235 09fe 3181 ldd r19,Z+1 |
||
1195 | 1236 0a00 220F add r18,r18 |
||
1196 | 1237 0a02 331F adc r19,r19 |
||
1197 | 1238 0a04 8091 0000 lds r24,RemainingPulse.1 |
||
1198 | 1239 0a08 9091 0000 lds r25,(RemainingPulse.1)+1 |
||
1199 | 1240 0a0c 820F add r24,r18 |
||
1200 | 1241 0a0e 931F adc r25,r19 |
||
1201 | 1242 .L128: |
||
1202 | 1243 0a10 9093 0000 sts (RemainingPulse.1)+1,r25 |
||
1203 | 1244 0a14 8093 0000 sts RemainingPulse.1,r24 |
||
1204 | 1245 .L67: |
||
1205 | 1246 0a18 8091 0000 lds r24,RemainingPulse.1 |
||
1206 | 1247 0a1c 9091 0000 lds r25,(RemainingPulse.1)+1 |
||
1207 | 1248 0a20 45E0 ldi r20,hi8(1501) |
||
1208 | 1249 0a22 8D3D cpi r24,lo8(1501) |
||
1209 | 1250 0a24 9407 cpc r25,r20 |
||
1210 | 1251 0a26 18F0 brlo .L106 |
||
1211 | 1252 0a28 8CED ldi r24,lo8(1500) |
||
1212 | 1253 0a2a 95E0 ldi r25,hi8(1500) |
||
1213 | 1254 0a2c 05C0 rjmp .L130 |
||
1214 | 1255 .L106: |
||
1215 | 1256 0a2e 8757 subi r24,lo8(375) |
||
1216 | 1257 0a30 9140 sbci r25,hi8(375) |
||
1217 | 1258 0a32 30F4 brsh .L107 |
||
1218 | 1259 0a34 87E7 ldi r24,lo8(375) |
||
1219 | 1260 0a36 91E0 ldi r25,hi8(375) |
||
1220 | 1261 .L130: |
||
1221 | 1262 0a38 9093 0000 sts (RemainingPulse.1)+1,r25 |
||
1222 | 1263 0a3c 8093 0000 sts RemainingPulse.1,r24 |
||
1223 | 1264 .L107: |
||
1224 | 1265 0a40 2091 0000 lds r18,RemainingPulse.1 |
||
1225 | 1266 0a44 3091 0000 lds r19,(RemainingPulse.1)+1 |
||
1226 | 1267 0a48 2C5B subi r18,lo8(-(-188)) |
||
1227 | 1268 0a4a 3040 sbci r19,hi8(-(-188)) |
||
1228 | 1269 0a4c 3093 0000 sts (RemainingPulse.1)+1,r19 |
||
1229 | 1270 0a50 2093 0000 sts RemainingPulse.1,r18 |
||
1230 | 1271 0a54 8091 0000 lds r24,ServoFrameTime.2 |
||
1231 | 1272 0a58 9091 0000 lds r25,(ServoFrameTime.2)+1 |
||
1232 | 1273 0a5c 820F add r24,r18 |
||
1233 | 1274 0a5e 931F adc r25,r19 |
||
1234 | 1275 .L134: |
||
1235 | 1276 0a60 9093 0000 sts (ServoFrameTime.2)+1,r25 |
||
1236 | 1277 0a64 8093 0000 sts ServoFrameTime.2,r24 |
||
1237 | 1278 0a68 2FC0 rjmp .L109 |
||
1238 | 1279 .L64: |
||
1239 | 1280 0a6a 8091 B000 lds r24,176 |
||
1240 | 1281 0a6e 8064 ori r24,lo8(64) |
||
1241 | 1282 0a70 8093 B000 sts 176,r24 |
||
1242 | 1283 0a74 8CEB ldi r24,lo8(188) |
||
1243 | 1284 0a76 90E0 ldi r25,hi8(188) |
||
1244 | 1285 0a78 9093 0000 sts (RemainingPulse.1)+1,r25 |
||
1245 | 1286 0a7c 8093 0000 sts RemainingPulse.1,r24 |
||
1246 | 1287 0a80 8091 0000 lds r24,ServoFrameTime.2 |
||
1247 | 1288 0a84 9091 0000 lds r25,(ServoFrameTime.2)+1 |
||
1248 | 1289 0a88 8454 subi r24,lo8(-(188)) |
||
1249 | 1290 0a8a 9F4F sbci r25,hi8(-(188)) |
||
1250 | 1291 0a8c 9093 0000 sts (ServoFrameTime.2)+1,r25 |
||
1251 | 1292 0a90 8093 0000 sts ServoFrameTime.2,r24 |
||
1252 | 1293 0a94 8091 0000 lds r24,ServoActive |
||
1253 | 1294 0a98 8823 tst r24 |
||
1254 | 1295 0a9a 21F0 breq .L112 |
||
1255 | 1296 0a9c 8091 0000 lds r24,SenderOkay |
||
1256 | 1297 0aa0 853B cpi r24,lo8(-75) |
||
1257 | 1298 0aa2 20F4 brsh .L111 |
||
1258 | 1299 .L112: |
||
1259 | 1300 0aa4 8091 0000 lds r24,ServoActive |
||
1260 | 1301 0aa8 8230 cpi r24,lo8(2) |
||
1261 | 1302 0aaa 11F4 brne .L110 |
||
1262 | 1303 .L111: |
||
1263 | 1304 0aac 4698 cbi 40-0x20,6 |
||
1264 | 1305 0aae 01C0 rjmp .L113 |
||
1265 | 1306 .L110: |
||
1266 | 1307 0ab0 469A sbi 40-0x20,6 |
||
1267 | 1308 .L113: |
||
1268 | 1309 0ab2 8091 0000 lds r24,ServoIndex.3 |
||
1269 | 1310 0ab6 8F5F subi r24,lo8(-(1)) |
||
1270 | 1311 0ab8 8093 0000 sts ServoIndex.3,r24 |
||
1271 | 1312 0abc 9091 0000 lds r25,EE_Parameter+53 |
||
1272 | 1313 0ac0 9817 cp r25,r24 |
||
1273 | 1314 0ac2 10F4 brsh .L109 |
||
1274 | 1315 0ac4 1092 0000 sts ServoIndex.3,__zero_reg__ |
||
1275 | 1316 .L109: |
||
1276 | 1317 0ac8 81E0 ldi r24,lo8(1) |
||
1277 | 1318 0aca 8093 0000 sts PulseOutput.0,r24 |
||
1278 | 1319 .L62: |
||
1279 | 1320 0ace 2091 0000 lds r18,RemainingPulse.1 |
||
1280 | 1321 0ad2 3091 0000 lds r19,(RemainingPulse.1)+1 |
||
1281 | 1322 0ad6 81E0 ldi r24,hi8(383) |
||
1282 | 1323 0ad8 2F37 cpi r18,lo8(383) |
||
1283 | 1324 0ada 3807 cpc r19,r24 |
||
1284 | 1325 0adc 30F0 brlo .L115 |
||
1285 | 1326 0ade 8FEF ldi r24,lo8(-1) |
||
1286 | 1327 0ae0 8093 B300 sts 179,r24 |
||
1287 | 1328 0ae4 2F5F subi r18,lo8(-(-255)) |
||
1288 | 1329 0ae6 3040 sbci r19,hi8(-(-255)) |
||
1289 | 1330 0ae8 0FC0 rjmp .L131 |
||
1290 | 1331 .L115: |
||
1291 | 1332 0aea 2F3F cpi r18,255 |
||
1292 | 1333 0aec 3105 cpc r19,__zero_reg__ |
||
1293 | 1334 0aee C9F0 breq .L117 |
||
1294 | 1335 0af0 C0F0 brlo .L117 |
||
1295 | 1336 0af2 A901 movw r20,r18 |
||
1296 | 1337 0af4 4F5F subi r20,lo8(-(-255)) |
||
1297 | 1338 0af6 5040 sbci r21,hi8(-(-255)) |
||
1298 | 1339 0af8 4F37 cpi r20,127 |
||
1299 | 1340 0afa 5105 cpc r21,__zero_reg__ |
||
1300 | 1341 0afc 50F4 brsh .L118 |
||
1301 | 1342 0afe 80E8 ldi r24,lo8(-128) |
||
1302 | 1343 0b00 8093 B300 sts 179,r24 |
||
1303 | 1344 0b04 2058 subi r18,lo8(-(-128)) |
||
1304 | 1345 0b06 3040 sbci r19,hi8(-(-128)) |
||
1305 | 1346 .L131: |
||
1306 | 1347 0b08 3093 0000 sts (RemainingPulse.1)+1,r19 |
||
1307 | 1348 0b0c 2093 0000 sts RemainingPulse.1,r18 |
||
1308 | 1349 0b10 12C0 rjmp .L43 |
||
1309 | 1350 .L118: |
||
1310 | 1351 0b12 8FEF ldi r24,lo8(-1) |
||
1311 | 1352 0b14 8093 B300 sts 179,r24 |
||
1312 | 1353 0b18 5093 0000 sts (RemainingPulse.1)+1,r21 |
||
1313 | 1354 0b1c 4093 0000 sts RemainingPulse.1,r20 |
||
1314 | 1355 0b20 0AC0 rjmp .L43 |
||
1315 | 1356 .L117: |
||
1316 | 1357 0b22 8091 0000 lds r24,RemainingPulse.1 |
||
1317 | 1358 0b26 8093 B300 sts 179,r24 |
||
1318 | 1359 0b2a 1092 0000 sts (RemainingPulse.1)+1,__zero_reg__ |
||
1319 | 1360 0b2e 1092 0000 sts RemainingPulse.1,__zero_reg__ |
||
1320 | 1361 0b32 1092 0000 sts PulseOutput.0,__zero_reg__ |
||
1321 | 1362 .L43: |
||
1322 | 1363 /* epilogue: frame size=0 */ |
||
1323 | 1364 0b36 FF91 pop r31 |
||
1324 | 1365 0b38 EF91 pop r30 |
||
1325 | 1366 0b3a DF91 pop r29 |
||
1326 | 1367 0b3c CF91 pop r28 |
||
1327 | 1368 0b3e BF91 pop r27 |
||
1328 | 1369 0b40 AF91 pop r26 |
||
1329 | 1370 0b42 9F91 pop r25 |
||
1330 | 1371 0b44 8F91 pop r24 |
||
1331 | 1372 0b46 7F91 pop r23 |
||
1332 | 1373 0b48 6F91 pop r22 |
||
1333 | 1374 0b4a 5F91 pop r21 |
||
1334 | 1375 0b4c 4F91 pop r20 |
||
1335 | 1376 0b4e 3F91 pop r19 |
||
1336 | 1377 0b50 2F91 pop r18 |
||
1337 | 1378 0b52 0F90 pop __tmp_reg__ |
||
1338 | 1379 0b54 0FBE out __SREG__,__tmp_reg__ |
||
1339 | 1380 0b56 0F90 pop __tmp_reg__ |
||
1340 | 1381 0b58 1F90 pop __zero_reg__ |
||
1341 | 1382 0b5a 1895 reti |
||
1342 | 1383 /* epilogue end (size=19) */ |
||
1343 | 1384 /* function __vector_9 size 1056 (1018) */ |
||
1344 | 1386 .lcomm tim_main,2 |
||
1345 | 1387 /* File "timer0.c": code 1469 = 0x05bd (1385), prologues 39, epilogues 45 */ |
||
1346 | DEFINED SYMBOLS |
||
1347 | *ABS*:00000000 timer0.c |
||
1348 | C:\Users\Arthur-P\AppData\Local\Temp/ccIhcaaa.s:3 *ABS*:0000003f __SREG__ |
||
1349 | C:\Users\Arthur-P\AppData\Local\Temp/ccIhcaaa.s:4 *ABS*:0000003e __SP_H__ |
||
1350 | C:\Users\Arthur-P\AppData\Local\Temp/ccIhcaaa.s:5 *ABS*:0000003d __SP_L__ |
||
1351 | C:\Users\Arthur-P\AppData\Local\Temp/ccIhcaaa.s:6 *ABS*:00000000 __tmp_reg__ |
||
1352 | C:\Users\Arthur-P\AppData\Local\Temp/ccIhcaaa.s:7 *ABS*:00000001 __zero_reg__ |
||
1353 | C:\Users\Arthur-P\AppData\Local\Temp/ccIhcaaa.s:15 .bss:00000000 ServoRollValue |
||
1354 | C:\Users\Arthur-P\AppData\Local\Temp/ccIhcaaa.s:21 .bss:00000002 ServoNickValue |
||
1355 | C:\Users\Arthur-P\AppData\Local\Temp/ccIhcaaa.s:27 .data:00000000 BeepMuster |
||
1356 | C:\Users\Arthur-P\AppData\Local\Temp/ccIhcaaa.s:34 .bss:00000004 ServoActive |
||
1357 | C:\Users\Arthur-P\AppData\Local\Temp/ccIhcaaa.s:40 .bss:00000005 SendSPI |
||
1358 | C:\Users\Arthur-P\AppData\Local\Temp/ccIhcaaa.s:46 .bss:00000006 beeptime |
||
1359 | C:\Users\Arthur-P\AppData\Local\Temp/ccIhcaaa.s:52 .bss:00000008 cntKompass |
||
1360 | C:\Users\Arthur-P\AppData\Local\Temp/ccIhcaaa.s:58 .bss:0000000a UpdateMotor |
||
1361 | C:\Users\Arthur-P\AppData\Local\Temp/ccIhcaaa.s:64 .bss:0000000b CountMilliseconds |
||
1362 | C:\Users\Arthur-P\AppData\Local\Temp/ccIhcaaa.s:69 .data:00000002 CameraShutterCycleOnCount |
||
1363 | .bss:0000000d CameraShutterCycleCounter |
||
1364 | C:\Users\Arthur-P\AppData\Local\Temp/ccIhcaaa.s:71 .bss:0000000f CameraShutterCycle |
||
1365 | C:\Users\Arthur-P\AppData\Local\Temp/ccIhcaaa.s:75 .data:00000004 cnt_1ms.6 |
||
1366 | C:\Users\Arthur-P\AppData\Local\Temp/ccIhcaaa.s:72 .bss:00000011 cnt.7 |
||
1367 | C:\Users\Arthur-P\AppData\Local\Temp/ccIhcaaa.s:77 .bss:00000012 compass_active.8 |
||
1368 | C:\Users\Arthur-P\AppData\Local\Temp/ccIhcaaa.s:82 .text:00000000 __vector_18 |
||
1369 | C:\Users\Arthur-P\AppData\Local\Temp/ccIhcaaa.s:301 .text:0000020e SetDelay |
||
1370 | C:\Users\Arthur-P\AppData\Local\Temp/ccIhcaaa.s:317 .text:00000220 CheckDelay |
||
1371 | C:\Users\Arthur-P\AppData\Local\Temp/ccIhcaaa.s:336 .text:00000238 Delay_ms |
||
1372 | C:\Users\Arthur-P\AppData\Local\Temp/ccIhcaaa.s:357 .text:00000252 Delay_ms_Mess |
||
1373 | C:\Users\Arthur-P\AppData\Local\Temp/ccIhcaaa.s:387 .text:00000282 TIMER2_Init |
||
1374 | C:\Users\Arthur-P\AppData\Local\Temp/ccIhcaaa.s:443 .text:00000302 Timer_Init |
||
1375 | C:\Users\Arthur-P\AppData\Local\Temp/ccIhcaaa.s:471 .bss:00000019 tim_main |
||
1376 | C:\Users\Arthur-P\AppData\Local\Temp/ccIhcaaa.s:78 .bss:00000013 PulseOutput.0 |
||
1377 | C:\Users\Arthur-P\AppData\Local\Temp/ccIhcaaa.s:468 .bss:00000014 RemainingPulse.1 |
||
1378 | C:\Users\Arthur-P\AppData\Local\Temp/ccIhcaaa.s:469 .bss:00000016 ServoFrameTime.2 |
||
1379 | C:\Users\Arthur-P\AppData\Local\Temp/ccIhcaaa.s:470 .bss:00000018 ServoIndex.3 |
||
1380 | C:\Users\Arthur-P\AppData\Local\Temp/ccIhcaaa.s:475 .data:00000005 ServoNickOffset.4 |
||
1381 | C:\Users\Arthur-P\AppData\Local\Temp/ccIhcaaa.s:479 .data:00000007 ServoRollOffset.5 |
||
1382 | C:\Users\Arthur-P\AppData\Local\Temp/ccIhcaaa.s:484 .text:00000330 __vector_9 |
||
1383 | |||
1384 | UNDEFINED SYMBOLS |
||
1385 | __do_copy_data |
||
1386 | __do_clear_bss |
||
1387 | SpektrumTimer |
||
1388 | PlatinenVersion |
||
1389 | NaviDataOkay |
||
1390 | EE_Parameter |
||
1391 | __udivmodhi4 |
||
1392 | KompassValue |
||
1393 | KompassStartwert |
||
1394 | __divmodhi4 |
||
1395 | KompassRichtung |
||
1396 | AdReady |
||
1397 | Parameter_UserParam8 |
||
1398 | Parameter_ServoNickControl |
||
1399 | IntegralNick |
||
1400 | __mulsi3 |
||
1401 | Parameter_ServoRollControl |
||
1402 | IntegralRoll |
||
1403 | PPM_in |
||
1404 | Parameter_Servo4 |
||
1405 | Parameter_Servo5 |
||
1406 | SenderOkay |