Rev 1189 | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
1189 | kmpec | 1 | 1 .file "timer0.c" |
2 | 2 __SREG__ = 0x3f |
||
3 | 3 __SP_H__ = 0x3e |
||
4 | 4 __SP_L__ = 0x3d |
||
5 | 5 __tmp_reg__ = 0 |
||
6 | 6 __zero_reg__ = 1 |
||
7 | 7 .global __do_copy_data |
||
8 | 8 .global __do_clear_bss |
||
9 | 9 .text |
||
10 | 10 .global __vector_18 |
||
11 | 12 __vector_18: |
||
12 | 13 /* prologue: frame size=0 */ |
||
13 | 14 0000 1F92 push __zero_reg__ |
||
14 | 15 0002 0F92 push __tmp_reg__ |
||
15 | 16 0004 0FB6 in __tmp_reg__,__SREG__ |
||
16 | 17 0006 0F92 push __tmp_reg__ |
||
17 | 18 0008 1124 clr __zero_reg__ |
||
18 | 19 000a 2F93 push r18 |
||
19 | 20 000c 3F93 push r19 |
||
20 | 21 000e 5F93 push r21 |
||
21 | 22 0010 6F93 push r22 |
||
22 | 23 0012 7F93 push r23 |
||
23 | 24 0014 8F93 push r24 |
||
24 | 25 0016 9F93 push r25 |
||
25 | 26 0018 AF93 push r26 |
||
26 | 27 001a BF93 push r27 |
||
27 | 28 /* prologue end (size=14) */ |
||
28 | 29 001c 8091 0000 lds r24,SendSPI |
||
29 | 30 0020 8823 tst r24 |
||
30 | 31 0022 01F0 breq .L2 |
||
31 | 32 0024 8091 0000 lds r24,SendSPI |
||
32 | 33 0028 8150 subi r24,lo8(-(-1)) |
||
33 | 34 002a 8093 0000 sts SendSPI,r24 |
||
34 | 35 .L2: |
||
35 | 36 002e 8091 0000 lds r24,cnt.2378 |
||
36 | 37 0032 8150 subi r24,lo8(-(-1)) |
||
37 | 38 0034 8093 0000 sts cnt.2378,r24 |
||
38 | 39 0038 8F3F cpi r24,lo8(-1) |
||
39 | 40 003a 01F4 brne .+2 |
||
40 | 41 003c 00C0 rjmp .L30 |
||
41 | 42 .L4: |
||
42 | 43 003e 8091 0000 lds r24,beeptime |
||
43 | 44 0042 9091 0000 lds r25,(beeptime)+1 |
||
44 | 45 0046 0297 sbiw r24,2 |
||
45 | 46 0048 00F0 brlo .L8 |
||
46 | 47 004a 8091 0000 lds r24,beeptime |
||
47 | 48 004e 9091 0000 lds r25,(beeptime)+1 |
||
48 | 49 0052 0197 sbiw r24,1 |
||
49 | 50 0054 9093 0000 sts (beeptime)+1,r25 |
||
50 | 51 0058 8093 0000 sts beeptime,r24 |
||
51 | 52 005c 8091 0000 lds r24,beeptime |
||
52 | 53 0060 9091 0000 lds r25,(beeptime)+1 |
||
53 | 54 0064 2091 0000 lds r18,BeepMuster |
||
54 | 55 0068 3091 0000 lds r19,(BeepMuster)+1 |
||
55 | 56 006c 8223 and r24,r18 |
||
56 | 57 006e 9323 and r25,r19 |
||
57 | 58 0070 892B or r24,r25 |
||
58 | 59 0072 01F0 breq .L11 |
||
59 | 60 0074 8091 0000 lds r24,PlatinenVersion |
||
60 | 61 0078 8A30 cpi r24,lo8(10) |
||
61 | 62 007a 01F4 brne .+2 |
||
62 | 63 007c 00C0 rjmp .L31 |
||
63 | 64 007e 479A sbi 40-0x20,7 |
||
64 | 65 0080 00C0 rjmp .L15 |
||
65 | 66 .L8: |
||
66 | 67 0082 8FEF ldi r24,lo8(-1) |
||
67 | 68 0084 9FEF ldi r25,hi8(-1) |
||
68 | 69 0086 9093 0000 sts (BeepMuster)+1,r25 |
||
69 | 70 008a 8093 0000 sts BeepMuster,r24 |
||
70 | 71 .L11: |
||
71 | 72 008e 8091 0000 lds r24,PlatinenVersion |
||
72 | 73 0092 8A30 cpi r24,lo8(10) |
||
73 | 74 0094 01F4 brne .+2 |
||
74 | 75 0096 00C0 rjmp .L32 |
||
75 | 76 0098 4798 cbi 40-0x20,7 |
||
76 | 77 .L15: |
||
77 | 78 009a 8091 0000 lds r24,EE_Parameter+8 |
||
78 | 79 009e 83FF sbrs r24,3 |
||
79 | 80 00a0 00C0 rjmp .L26 |
||
80 | 81 00a2 349B sbis 38-0x20,4 |
||
81 | 82 00a4 00C0 rjmp .L19 |
||
82 | 83 00a6 8091 0000 lds r24,cntKompass |
||
83 | 84 00aa 9091 0000 lds r25,(cntKompass)+1 |
||
84 | 85 00ae 0196 adiw r24,1 |
||
85 | 86 00b0 9093 0000 sts (cntKompass)+1,r25 |
||
86 | 87 00b4 8093 0000 sts cntKompass,r24 |
||
87 | 88 00b8 00C0 rjmp .L26 |
||
88 | 89 .L19: |
||
89 | 90 00ba 8091 0000 lds r24,cntKompass |
||
90 | 91 00be 9091 0000 lds r25,(cntKompass)+1 |
||
91 | 92 00c2 892B or r24,r25 |
||
92 | 93 00c4 01F0 breq .L21 |
||
93 | 94 00c6 8091 0000 lds r24,cntKompass |
||
94 | 95 00ca 9091 0000 lds r25,(cntKompass)+1 |
||
95 | 96 00ce 8A56 subi r24,lo8(362) |
||
96 | 97 00d0 9140 sbci r25,hi8(362) |
||
97 | 98 00d2 00F4 brsh .L21 |
||
98 | 99 00d4 8091 0000 lds r24,cntKompass |
||
99 | 100 00d8 9091 0000 lds r25,(cntKompass)+1 |
||
100 | 101 00dc 2091 0000 lds r18,cntKompass |
||
101 | 102 00e0 3091 0000 lds r19,(cntKompass)+1 |
||
102 | 103 00e4 69E2 ldi r22,lo8(41) |
||
103 | 104 00e6 70E0 ldi r23,hi8(41) |
||
104 | 105 00e8 0E94 0000 call __udivmodhi4 |
||
105 | 106 00ec 260F add r18,r22 |
||
106 | 107 00ee 371F adc r19,r23 |
||
107 | 108 00f0 3093 0000 sts (cntKompass)+1,r19 |
||
108 | 109 00f4 2093 0000 sts cntKompass,r18 |
||
109 | 110 00f8 8091 0000 lds r24,cntKompass |
||
110 | 111 00fc 9091 0000 lds r25,(cntKompass)+1 |
||
111 | 112 0100 0B97 sbiw r24,11 |
||
112 | 113 0102 00F4 brsh .+2 |
||
113 | 114 0104 00C0 rjmp .L24 |
||
114 | 115 0106 8091 0000 lds r24,cntKompass |
||
115 | 116 010a 9091 0000 lds r25,(cntKompass)+1 |
||
116 | 117 010e 0A97 sbiw r24,10 |
||
117 | 118 0110 9093 0000 sts (KompassValue)+1,r25 |
||
118 | 119 0114 8093 0000 sts KompassValue,r24 |
||
119 | 120 .L21: |
||
120 | 121 0118 8091 0000 lds r24,KompassValue |
||
121 | 122 011c 9091 0000 lds r25,(KompassValue)+1 |
||
122 | 123 0120 845E subi r24,lo8(-(540)) |
||
123 | 124 0122 9D4F sbci r25,hi8(-(540)) |
||
124 | 125 0124 2091 0000 lds r18,KompassStartwert |
||
125 | 126 0128 3091 0000 lds r19,(KompassStartwert)+1 |
||
126 | 127 012c 821B sub r24,r18 |
||
127 | 128 012e 930B sbc r25,r19 |
||
128 | 129 0130 68E6 ldi r22,lo8(360) |
||
129 | 130 0132 71E0 ldi r23,hi8(360) |
||
130 | 131 0134 0E94 0000 call __divmodhi4 |
||
131 | 132 0138 845B subi r24,lo8(-(-180)) |
||
132 | 133 013a 9040 sbci r25,hi8(-(-180)) |
||
133 | 134 013c 9093 0000 sts (KompassRichtung)+1,r25 |
||
134 | 135 0140 8093 0000 sts KompassRichtung,r24 |
||
135 | 136 0144 1092 0000 sts (cntKompass)+1,__zero_reg__ |
||
136 | 137 0148 1092 0000 sts cntKompass,__zero_reg__ |
||
137 | 138 014c 00C0 rjmp .L26 |
||
138 | 139 .L30: |
||
139 | 140 014e 89E0 ldi r24,lo8(9) |
||
140 | 141 0150 8093 0000 sts cnt.2378,r24 |
||
141 | 142 0154 8091 0000 lds r24,cnt_1ms.2377 |
||
142 | 143 0158 8F5F subi r24,lo8(-(1)) |
||
143 | 144 015a 8170 andi r24,lo8(1) |
||
144 | 145 015c 8093 0000 sts cnt_1ms.2377,r24 |
||
145 | 146 0160 8823 tst r24 |
||
146 | 147 0162 01F4 brne .L6 |
||
147 | 148 0164 81E0 ldi r24,lo8(1) |
||
148 | 149 0166 8093 0000 sts UpdateMotor,r24 |
||
149 | 150 .L6: |
||
150 | 151 016a 8091 0000 lds r24,CountMilliseconds |
||
151 | 152 016e 9091 0000 lds r25,(CountMilliseconds)+1 |
||
152 | 153 0172 0196 adiw r24,1 |
||
153 | 154 0174 9093 0000 sts (CountMilliseconds)+1,r25 |
||
154 | 155 0178 8093 0000 sts CountMilliseconds,r24 |
||
155 | 156 017c 00C0 rjmp .L4 |
||
156 | 157 .L32: |
||
157 | 158 017e 5A98 cbi 43-0x20,2 |
||
158 | 159 0180 00C0 rjmp .L15 |
||
159 | 160 .L31: |
||
160 | 161 0182 5A9A sbi 43-0x20,2 |
||
161 | 162 0184 00C0 rjmp .L15 |
||
162 | 163 .L24: |
||
163 | 164 0186 1092 0000 sts (KompassValue)+1,__zero_reg__ |
||
164 | 165 018a 1092 0000 sts KompassValue,__zero_reg__ |
||
165 | 166 018e 00C0 rjmp .L21 |
||
166 | 167 .L26: |
||
167 | 168 /* epilogue: frame size=0 */ |
||
168 | 169 0190 BF91 pop r27 |
||
169 | 170 0192 AF91 pop r26 |
||
170 | 171 0194 9F91 pop r25 |
||
171 | 172 0196 8F91 pop r24 |
||
172 | 173 0198 7F91 pop r23 |
||
173 | 174 019a 6F91 pop r22 |
||
174 | 175 019c 5F91 pop r21 |
||
175 | 176 019e 3F91 pop r19 |
||
176 | 177 01a0 2F91 pop r18 |
||
177 | 178 01a2 0F90 pop __tmp_reg__ |
||
178 | 179 01a4 0FBE out __SREG__,__tmp_reg__ |
||
179 | 180 01a6 0F90 pop __tmp_reg__ |
||
180 | 181 01a8 1F90 pop __zero_reg__ |
||
181 | 182 01aa 1895 reti |
||
182 | 183 /* epilogue end (size=14) */ |
||
183 | 184 /* function __vector_18 size 217 (189) */ |
||
184 | 186 .global SetDelay |
||
185 | 188 SetDelay: |
||
186 | 189 /* prologue: frame size=0 */ |
||
187 | 190 /* prologue end (size=0) */ |
||
188 | 191 01ac 2091 0000 lds r18,CountMilliseconds |
||
189 | 192 01b0 3091 0000 lds r19,(CountMilliseconds)+1 |
||
190 | 193 01b4 2F5F subi r18,lo8(-(1)) |
||
191 | 194 01b6 3F4F sbci r19,hi8(-(1)) |
||
192 | 195 01b8 820F add r24,r18 |
||
193 | 196 01ba 931F adc r25,r19 |
||
194 | 197 /* epilogue: frame size=0 */ |
||
195 | 198 01bc 0895 ret |
||
196 | 199 /* epilogue end (size=1) */ |
||
197 | 200 /* function SetDelay size 9 (8) */ |
||
198 | 202 .global CheckDelay |
||
199 | 204 CheckDelay: |
||
200 | 205 /* prologue: frame size=0 */ |
||
201 | 206 /* prologue end (size=0) */ |
||
202 | 207 01be 2091 0000 lds r18,CountMilliseconds |
||
203 | 208 01c2 3091 0000 lds r19,(CountMilliseconds)+1 |
||
204 | 209 01c6 821B sub r24,r18 |
||
205 | 210 01c8 930B sbc r25,r19 |
||
206 | 211 01ca 892F mov r24,r25 |
||
207 | 212 01cc 9927 clr r25 |
||
208 | 213 01ce 8695 lsr r24 |
||
209 | 214 01d0 8074 andi r24,lo8(64) |
||
210 | 215 01d2 90E0 ldi r25,lo8(0) |
||
211 | 216 /* epilogue: frame size=0 */ |
||
212 | 217 01d4 0895 ret |
||
213 | 218 /* epilogue end (size=1) */ |
||
214 | 219 /* function CheckDelay size 12 (11) */ |
||
215 | 221 .global Delay_ms |
||
216 | 223 Delay_ms: |
||
217 | 224 /* prologue: frame size=0 */ |
||
218 | 225 01d6 CF93 push r28 |
||
219 | 226 01d8 DF93 push r29 |
||
220 | 227 /* prologue end (size=2) */ |
||
221 | 228 01da 0E94 0000 call SetDelay |
||
222 | 229 01de EC01 movw r28,r24 |
||
223 | 230 .L38: |
||
224 | 231 01e0 CE01 movw r24,r28 |
||
225 | 232 01e2 0E94 0000 call CheckDelay |
||
226 | 233 01e6 8823 tst r24 |
||
227 | 234 01e8 01F0 breq .L38 |
||
228 | 235 /* epilogue: frame size=0 */ |
||
229 | 236 01ea DF91 pop r29 |
||
230 | 237 01ec CF91 pop r28 |
||
231 | 238 01ee 0895 ret |
||
232 | 239 /* epilogue end (size=3) */ |
||
233 | 240 /* function Delay_ms size 13 (8) */ |
||
234 | 242 .global Delay_ms_Mess |
||
235 | 244 Delay_ms_Mess: |
||
236 | 245 /* prologue: frame size=0 */ |
||
237 | 246 01f0 CF93 push r28 |
||
238 | 247 01f2 DF93 push r29 |
||
239 | 248 /* prologue end (size=2) */ |
||
240 | 249 01f4 0E94 0000 call SetDelay |
||
241 | 250 01f8 EC01 movw r28,r24 |
||
242 | 251 01fa 00C0 rjmp .L52 |
||
243 | 252 .L45: |
||
244 | 253 01fc 8091 0000 lds r24,AdReady |
||
245 | 254 0200 8823 tst r24 |
||
246 | 255 0202 01F0 breq .L52 |
||
247 | 256 0204 1092 0000 sts AdReady,__zero_reg__ |
||
248 | 257 0208 8FEC ldi r24,lo8(-49) |
||
249 | 258 020a 8093 7A00 sts 122,r24 |
||
250 | 259 .L52: |
||
251 | 260 020e CE01 movw r24,r28 |
||
252 | 261 0210 0E94 0000 call CheckDelay |
||
253 | 262 0214 8823 tst r24 |
||
254 | 263 0216 01F0 breq .L45 |
||
255 | 264 /* epilogue: frame size=0 */ |
||
256 | 265 0218 DF91 pop r29 |
||
257 | 266 021a CF91 pop r28 |
||
258 | 267 021c 0895 ret |
||
259 | 268 /* epilogue end (size=3) */ |
||
260 | 269 /* function Delay_ms_Mess size 23 (18) */ |
||
261 | 271 .global TIMER2_Init |
||
262 | 273 TIMER2_Init: |
||
263 | 274 /* prologue: frame size=0 */ |
||
264 | 275 /* prologue end (size=0) */ |
||
265 | 276 021e 9FB7 in r25,95-0x20 |
||
266 | 277 /* #APP */ |
||
267 | 278 0220 F894 cli |
||
268 | 279 /* #NOAPP */ |
||
269 | 280 0222 579A sbi 42-0x20,7 |
||
270 | 281 0224 5F98 cbi 43-0x20,7 |
||
271 | 282 0226 3E9A sbi 39-0x20,6 |
||
272 | 283 0228 469A sbi 40-0x20,6 |
||
273 | 284 022a A0EB ldi r26,lo8(176) |
||
274 | 285 022c B0E0 ldi r27,hi8(176) |
||
275 | 286 022e 8C91 ld r24,X |
||
276 | 287 0230 8F70 andi r24,lo8(15) |
||
277 | 288 0232 8C93 st X,r24 |
||
278 | 289 0234 8C91 ld r24,X |
||
279 | 290 0236 8360 ori r24,lo8(3) |
||
280 | 291 0238 8C93 st X,r24 |
||
281 | 292 023a E1EB ldi r30,lo8(177) |
||
282 | 293 023c F0E0 ldi r31,hi8(177) |
||
283 | 294 023e 8081 ld r24,Z |
||
284 | 295 0240 8B73 andi r24,lo8(59) |
||
285 | 296 0242 8083 st Z,r24 |
||
286 | 297 0244 8081 ld r24,Z |
||
287 | 298 0246 8B60 ori r24,lo8(11) |
||
288 | 299 0248 8083 st Z,r24 |
||
289 | 300 024a 1092 B200 sts 178,__zero_reg__ |
||
290 | 301 024e 8FEF ldi r24,lo8(-1) |
||
291 | 302 0250 8093 B300 sts 179,r24 |
||
292 | 303 0254 8C91 ld r24,X |
||
293 | 304 0256 8068 ori r24,lo8(-128) |
||
294 | 305 0258 8C93 st X,r24 |
||
295 | 306 025a E0E7 ldi r30,lo8(112) |
||
296 | 307 025c F0E0 ldi r31,hi8(112) |
||
297 | 308 025e 8081 ld r24,Z |
||
298 | 309 0260 8A7F andi r24,lo8(-6) |
||
299 | 310 0262 8083 st Z,r24 |
||
300 | 311 0264 8081 ld r24,Z |
||
301 | 312 0266 8260 ori r24,lo8(2) |
||
302 | 313 0268 8083 st Z,r24 |
||
303 | 314 026a 9FBF out 95-0x20,r25 |
||
304 | 315 /* epilogue: frame size=0 */ |
||
305 | 316 026c 0895 ret |
||
306 | 317 /* epilogue end (size=1) */ |
||
307 | 318 /* function TIMER2_Init size 41 (40) */ |
||
308 | 320 .global Timer_Init |
||
309 | 322 Timer_Init: |
||
310 | 323 /* prologue: frame size=0 */ |
||
311 | 324 /* prologue end (size=0) */ |
||
312 | 325 026e 8AE0 ldi r24,lo8(10) |
||
313 | 326 0270 90E0 ldi r25,hi8(10) |
||
314 | 327 0272 0E94 0000 call SetDelay |
||
315 | 328 0276 9093 0000 sts (tim_main)+1,r25 |
||
316 | 329 027a 8093 0000 sts tim_main,r24 |
||
317 | 330 027e 82E0 ldi r24,lo8(2) |
||
318 | 331 0280 85BD out 69-0x20,r24 |
||
319 | 332 0282 83EA ldi r24,lo8(-93) |
||
320 | 333 0284 84BD out 68-0x20,r24 |
||
321 | 334 0286 17BC out 71-0x20,__zero_reg__ |
||
322 | 335 0288 88E7 ldi r24,lo8(120) |
||
323 | 336 028a 88BD out 72-0x20,r24 |
||
324 | 337 028c 86E0 ldi r24,lo8(6) |
||
325 | 338 028e 86BD out 70-0x20,r24 |
||
326 | 339 0290 EEE6 ldi r30,lo8(110) |
||
327 | 340 0292 F0E0 ldi r31,hi8(110) |
||
328 | 341 0294 8081 ld r24,Z |
||
329 | 342 0296 8160 ori r24,lo8(1) |
||
330 | 343 0298 8083 st Z,r24 |
||
331 | 344 /* epilogue: frame size=0 */ |
||
332 | 345 029a 0895 ret |
||
333 | 346 /* epilogue end (size=1) */ |
||
334 | 347 /* function Timer_Init size 23 (22) */ |
||
335 | 349 .global __vector_9 |
||
336 | 351 __vector_9: |
||
337 | 352 /* prologue: frame size=0 */ |
||
338 | 353 029c 1F92 push __zero_reg__ |
||
339 | 354 029e 0F92 push __tmp_reg__ |
||
340 | 355 02a0 0FB6 in __tmp_reg__,__SREG__ |
||
341 | 356 02a2 0F92 push __tmp_reg__ |
||
342 | 357 02a4 1124 clr __zero_reg__ |
||
343 | 358 02a6 CF92 push r12 |
||
344 | 359 02a8 DF92 push r13 |
||
345 | 360 02aa EF92 push r14 |
||
346 | 361 02ac FF92 push r15 |
||
347 | 362 02ae 0F93 push r16 |
||
348 | 363 02b0 1F93 push r17 |
||
349 | 364 02b2 2F93 push r18 |
||
350 | 365 02b4 3F93 push r19 |
||
351 | 366 02b6 4F93 push r20 |
||
352 | 367 02b8 5F93 push r21 |
||
353 | 368 02ba 6F93 push r22 |
||
354 | 369 02bc 7F93 push r23 |
||
355 | 370 02be 8F93 push r24 |
||
356 | 371 02c0 9F93 push r25 |
||
357 | 372 02c2 AF93 push r26 |
||
358 | 373 02c4 BF93 push r27 |
||
359 | 374 02c6 EF93 push r30 |
||
360 | 375 02c8 FF93 push r31 |
||
361 | 376 /* prologue end (size=23) */ |
||
362 | 377 02ca 8091 0000 lds r24,PlatinenVersion |
||
363 | 378 02ce 8431 cpi r24,lo8(20) |
||
364 | 379 02d0 00F4 brsh .L58 |
||
365 | 380 02d2 8091 0000 lds r24,PulseOutput.2520 |
||
366 | 381 02d6 8823 tst r24 |
||
367 | 382 02d8 01F4 brne .+2 |
||
368 | 383 02da 00C0 rjmp .L117 |
||
369 | 384 .L113: |
||
370 | 385 02dc 2091 0000 lds r18,RemainingPulse.2521 |
||
371 | 386 02e0 3091 0000 lds r19,(RemainingPulse.2521)+1 |
||
372 | 387 .L60: |
||
373 | 388 02e4 41E0 ldi r20,hi8(383) |
||
374 | 389 02e6 2F37 cpi r18,lo8(383) |
||
375 | 390 02e8 3407 cpc r19,r20 |
||
376 | 391 02ea 00F0 brlo .L104 |
||
377 | 392 02ec 8FEF ldi r24,lo8(-1) |
||
378 | 393 02ee 8093 B300 sts 179,r24 |
||
379 | 394 02f2 2F5F subi r18,lo8(-(-255)) |
||
380 | 395 02f4 3040 sbci r19,hi8(-(-255)) |
||
381 | 396 02f6 3093 0000 sts (RemainingPulse.2521)+1,r19 |
||
382 | 397 02fa 2093 0000 sts RemainingPulse.2521,r18 |
||
383 | 398 02fe 00C0 rjmp .L111 |
||
384 | 399 .L58: |
||
385 | 400 0300 8091 0000 lds r24,PulseOutput.2520 |
||
386 | 401 0304 8823 tst r24 |
||
387 | 402 0306 01F4 brne .L113 |
||
388 | 403 0308 8091 B000 lds r24,176 |
||
389 | 404 030c 86FF sbrs r24,6 |
||
390 | 405 030e 00C0 rjmp .L79 |
||
391 | 406 0310 8091 B000 lds r24,176 |
||
392 | 407 0314 8F7B andi r24,lo8(-65) |
||
393 | 408 0316 8093 B000 sts 176,r24 |
||
394 | 409 031a E091 0000 lds r30,ServoIndex.2523 |
||
395 | 410 031e EE23 tst r30 |
||
396 | 411 0320 01F0 breq .+2 |
||
397 | 412 0322 00C0 rjmp .L81 |
||
398 | 413 0324 8091 0000 lds r24,EE_Parameter+38 |
||
399 | 414 0328 90E0 ldi r25,lo8(0) |
||
400 | 415 032a 2DED ldi r18,lo8(1757) |
||
401 | 416 032c 36E0 ldi r19,hi8(1757) |
||
402 | 417 032e A901 movw r20,r18 |
||
403 | 418 0330 849F mul r24,r20 |
||
404 | 419 0332 9001 movw r18,r0 |
||
405 | 420 0334 859F mul r24,r21 |
||
406 | 421 0336 300D add r19,r0 |
||
407 | 422 0338 949F mul r25,r20 |
||
408 | 423 033a 300D add r19,r0 |
||
409 | 424 033c 1124 clr r1 |
||
410 | 425 033e 8091 0000 lds r24,ServoFrameTime.2522 |
||
411 | 426 0342 9091 0000 lds r25,(ServoFrameTime.2522)+1 |
||
412 | 427 0346 281B sub r18,r24 |
||
413 | 428 0348 390B sbc r19,r25 |
||
414 | 429 034a 3093 0000 sts (RemainingPulse.2521)+1,r19 |
||
415 | 430 034e 2093 0000 sts RemainingPulse.2521,r18 |
||
416 | 431 0352 1092 0000 sts (ServoFrameTime.2522)+1,__zero_reg__ |
||
417 | 432 0356 1092 0000 sts ServoFrameTime.2522,__zero_reg__ |
||
418 | 433 035a 469A sbi 40-0x20,6 |
||
419 | 434 035c 00C0 rjmp .L83 |
||
420 | 435 .L104: |
||
421 | 436 035e 2F3F cpi r18,255 |
||
422 | 437 0360 3105 cpc r19,__zero_reg__ |
||
423 | 438 0362 01F0 breq .L107 |
||
424 | 439 0364 00F0 brlo .L107 |
||
425 | 440 0366 51E0 ldi r21,hi8(382) |
||
426 | 441 0368 2E37 cpi r18,lo8(382) |
||
427 | 442 036a 3507 cpc r19,r21 |
||
428 | 443 036c 01F4 brne .+2 |
||
429 | 444 036e 00C0 rjmp .L109 |
||
430 | 445 0370 80E8 ldi r24,lo8(-128) |
||
431 | 446 0372 8093 B300 sts 179,r24 |
||
432 | 447 0376 2058 subi r18,lo8(-(-128)) |
||
433 | 448 0378 3040 sbci r19,hi8(-(-128)) |
||
434 | 449 037a 3093 0000 sts (RemainingPulse.2521)+1,r19 |
||
435 | 450 037e 2093 0000 sts RemainingPulse.2521,r18 |
||
436 | 451 0382 00C0 rjmp .L111 |
||
437 | 452 .L107: |
||
438 | 453 0384 2093 B300 sts 179,r18 |
||
439 | 454 0388 1092 0000 sts (RemainingPulse.2521)+1,__zero_reg__ |
||
440 | 455 038c 1092 0000 sts RemainingPulse.2521,__zero_reg__ |
||
441 | 456 0390 1092 0000 sts PulseOutput.2520,__zero_reg__ |
||
442 | 457 0394 00C0 rjmp .L111 |
||
443 | 458 .L117: |
||
444 | 459 0396 8091 B000 lds r24,176 |
||
445 | 460 039a 86FF sbrs r24,6 |
||
446 | 461 039c 00C0 rjmp .L62 |
||
447 | 462 039e 8091 B000 lds r24,176 |
||
448 | 463 03a2 8F7B andi r24,lo8(-65) |
||
449 | 464 03a4 8093 B000 sts 176,r24 |
||
450 | 465 03a8 8091 0000 lds r24,Parameter_ServoNickControl |
||
451 | 466 03ac 482F mov r20,r24 |
||
452 | 467 03ae 50E0 ldi r21,lo8(0) |
||
453 | 468 03b0 440F lsl r20 |
||
454 | 469 03b2 551F rol r21 |
||
455 | 470 03b4 440F lsl r20 |
||
456 | 471 03b6 551F rol r21 |
||
457 | 472 03b8 2091 0000 lds r18,ServoNickOffset.2524 |
||
458 | 473 03bc 3091 0000 lds r19,(ServoNickOffset.2524)+1 |
||
459 | 474 03c0 C901 movw r24,r18 |
||
460 | 475 03c2 880F lsl r24 |
||
461 | 476 03c4 991F rol r25 |
||
462 | 477 03c6 820F add r24,r18 |
||
463 | 478 03c8 931F adc r25,r19 |
||
464 | 479 03ca 480F add r20,r24 |
||
465 | 480 03cc 591F adc r21,r25 |
||
466 | 481 03ce 57FD sbrc r21,7 |
||
467 | 482 03d0 00C0 rjmp .L118 |
||
468 | 483 .L64: |
||
469 | 484 03d2 CA01 movw r24,r20 |
||
470 | 485 03d4 9595 asr r25 |
||
471 | 486 03d6 8795 ror r24 |
||
472 | 487 03d8 9595 asr r25 |
||
473 | 488 03da 8795 ror r24 |
||
474 | 489 03dc 9093 0000 sts (ServoNickOffset.2524)+1,r25 |
||
475 | 490 03e0 8093 0000 sts ServoNickOffset.2524,r24 |
||
476 | 491 03e4 9093 0000 sts (ServoNickValue)+1,r25 |
||
477 | 492 03e8 8093 0000 sts ServoNickValue,r24 |
||
478 | 493 03ec 8091 0000 lds r24,EE_Parameter+76 |
||
479 | 494 03f0 80FF sbrs r24,0 |
||
480 | 495 03f2 00C0 rjmp .L65 |
||
481 | 496 03f4 C090 0000 lds r12,ServoNickValue |
||
482 | 497 03f8 D090 0000 lds r13,(ServoNickValue)+1 |
||
483 | 498 03fc E090 0000 lds r14,EE_Parameter+35 |
||
484 | 499 0400 FF24 clr r15 |
||
485 | 500 0402 00E0 ldi r16,lo8(0) |
||
486 | 501 0404 10E0 ldi r17,hi8(0) |
||
487 | 502 0406 6091 0000 lds r22,IntegralNick |
||
488 | 503 040a 7091 0000 lds r23,(IntegralNick)+1 |
||
489 | 504 040e 8091 0000 lds r24,(IntegralNick)+2 |
||
490 | 505 0412 9091 0000 lds r25,(IntegralNick)+3 |
||
491 | 506 0416 20E8 ldi r18,lo8(128) |
||
492 | 507 0418 30E0 ldi r19,hi8(128) |
||
493 | 508 041a 40E0 ldi r20,hlo8(128) |
||
494 | 509 041c 50E0 ldi r21,hhi8(128) |
||
495 | 510 041e 0E94 0000 call __divmodsi4 |
||
496 | 511 0422 C801 movw r24,r16 |
||
497 | 512 0424 B701 movw r22,r14 |
||
498 | 513 0426 0E94 0000 call __mulsi3 |
||
499 | 514 042a 660F lsl r22 |
||
500 | 515 042c 771F rol r23 |
||
501 | 516 042e 881F rol r24 |
||
502 | 517 0430 991F rol r25 |
||
503 | 518 0432 660F lsl r22 |
||
504 | 519 0434 771F rol r23 |
||
505 | 520 0436 881F rol r24 |
||
506 | 521 0438 991F rol r25 |
||
507 | 522 043a 20E0 ldi r18,lo8(256) |
||
508 | 523 043c 31E0 ldi r19,hi8(256) |
||
509 | 524 043e 40E0 ldi r20,hlo8(256) |
||
510 | 525 0440 50E0 ldi r21,hhi8(256) |
||
511 | 526 0442 0E94 0000 call __divmodsi4 |
||
512 | 527 0446 C20E add r12,r18 |
||
513 | 528 0448 D31E adc r13,r19 |
||
514 | 529 044a D092 0000 sts (ServoNickValue)+1,r13 |
||
515 | 530 044e C092 0000 sts ServoNickValue,r12 |
||
516 | 531 .L67: |
||
517 | 532 0452 8091 0000 lds r24,EE_Parameter+36 |
||
518 | 533 0456 282F mov r18,r24 |
||
519 | 534 0458 30E0 ldi r19,lo8(0) |
||
520 | 535 045a 220F lsl r18 |
||
521 | 536 045c 331F rol r19 |
||
522 | 537 045e 220F lsl r18 |
||
523 | 538 0460 331F rol r19 |
||
524 | 539 0462 8091 0000 lds r24,ServoNickValue |
||
525 | 540 0466 9091 0000 lds r25,(ServoNickValue)+1 |
||
526 | 541 046a 8217 cp r24,r18 |
||
527 | 542 046c 9307 cpc r25,r19 |
||
528 | 543 046e 04F4 brge .+2 |
||
529 | 544 0470 00C0 rjmp .L115 |
||
530 | 545 0472 8091 0000 lds r24,EE_Parameter+37 |
||
531 | 546 0476 282F mov r18,r24 |
||
532 | 547 0478 30E0 ldi r19,lo8(0) |
||
533 | 548 047a 220F lsl r18 |
||
534 | 549 047c 331F rol r19 |
||
535 | 550 047e 220F lsl r18 |
||
536 | 551 0480 331F rol r19 |
||
537 | 552 0482 8091 0000 lds r24,ServoNickValue |
||
538 | 553 0486 9091 0000 lds r25,(ServoNickValue)+1 |
||
539 | 554 048a 2817 cp r18,r24 |
||
540 | 555 048c 3907 cpc r19,r25 |
||
541 | 556 048e 04F4 brge .+2 |
||
542 | 557 0490 00C0 rjmp .L115 |
||
543 | 558 .L70: |
||
544 | 559 0492 2091 0000 lds r18,ServoNickValue |
||
545 | 560 0496 3091 0000 lds r19,(ServoNickValue)+1 |
||
546 | 561 049a 2755 subi r18,lo8(-(425)) |
||
547 | 562 049c 3E4F sbci r19,hi8(-(425)) |
||
548 | 563 049e 3093 0000 sts (RemainingPulse.2521)+1,r19 |
||
549 | 564 04a2 2093 0000 sts RemainingPulse.2521,r18 |
||
550 | 565 04a6 8091 0000 lds r24,ServoNickValue |
||
551 | 566 04aa 9091 0000 lds r25,(ServoNickValue)+1 |
||
552 | 567 04ae 97FD sbrc r25,7 |
||
553 | 568 04b0 00C0 rjmp .L119 |
||
554 | 569 .L72: |
||
555 | 570 04b2 9595 asr r25 |
||
556 | 571 04b4 8795 ror r24 |
||
557 | 572 04b6 9595 asr r25 |
||
558 | 573 04b8 8795 ror r24 |
||
559 | 574 04ba 9093 0000 sts (ServoNickValue)+1,r25 |
||
560 | 575 04be 8093 0000 sts ServoNickValue,r24 |
||
561 | 576 04c2 8091 0000 lds r24,ServoNickValue |
||
562 | 577 04c6 9091 0000 lds r25,(ServoNickValue)+1 |
||
563 | 578 04ca 9093 0000 sts (DebugOut+42)+1,r25 |
||
564 | 579 04ce 8093 0000 sts DebugOut+42,r24 |
||
565 | 580 04d2 45E0 ldi r20,hi8(1501) |
||
566 | 581 04d4 2D3D cpi r18,lo8(1501) |
||
567 | 582 04d6 3407 cpc r19,r20 |
||
568 | 583 04d8 00F4 brsh .+2 |
||
569 | 584 04da 00C0 rjmp .L73 |
||
570 | 585 04dc 2CED ldi r18,lo8(1500) |
||
571 | 586 04de 35E0 ldi r19,hi8(1500) |
||
572 | 587 04e0 3093 0000 sts (RemainingPulse.2521)+1,r19 |
||
573 | 588 04e4 2093 0000 sts RemainingPulse.2521,r18 |
||
574 | 589 .L75: |
||
575 | 590 04e8 2091 0000 lds r18,RemainingPulse.2521 |
||
576 | 591 04ec 3091 0000 lds r19,(RemainingPulse.2521)+1 |
||
577 | 592 04f0 3093 0000 sts (ServoFrameTime.2522)+1,r19 |
||
578 | 593 04f4 2093 0000 sts ServoFrameTime.2522,r18 |
||
579 | 594 04f8 00C0 rjmp .L83 |
||
580 | 595 .L62: |
||
581 | 596 04fa 8091 B000 lds r24,176 |
||
582 | 597 04fe 8064 ori r24,lo8(64) |
||
583 | 598 0500 8093 B000 sts 176,r24 |
||
584 | 599 0504 8091 0000 lds r24,EE_Parameter+38 |
||
585 | 600 0508 90E0 ldi r25,lo8(0) |
||
586 | 601 050a 2DED ldi r18,lo8(1757) |
||
587 | 602 050c 36E0 ldi r19,hi8(1757) |
||
588 | 603 050e A901 movw r20,r18 |
||
589 | 604 0510 849F mul r24,r20 |
||
590 | 605 0512 9001 movw r18,r0 |
||
591 | 606 0514 859F mul r24,r21 |
||
592 | 607 0516 300D add r19,r0 |
||
593 | 608 0518 949F mul r25,r20 |
||
594 | 609 051a 300D add r19,r0 |
||
595 | 610 051c 1124 clr r1 |
||
596 | 611 051e 8091 0000 lds r24,ServoFrameTime.2522 |
||
597 | 612 0522 9091 0000 lds r25,(ServoFrameTime.2522)+1 |
||
598 | 613 0526 281B sub r18,r24 |
||
599 | 614 0528 390B sbc r19,r25 |
||
600 | 615 052a 3093 0000 sts (RemainingPulse.2521)+1,r19 |
||
601 | 616 052e 2093 0000 sts RemainingPulse.2521,r18 |
||
602 | 617 .L83: |
||
603 | 618 0532 81E0 ldi r24,lo8(1) |
||
604 | 619 0534 8093 0000 sts PulseOutput.2520,r24 |
||
605 | 620 0538 00C0 rjmp .L60 |
||
606 | 621 .L79: |
||
607 | 622 053a 8091 B000 lds r24,176 |
||
608 | 623 053e 8064 ori r24,lo8(64) |
||
609 | 624 0540 8093 B000 sts 176,r24 |
||
610 | 625 0544 2CEB ldi r18,lo8(188) |
||
611 | 626 0546 30E0 ldi r19,hi8(188) |
||
612 | 627 0548 3093 0000 sts (RemainingPulse.2521)+1,r19 |
||
613 | 628 054c 2093 0000 sts RemainingPulse.2521,r18 |
||
614 | 629 0550 8091 0000 lds r24,ServoFrameTime.2522 |
||
615 | 630 0554 9091 0000 lds r25,(ServoFrameTime.2522)+1 |
||
616 | 631 0558 8454 subi r24,lo8(-(188)) |
||
617 | 632 055a 9F4F sbci r25,hi8(-(188)) |
||
618 | 633 055c 9093 0000 sts (ServoFrameTime.2522)+1,r25 |
||
619 | 634 0560 8093 0000 sts ServoFrameTime.2522,r24 |
||
620 | 635 0564 8091 0000 lds r24,ServoActive |
||
621 | 636 0568 8823 tst r24 |
||
622 | 637 056a 01F0 breq .L100 |
||
623 | 638 056c 8091 0000 lds r24,SenderOkay |
||
624 | 639 0570 853B cpi r24,lo8(-75) |
||
625 | 640 0572 00F0 brlo .+2 |
||
626 | 641 0574 00C0 rjmp .L120 |
||
627 | 642 .L100: |
||
628 | 643 0576 8091 0000 lds r24,ServoIndex.2523 |
||
629 | 644 057a 8F5F subi r24,lo8(-(1)) |
||
630 | 645 057c 8093 0000 sts ServoIndex.2523,r24 |
||
631 | 646 0580 9091 0000 lds r25,EE_Parameter+38 |
||
632 | 647 0584 9817 cp r25,r24 |
||
633 | 648 0586 00F0 brlo .+2 |
||
634 | 649 0588 00C0 rjmp .L114 |
||
635 | 650 058a 1092 0000 sts ServoIndex.2523,__zero_reg__ |
||
636 | 651 058e 2091 0000 lds r18,RemainingPulse.2521 |
||
637 | 652 0592 3091 0000 lds r19,(RemainingPulse.2521)+1 |
||
638 | 653 0596 00C0 rjmp .L83 |
||
639 | 654 .L109: |
||
640 | 655 0598 8FEF ldi r24,lo8(-1) |
||
641 | 656 059a 8093 B300 sts 179,r24 |
||
642 | 657 059e 2FE7 ldi r18,lo8(127) |
||
643 | 658 05a0 30E0 ldi r19,hi8(127) |
||
644 | 659 05a2 3093 0000 sts (RemainingPulse.2521)+1,r19 |
||
645 | 660 05a6 2093 0000 sts RemainingPulse.2521,r18 |
||
646 | 661 05aa 00C0 rjmp .L111 |
||
647 | 662 .L115: |
||
648 | 663 05ac 3093 0000 sts (ServoNickValue)+1,r19 |
||
649 | 664 05b0 2093 0000 sts ServoNickValue,r18 |
||
650 | 665 05b4 00C0 rjmp .L70 |
||
651 | 666 .L81: |
||
652 | 667 05b6 29EA ldi r18,lo8(937) |
||
653 | 668 05b8 33E0 ldi r19,hi8(937) |
||
654 | 669 05ba 3093 0000 sts (RemainingPulse.2521)+1,r19 |
||
655 | 670 05be 2093 0000 sts RemainingPulse.2521,r18 |
||
656 | 671 05c2 E130 cpi r30,lo8(1) |
||
657 | 672 05c4 01F4 brne .+2 |
||
658 | 673 05c6 00C0 rjmp .L121 |
||
659 | 674 05c8 F0E0 ldi r31,lo8(0) |
||
660 | 675 05ca EE0F lsl r30 |
||
661 | 676 05cc FF1F rol r31 |
||
662 | 677 05ce E050 subi r30,lo8(-(PPM_in)) |
||
663 | 678 05d0 F040 sbci r31,hi8(-(PPM_in)) |
||
664 | 679 05d2 8081 ld r24,Z |
||
665 | 680 05d4 9181 ldd r25,Z+1 |
||
666 | 681 05d6 880F lsl r24 |
||
667 | 682 05d8 991F rol r25 |
||
668 | 683 05da 8755 subi r24,lo8(-(937)) |
||
669 | 684 05dc 9C4F sbci r25,hi8(-(937)) |
||
670 | 685 05de 9093 0000 sts (RemainingPulse.2521)+1,r25 |
||
671 | 686 05e2 8093 0000 sts RemainingPulse.2521,r24 |
||
672 | 687 .L95: |
||
673 | 688 05e6 2091 0000 lds r18,RemainingPulse.2521 |
||
674 | 689 05ea 3091 0000 lds r19,(RemainingPulse.2521)+1 |
||
675 | 690 05ee 55E0 ldi r21,hi8(1501) |
||
676 | 691 05f0 2D3D cpi r18,lo8(1501) |
||
677 | 692 05f2 3507 cpc r19,r21 |
||
678 | 693 05f4 00F4 brsh .+2 |
||
679 | 694 05f6 00C0 rjmp .L96 |
||
680 | 695 05f8 2CED ldi r18,lo8(1500) |
||
681 | 696 05fa 35E0 ldi r19,hi8(1500) |
||
682 | 697 05fc 3093 0000 sts (RemainingPulse.2521)+1,r19 |
||
683 | 698 0600 2093 0000 sts RemainingPulse.2521,r18 |
||
684 | 699 .L98: |
||
685 | 700 0604 2C5B subi r18,lo8(-(-188)) |
||
686 | 701 0606 3040 sbci r19,hi8(-(-188)) |
||
687 | 702 0608 3093 0000 sts (RemainingPulse.2521)+1,r19 |
||
688 | 703 060c 2093 0000 sts RemainingPulse.2521,r18 |
||
689 | 704 0610 8091 0000 lds r24,ServoFrameTime.2522 |
||
690 | 705 0614 9091 0000 lds r25,(ServoFrameTime.2522)+1 |
||
691 | 706 0618 820F add r24,r18 |
||
692 | 707 061a 931F adc r25,r19 |
||
693 | 708 061c 9093 0000 sts (ServoFrameTime.2522)+1,r25 |
||
694 | 709 0620 8093 0000 sts ServoFrameTime.2522,r24 |
||
695 | 710 0624 00C0 rjmp .L83 |
||
696 | 711 .L73: |
||
697 | 712 0626 2757 subi r18,lo8(375) |
||
698 | 713 0628 3140 sbci r19,hi8(375) |
||
699 | 714 062a 00F0 brlo .+2 |
||
700 | 715 062c 00C0 rjmp .L75 |
||
701 | 716 062e 27E7 ldi r18,lo8(375) |
||
702 | 717 0630 31E0 ldi r19,hi8(375) |
||
703 | 718 0632 3093 0000 sts (RemainingPulse.2521)+1,r19 |
||
704 | 719 0636 2093 0000 sts RemainingPulse.2521,r18 |
||
705 | 720 063a 00C0 rjmp .L75 |
||
706 | 721 .L65: |
||
707 | 722 063c C090 0000 lds r12,ServoNickValue |
||
708 | 723 0640 D090 0000 lds r13,(ServoNickValue)+1 |
||
709 | 724 0644 E090 0000 lds r14,EE_Parameter+35 |
||
710 | 725 0648 FF24 clr r15 |
||
711 | 726 064a 00E0 ldi r16,lo8(0) |
||
712 | 727 064c 10E0 ldi r17,hi8(0) |
||
713 | 728 064e 6091 0000 lds r22,IntegralNick |
||
714 | 729 0652 7091 0000 lds r23,(IntegralNick)+1 |
||
715 | 730 0656 8091 0000 lds r24,(IntegralNick)+2 |
||
716 | 731 065a 9091 0000 lds r25,(IntegralNick)+3 |
||
717 | 732 065e 20E8 ldi r18,lo8(128) |
||
718 | 733 0660 30E0 ldi r19,hi8(128) |
||
719 | 734 0662 40E0 ldi r20,hlo8(128) |
||
720 | 735 0664 50E0 ldi r21,hhi8(128) |
||
721 | 736 0666 0E94 0000 call __divmodsi4 |
||
722 | 737 066a C801 movw r24,r16 |
||
723 | 738 066c B701 movw r22,r14 |
||
724 | 739 066e 0E94 0000 call __mulsi3 |
||
725 | 740 0672 660F lsl r22 |
||
726 | 741 0674 771F rol r23 |
||
727 | 742 0676 881F rol r24 |
||
728 | 743 0678 991F rol r25 |
||
729 | 744 067a 660F lsl r22 |
||
730 | 745 067c 771F rol r23 |
||
731 | 746 067e 881F rol r24 |
||
732 | 747 0680 991F rol r25 |
||
733 | 748 0682 20E0 ldi r18,lo8(256) |
||
734 | 749 0684 31E0 ldi r19,hi8(256) |
||
735 | 750 0686 40E0 ldi r20,hlo8(256) |
||
736 | 751 0688 50E0 ldi r21,hhi8(256) |
||
737 | 752 068a 0E94 0000 call __divmodsi4 |
||
738 | 753 068e C21A sub r12,r18 |
||
739 | 754 0690 D30A sbc r13,r19 |
||
740 | 755 0692 D092 0000 sts (ServoNickValue)+1,r13 |
||
741 | 756 0696 C092 0000 sts ServoNickValue,r12 |
||
742 | 757 069a 00C0 rjmp .L67 |
||
743 | 758 .L114: |
||
744 | 759 069c 2091 0000 lds r18,RemainingPulse.2521 |
||
745 | 760 06a0 3091 0000 lds r19,(RemainingPulse.2521)+1 |
||
746 | 761 06a4 00C0 rjmp .L83 |
||
747 | 762 .L120: |
||
748 | 763 06a6 4698 cbi 40-0x20,6 |
||
749 | 764 06a8 00C0 rjmp .L100 |
||
750 | 765 .L121: |
||
751 | 766 06aa 8091 0000 lds r24,Parameter_ServoNickControl |
||
752 | 767 06ae 482F mov r20,r24 |
||
753 | 768 06b0 50E0 ldi r21,lo8(0) |
||
754 | 769 06b2 440F lsl r20 |
||
755 | 770 06b4 551F rol r21 |
||
756 | 771 06b6 440F lsl r20 |
||
757 | 772 06b8 551F rol r21 |
||
758 | 773 06ba 2091 0000 lds r18,ServoNickOffset.2524 |
||
759 | 774 06be 3091 0000 lds r19,(ServoNickOffset.2524)+1 |
||
760 | 775 06c2 C901 movw r24,r18 |
||
761 | 776 06c4 880F lsl r24 |
||
762 | 777 06c6 991F rol r25 |
||
763 | 778 06c8 820F add r24,r18 |
||
764 | 779 06ca 931F adc r25,r19 |
||
765 | 780 06cc 480F add r20,r24 |
||
766 | 781 06ce 591F adc r21,r25 |
||
767 | 782 06d0 57FD sbrc r21,7 |
||
768 | 783 06d2 00C0 rjmp .L122 |
||
769 | 784 .L86: |
||
770 | 785 06d4 CA01 movw r24,r20 |
||
771 | 786 06d6 9595 asr r25 |
||
772 | 787 06d8 8795 ror r24 |
||
773 | 788 06da 9595 asr r25 |
||
774 | 789 06dc 8795 ror r24 |
||
775 | 790 06de 9093 0000 sts (ServoNickOffset.2524)+1,r25 |
||
776 | 791 06e2 8093 0000 sts ServoNickOffset.2524,r24 |
||
777 | 792 06e6 9093 0000 sts (ServoNickValue)+1,r25 |
||
778 | 793 06ea 8093 0000 sts ServoNickValue,r24 |
||
779 | 794 06ee 8091 0000 lds r24,EE_Parameter+76 |
||
780 | 795 06f2 80FF sbrs r24,0 |
||
781 | 796 06f4 00C0 rjmp .L87 |
||
782 | 797 06f6 C090 0000 lds r12,ServoNickValue |
||
783 | 798 06fa D090 0000 lds r13,(ServoNickValue)+1 |
||
784 | 799 06fe E090 0000 lds r14,EE_Parameter+35 |
||
785 | 800 0702 FF24 clr r15 |
||
786 | 801 0704 00E0 ldi r16,lo8(0) |
||
787 | 802 0706 10E0 ldi r17,hi8(0) |
||
788 | 803 0708 6091 0000 lds r22,IntegralNick |
||
789 | 804 070c 7091 0000 lds r23,(IntegralNick)+1 |
||
790 | 805 0710 8091 0000 lds r24,(IntegralNick)+2 |
||
791 | 806 0714 9091 0000 lds r25,(IntegralNick)+3 |
||
792 | 807 0718 20E8 ldi r18,lo8(128) |
||
793 | 808 071a 30E0 ldi r19,hi8(128) |
||
794 | 809 071c 40E0 ldi r20,hlo8(128) |
||
795 | 810 071e 50E0 ldi r21,hhi8(128) |
||
796 | 811 0720 0E94 0000 call __divmodsi4 |
||
797 | 812 0724 C801 movw r24,r16 |
||
798 | 813 0726 B701 movw r22,r14 |
||
799 | 814 0728 0E94 0000 call __mulsi3 |
||
800 | 815 072c 660F lsl r22 |
||
801 | 816 072e 771F rol r23 |
||
802 | 817 0730 881F rol r24 |
||
803 | 818 0732 991F rol r25 |
||
804 | 819 0734 660F lsl r22 |
||
805 | 820 0736 771F rol r23 |
||
806 | 821 0738 881F rol r24 |
||
807 | 822 073a 991F rol r25 |
||
808 | 823 073c 20E0 ldi r18,lo8(256) |
||
809 | 824 073e 31E0 ldi r19,hi8(256) |
||
810 | 825 0740 40E0 ldi r20,hlo8(256) |
||
811 | 826 0742 50E0 ldi r21,hhi8(256) |
||
812 | 827 0744 0E94 0000 call __divmodsi4 |
||
813 | 828 0748 C20E add r12,r18 |
||
814 | 829 074a D31E adc r13,r19 |
||
815 | 830 074c D092 0000 sts (ServoNickValue)+1,r13 |
||
816 | 831 0750 C092 0000 sts ServoNickValue,r12 |
||
817 | 832 .L89: |
||
818 | 833 0754 8091 0000 lds r24,EE_Parameter+36 |
||
819 | 834 0758 282F mov r18,r24 |
||
820 | 835 075a 30E0 ldi r19,lo8(0) |
||
821 | 836 075c 220F lsl r18 |
||
822 | 837 075e 331F rol r19 |
||
823 | 838 0760 220F lsl r18 |
||
824 | 839 0762 331F rol r19 |
||
825 | 840 0764 8091 0000 lds r24,ServoNickValue |
||
826 | 841 0768 9091 0000 lds r25,(ServoNickValue)+1 |
||
827 | 842 076c 8217 cp r24,r18 |
||
828 | 843 076e 9307 cpc r25,r19 |
||
829 | 844 0770 04F0 brlt .L116 |
||
830 | 845 0772 8091 0000 lds r24,EE_Parameter+37 |
||
831 | 846 0776 282F mov r18,r24 |
||
832 | 847 0778 30E0 ldi r19,lo8(0) |
||
833 | 848 077a 220F lsl r18 |
||
834 | 849 077c 331F rol r19 |
||
835 | 850 077e 220F lsl r18 |
||
836 | 851 0780 331F rol r19 |
||
837 | 852 0782 8091 0000 lds r24,ServoNickValue |
||
838 | 853 0786 9091 0000 lds r25,(ServoNickValue)+1 |
||
839 | 854 078a 2817 cp r18,r24 |
||
840 | 855 078c 3907 cpc r19,r25 |
||
841 | 856 078e 04F4 brge .L92 |
||
842 | 857 .L116: |
||
843 | 858 0790 3093 0000 sts (ServoNickValue)+1,r19 |
||
844 | 859 0794 2093 0000 sts ServoNickValue,r18 |
||
845 | 860 .L92: |
||
846 | 861 0798 8091 0000 lds r24,ServoNickValue |
||
847 | 862 079c 9091 0000 lds r25,(ServoNickValue)+1 |
||
848 | 863 07a0 8755 subi r24,lo8(-(425)) |
||
849 | 864 07a2 9E4F sbci r25,hi8(-(425)) |
||
850 | 865 07a4 9093 0000 sts (RemainingPulse.2521)+1,r25 |
||
851 | 866 07a8 8093 0000 sts RemainingPulse.2521,r24 |
||
852 | 867 07ac 8091 0000 lds r24,ServoNickValue |
||
853 | 868 07b0 9091 0000 lds r25,(ServoNickValue)+1 |
||
854 | 869 07b4 97FD sbrc r25,7 |
||
855 | 870 07b6 00C0 rjmp .L123 |
||
856 | 871 .L94: |
||
857 | 872 07b8 9595 asr r25 |
||
858 | 873 07ba 8795 ror r24 |
||
859 | 874 07bc 9595 asr r25 |
||
860 | 875 07be 8795 ror r24 |
||
861 | 876 07c0 9093 0000 sts (ServoNickValue)+1,r25 |
||
862 | 877 07c4 8093 0000 sts ServoNickValue,r24 |
||
863 | 878 07c8 8091 0000 lds r24,ServoNickValue |
||
864 | 879 07cc 9091 0000 lds r25,(ServoNickValue)+1 |
||
865 | 880 07d0 9093 0000 sts (DebugOut+42)+1,r25 |
||
866 | 881 07d4 8093 0000 sts DebugOut+42,r24 |
||
867 | 882 07d8 00C0 rjmp .L95 |
||
868 | 883 .L96: |
||
869 | 884 07da 81E0 ldi r24,hi8(375) |
||
870 | 885 07dc 2737 cpi r18,lo8(375) |
||
871 | 886 07de 3807 cpc r19,r24 |
||
872 | 887 07e0 00F0 brlo .+2 |
||
873 | 888 07e2 00C0 rjmp .L98 |
||
874 | 889 07e4 27E7 ldi r18,lo8(375) |
||
875 | 890 07e6 31E0 ldi r19,hi8(375) |
||
876 | 891 07e8 3093 0000 sts (RemainingPulse.2521)+1,r19 |
||
877 | 892 07ec 2093 0000 sts RemainingPulse.2521,r18 |
||
878 | 893 07f0 00C0 rjmp .L98 |
||
879 | 894 .L118: |
||
880 | 895 07f2 4D5F subi r20,lo8(-(3)) |
||
881 | 896 07f4 5F4F sbci r21,hi8(-(3)) |
||
882 | 897 07f6 00C0 rjmp .L64 |
||
883 | 898 .L119: |
||
884 | 899 07f8 0396 adiw r24,3 |
||
885 | 900 07fa 00C0 rjmp .L72 |
||
886 | 901 .L87: |
||
887 | 902 07fc C090 0000 lds r12,ServoNickValue |
||
888 | 903 0800 D090 0000 lds r13,(ServoNickValue)+1 |
||
889 | 904 0804 E090 0000 lds r14,EE_Parameter+35 |
||
890 | 905 0808 FF24 clr r15 |
||
891 | 906 080a 00E0 ldi r16,lo8(0) |
||
892 | 907 080c 10E0 ldi r17,hi8(0) |
||
893 | 908 080e 6091 0000 lds r22,IntegralNick |
||
894 | 909 0812 7091 0000 lds r23,(IntegralNick)+1 |
||
895 | 910 0816 8091 0000 lds r24,(IntegralNick)+2 |
||
896 | 911 081a 9091 0000 lds r25,(IntegralNick)+3 |
||
897 | 912 081e 20E8 ldi r18,lo8(128) |
||
898 | 913 0820 30E0 ldi r19,hi8(128) |
||
899 | 914 0822 40E0 ldi r20,hlo8(128) |
||
900 | 915 0824 50E0 ldi r21,hhi8(128) |
||
901 | 916 0826 0E94 0000 call __divmodsi4 |
||
902 | 917 082a C801 movw r24,r16 |
||
903 | 918 082c B701 movw r22,r14 |
||
904 | 919 082e 0E94 0000 call __mulsi3 |
||
905 | 920 0832 660F lsl r22 |
||
906 | 921 0834 771F rol r23 |
||
907 | 922 0836 881F rol r24 |
||
908 | 923 0838 991F rol r25 |
||
909 | 924 083a 660F lsl r22 |
||
910 | 925 083c 771F rol r23 |
||
911 | 926 083e 881F rol r24 |
||
912 | 927 0840 991F rol r25 |
||
913 | 928 0842 20E0 ldi r18,lo8(256) |
||
914 | 929 0844 31E0 ldi r19,hi8(256) |
||
915 | 930 0846 40E0 ldi r20,hlo8(256) |
||
916 | 931 0848 50E0 ldi r21,hhi8(256) |
||
917 | 932 084a 0E94 0000 call __divmodsi4 |
||
918 | 933 084e C21A sub r12,r18 |
||
919 | 934 0850 D30A sbc r13,r19 |
||
920 | 935 0852 D092 0000 sts (ServoNickValue)+1,r13 |
||
921 | 936 0856 C092 0000 sts ServoNickValue,r12 |
||
922 | 937 085a 00C0 rjmp .L89 |
||
923 | 938 .L123: |
||
924 | 939 085c 0396 adiw r24,3 |
||
925 | 940 085e 00C0 rjmp .L94 |
||
926 | 941 .L122: |
||
927 | 942 0860 4D5F subi r20,lo8(-(3)) |
||
928 | 943 0862 5F4F sbci r21,hi8(-(3)) |
||
929 | 944 0864 00C0 rjmp .L86 |
||
930 | 945 .L111: |
||
931 | 946 /* epilogue: frame size=0 */ |
||
932 | 947 0866 FF91 pop r31 |
||
933 | 948 0868 EF91 pop r30 |
||
934 | 949 086a BF91 pop r27 |
||
935 | 950 086c AF91 pop r26 |
||
936 | 951 086e 9F91 pop r25 |
||
937 | 952 0870 8F91 pop r24 |
||
938 | 953 0872 7F91 pop r23 |
||
939 | 954 0874 6F91 pop r22 |
||
940 | 955 0876 5F91 pop r21 |
||
941 | 956 0878 4F91 pop r20 |
||
942 | 957 087a 3F91 pop r19 |
||
943 | 958 087c 2F91 pop r18 |
||
944 | 959 087e 1F91 pop r17 |
||
945 | 960 0880 0F91 pop r16 |
||
946 | 961 0882 FF90 pop r15 |
||
947 | 962 0884 EF90 pop r14 |
||
948 | 963 0886 DF90 pop r13 |
||
949 | 964 0888 CF90 pop r12 |
||
950 | 965 088a 0F90 pop __tmp_reg__ |
||
951 | 966 088c 0FBE out __SREG__,__tmp_reg__ |
||
952 | 967 088e 0F90 pop __tmp_reg__ |
||
953 | 968 0890 1F90 pop __zero_reg__ |
||
954 | 969 0892 1895 reti |
||
955 | 970 /* epilogue end (size=23) */ |
||
956 | 971 /* function __vector_9 size 765 (719) */ |
||
957 | 973 .global CountMilliseconds |
||
958 | 974 .global CountMilliseconds |
||
959 | 975 .section .bss |
||
960 | 978 CountMilliseconds: |
||
961 | 979 0000 0000 .skip 2,0 |
||
962 | 980 .global UpdateMotor |
||
963 | 981 .global UpdateMotor |
||
964 | 984 UpdateMotor: |
||
965 | 985 0002 00 .skip 1,0 |
||
966 | 986 .global cntKompass |
||
967 | 987 .global cntKompass |
||
968 | 990 cntKompass: |
||
969 | 991 0003 0000 .skip 2,0 |
||
970 | 992 .global beeptime |
||
971 | 993 .global beeptime |
||
972 | 996 beeptime: |
||
973 | 997 0005 0000 .skip 2,0 |
||
974 | 998 .global SendSPI |
||
975 | 999 .global SendSPI |
||
976 | 1002 SendSPI: |
||
977 | 1003 0007 00 .skip 1,0 |
||
978 | 1004 .global ServoActive |
||
979 | 1005 .global ServoActive |
||
980 | 1008 ServoActive: |
||
981 | 1009 0008 00 .skip 1,0 |
||
982 | 1010 .global BeepMuster |
||
983 | 1011 .data |
||
984 | 1014 BeepMuster: |
||
985 | 1015 0000 FFFF .word -1 |
||
986 | 1016 .global ServoValue |
||
987 | 1017 .global ServoValue |
||
988 | 1018 .section .bss |
||
989 | 1021 ServoValue: |
||
990 | 1022 0009 0000 .skip 2,0 |
||
991 | 1023 .global ServoNickValue |
||
992 | 1024 .global ServoNickValue |
||
993 | 1027 ServoNickValue: |
||
994 | 1028 000b 0000 .skip 2,0 |
||
995 | 1029 .global ServoRollValue |
||
996 | 1030 .global ServoRollValue |
||
997 | 1033 ServoRollValue: |
||
998 | 1034 000d 0000 .skip 2,0 |
||
999 | 1035 .data |
||
1000 | 1038 ServoNickOffset.2524: |
||
1001 | 1039 0002 FC01 .word 508 |
||
1002 | 1040 .lcomm ServoIndex.2523,1 |
||
1003 | 1041 .lcomm ServoFrameTime.2522,2 |
||
1004 | 1042 .lcomm RemainingPulse.2521,2 |
||
1005 | 1043 .lcomm PulseOutput.2520,1 |
||
1006 | 1044 .lcomm cnt.2378,1 |
||
1007 | 1047 cnt_1ms.2377: |
||
1008 | 1048 0004 01 .byte 1 |
||
1009 | 1049 .lcomm tim_main,2 |
||
1010 | 1050 /* File "timer0.c": code 1103 = 0x044f (1015), prologues 41, epilogues 47 */ |
||
1011 | DEFINED SYMBOLS |
||
1012 | *ABS*:00000000 timer0.c |
||
1193 | kmpec | 1013 | C:\DOKUME~1\David\LOKALE~1\Temp/ccAkFg6g.s:2 *ABS*:0000003f __SREG__ |
1014 | C:\DOKUME~1\David\LOKALE~1\Temp/ccAkFg6g.s:3 *ABS*:0000003e __SP_H__ |
||
1015 | C:\DOKUME~1\David\LOKALE~1\Temp/ccAkFg6g.s:4 *ABS*:0000003d __SP_L__ |
||
1016 | C:\DOKUME~1\David\LOKALE~1\Temp/ccAkFg6g.s:5 *ABS*:00000000 __tmp_reg__ |
||
1017 | C:\DOKUME~1\David\LOKALE~1\Temp/ccAkFg6g.s:6 *ABS*:00000001 __zero_reg__ |
||
1018 | C:\DOKUME~1\David\LOKALE~1\Temp/ccAkFg6g.s:12 .text:00000000 __vector_18 |
||
1019 | C:\DOKUME~1\David\LOKALE~1\Temp/ccAkFg6g.s:1002 .bss:00000007 SendSPI |
||
1020 | C:\DOKUME~1\David\LOKALE~1\Temp/ccAkFg6g.s:1043 .bss:00000015 cnt.2378 |
||
1021 | C:\DOKUME~1\David\LOKALE~1\Temp/ccAkFg6g.s:996 .bss:00000005 beeptime |
||
1022 | C:\DOKUME~1\David\LOKALE~1\Temp/ccAkFg6g.s:1014 .data:00000000 BeepMuster |
||
1023 | C:\DOKUME~1\David\LOKALE~1\Temp/ccAkFg6g.s:990 .bss:00000003 cntKompass |
||
1024 | C:\DOKUME~1\David\LOKALE~1\Temp/ccAkFg6g.s:1047 .data:00000004 cnt_1ms.2377 |
||
1025 | C:\DOKUME~1\David\LOKALE~1\Temp/ccAkFg6g.s:984 .bss:00000002 UpdateMotor |
||
1026 | C:\DOKUME~1\David\LOKALE~1\Temp/ccAkFg6g.s:978 .bss:00000000 CountMilliseconds |
||
1027 | C:\DOKUME~1\David\LOKALE~1\Temp/ccAkFg6g.s:188 .text:000001ac SetDelay |
||
1028 | C:\DOKUME~1\David\LOKALE~1\Temp/ccAkFg6g.s:204 .text:000001be CheckDelay |
||
1029 | C:\DOKUME~1\David\LOKALE~1\Temp/ccAkFg6g.s:223 .text:000001d6 Delay_ms |
||
1030 | C:\DOKUME~1\David\LOKALE~1\Temp/ccAkFg6g.s:244 .text:000001f0 Delay_ms_Mess |
||
1031 | C:\DOKUME~1\David\LOKALE~1\Temp/ccAkFg6g.s:273 .text:0000021e TIMER2_Init |
||
1032 | C:\DOKUME~1\David\LOKALE~1\Temp/ccAkFg6g.s:322 .text:0000026e Timer_Init |
||
1033 | C:\DOKUME~1\David\LOKALE~1\Temp/ccAkFg6g.s:1044 .bss:00000016 tim_main |
||
1034 | C:\DOKUME~1\David\LOKALE~1\Temp/ccAkFg6g.s:351 .text:0000029c __vector_9 |
||
1035 | C:\DOKUME~1\David\LOKALE~1\Temp/ccAkFg6g.s:1042 .bss:00000014 PulseOutput.2520 |
||
1036 | C:\DOKUME~1\David\LOKALE~1\Temp/ccAkFg6g.s:1041 .bss:00000012 RemainingPulse.2521 |
||
1189 | kmpec | 1037 | .bss:0000000f ServoIndex.2523 |
1193 | kmpec | 1038 | C:\DOKUME~1\David\LOKALE~1\Temp/ccAkFg6g.s:1040 .bss:00000010 ServoFrameTime.2522 |
1039 | C:\DOKUME~1\David\LOKALE~1\Temp/ccAkFg6g.s:1038 .data:00000002 ServoNickOffset.2524 |
||
1040 | C:\DOKUME~1\David\LOKALE~1\Temp/ccAkFg6g.s:1027 .bss:0000000b ServoNickValue |
||
1041 | C:\DOKUME~1\David\LOKALE~1\Temp/ccAkFg6g.s:1008 .bss:00000008 ServoActive |
||
1042 | C:\DOKUME~1\David\LOKALE~1\Temp/ccAkFg6g.s:1021 .bss:00000009 ServoValue |
||
1043 | C:\DOKUME~1\David\LOKALE~1\Temp/ccAkFg6g.s:1033 .bss:0000000d ServoRollValue |
||
1189 | kmpec | 1044 | |
1045 | UNDEFINED SYMBOLS |
||
1046 | __do_copy_data |
||
1047 | __do_clear_bss |
||
1048 | PlatinenVersion |
||
1049 | EE_Parameter |
||
1050 | __udivmodhi4 |
||
1051 | KompassValue |
||
1052 | KompassStartwert |
||
1053 | __divmodhi4 |
||
1054 | KompassRichtung |
||
1055 | AdReady |
||
1056 | Parameter_ServoNickControl |
||
1057 | IntegralNick |
||
1058 | __divmodsi4 |
||
1059 | __mulsi3 |
||
1060 | DebugOut |
||
1061 | SenderOkay |
||
1062 | PPM_in |