Subversion Repositories FlightCtrl

Rev

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

   1                            .file   "timer0.c"
   2                            .arch atmega1284p
   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 ServoRollOffset
  32                    ServoRollOffset:
  33 0002 C01F                  .word   8128
  34                    .global ServoNickOffset
  37                    ServoNickOffset:
  38 0004 C01F                  .word   8128
  39                    .global RemainingPulse
  40                    .global RemainingPulse
  41                            .section .bss
  44                    RemainingPulse:
  45 0004 0000                  .skip 2,0
  46                    .global CalculateServoSignals
  47                            .data
  50                    CalculateServoSignals:
  51 0006 01                    .byte   1
  52                    .global ServoActive
  53                    .global ServoActive
  54                            .section .bss
  57                    ServoActive:
  58 0006 00                    .skip 1,0
  59                    .global SendSPI
  60                    .global SendSPI
  63                    SendSPI:
  64 0007 00                    .skip 1,0
  65                    .global beeptime
  66                    .global beeptime
  69                    beeptime:
  70 0008 0000                  .skip 2,0
  71                    .global cntKompass
  72                    .global cntKompass
  75                    cntKompass:
  76 000a 0000                  .skip 2,0
  77                    .global UpdateMotor
  78                    .global UpdateMotor
  81                    UpdateMotor:
  82 000c 00                    .skip 1,0
  83                    .global CountMilliseconds
  84                    .global CountMilliseconds
  87                    CountMilliseconds:
  88 000d 0000                  .skip 2,0
  89                            .data
  92                    cnt_1ms.3:
  93 0007 01                    .byte   1
  94                            .lcomm cnt.4,1
  95                            .lcomm compass_active.5,1
  96                            .text
  97                    .global __vector_18
  99                    __vector_18:
 100                    /* prologue: frame size=0 */
 101 0000 1F92                  push __zero_reg__
 102 0002 0F92                  push __tmp_reg__
 103 0004 0FB6                  in __tmp_reg__,__SREG__
 104 0006 0F92                  push __tmp_reg__
 105 0008 1124                  clr __zero_reg__
 106 000a 2F93                  push r18
 107 000c 3F93                  push r19
 108 000e 5F93                  push r21
 109 0010 6F93                  push r22
 110 0012 7F93                  push r23
 111 0014 8F93                  push r24
 112 0016 9F93                  push r25
 113 0018 AF93                  push r26
 114 001a BF93                  push r27
 115 001c EF93                  push r30
 116 001e FF93                  push r31
 117                    /* prologue end (size=16) */
 118 0020 20E0                  ldi r18,lo8(0)
 119 0022 8091 0000             lds r24,SendSPI
 120 0026 8823                  tst r24
 121 0028 01F0                  breq .L2
 122 002a 8091 0000             lds r24,SendSPI
 123 002e 8150                  subi r24,lo8(-(-1))
 124 0030 8093 0000             sts SendSPI,r24
 125                    .L2:
 126 0034 8091 0000             lds r24,SpektrumTimer
 127 0038 8823                  tst r24
 128 003a 01F0                  breq .L3
 129 003c 8150                  subi r24,lo8(-(-1))
 130 003e 8093 0000             sts SpektrumTimer,r24
 131                    .L3:
 132 0042 8091 0000             lds r24,cnt.4
 133 0046 8150                  subi r24,lo8(-(-1))
 134 0048 8093 0000             sts cnt.4,r24
 135 004c 8F3F                  cpi r24,lo8(-1)
 136 004e 01F0                  breq .+2
 137 0050 00C0                  rjmp .L4
 138 0052 89E0                  ldi r24,lo8(9)
 139 0054 8093 0000             sts cnt.4,r24
 140 0058 8091 0000             lds r24,CountMilliseconds
 141 005c 9091 0000             lds r25,(CountMilliseconds)+1
 142 0060 0196                  adiw r24,1
 143 0062 9093 0000             sts (CountMilliseconds)+1,r25
 144 0066 8093 0000             sts CountMilliseconds,r24
 145 006a 8091 0000             lds r24,cnt_1ms.3
 146 006e 8F5F                  subi r24,lo8(-(1))
 147 0070 8170                  andi r24,lo8(1)
 148 0072 8093 0000             sts cnt_1ms.3,r24
 149 0076 8823                  tst r24
 150 0078 01F4                  brne .L5
 151 007a 81E0                  ldi r24,lo8(1)
 152 007c 8093 0000             sts UpdateMotor,r24
 153                    .L5:
 154 0080 3499                  sbic 38-0x20,4
 155 0082 00C0                  rjmp .L6
 156 0084 81E0                  ldi r24,lo8(1)
 157 0086 8093 0000             sts compass_active.5,r24
 158                    .L6:
 159 008a 8091 0000             lds r24,beeptime
 160 008e 9091 0000             lds r25,(beeptime)+1
 161 0092 892B                  or r24,r25
 162 0094 01F0                  breq .L7
 163 0096 8091 0000             lds r24,beeptime
 164 009a 9091 0000             lds r25,(beeptime)+1
 165 009e 0B97                  sbiw r24,11
 166 00a0 00F0                  brlo .L8
 167 00a2 8091 0000             lds r24,beeptime
 168 00a6 9091 0000             lds r25,(beeptime)+1
 169 00aa 0A97                  sbiw r24,10
 170 00ac 9093 0000             sts (beeptime)+1,r25
 171 00b0 8093 0000             sts beeptime,r24
 172 00b4 00C0                  rjmp .L9
 173                    .L8:
 174 00b6 1092 0000             sts (beeptime)+1,__zero_reg__
 175 00ba 1092 0000             sts beeptime,__zero_reg__
 176                    .L9:
 177 00be 8091 0000             lds r24,beeptime
 178 00c2 9091 0000             lds r25,(beeptime)+1
 179 00c6 2091 0000             lds r18,BeepMuster
 180 00ca 3091 0000             lds r19,(BeepMuster)+1
 181 00ce 8223                  and r24,r18
 182 00d0 9323                  and r25,r19
 183 00d2 892B                  or r24,r25
 184 00d4 01F0                  breq .L10
 185 00d6 21E0                  ldi r18,lo8(1)
 186 00d8 00C0                  rjmp .L12
 187                    .L10:
 188 00da 20E0                  ldi r18,lo8(0)
 189 00dc 00C0                  rjmp .L12
 190                    .L7:
 191 00de 8FEF                  ldi r24,lo8(-1)
 192 00e0 9FEF                  ldi r25,hi8(-1)
 193 00e2 9093 0000             sts (BeepMuster)+1,r25
 194 00e6 8093 0000             sts BeepMuster,r24
 195                    .L12:
 196 00ea 8091 0000             lds r24,PlatinenVersion
 197 00ee 2223                  tst r18
 198 00f0 01F0                  breq .L13
 199 00f2 8A30                  cpi r24,lo8(10)
 200 00f4 01F4                  brne .L14
 201 00f6 5A9A                  sbi 43-0x20,2
 202 00f8 00C0                  rjmp .L4
 203                    .L14:
 204 00fa 479A                  sbi 40-0x20,7
 205 00fc 00C0                  rjmp .L4
 206                    .L13:
 207 00fe 8A30                  cpi r24,lo8(10)
 208 0100 01F4                  brne .L17
 209 0102 5A98                  cbi 43-0x20,2
 210 0104 00C0                  rjmp .L4
 211                    .L17:
 212 0106 4798                  cbi 40-0x20,7
 213                    .L4:
 214 0108 8091 0000             lds r24,compass_active.5
 215 010c 8823                  tst r24
 216 010e 01F4                  brne .+2
 217 0110 00C0                  rjmp .L1
 218 0112 2091 0000             lds r18,NaviDataOkay
 219 0116 2223                  tst r18
 220 0118 01F0                  breq .+2
 221 011a 00C0                  rjmp .L1
 222 011c 8091 0000             lds r24,Parameter_GlobalConfig
 223 0120 83FF                  sbrs r24,3
 224 0122 00C0                  rjmp .L1
 225 0124 86B1                  in r24,38-0x20
 226 0126 9927                  clr r25
 227 0128 FC01                  movw r30,r24
 228 012a E071                  andi r30,lo8(16)
 229 012c F070                  andi r31,hi8(16)
 230 012e 84FF                  sbrs r24,4
 231 0130 00C0                  rjmp .L20
 232 0132 8091 0000             lds r24,cntKompass
 233 0136 9091 0000             lds r25,(cntKompass)+1
 234 013a 0196                  adiw r24,1
 235 013c 9093 0000             sts (cntKompass)+1,r25
 236 0140 8093 0000             sts cntKompass,r24
 237 0144 8091 0000             lds r24,cntKompass
 238 0148 9091 0000             lds r25,(cntKompass)+1
 239 014c 895E                  subi r24,lo8(1001)
 240 014e 9340                  sbci r25,hi8(1001)
 241 0150 00F0                  brlo .L1
 242 0152 2093 0000             sts compass_active.5,r18
 243 0156 00C0                  rjmp .L1
 244                    .L20:
 245 0158 8091 0000             lds r24,cntKompass
 246 015c 9091 0000             lds r25,(cntKompass)+1
 247 0160 892B                  or r24,r25
 248 0162 01F0                  breq .L23
 249 0164 8091 0000             lds r24,cntKompass
 250 0168 9091 0000             lds r25,(cntKompass)+1
 251 016c 8A56                  subi r24,lo8(362)
 252 016e 9140                  sbci r25,hi8(362)
 253 0170 00F4                  brsh .L23
 254 0172 8091 0000             lds r24,cntKompass
 255 0176 9091 0000             lds r25,(cntKompass)+1
 256 017a 69E2                  ldi r22,lo8(41)
 257 017c 70E0                  ldi r23,hi8(41)
 258 017e 0E94 0000             call __udivmodhi4
 259 0182 8091 0000             lds r24,cntKompass
 260 0186 9091 0000             lds r25,(cntKompass)+1
 261 018a 860F                  add r24,r22
 262 018c 971F                  adc r25,r23
 263 018e 9093 0000             sts (cntKompass)+1,r25
 264 0192 8093 0000             sts cntKompass,r24
 265 0196 8091 0000             lds r24,cntKompass
 266 019a 9091 0000             lds r25,(cntKompass)+1
 267 019e 0B97                  sbiw r24,11
 268 01a0 00F0                  brlo .L24
 269 01a2 8091 0000             lds r24,cntKompass
 270 01a6 9091 0000             lds r25,(cntKompass)+1
 271 01aa 0A97                  sbiw r24,10
 272 01ac 9093 0000             sts (KompassValue)+1,r25
 273 01b0 8093 0000             sts KompassValue,r24
 274 01b4 00C0                  rjmp .L23
 275                    .L24:
 276 01b6 F093 0000             sts (KompassValue)+1,r31
 277 01ba E093 0000             sts KompassValue,r30
 278                    .L23:
 279 01be 1092 0000             sts (cntKompass)+1,__zero_reg__
 280 01c2 1092 0000             sts cntKompass,__zero_reg__
 281                    .L1:
 282                    /* epilogue: frame size=0 */
 283 01c6 FF91                  pop r31
 284 01c8 EF91                  pop r30
 285 01ca BF91                  pop r27
 286 01cc AF91                  pop r26
 287 01ce 9F91                  pop r25
 288 01d0 8F91                  pop r24
 289 01d2 7F91                  pop r23
 290 01d4 6F91                  pop r22
 291 01d6 5F91                  pop r21
 292 01d8 3F91                  pop r19
 293 01da 2F91                  pop r18
 294 01dc 0F90                  pop __tmp_reg__
 295 01de 0FBE                  out __SREG__,__tmp_reg__
 296 01e0 0F90                  pop __tmp_reg__
 297 01e2 1F90                  pop __zero_reg__
 298 01e4 1895                  reti
 299                    /* epilogue end (size=16) */
 300                    /* function __vector_18 size 247 (215) */
 302                    .global SetDelay
 304                    SetDelay:
 305                    /* prologue: frame size=0 */
 306                    /* prologue end (size=0) */
 307 01e6 2091 0000             lds r18,CountMilliseconds
 308 01ea 3091 0000             lds r19,(CountMilliseconds)+1
 309 01ee 280F                  add r18,r24
 310 01f0 391F                  adc r19,r25
 311 01f2 C901                  movw r24,r18
 312 01f4 0196                  adiw r24,1
 313                    /* epilogue: frame size=0 */
 314 01f6 0895                  ret
 315                    /* epilogue end (size=1) */
 316                    /* function SetDelay size 9 (8) */
 318                    .global CheckDelay
 320                    CheckDelay:
 321                    /* prologue: frame size=0 */
 322                    /* prologue end (size=0) */
 323 01f8 2091 0000             lds r18,CountMilliseconds
 324 01fc 3091 0000             lds r19,(CountMilliseconds)+1
 325 0200 821B                  sub r24,r18
 326 0202 930B                  sbc r25,r19
 327 0204 892F                  mov r24,r25
 328 0206 9927                  clr r25
 329 0208 8695                  lsr r24
 330 020a 8074                  andi r24,lo8(64)
 331 020c 9070                  andi r25,hi8(64)
 332                    /* epilogue: frame size=0 */
 333 020e 0895                  ret
 334                    /* epilogue end (size=1) */
 335                    /* function CheckDelay size 12 (11) */
 337                    .global Delay_ms
 339                    Delay_ms:
 340                    /* prologue: frame size=0 */
 341 0210 CF93                  push r28
 342 0212 DF93                  push r29
 343                    /* prologue end (size=2) */
 344 0214 0E94 0000             call SetDelay
 345 0218 EC01                  movw r28,r24
 346                    .L29:
 347 021a CE01                  movw r24,r28
 348 021c 0E94 0000             call CheckDelay
 349 0220 8823                  tst r24
 350 0222 01F0                  breq .L29
 351                    /* epilogue: frame size=0 */
 352 0224 DF91                  pop r29
 353 0226 CF91                  pop r28
 354 0228 0895                  ret
 355                    /* epilogue end (size=3) */
 356                    /* function Delay_ms size 13 (8) */
 358                    .global Delay_ms_Mess
 360                    Delay_ms_Mess:
 361                    /* prologue: frame size=0 */
 362 022a CF93                  push r28
 363 022c DF93                  push r29
 364                    /* prologue end (size=2) */
 365 022e 0E94 0000             call SetDelay
 366 0232 EC01                  movw r28,r24
 367 0234 00C0                  rjmp .L40
 368                    .L36:
 369 0236 8091 0000             lds r24,AdReady
 370 023a 8823                  tst r24
 371 023c 01F0                  breq .L40
 372 023e 9093 0000             sts AdReady,r25
 373 0242 8FEC                  ldi r24,lo8(-49)
 374 0244 8093 7A00             sts 122,r24
 375                    .L40:
 376 0248 CE01                  movw r24,r28
 377 024a 0E94 0000             call CheckDelay
 378 024e 982F                  mov r25,r24
 379 0250 8823                  tst r24
 380 0252 01F0                  breq .L36
 381                    /* epilogue: frame size=0 */
 382 0254 DF91                  pop r29
 383 0256 CF91                  pop r28
 384 0258 0895                  ret
 385                    /* epilogue end (size=3) */
 386                    /* function Delay_ms_Mess size 24 (19) */
 388                    .global TIMER2_Init
 390                    TIMER2_Init:
 391                    /* prologue: frame size=0 */
 392                    /* prologue end (size=0) */
 393 025a 9FB7                  in r25,95-0x20
 394                    /* #APP */
 395 025c F894                  cli
 396                    /* #NOAPP */
 397 025e 5F98                  cbi 43-0x20,7
 398 0260 3E9A                  sbi 39-0x20,6
 399 0262 469A                  sbi 40-0x20,6
 400 0264 8091 B000             lds r24,176
 401 0268 8F70                  andi r24,lo8(15)
 402 026a 8093 B000             sts 176,r24
 403 026e 8091 B000             lds r24,176
 404 0272 8360                  ori r24,lo8(3)
 405 0274 8093 B000             sts 176,r24
 406 0278 8091 B100             lds r24,177
 407 027c 8B73                  andi r24,lo8(59)
 408 027e 8093 B100             sts 177,r24
 409 0282 8091 B100             lds r24,177
 410 0286 8B60                  ori r24,lo8(11)
 411 0288 8093 B100             sts 177,r24
 412 028c 1092 B200             sts 178,__zero_reg__
 413 0290 8FEF                  ldi r24,lo8(-1)
 414 0292 8093 B300             sts 179,r24
 415 0296 8091 B000             lds r24,176
 416 029a 8068                  ori r24,lo8(-128)
 417 029c 8093 B000             sts 176,r24
 418 02a0 8091 7000             lds r24,112
 419 02a4 8A7F                  andi r24,lo8(-6)
 420 02a6 8093 7000             sts 112,r24
 421 02aa 8091 7000             lds r24,112
 422 02ae 8260                  ori r24,lo8(2)
 423 02b0 8093 7000             sts 112,r24
 424 02b4 9FBF                  out 95-0x20,r25
 425                    /* epilogue: frame size=0 */
 426 02b6 0895                  ret
 427                    /* epilogue end (size=1) */
 428                    /* function TIMER2_Init size 48 (47) */
 430                    .global Timer_Init
 432                    Timer_Init:
 433                    /* prologue: frame size=0 */
 434                    /* prologue end (size=0) */
 435 02b8 8AE0                  ldi r24,lo8(10)
 436 02ba 90E0                  ldi r25,hi8(10)
 437 02bc 0E94 0000             call SetDelay
 438 02c0 9093 0000             sts (tim_main)+1,r25
 439 02c4 8093 0000             sts tim_main,r24
 440 02c8 82E0                  ldi r24,lo8(2)
 441 02ca 85BD                  out 69-0x20,r24
 442 02cc 83EA                  ldi r24,lo8(-93)
 443 02ce 84BD                  out 68-0x20,r24
 444 02d0 17BC                  out 71-0x20,__zero_reg__
 445 02d2 84EB                  ldi r24,lo8(-76)
 446 02d4 88BD                  out 72-0x20,r24
 447 02d6 86E0                  ldi r24,lo8(6)
 448 02d8 86BD                  out 70-0x20,r24
 449 02da 8091 6E00             lds r24,110
 450 02de 8160                  ori r24,lo8(1)
 451 02e0 8093 6E00             sts 110,r24
 452                    /* epilogue: frame size=0 */
 453 02e4 0895                  ret
 454                    /* epilogue end (size=1) */
 455                    /* function Timer_Init size 23 (22) */
 457                    .global CalculateServo
 459                    CalculateServo:
 460                    /* prologue: frame size=0 */
 461 02e6 A0E0                  ldi r26,lo8(0)
 462 02e8 B0E0                  ldi r27,hi8(0)
 463 02ea E0E0                  ldi r30,pm_lo8(1f)
 464 02ec F0E0                  ldi r31,pm_hi8(1f)
 465 02ee 0C94 0000             jmp __prologue_saves__+22
 466                    1:
 467                    /* prologue end (size=6) */
 468 02f2 8091 0000             lds r24,EE_Parameter+55
 469 02f6 E82F                  mov r30,r24
 470 02f8 FF27                  clr r31
 471 02fa E050                  subi r30,lo8(-(sintab))
 472 02fc F040                  sbci r31,hi8(-(sintab))
 473 02fe 9681                  ldd r25,Z+6
 474 0300 D080                  ld r13,Z
 475 0302 8091 0000             lds r24,CalculateServoSignals
 476 0306 A92F                  mov r26,r25
 477 0308 BB27                  clr r27
 478 030a A7FD                  sbrc r26,7
 479 030c B095                  com r27
 480 030e CB2F                  mov r28,r27
 481 0310 DB2F                  mov r29,r27
 482 0312 8130                  cpi r24,lo8(1)
 483 0314 01F0                  breq .+2
 484 0316 00C0                  rjmp .L44
 485 0318 2091 0000             lds r18,IntegralNick
 486 031c 3091 0000             lds r19,(IntegralNick)+1
 487 0320 4091 0000             lds r20,(IntegralNick)+2
 488 0324 5091 0000             lds r21,(IntegralNick)+3
 489 0328 BD01                  movw r22,r26
 490 032a CE01                  movw r24,r28
 491 032c 0E94 0000             call __mulsi3
 492 0330 97FF                  sbrs r25,7
 493 0332 00C0                  rjmp .L45
 494 0334 6158                  subi r22,lo8(-(127))
 495 0336 7F4F                  sbci r23,hi8(-(127))
 496 0338 8F4F                  sbci r24,hlo8(-(127))
 497 033a 9F4F                  sbci r25,hhi8(-(127))
 498                    .L45:
 499 033c 7B01                  movw r14,r22
 500 033e 8C01                  movw r16,r24
 501 0340 F7E0                  ldi r31,7
 502 0342 1595          1:      asr r17
 503 0344 0795                  ror r16
 504 0346 F794                  ror r15
 505 0348 E794                  ror r14
 506 034a FA95                  dec r31
 507 034c 01F4                  brne 1b
 508 034e 8D2D                  mov r24,r13
 509 0350 9927                  clr r25
 510 0352 87FD                  sbrc r24,7
 511 0354 9095                  com r25
 512 0356 A92F                  mov r26,r25
 513 0358 B92F                  mov r27,r25
 514 035a 2091 0000             lds r18,IntegralRoll
 515 035e 3091 0000             lds r19,(IntegralRoll)+1
 516 0362 4091 0000             lds r20,(IntegralRoll)+2
 517 0366 5091 0000             lds r21,(IntegralRoll)+3
 518 036a BC01                  movw r22,r24
 519 036c CD01                  movw r24,r26
 520 036e 0E94 0000             call __mulsi3
 521 0372 97FF                  sbrs r25,7
 522 0374 00C0                  rjmp .L46
 523 0376 6158                  subi r22,lo8(-(127))
 524 0378 7F4F                  sbci r23,hi8(-(127))
 525 037a 8F4F                  sbci r24,hlo8(-(127))
 526 037c 9F4F                  sbci r25,hhi8(-(127))
 527                    .L46:
 528 037e E7E0                  ldi r30,7
 529 0380 9595          1:      asr r25
 530 0382 8795                  ror r24
 531 0384 7795                  ror r23
 532 0386 6795                  ror r22
 533 0388 EA95                  dec r30
 534 038a 01F4                  brne 1b
 535 038c F801                  movw r30,r16
 536 038e E701                  movw r28,r14
 537 0390 C61B                  sub r28,r22
 538 0392 D70B                  sbc r29,r23
 539 0394 E80B                  sbc r30,r24
 540 0396 F90B                  sbc r31,r25
 541 0398 2091 0000             lds r18,POI_KameraNick
 542 039c 3091 0000             lds r19,(POI_KameraNick)+1
 543 03a0 C901                  movw r24,r18
 544 03a2 53E0                  ldi r21,3
 545 03a4 880F          1:      lsl r24
 546 03a6 991F                  rol r25
 547 03a8 5A95                  dec r21
 548 03aa 01F4                  brne 1b
 549 03ac 821B                  sub r24,r18
 550 03ae 930B                  sbc r25,r19
 551 03b0 AA27                  clr r26
 552 03b2 97FD                  sbrc r25,7
 553 03b4 A095                  com r26
 554 03b6 BA2F                  mov r27,r26
 555 03b8 C81B                  sub r28,r24
 556 03ba D90B                  sbc r29,r25
 557 03bc EA0B                  sbc r30,r26
 558 03be FB0B                  sbc r31,r27
 559 03c0 8091 0000             lds r24,EE_Parameter+46
 560 03c4 9927                  clr r25
 561 03c6 AA27                  clr r26
 562 03c8 BB27                  clr r27
 563 03ca BC01                  movw r22,r24
 564 03cc CD01                  movw r24,r26
 565 03ce 9E01                  movw r18,r28
 566 03d0 AF01                  movw r20,r30
 567 03d2 0E94 0000             call __mulsi3
 568 03d6 97FF                  sbrs r25,7
 569 03d8 00C0                  rjmp .L47
 570 03da 6150                  subi r22,lo8(-(511))
 571 03dc 7E4F                  sbci r23,hi8(-(511))
 572 03de 8F4F                  sbci r24,hlo8(-(511))
 573 03e0 9F4F                  sbci r25,hhi8(-(511))
 574                    .L47:
 575 03e2 FC01                  movw r30,r24
 576 03e4 EB01                  movw r28,r22
 577 03e6 49E0                  ldi r20,9
 578 03e8 F595          1:      asr r31
 579 03ea E795                  ror r30
 580 03ec D795                  ror r29
 581 03ee C795                  ror r28
 582 03f0 4A95                  dec r20
 583 03f2 01F4                  brne 1b
 584 03f4 8091 0000             lds r24,Parameter_ServoNickControl
 585 03f8 9927                  clr r25
 586 03fa 36E0                  ldi r19,6
 587 03fc 880F          1:      lsl r24
 588 03fe 991F                  rol r25
 589 0400 3A95                  dec r19
 590 0402 01F4                  brne 1b
 591 0404 4091 0000             lds r20,ServoNickOffset
 592 0408 5091 0000             lds r21,(ServoNickOffset)+1
 593 040c 2091 0000             lds r18,EE_Parameter+54
 594 0410 3327                  clr r19
 595 0412 841B                  sub r24,r20
 596 0414 950B                  sbc r25,r21
 597 0416 B901                  movw r22,r18
 598 0418 0E94 0000             call __divmodhi4
 599 041c 8091 0000             lds r24,ServoNickOffset
 600 0420 9091 0000             lds r25,(ServoNickOffset)+1
 601 0424 860F                  add r24,r22
 602 0426 971F                  adc r25,r23
 603 0428 9093 0000             sts (ServoNickOffset)+1,r25
 604 042c 8093 0000             sts ServoNickOffset,r24
 605 0430 8091 0000             lds r24,ServoNickOffset
 606 0434 9091 0000             lds r25,(ServoNickOffset)+1
 607 0438 97FD                  sbrc r25,7
 608 043a 0F96                  adiw r24,15
 609                    .L48:
 610 043c 24E0                  ldi r18,4
 611 043e 9595          1:      asr r25
 612 0440 8795                  ror r24
 613 0442 2A95                  dec r18
 614 0444 01F4                  brne 1b
 615 0446 9093 0000             sts (ServoNickValue)+1,r25
 616 044a 8093 0000             sts ServoNickValue,r24
 617 044e 8091 0000             lds r24,EE_Parameter+105
 618 0452 80FF                  sbrs r24,0
 619 0454 00C0                  rjmp .L49
 620 0456 8091 0000             lds r24,ServoNickValue
 621 045a 9091 0000             lds r25,(ServoNickValue)+1
 622 045e 8C0F                  add r24,r28
 623 0460 9D1F                  adc r25,r29
 624 0462 00C0                  rjmp .L66
 625                    .L49:
 626 0464 8091 0000             lds r24,ServoNickValue
 627 0468 9091 0000             lds r25,(ServoNickValue)+1
 628 046c 8C1B                  sub r24,r28
 629 046e 9D0B                  sbc r25,r29
 630                    .L66:
 631 0470 9093 0000             sts (ServoNickValue)+1,r25
 632 0474 8093 0000             sts ServoNickValue,r24
 633 0478 8091 0000             lds r24,EE_Parameter+47
 634 047c 282F                  mov r18,r24
 635 047e 3327                  clr r19
 636 0480 220F                  lsl r18
 637 0482 331F                  rol r19
 638 0484 220F                  lsl r18
 639 0486 331F                  rol r19
 640 0488 8091 0000             lds r24,ServoNickValue
 641 048c 9091 0000             lds r25,(ServoNickValue)+1
 642 0490 8217                  cp r24,r18
 643 0492 9307                  cpc r25,r19
 644 0494 04F0                  brlt .L67
 645 0496 8091 0000             lds r24,EE_Parameter+48
 646 049a 282F                  mov r18,r24
 647 049c 3327                  clr r19
 648 049e 220F                  lsl r18
 649 04a0 331F                  rol r19
 650 04a2 220F                  lsl r18
 651 04a4 331F                  rol r19
 652 04a6 8091 0000             lds r24,ServoNickValue
 653 04aa 9091 0000             lds r25,(ServoNickValue)+1
 654 04ae 2817                  cp r18,r24
 655 04b0 3907                  cpc r19,r25
 656 04b2 04F4                  brge .L52
 657                    .L67:
 658 04b4 3093 0000             sts (ServoNickValue)+1,r19
 659 04b8 2093 0000             sts ServoNickValue,r18
 660                    .L52:
 661 04bc 8091 0000             lds r24,PlatinenVersion
 662 04c0 8431                  cpi r24,lo8(20)
 663 04c2 00F4                  brsh .+2
 664 04c4 00C0                  rjmp .L64
 665 04c6 8091 0000             lds r24,CalculateServoSignals
 666 04ca 8F5F                  subi r24,lo8(-(1))
 667 04cc 8093 0000             sts CalculateServoSignals,r24
 668 04d0 00C0                  rjmp .L43
 669                    .L44:
 670 04d2 2091 0000             lds r18,IntegralRoll
 671 04d6 3091 0000             lds r19,(IntegralRoll)+1
 672 04da 4091 0000             lds r20,(IntegralRoll)+2
 673 04de 5091 0000             lds r21,(IntegralRoll)+3
 674 04e2 BD01                  movw r22,r26
 675 04e4 CE01                  movw r24,r28
 676 04e6 0E94 0000             call __mulsi3
 677 04ea 97FF                  sbrs r25,7
 678 04ec 00C0                  rjmp .L57
 679 04ee 6158                  subi r22,lo8(-(127))
 680 04f0 7F4F                  sbci r23,hi8(-(127))
 681 04f2 8F4F                  sbci r24,hlo8(-(127))
 682 04f4 9F4F                  sbci r25,hhi8(-(127))
 683                    .L57:
 684 04f6 7B01                  movw r14,r22
 685 04f8 8C01                  movw r16,r24
 686 04fa C7E0                  ldi r28,7
 687 04fc 1595          1:      asr r17
 688 04fe 0795                  ror r16
 689 0500 F794                  ror r15
 690 0502 E794                  ror r14
 691 0504 CA95                  dec r28
 692 0506 01F4                  brne 1b
 693 0508 8D2D                  mov r24,r13
 694 050a 9927                  clr r25
 695 050c 87FD                  sbrc r24,7
 696 050e 9095                  com r25
 697 0510 A92F                  mov r26,r25
 698 0512 B92F                  mov r27,r25
 699 0514 2091 0000             lds r18,IntegralNick
 700 0518 3091 0000             lds r19,(IntegralNick)+1
 701 051c 4091 0000             lds r20,(IntegralNick)+2
 702 0520 5091 0000             lds r21,(IntegralNick)+3
 703 0524 BC01                  movw r22,r24
 704 0526 CD01                  movw r24,r26
 705 0528 0E94 0000             call __mulsi3
 706 052c 9B01                  movw r18,r22
 707 052e AC01                  movw r20,r24
 708 0530 97FF                  sbrs r25,7
 709 0532 00C0                  rjmp .L58
 710 0534 2158                  subi r18,lo8(-(127))
 711 0536 3F4F                  sbci r19,hi8(-(127))
 712 0538 4F4F                  sbci r20,hlo8(-(127))
 713 053a 5F4F                  sbci r21,hhi8(-(127))
 714                    .L58:
 715 053c B7E0                  ldi r27,7
 716 053e 5595          1:      asr r21
 717 0540 4795                  ror r20
 718 0542 3795                  ror r19
 719 0544 2795                  ror r18
 720 0546 BA95                  dec r27
 721 0548 01F4                  brne 1b
 722 054a 2E0D                  add r18,r14
 723 054c 3F1D                  adc r19,r15
 724 054e 401F                  adc r20,r16
 725 0550 511F                  adc r21,r17
 726 0552 8091 0000             lds r24,EE_Parameter+50
 727 0556 9927                  clr r25
 728 0558 AA27                  clr r26
 729 055a BB27                  clr r27
 730 055c BC01                  movw r22,r24
 731 055e CD01                  movw r24,r26
 732 0560 0E94 0000             call __mulsi3
 733 0564 97FF                  sbrs r25,7
 734 0566 00C0                  rjmp .L59
 735 0568 6150                  subi r22,lo8(-(511))
 736 056a 7E4F                  sbci r23,hi8(-(511))
 737 056c 8F4F                  sbci r24,hlo8(-(511))
 738 056e 9F4F                  sbci r25,hhi8(-(511))
 739                    .L59:
 740 0570 FC01                  movw r30,r24
 741 0572 EB01                  movw r28,r22
 742 0574 A9E0                  ldi r26,9
 743 0576 F595          1:      asr r31
 744 0578 E795                  ror r30
 745 057a D795                  ror r29
 746 057c C795                  ror r28
 747 057e AA95                  dec r26
 748 0580 01F4                  brne 1b
 749 0582 8091 0000             lds r24,Parameter_ServoRollControl
 750 0586 9927                  clr r25
 751 0588 76E0                  ldi r23,6
 752 058a 880F          1:      lsl r24
 753 058c 991F                  rol r25
 754 058e 7A95                  dec r23
 755 0590 01F4                  brne 1b
 756 0592 4091 0000             lds r20,ServoRollOffset
 757 0596 5091 0000             lds r21,(ServoRollOffset)+1
 758 059a 2091 0000             lds r18,EE_Parameter+54
 759 059e 3327                  clr r19
 760 05a0 841B                  sub r24,r20
 761 05a2 950B                  sbc r25,r21
 762 05a4 B901                  movw r22,r18
 763 05a6 0E94 0000             call __divmodhi4
 764 05aa 8091 0000             lds r24,ServoRollOffset
 765 05ae 9091 0000             lds r25,(ServoRollOffset)+1
 766 05b2 860F                  add r24,r22
 767 05b4 971F                  adc r25,r23
 768 05b6 9093 0000             sts (ServoRollOffset)+1,r25
 769 05ba 8093 0000             sts ServoRollOffset,r24
 770 05be 8091 0000             lds r24,ServoRollOffset
 771 05c2 9091 0000             lds r25,(ServoRollOffset)+1
 772 05c6 97FD                  sbrc r25,7
 773 05c8 0F96                  adiw r24,15
 774                    .L60:
 775 05ca 64E0                  ldi r22,4
 776 05cc 9595          1:      asr r25
 777 05ce 8795                  ror r24
 778 05d0 6A95                  dec r22
 779 05d2 01F4                  brne 1b
 780 05d4 9093 0000             sts (ServoRollValue)+1,r25
 781 05d8 8093 0000             sts ServoRollValue,r24
 782 05dc 8091 0000             lds r24,EE_Parameter+105
 783 05e0 81FF                  sbrs r24,1
 784 05e2 00C0                  rjmp .L61
 785 05e4 8091 0000             lds r24,ServoRollValue
 786 05e8 9091 0000             lds r25,(ServoRollValue)+1
 787 05ec 8C0F                  add r24,r28
 788 05ee 9D1F                  adc r25,r29
 789 05f0 00C0                  rjmp .L68
 790                    .L61:
 791 05f2 8091 0000             lds r24,ServoRollValue
 792 05f6 9091 0000             lds r25,(ServoRollValue)+1
 793 05fa 8C1B                  sub r24,r28
 794 05fc 9D0B                  sbc r25,r29
 795                    .L68:
 796 05fe 9093 0000             sts (ServoRollValue)+1,r25
 797 0602 8093 0000             sts ServoRollValue,r24
 798 0606 8091 0000             lds r24,EE_Parameter+51
 799 060a 282F                  mov r18,r24
 800 060c 3327                  clr r19
 801 060e 220F                  lsl r18
 802 0610 331F                  rol r19
 803 0612 220F                  lsl r18
 804 0614 331F                  rol r19
 805 0616 8091 0000             lds r24,ServoRollValue
 806 061a 9091 0000             lds r25,(ServoRollValue)+1
 807 061e 8217                  cp r24,r18
 808 0620 9307                  cpc r25,r19
 809 0622 04F0                  brlt .L69
 810 0624 8091 0000             lds r24,EE_Parameter+52
 811 0628 282F                  mov r18,r24
 812 062a 3327                  clr r19
 813 062c 220F                  lsl r18
 814 062e 331F                  rol r19
 815 0630 220F                  lsl r18
 816 0632 331F                  rol r19
 817 0634 8091 0000             lds r24,ServoRollValue
 818 0638 9091 0000             lds r25,(ServoRollValue)+1
 819 063c 2817                  cp r18,r24
 820 063e 3907                  cpc r19,r25
 821 0640 04F4                  brge .L64
 822                    .L69:
 823 0642 3093 0000             sts (ServoRollValue)+1,r19
 824 0646 2093 0000             sts ServoRollValue,r18
 825                    .L64:
 826 064a 1092 0000             sts CalculateServoSignals,__zero_reg__
 827                    .L43:
 828                    /* epilogue: frame size=0 */
 829 064e E7E0                  ldi r30,7
 830 0650 CDB7                  in r28,__SP_L__
 831 0652 DEB7                  in r29,__SP_H__
 832 0654 0C94 0000             jmp __epilogue_restores__+22
 833                    /* epilogue end (size=5) */
 834                    /* function CalculateServo size 443 (432) */
 836                            .lcomm PulseOutput.0,1
 837                            .lcomm ServoFrameTime.1,2
 838                            .lcomm ServoIndex.2,1
 839                    .global __vector_9
 841                    __vector_9:
 842                    /* prologue: frame size=0 */
 843 0658 1F92                  push __zero_reg__
 844 065a 0F92                  push __tmp_reg__
 845 065c 0FB6                  in __tmp_reg__,__SREG__
 846 065e 0F92                  push __tmp_reg__
 847 0660 1124                  clr __zero_reg__
 848 0662 2F93                  push r18
 849 0664 3F93                  push r19
 850 0666 4F93                  push r20
 851 0668 5F93                  push r21
 852 066a 8F93                  push r24
 853 066c 9F93                  push r25
 854 066e EF93                  push r30
 855 0670 FF93                  push r31
 856                    /* prologue end (size=13) */
 857 0672 8091 0000             lds r24,PlatinenVersion
 858 0676 9091 0000             lds r25,PulseOutput.0
 859 067a 8431                  cpi r24,lo8(20)
 860 067c 00F0                  brlo .+2
 861 067e 00C0                  rjmp .L71
 862 0680 9923                  tst r25
 863 0682 01F0                  breq .+2
 864 0684 00C0                  rjmp .L78
 865 0686 8091 B000             lds r24,176
 866 068a 86FF                  sbrs r24,6
 867 068c 00C0                  rjmp .L73
 868 068e 8091 B000             lds r24,176
 869 0692 8F7B                  andi r24,lo8(-65)
 870 0694 8093 B000             sts 176,r24
 871 0698 8091 0000             lds r24,ServoNickValue
 872 069c 9091 0000             lds r25,(ServoNickValue)+1
 873 06a0 8755                  subi r24,lo8(-(425))
 874 06a2 9E4F                  sbci r25,hi8(-(425))
 875 06a4 9093 0000             sts (RemainingPulse)+1,r25
 876 06a8 8093 0000             sts RemainingPulse,r24
 877 06ac 25E0                  ldi r18,hi8(1501)
 878 06ae 8D3D                  cpi r24,lo8(1501)
 879 06b0 9207                  cpc r25,r18
 880 06b2 00F0                  brlo .L74
 881 06b4 8CED                  ldi r24,lo8(1500)
 882 06b6 95E0                  ldi r25,hi8(1500)
 883 06b8 00C0                  rjmp .L106
 884                    .L74:
 885 06ba 8757                  subi r24,lo8(375)
 886 06bc 9140                  sbci r25,hi8(375)
 887 06be 00F4                  brsh .L75
 888 06c0 87E7                  ldi r24,lo8(375)
 889 06c2 91E0                  ldi r25,hi8(375)
 890                    .L106:
 891 06c4 9093 0000             sts (RemainingPulse)+1,r25
 892 06c8 8093 0000             sts RemainingPulse,r24
 893                    .L75:
 894 06cc 8091 0000             lds r24,RemainingPulse
 895 06d0 9091 0000             lds r25,(RemainingPulse)+1
 896 06d4 00C0                  rjmp .L111
 897                    .L73:
 898 06d6 8091 B000             lds r24,176
 899 06da 8064                  ori r24,lo8(64)
 900 06dc 8093 B000             sts 176,r24
 901 06e0 8091 0000             lds r24,EE_Parameter+53
 902 06e4 282F                  mov r18,r24
 903 06e6 3327                  clr r19
 904 06e8 8DED                  ldi r24,lo8(1757)
 905 06ea 96E0                  ldi r25,hi8(1757)
 906 06ec 289F                  mul r18,r24
 907 06ee A001                  movw r20,r0
 908 06f0 299F                  mul r18,r25
 909 06f2 500D                  add r21,r0
 910 06f4 389F                  mul r19,r24
 911 06f6 500D                  add r21,r0
 912 06f8 1124                  clr r1
 913 06fa CA01                  movw r24,r20
 914 06fc 2091 0000             lds r18,ServoFrameTime.1
 915 0700 3091 0000             lds r19,(ServoFrameTime.1)+1
 916 0704 821B                  sub r24,r18
 917 0706 930B                  sbc r25,r19
 918 0708 9093 0000             sts (RemainingPulse)+1,r25
 919 070c 8093 0000             sts RemainingPulse,r24
 920 0710 81E0                  ldi r24,lo8(1)
 921 0712 8093 0000             sts CalculateServoSignals,r24
 922 0716 00C0                  rjmp .L94
 923                    .L71:
 924 0718 9923                  tst r25
 925 071a 01F0                  breq .+2
 926 071c 00C0                  rjmp .L78
 927 071e 8091 B000             lds r24,176
 928 0722 86FF                  sbrs r24,6
 929 0724 00C0                  rjmp .L80
 930 0726 8091 B000             lds r24,176
 931 072a 8F7B                  andi r24,lo8(-65)
 932 072c 8093 B000             sts 176,r24
 933 0730 E091 0000             lds r30,ServoIndex.2
 934 0734 EE23                  tst r30
 935 0736 01F4                  brne .L81
 936 0738 8091 0000             lds r24,EE_Parameter+53
 937 073c 282F                  mov r18,r24
 938 073e 3327                  clr r19
 939 0740 8DED                  ldi r24,lo8(1757)
 940 0742 96E0                  ldi r25,hi8(1757)
 941 0744 289F                  mul r18,r24
 942 0746 A001                  movw r20,r0
 943 0748 299F                  mul r18,r25
 944 074a 500D                  add r21,r0
 945 074c 389F                  mul r19,r24
 946 074e 500D                  add r21,r0
 947 0750 1124                  clr r1
 948 0752 CA01                  movw r24,r20
 949 0754 2091 0000             lds r18,ServoFrameTime.1
 950 0758 3091 0000             lds r19,(ServoFrameTime.1)+1
 951 075c 821B                  sub r24,r18
 952 075e 930B                  sbc r25,r19
 953 0760 9093 0000             sts (RemainingPulse)+1,r25
 954 0764 8093 0000             sts RemainingPulse,r24
 955 0768 1092 0000             sts (ServoFrameTime.1)+1,__zero_reg__
 956 076c 1092 0000             sts ServoFrameTime.1,__zero_reg__
 957 0770 469A                  sbi 40-0x20,6
 958 0772 00C0                  rjmp .L94
 959                    .L81:
 960 0774 89EA                  ldi r24,lo8(937)
 961 0776 93E0                  ldi r25,hi8(937)
 962 0778 9093 0000             sts (RemainingPulse)+1,r25
 963 077c 8093 0000             sts RemainingPulse,r24
 964 0780 8E2F                  mov r24,r30
 965 0782 9927                  clr r25
 966 0784 8330                  cpi r24,3
 967 0786 9105                  cpc r25,__zero_reg__
 968 0788 01F0                  breq .L86
 969 078a 8430                  cpi r24,4
 970 078c 9105                  cpc r25,__zero_reg__
 971 078e 04F4                  brge .L90
 972 0790 8130                  cpi r24,1
 973 0792 9105                  cpc r25,__zero_reg__
 974 0794 01F0                  breq .L84
 975 0796 0297                  sbiw r24,2
 976 0798 01F0                  breq .L85
 977 079a 00C0                  rjmp .L89
 978                    .L90:
 979 079c 8430                  cpi r24,4
 980 079e 9105                  cpc r25,__zero_reg__
 981 07a0 01F0                  breq .L87
 982 07a2 0597                  sbiw r24,5
 983 07a4 01F0                  breq .L88
 984 07a6 00C0                  rjmp .L89
 985                    .L84:
 986 07a8 8091 0000             lds r24,ServoNickValue
 987 07ac 9091 0000             lds r25,(ServoNickValue)+1
 988 07b0 00C0                  rjmp .L110
 989                    .L85:
 990 07b2 8091 0000             lds r24,ServoRollValue
 991 07b6 9091 0000             lds r25,(ServoRollValue)+1
 992                    .L110:
 993 07ba 8755                  subi r24,lo8(-(425))
 994 07bc 9E4F                  sbci r25,hi8(-(425))
 995 07be 00C0                  rjmp .L107
 996                    .L86:
 997 07c0 8091 0000             lds r24,Parameter_Servo3
 998 07c4 00C0                  rjmp .L112
 999                    .L87:
 1000 07c6 8091 0000            lds r24,Parameter_Servo4
 1001 07ca 00C0                 rjmp .L112
 1002                   .L88:
 1003 07cc 8091 0000            lds r24,Parameter_Servo5
 1004                   .L112:
 1005 07d0 9927                 clr r25
 1006 07d2 880F                 lsl r24
 1007 07d4 991F                 rol r25
 1008 07d6 880F                 lsl r24
 1009 07d8 991F                 rol r25
 1010 07da 00C0                 rjmp .L110
 1011                   .L89:
 1012 07dc FF27                 clr r31
 1013 07de EE0F                 add r30,r30
 1014 07e0 FF1F                 adc r31,r31
 1015 07e2 E050                 subi r30,lo8(-(PPM_in))
 1016 07e4 F040                 sbci r31,hi8(-(PPM_in))
 1017 07e6 2081                 ld r18,Z
 1018 07e8 3181                 ldd r19,Z+1
 1019 07ea 220F                 add r18,r18
 1020 07ec 331F                 adc r19,r19
 1021 07ee 8091 0000            lds r24,RemainingPulse
 1022 07f2 9091 0000            lds r25,(RemainingPulse)+1
 1023 07f6 820F                 add r24,r18
 1024 07f8 931F                 adc r25,r19
 1025                   .L107:
 1026 07fa 9093 0000            sts (RemainingPulse)+1,r25
 1027 07fe 8093 0000            sts RemainingPulse,r24
 1028 0802 8091 0000            lds r24,RemainingPulse
 1029 0806 9091 0000            lds r25,(RemainingPulse)+1
 1030 080a 55E0                 ldi r21,hi8(1501)
 1031 080c 8D3D                 cpi r24,lo8(1501)
 1032 080e 9507                 cpc r25,r21
 1033 0810 00F0                 brlo .L91
 1034 0812 8CED                 ldi r24,lo8(1500)
 1035 0814 95E0                 ldi r25,hi8(1500)
 1036 0816 00C0                 rjmp .L108
 1037                   .L91:
 1038 0818 8757                 subi r24,lo8(375)
 1039 081a 9140                 sbci r25,hi8(375)
 1040 081c 00F4                 brsh .L92
 1041 081e 87E7                 ldi r24,lo8(375)
 1042 0820 91E0                 ldi r25,hi8(375)
 1043                   .L108:
 1044 0822 9093 0000            sts (RemainingPulse)+1,r25
 1045 0826 8093 0000            sts RemainingPulse,r24
 1046                   .L92:
 1047 082a 2091 0000            lds r18,RemainingPulse
 1048 082e 3091 0000            lds r19,(RemainingPulse)+1
 1049 0832 2C5B                 subi r18,lo8(-(-188))
 1050 0834 3040                 sbci r19,hi8(-(-188))
 1051 0836 3093 0000            sts (RemainingPulse)+1,r19
 1052 083a 2093 0000            sts RemainingPulse,r18
 1053 083e 8091 0000            lds r24,ServoFrameTime.1
 1054 0842 9091 0000            lds r25,(ServoFrameTime.1)+1
 1055 0846 820F                 add r24,r18
 1056 0848 931F                 adc r25,r19
 1057                   .L111:
 1058 084a 9093 0000            sts (ServoFrameTime.1)+1,r25
 1059 084e 8093 0000            sts ServoFrameTime.1,r24
 1060 0852 00C0                 rjmp .L94
 1061                   .L80:
 1062 0854 8091 B000            lds r24,176
 1063 0858 8064                 ori r24,lo8(64)
 1064 085a 8093 B000            sts 176,r24
 1065 085e 8CEB                 ldi r24,lo8(188)
 1066 0860 90E0                 ldi r25,hi8(188)
 1067 0862 9093 0000            sts (RemainingPulse)+1,r25
 1068 0866 8093 0000            sts RemainingPulse,r24
 1069 086a 8091 0000            lds r24,ServoFrameTime.1
 1070 086e 9091 0000            lds r25,(ServoFrameTime.1)+1
 1071 0872 8454                 subi r24,lo8(-(188))
 1072 0874 9F4F                 sbci r25,hi8(-(188))
 1073 0876 9093 0000            sts (ServoFrameTime.1)+1,r25
 1074 087a 8093 0000            sts ServoFrameTime.1,r24
 1075 087e 8091 0000            lds r24,ServoActive
 1076 0882 8823                 tst r24
 1077 0884 01F0                 breq .L97
 1078 0886 8091 0000            lds r24,SenderOkay
 1079 088a 8823                 tst r24
 1080 088c 01F4                 brne .L96
 1081                   .L97:
 1082 088e 8091 0000            lds r24,ServoActive
 1083 0892 8230                 cpi r24,lo8(2)
 1084 0894 01F4                 brne .L95
 1085                   .L96:
 1086 0896 4698                 cbi 40-0x20,6
 1087 0898 00C0                 rjmp .L98
 1088                   .L95:
 1089 089a 469A                 sbi 40-0x20,6
 1090                   .L98:
 1091 089c 8091 0000            lds r24,ServoIndex.2
 1092 08a0 8F5F                 subi r24,lo8(-(1))
 1093 08a2 8093 0000            sts ServoIndex.2,r24
 1094 08a6 9091 0000            lds r25,EE_Parameter+53
 1095 08aa 9817                 cp r25,r24
 1096 08ac 00F4                 brsh .L94
 1097 08ae 81E0                 ldi r24,lo8(1)
 1098 08b0 8093 0000            sts CalculateServoSignals,r24
 1099 08b4 1092 0000            sts ServoIndex.2,__zero_reg__
 1100                   .L94:
 1101 08b8 81E0                 ldi r24,lo8(1)
 1102 08ba 8093 0000            sts PulseOutput.0,r24
 1103                   .L78:
 1104 08be 2091 0000            lds r18,RemainingPulse
 1105 08c2 3091 0000            lds r19,(RemainingPulse)+1
 1106 08c6 41E0                 ldi r20,hi8(383)
 1107 08c8 2F37                 cpi r18,lo8(383)
 1108 08ca 3407                 cpc r19,r20
 1109 08cc 00F0                 brlo .L100
 1110 08ce 8FEF                 ldi r24,lo8(-1)
 1111 08d0 8093 B300            sts 179,r24
 1112 08d4 2F5F                 subi r18,lo8(-(-255))
 1113 08d6 3040                 sbci r19,hi8(-(-255))
 1114 08d8 00C0                 rjmp .L109
 1115                   .L100:
 1116 08da 2F3F                 cpi r18,255
 1117 08dc 3105                 cpc r19,__zero_reg__
 1118 08de 01F0                 breq .L102
 1119 08e0 00F0                 brlo .L102
 1120 08e2 A901                 movw r20,r18
 1121 08e4 4F5F                 subi r20,lo8(-(-255))
 1122 08e6 5040                 sbci r21,hi8(-(-255))
 1123 08e8 4F37                 cpi r20,127
 1124 08ea 5105                 cpc r21,__zero_reg__
 1125 08ec 00F4                 brsh .L103
 1126 08ee 80E8                 ldi r24,lo8(-128)
 1127 08f0 8093 B300            sts 179,r24
 1128 08f4 2058                 subi r18,lo8(-(-128))
 1129 08f6 3040                 sbci r19,hi8(-(-128))
 1130                   .L109:
 1131 08f8 3093 0000            sts (RemainingPulse)+1,r19
 1132 08fc 2093 0000            sts RemainingPulse,r18
 1133 0900 00C0                 rjmp .L70
 1134                   .L103:
 1135 0902 8FEF                 ldi r24,lo8(-1)
 1136 0904 8093 B300            sts 179,r24
 1137 0908 5093 0000            sts (RemainingPulse)+1,r21
 1138 090c 4093 0000            sts RemainingPulse,r20
 1139 0910 00C0                 rjmp .L70
 1140                   .L102:
 1141 0912 8091 0000            lds r24,RemainingPulse
 1142 0916 8093 B300            sts 179,r24
 1143 091a 1092 0000            sts (RemainingPulse)+1,__zero_reg__
 1144 091e 1092 0000            sts RemainingPulse,__zero_reg__
 1145 0922 1092 0000            sts PulseOutput.0,__zero_reg__
 1146                   .L70:
 1147                   /* epilogue: frame size=0 */
 1148 0926 FF91                 pop r31
 1149 0928 EF91                 pop r30
 1150 092a 9F91                 pop r25
 1151 092c 8F91                 pop r24
 1152 092e 5F91                 pop r21
 1153 0930 4F91                 pop r20
 1154 0932 3F91                 pop r19
 1155 0934 2F91                 pop r18
 1156 0936 0F90                 pop __tmp_reg__
 1157 0938 0FBE                 out __SREG__,__tmp_reg__
 1158 093a 0F90                 pop __tmp_reg__
 1159 093c 1F90                 pop __zero_reg__
 1160 093e 1895                 reti
 1161                   /* epilogue end (size=13) */
 1162                   /* function __vector_9 size 376 (350) */
 1164                           .comm Motorsmax,8,1
 1165                           .comm MotorsTmax,2,1
 1166                           .lcomm tim_main,2
 1167                   /* File "timer0.c": code 1195 = 0x04ab (1112), prologues  39, epilogues  44 */
