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