Subversion Repositories FlightCtrl

Rev

Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

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

UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
SpektrumTimer
PlatinenVersion
NaviDataOkay
EE_Parameter
__udivmodhi4
KompassValue
KompassStartwert
__divmodhi4
KompassRichtung
AdReady
Parameter_UserParam8
Parameter_ServoNickControl
IntegralNick
__mulsi3
Parameter_ServoRollControl
IntegralRoll
PPM_in
Parameter_Servo4
Parameter_Servo5
SenderOkay