DEFINED SYMBOLS
                            *ABS*:00000000 timer0.c
C:\Users\Thomas\AppData\Local\Temp/cc4Xj7Xa.s:3      *ABS*:0000003f __SREG__
C:\Users\Thomas\AppData\Local\Temp/cc4Xj7Xa.s:4      *ABS*:0000003e __SP_H__
C:\Users\Thomas\AppData\Local\Temp/cc4Xj7Xa.s:5      *ABS*:0000003d __SP_L__
C:\Users\Thomas\AppData\Local\Temp/cc4Xj7Xa.s:6      *ABS*:00000000 __tmp_reg__
C:\Users\Thomas\AppData\Local\Temp/cc4Xj7Xa.s:7      *ABS*:00000001 __zero_reg__
C:\Users\Thomas\AppData\Local\Temp/cc4Xj7Xa.s:15     .bss:00000000 ServoRollValue
C:\Users\Thomas\AppData\Local\Temp/cc4Xj7Xa.s:21     .bss:00000002 ServoNickValue
C:\Users\Thomas\AppData\Local\Temp/cc4Xj7Xa.s:27     .data:00000000 BeepMuster
C:\Users\Thomas\AppData\Local\Temp/cc4Xj7Xa.s:32     .data:00000002 ServoRollOffset
C:\Users\Thomas\AppData\Local\Temp/cc4Xj7Xa.s:37     .data:00000004 ServoNickOffset
C:\Users\Thomas\AppData\Local\Temp/cc4Xj7Xa.s:44     .bss:00000004 RemainingPulse
C:\Users\Thomas\AppData\Local\Temp/cc4Xj7Xa.s:50     .data:00000006 CalculateServoSignals
C:\Users\Thomas\AppData\Local\Temp/cc4Xj7Xa.s:57     .bss:00000006 ServoActive
C:\Users\Thomas\AppData\Local\Temp/cc4Xj7Xa.s:63     .bss:00000007 SendSPI
C:\Users\Thomas\AppData\Local\Temp/cc4Xj7Xa.s:69     .bss:00000008 beeptime
C:\Users\Thomas\AppData\Local\Temp/cc4Xj7Xa.s:75     .bss:0000000a cntKompass
C:\Users\Thomas\AppData\Local\Temp/cc4Xj7Xa.s:81     .bss:0000000c UpdateMotor
C:\Users\Thomas\AppData\Local\Temp/cc4Xj7Xa.s:87     .bss:0000000d CountMilliseconds
C:\Users\Thomas\AppData\Local\Temp/cc4Xj7Xa.s:92     .data:00000007 cnt_1ms.3
                             .bss:0000000f cnt.4
C:\Users\Thomas\AppData\Local\Temp/cc4Xj7Xa.s:94     .bss:00000010 compass_active.5
C:\Users\Thomas\AppData\Local\Temp/cc4Xj7Xa.s:99     .text:00000000 __vector_18
C:\Users\Thomas\AppData\Local\Temp/cc4Xj7Xa.s:304    .text:000001e6 SetDelay
C:\Users\Thomas\AppData\Local\Temp/cc4Xj7Xa.s:320    .text:000001f8 CheckDelay
C:\Users\Thomas\AppData\Local\Temp/cc4Xj7Xa.s:339    .text:00000210 Delay_ms
C:\Users\Thomas\AppData\Local\Temp/cc4Xj7Xa.s:360    .text:0000022a Delay_ms_Mess
C:\Users\Thomas\AppData\Local\Temp/cc4Xj7Xa.s:390    .text:0000025a TIMER2_Init
C:\Users\Thomas\AppData\Local\Temp/cc4Xj7Xa.s:432    .text:000002b8 Timer_Init
C:\Users\Thomas\AppData\Local\Temp/cc4Xj7Xa.s:838    .bss:00000015 tim_main
C:\Users\Thomas\AppData\Local\Temp/cc4Xj7Xa.s:459    .text:000002e6 CalculateServo
C:\Users\Thomas\AppData\Local\Temp/cc4Xj7Xa.s:95     .bss:00000011 PulseOutput.0
C:\Users\Thomas\AppData\Local\Temp/cc4Xj7Xa.s:836    .bss:00000012 ServoFrameTime.1
C:\Users\Thomas\AppData\Local\Temp/cc4Xj7Xa.s:837    .bss:00000014 ServoIndex.2
C:\Users\Thomas\AppData\Local\Temp/cc4Xj7Xa.s:841    .text:00000658 __vector_9
                            *COM*:00000008 Motorsmax
                            *COM*:00000002 MotorsTmax

UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
SpektrumTimer
PlatinenVersion
NaviDataOkay
Parameter_GlobalConfig
__udivmodhi4
KompassValue
AdReady
__prologue_saves__
EE_Parameter
sintab
IntegralNick
__mulsi3
IntegralRoll
POI_KameraNick
Parameter_ServoNickControl
__divmodhi4
Parameter_ServoRollControl
__epilogue_restores__
Parameter_Servo3
Parameter_Servo4
Parameter_Servo5
PPM_in
SenderOkay