1 .file "main.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 JetiBeep 11 .global JetiBeep 12 .section .bss 15 JetiBeep: 16 0000 00 .skip 1,0 17 .global FoundMotors 18 .global FoundMotors 21 FoundMotors: 22 0001 00 .skip 1,0 23 .global FlugSekunden 24 .global FlugSekunden 27 FlugSekunden: 28 0002 0000 .skip 2,0 29 .global FlugMinutenGesamt 30 .global FlugMinutenGesamt 33 FlugMinutenGesamt: 34 0004 0000 .skip 2,0 35 .global FlugMinuten 36 .global FlugMinuten 39 FlugMinuten: 40 0006 0000 .skip 2,0 41 .global BattLowVoltageWarning 42 .data 45 BattLowVoltageWarning: 46 0000 5E .byte 94 47 .global PlatinenVersion 50 PlatinenVersion: 51 0001 0A .byte 10 52 .global DisableRcOffBeeping 53 .global DisableRcOffBeeping 54 .section .bss 57 DisableRcOffBeeping: 58 0008 00 .skip 1,0 59 .section .progmem.data,"a",@progbits 62 __c.11: 63 0000 0A0D 3D3D .string "\n\r===================================" 63 3D3D 3D3D 63 3D3D 3D3D 63 3D3D 3D3D 63 3D3D 3D3D 64 .text 65 .global PrintLine 67 PrintLine: 68 /* prologue: frame size=0 */ 69 /* prologue end (size=0) */ 70 0000 80E0 ldi r24,lo8(__c.11) 71 0002 90E0 ldi r25,hi8(__c.11) 72 0004 9F93 push r25 73 0006 8F93 push r24 74 0008 80E0 ldi r24,lo8(pm(uart_putchar)) 75 000a 90E0 ldi r25,hi8(pm(uart_putchar)) 76 000c 9F93 push r25 77 000e 8F93 push r24 78 0010 E091 0000 lds r30,_printf_P 79 0014 F091 0000 lds r31,(_printf_P)+1 80 0018 0995 icall 81 001a 0F90 pop __tmp_reg__ 82 001c 0F90 pop __tmp_reg__ 83 001e 0F90 pop __tmp_reg__ 84 0020 0F90 pop __tmp_reg__ 85 /* epilogue: frame size=0 */ 86 0022 0895 ret 87 /* epilogue end (size=1) */ 88 /* function PrintLine size 18 (17) */ 90 .data 93 stick.10: 94 0002 01 .byte 1 95 .text 96 .global CalMk3Mag 98 CalMk3Mag: 99 /* prologue: frame size=0 */ 100 /* prologue end (size=0) */ 101 0024 8091 0000 lds r24,EE_Parameter+1 102 0028 E82F mov r30,r24 103 002a FF27 clr r31 104 002c EE0F add r30,r30 105 002e FF1F adc r31,r31 106 0030 E050 subi r30,lo8(-(PPM_in)) 107 0032 F040 sbci r31,hi8(-(PPM_in)) 108 0034 8081 ld r24,Z 109 0036 9181 ldd r25,Z+1 110 0038 8D5E subi r24,lo8(-19) 111 003a 9F4F sbci r25,hi8(-19) 112 003c 04F0 brlt .L3 113 003e 1092 0000 sts stick.10,__zero_reg__ 114 .L3: 115 0042 8081 ld r24,Z 116 0044 9181 ldd r25,Z+1 117 0046 8A5B subi r24,lo8(-70) 118 0048 9F4F sbci r25,hi8(-70) 119 004a 04F4 brge .L4 120 004c 8091 0000 lds r24,stick.10 121 0050 8823 tst r24 122 0052 01F4 brne .L4 123 0054 81E0 ldi r24,lo8(1) 124 0056 8093 0000 sts stick.10,r24 125 005a 8091 0000 lds r24,WinkelOut+6 126 005e 8F5F subi r24,lo8(-(1)) 127 0060 8093 0000 sts WinkelOut+6,r24 128 0064 8530 cpi r24,lo8(5) 129 0066 00F0 brlo .L5 130 0068 88EE ldi r24,lo8(1000) 131 006a 93E0 ldi r25,hi8(1000) 132 006c 9093 0000 sts (beeptime)+1,r25 133 0070 8093 0000 sts beeptime,r24 134 0074 00C0 rjmp .L4 135 .L5: 136 0076 66E9 ldi r22,lo8(150) 137 0078 70E0 ldi r23,hi8(150) 138 007a 0E94 0000 call Piep 139 .L4: 140 007e 8091 0000 lds r24,WinkelOut+6 141 0082 9927 clr r25 142 0084 9093 0000 sts (DebugOut+40)+1,r25 143 0088 8093 0000 sts DebugOut+40,r24 144 /* epilogue: frame size=0 */ 145 008c 0895 ret 146 /* epilogue end (size=1) */ 147 /* function CalMk3Mag size 55 (54) */ 149 .section .progmem.data 152 __c.7: 153 0026 0A0D 4261 .string "\n\rBatt:" 153 7474 3A00 156 __c.8: 157 002e 2025 6420 .string " %d Cells " 157 4365 6C6C 157 7320 00 160 __c.9: 161 0039 204C 6F77 .string " Low warning: %d.%d" 161 2077 6172 161 6E69 6E67 161 3A20 2564 161 2E25 6400 162 .text 163 .global LipoDetection 165 LipoDetection: 166 /* prologue: frame size=0 */ 167 008e 1F93 push r17 168 0090 CF93 push r28 169 0092 DF93 push r29 170 /* prologue end (size=3) */ 171 0094 182F mov r17,r24 172 0096 8823 tst r24 173 0098 01F0 breq .L8 174 009a 80E0 ldi r24,lo8(__c.7) 175 009c 90E0 ldi r25,hi8(__c.7) 176 009e 9F93 push r25 177 00a0 8F93 push r24 178 00a2 80E0 ldi r24,lo8(pm(uart_putchar)) 179 00a4 90E0 ldi r25,hi8(pm(uart_putchar)) 180 00a6 9F93 push r25 181 00a8 8F93 push r24 182 00aa E091 0000 lds r30,_printf_P 183 00ae F091 0000 lds r31,(_printf_P)+1 184 00b2 0995 icall 185 00b4 0F90 pop __tmp_reg__ 186 00b6 0F90 pop __tmp_reg__ 187 00b8 0F90 pop __tmp_reg__ 188 00ba 0F90 pop __tmp_reg__ 189 .L8: 190 00bc 8091 0000 lds r24,EE_Parameter+36 191 00c0 8233 cpi r24,lo8(50) 192 00c2 00F0 brlo .+2 193 00c4 00C0 rjmp .L9 194 00c6 84EF ldi r24,lo8(500) 195 00c8 91E0 ldi r25,hi8(500) 196 00ca 0E94 0000 call SetDelay 197 00ce EC01 movw r28,r24 198 00d0 1123 tst r17 199 00d2 01F0 breq .L10 200 .L11: 201 00d4 CE01 movw r24,r28 202 00d6 0E94 0000 call CheckDelay 203 00da 8823 tst r24 204 00dc 01F0 breq .L11 205 .L10: 206 00de C2E0 ldi r28,lo8(2) 207 00e0 D0E0 ldi r29,hi8(2) 208 00e2 26E5 ldi r18,lo8(86) 209 00e4 30E0 ldi r19,hi8(86) 210 .L18: 211 00e6 8091 0000 lds r24,UBat 212 00ea 9091 0000 lds r25,(UBat)+1 213 00ee 8217 cp r24,r18 214 00f0 9307 cpc r25,r19 215 00f2 00F0 brlo .L15 216 00f4 2196 adiw r28,1 217 00f6 255D subi r18,lo8(-(43)) 218 00f8 3F4F sbci r19,hi8(-(43)) 219 00fa C730 cpi r28,7 220 00fc D105 cpc r29,__zero_reg__ 221 00fe 00F0 brlo .L18 222 .L15: 223 0100 8091 0000 lds r24,EE_Parameter+36 224 0104 9927 clr r25 225 0106 C89F mul r28,r24 226 0108 9001 movw r18,r0 227 010a C99F mul r28,r25 228 010c 300D add r19,r0 229 010e D89F mul r29,r24 230 0110 300D add r19,r0 231 0112 1124 clr r1 232 0114 2093 0000 sts BattLowVoltageWarning,r18 233 0118 1123 tst r17 234 011a 01F0 breq .L20 235 011c 68EC ldi r22,lo8(200) 236 011e 70E0 ldi r23,hi8(200) 237 0120 8C2F mov r24,r28 238 0122 0E94 0000 call Piep 239 0126 DF93 push r29 240 0128 CF93 push r28 241 012a 80E0 ldi r24,lo8(__c.8) 242 012c 90E0 ldi r25,hi8(__c.8) 243 012e 9F93 push r25 244 0130 8F93 push r24 245 0132 80E0 ldi r24,lo8(pm(uart_putchar)) 246 0134 90E0 ldi r25,hi8(pm(uart_putchar)) 247 0136 9F93 push r25 248 0138 8F93 push r24 249 013a E091 0000 lds r30,_printf_P 250 013e F091 0000 lds r31,(_printf_P)+1 251 0142 0995 icall 252 0144 8DB7 in r24,__SP_L__ 253 0146 9EB7 in r25,__SP_H__ 254 0148 0696 adiw r24,6 255 014a 8DBF out __SP_L__,r24 256 014c 00C0 rjmp .L20 257 .L9: 258 014e 8093 0000 sts BattLowVoltageWarning,r24 259 .L20: 260 0152 1123 tst r17 261 0154 01F0 breq .L7 262 0156 8091 0000 lds r24,BattLowVoltageWarning 263 015a 6AE0 ldi r22,lo8(10) 264 015c 0E94 0000 call __udivmodqi4 265 0160 892F mov r24,r25 266 0162 9927 clr r25 267 0164 9F93 push r25 268 0166 8F93 push r24 269 0168 8091 0000 lds r24,BattLowVoltageWarning 270 016c 0E94 0000 call __udivmodqi4 271 0170 9927 clr r25 272 0172 9F93 push r25 273 0174 8F93 push r24 274 0176 80E0 ldi r24,lo8(__c.9) 275 0178 90E0 ldi r25,hi8(__c.9) 276 017a 9F93 push r25 277 017c 8F93 push r24 278 017e 80E0 ldi r24,lo8(pm(uart_putchar)) 279 0180 90E0 ldi r25,hi8(pm(uart_putchar)) 280 0182 9F93 push r25 281 0184 8F93 push r24 282 0186 E091 0000 lds r30,_printf_P 283 018a F091 0000 lds r31,(_printf_P)+1 284 018e 0995 icall 285 0190 2DB7 in r18,__SP_L__ 286 0192 3EB7 in r19,__SP_H__ 287 0194 285F subi r18,lo8(-(8)) 288 0196 3F4F sbci r19,hi8(-(8)) 289 0198 2DBF out __SP_L__,r18 290 .L7: 291 /* epilogue: frame size=0 */ 292 019a DF91 pop r29 293 019c CF91 pop r28 294 019e 1F91 pop r17 295 01a0 0895 ret 296 /* epilogue end (size=4) */ 297 /* function LipoDetection size 138 (131) */ 299 .section .progmem.data 302 __c.0: 303 004d 0A0D 466F .string "\n\rFound BL-Ctrl: " 303 756E 6420 303 424C 2D43 303 7472 6C3A 303 2000 306 __c.1: 307 005f 2564 00 .string "%d" 310 __c.2: 311 0062 0A0D 0A0D .string "\n\r\n\r!! MISSING BL-CTRL: %d !!" 311 2121 204D 311 4953 5349 311 4E47 2042 311 4C2D 4354 314 __c.3: 315 0080 0A0D 4361 .string "\n\rCalibrating pressure sensor.." 315 6C69 6272 315 6174 696E 315 6720 7072 315 6573 7375 318 __c.4: 319 00a0 4F4B 0A0D .string "OK\n\r" 319 00 322 __c.5: 323 00a5 0A0D 466C .string "\n\rFlight-time %u min Total:%u min" 323 6967 6874 323 2D74 696D 323 6520 2575 323 206D 696E 324 .lcomm second.6,1 325 .text 326 .global main 328 main: 329 /* prologue: frame size=0 */ 330 01a2 C0E0 ldi r28,lo8(__stack - 0) 331 01a4 D0E0 ldi r29,hi8(__stack - 0) 332 01a6 DEBF out __SP_H__,r29 333 01a8 CDBF out __SP_L__,r28 334 /* prologue end (size=4) */ 335 01aa 8824 clr r8 336 01ac 9924 clr r9 337 01ae 14B8 out 36-0x20,__zero_reg__ 338 01b0 15B8 out 37-0x20,__zero_reg__ 339 01b2 B7EE ldi r27,lo8(999) 340 01b4 EB2E mov r14,r27 341 01b6 B3E0 ldi r27,hi8(999) 342 01b8 FB2E mov r15,r27 343 .L27: 344 01ba 2EEC ldi r18,lo8(-50) 345 01bc 3FEF ldi r19,hi8(-50) 346 01be E20E add r14,r18 347 01c0 F31E adc r15,r19 348 01c2 F7FE sbrs r15,7 349 01c4 00C0 rjmp .L27 350 01c6 199B sbis 35-0x20,1 351 01c8 00C0 rjmp .L28 352 01ca 85E1 ldi r24,lo8(21) 353 01cc 00C0 rjmp .L242 354 .L28: 355 01ce 86E1 ldi r24,lo8(22) 356 .L242: 357 01d0 8093 0000 sts PlatinenVersion,r24 358 01d4 81E8 ldi r24,lo8(-127) 359 01d6 87B9 out 39-0x20,r24 360 01d8 3E9A sbi 39-0x20,6 361 01da 8FEF ldi r24,lo8(-1) 362 01dc 88B9 out 40-0x20,r24 363 01de 8BE1 ldi r24,lo8(27) 364 01e0 84B9 out 36-0x20,r24 365 01e2 81E0 ldi r24,lo8(1) 366 01e4 85B9 out 37-0x20,r24 367 01e6 8EE3 ldi r24,lo8(62) 368 01e8 8AB9 out 42-0x20,r24 369 01ea 87E4 ldi r24,lo8(71) 370 01ec 8BB9 out 43-0x20,r24 371 01ee 469A sbi 40-0x20,6 372 01f0 84B7 in r24,84-0x20 373 01f2 877F andi r24,lo8(-9) 374 01f4 84BF out 84-0x20,r24 375 01f6 8091 6000 lds r24,96 376 01fa 8861 ori r24,lo8(24) 377 01fc 8093 6000 sts 96,r24 378 0200 1092 6000 sts 96,__zero_reg__ 379 0204 84EC ldi r24,lo8(2500) 380 0206 99E0 ldi r25,hi8(2500) 381 0208 9093 0000 sts (beeptime)+1,r25 382 020c 8093 0000 sts beeptime,r24 383 0210 1092 0000 sts (StickGier)+1,__zero_reg__ 384 0214 1092 0000 sts StickGier,__zero_reg__ 385 0218 1092 0000 sts (PPM_in+4)+1,__zero_reg__ 386 021c 1092 0000 sts PPM_in+4,__zero_reg__ 387 0220 1092 0000 sts (StickRoll)+1,__zero_reg__ 388 0224 1092 0000 sts StickRoll,__zero_reg__ 389 0228 1092 0000 sts (StickNick)+1,__zero_reg__ 390 022c 1092 0000 sts StickNick,__zero_reg__ 391 0230 2091 0000 lds r18,PlatinenVersion 392 0234 2431 cpi r18,lo8(20) 393 0236 00F0 brlo .L30 394 0238 84EC ldi r24,lo8(1220) 395 023a 94E0 ldi r25,hi8(1220) 396 023c A0E0 ldi r26,hlo8(1220) 397 023e B0E0 ldi r27,hhi8(1220) 398 0240 00C0 rjmp .L243 399 .L30: 400 0242 8BE0 ldi r24,lo8(1291) 401 0244 95E0 ldi r25,hi8(1291) 402 0246 A0E0 ldi r26,hlo8(1291) 403 0248 B0E0 ldi r27,hhi8(1291) 404 .L243: 405 024a 8093 0000 sts GIER_GRAD_FAKTOR,r24 406 024e 9093 0000 sts (GIER_GRAD_FAKTOR)+1,r25 407 0252 A093 0000 sts (GIER_GRAD_FAKTOR)+2,r26 408 0256 B093 0000 sts (GIER_GRAD_FAKTOR)+3,r27 409 025a 2A30 cpi r18,lo8(10) 410 025c 01F0 breq .L33 411 025e 2431 cpi r18,lo8(20) 412 0260 00F0 brlo .L32 413 .L33: 414 0262 2898 cbi 37-0x20,0 415 0264 00C0 rjmp .L34 416 .L32: 417 0266 289A sbi 37-0x20,0 418 .L34: 419 0268 2C30 cpi r18,lo8(12) 420 026a 00F0 brlo .L36 421 026c 2631 cpi r18,lo8(22) 422 026e 01F4 brne .L35 423 .L36: 424 0270 299A sbi 37-0x20,1 425 0272 00C0 rjmp .L37 426 .L35: 427 0274 2998 cbi 37-0x20,1 428 .L37: 429 0276 0E94 0000 call Timer_Init 430 027a 0E94 0000 call TIMER2_Init 431 027e 0E94 0000 call UART_Init 432 0282 0E94 0000 call rc_sum_init 433 0286 0E94 0000 call ADC_Init 434 028a 81E0 ldi r24,lo8(1) 435 028c 0E94 0000 call I2C_Init 436 0290 0E94 0000 call SPI_MasterInit 437 0294 0E94 0000 call Capacity_Init 438 0298 0E94 0000 call LIBFC_Init 439 029c 8091 0000 lds r24,PlatinenVersion 440 02a0 8C30 cpi r24,lo8(12) 441 02a2 00F0 brlo .L39 442 02a4 8631 cpi r24,lo8(22) 443 02a6 01F4 brne .L38 444 .L39: 445 02a8 299A sbi 37-0x20,1 446 02aa 00C0 rjmp .L40 447 .L38: 448 02ac 2998 cbi 37-0x20,1 449 .L40: 450 /* #APP */ 451 02ae 7894 sei 452 /* #NOAPP */ 453 02b0 0E94 0000 call ParamSet_Init 454 02b4 8091 0000 lds r24,BLFlags 455 02b8 8260 ori r24,lo8(2) 456 02ba 8093 0000 sts BLFlags,r24 457 02be 1092 0000 sts motor_read,__zero_reg__ 458 02c2 0E94 0000 call SendMotorData 459 02c6 84EF ldi r24,lo8(500) 460 02c8 91E0 ldi r25,hi8(500) 461 02ca 0E94 0000 call SetDelay 462 02ce 7C01 movw r14,r24 463 .L41: 464 02d0 8091 0000 lds r24,BLFlags 465 02d4 80FD sbrc r24,0 466 02d6 00C0 rjmp .L42 467 02d8 C701 movw r24,r14 468 02da 0E94 0000 call CheckDelay 469 02de 8823 tst r24 470 02e0 01F0 breq .L41 471 .L42: 472 02e2 80E0 ldi r24,lo8(__c.0) 473 02e4 90E0 ldi r25,hi8(__c.0) 474 02e6 9F93 push r25 475 02e8 8F93 push r24 476 02ea A0E0 ldi r26,lo8(pm(uart_putchar)) 477 02ec AA2E mov r10,r26 478 02ee A0E0 ldi r26,hi8(pm(uart_putchar)) 479 02f0 BA2E mov r11,r26 480 02f2 BF92 push r11 481 02f4 AF92 push r10 482 02f6 E091 0000 lds r30,_printf_P 483 02fa F091 0000 lds r31,(_printf_P)+1 484 02fe 0995 icall 485 0300 80EA ldi r24,lo8(4000) 486 0302 9FE0 ldi r25,hi8(4000) 487 0304 0E94 0000 call SetDelay 488 0308 7C01 movw r14,r24 489 030a C0E0 ldi r28,lo8(0) 490 030c D0E0 ldi r29,hi8(0) 491 030e 0F90 pop __tmp_reg__ 492 0310 0F90 pop __tmp_reg__ 493 0312 0F90 pop __tmp_reg__ 494 0314 0F90 pop __tmp_reg__ 495 0316 00E0 ldi r16,lo8(Motor+3) 496 0318 10E0 ldi r17,hi8(Motor+3) 497 031a F0E0 ldi r31,lo8(Mixer+13) 498 031c CF2E mov r12,r31 499 031e F0E0 ldi r31,hi8(Mixer+13) 500 0320 DF2E mov r13,r31 501 .L58: 502 0322 0E94 0000 call SendMotorData 503 .L47: 504 0326 8091 0000 lds r24,BLFlags 505 032a 80FD sbrc r24,0 506 032c 00C0 rjmp .L48 507 032e C701 movw r24,r14 508 0330 0E94 0000 call CheckDelay 509 0334 8823 tst r24 510 0336 01F0 breq .L47 511 .L48: 512 0338 F601 movw r30,r12 513 033a 8081 ld r24,Z 514 033c 1816 cp __zero_reg__,r24 515 033e 04F4 brge .L50 516 0340 00C0 rjmp .L246 517 .L56: 518 0342 0E94 0000 call SendMotorData 519 .L53: 520 0346 8091 0000 lds r24,BLFlags 521 034a 80FD sbrc r24,0 522 034c 00C0 rjmp .L246 523 034e C701 movw r24,r14 524 0350 0E94 0000 call CheckDelay 525 0354 8823 tst r24 526 0356 01F0 breq .L53 527 .L246: 528 0358 C701 movw r24,r14 529 035a 0E94 0000 call CheckDelay 530 035e 8823 tst r24 531 0360 01F4 brne .L50 532 0362 F801 movw r30,r16 533 0364 8081 ld r24,Z 534 0366 8823 tst r24 535 0368 04F4 brge .L56 536 .L50: 537 036a F801 movw r30,r16 538 036c 8081 ld r24,Z 539 036e 87FF sbrs r24,7 540 0370 00C0 rjmp .L46 541 0372 2196 adiw r28,1 542 0374 DF93 push r29 543 0376 CF93 push r28 544 0378 2197 sbiw r28,1 545 037a 80E0 ldi r24,lo8(__c.1) 546 037c 90E0 ldi r25,hi8(__c.1) 547 037e 9F93 push r25 548 0380 8F93 push r24 549 0382 BF92 push r11 550 0384 AF92 push r10 551 0386 E091 0000 lds r30,_printf_P 552 038a F091 0000 lds r31,(_printf_P)+1 553 038e 0995 icall 554 0390 8091 0000 lds r24,FoundMotors 555 0394 8F5F subi r24,lo8(-(1)) 556 0396 8093 0000 sts FoundMotors,r24 557 039a 2DB7 in r18,__SP_L__ 558 039c 3EB7 in r19,__SP_H__ 559 039e 2A5F subi r18,lo8(-(6)) 560 03a0 3F4F sbci r19,hi8(-(6)) 561 03a2 2DBF out __SP_L__,r18 562 .L46: 563 03a4 2196 adiw r28,1 564 03a6 84E0 ldi r24,lo8(4) 565 03a8 90E0 ldi r25,hi8(4) 566 03aa C80E add r12,r24 567 03ac D91E adc r13,r25 568 03ae 085F subi r16,lo8(-(8)) 569 03b0 1F4F sbci r17,hi8(-(8)) 570 03b2 CC30 cpi r28,12 571 03b4 D105 cpc r29,__zero_reg__ 572 03b6 00F4 brsh .+2 573 03b8 00C0 rjmp .L58 574 03ba C0E0 ldi r28,lo8(0) 575 03bc D0E0 ldi r29,hi8(0) 576 03be 00E0 ldi r16,lo8(Motor) 577 03c0 10E0 ldi r17,hi8(Motor) 578 03c2 E0E0 ldi r30,lo8(Mixer+13) 579 03c4 EE2E mov r14,r30 580 03c6 E0E0 ldi r30,hi8(Mixer+13) 581 03c8 FE2E mov r15,r30 582 .L63: 583 03ca F801 movw r30,r16 584 03cc 8381 ldd r24,Z+3 585 03ce 87FD sbrc r24,7 586 03d0 00C0 rjmp .L62 587 03d2 F701 movw r30,r14 588 03d4 8081 ld r24,Z 589 03d6 1816 cp __zero_reg__,r24 590 03d8 04F4 brge .L62 591 03da 2196 adiw r28,1 592 03dc DF93 push r29 593 03de CF93 push r28 594 03e0 2197 sbiw r28,1 595 03e2 80E0 ldi r24,lo8(__c.2) 596 03e4 90E0 ldi r25,hi8(__c.2) 597 03e6 9F93 push r25 598 03e8 8F93 push r24 599 03ea 80E0 ldi r24,lo8(pm(uart_putchar)) 600 03ec 90E0 ldi r25,hi8(pm(uart_putchar)) 601 03ee 9F93 push r25 602 03f0 8F93 push r24 603 03f2 E091 0000 lds r30,_printf_P 604 03f6 F091 0000 lds r31,(_printf_P)+1 605 03fa 0995 icall 606 03fc 82E0 ldi r24,lo8(2) 607 03fe 8093 0000 sts ServoActive,r24 608 0402 2DB7 in r18,__SP_L__ 609 0404 3EB7 in r19,__SP_H__ 610 0406 2A5F subi r18,lo8(-(6)) 611 0408 3F4F sbci r19,hi8(-(6)) 612 040a 2DBF out __SP_L__,r18 613 .L62: 614 040c F801 movw r30,r16 615 040e 8381 ldd r24,Z+3 616 0410 8078 andi r24,lo8(-128) 617 0412 8383 std Z+3,r24 618 0414 2196 adiw r28,1 619 0416 24E0 ldi r18,lo8(4) 620 0418 30E0 ldi r19,hi8(4) 621 041a E20E add r14,r18 622 041c F31E adc r15,r19 623 041e 085F subi r16,lo8(-(8)) 624 0420 1F4F sbci r17,hi8(-(8)) 625 0422 CC30 cpi r28,12 626 0424 D105 cpc r29,__zero_reg__ 627 0426 00F0 brlo .L63 628 0428 0E94 0000 call PrintLine 629 042c 9091 0000 lds r25,RequiredMotors 630 0430 8091 0000 lds r24,FoundMotors 631 0434 9817 cp r25,r24 632 0436 00F4 brsh .L64 633 0438 8091 0000 lds r24,VersionInfo+6 634 043c 8061 ori r24,lo8(16) 635 043e 8093 0000 sts VersionInfo+6,r24 636 .L64: 637 0442 80E0 ldi r24,lo8(__c.3) 638 0444 90E0 ldi r25,hi8(__c.3) 639 0446 9F93 push r25 640 0448 8F93 push r24 641 044a C0E0 ldi r28,lo8(pm(uart_putchar)) 642 044c D0E0 ldi r29,hi8(pm(uart_putchar)) 643 044e DF93 push r29 644 0450 CF93 push r28 645 0452 E091 0000 lds r30,_printf_P 646 0456 F091 0000 lds r31,(_printf_P)+1 647 045a 0995 icall 648 045c 88EE ldi r24,lo8(1000) 649 045e 93E0 ldi r25,hi8(1000) 650 0460 0E94 0000 call SetDelay 651 0464 7C01 movw r14,r24 652 0466 0E94 0000 call SucheLuftruckOffset 653 046a 0F90 pop __tmp_reg__ 654 046c 0F90 pop __tmp_reg__ 655 046e 0F90 pop __tmp_reg__ 656 0470 0F90 pop __tmp_reg__ 657 .L65: 658 0472 C701 movw r24,r14 659 0474 0E94 0000 call CheckDelay 660 0478 8823 tst r24 661 047a 01F0 breq .L65 662 047c 80E0 ldi r24,lo8(__c.4) 663 047e 90E0 ldi r25,hi8(__c.4) 664 0480 9F93 push r25 665 0482 8F93 push r24 666 0484 DF93 push r29 667 0486 CF93 push r28 668 0488 E091 0000 lds r30,_printf_P 669 048c F091 0000 lds r31,(_printf_P)+1 670 0490 0995 icall 671 0492 80E0 ldi r24,lo8(0) 672 0494 0E94 0000 call SetNeutral 673 0498 8091 0000 lds r24,PlatinenVersion 674 049c 0F90 pop __tmp_reg__ 675 049e 0F90 pop __tmp_reg__ 676 04a0 0F90 pop __tmp_reg__ 677 04a2 0F90 pop __tmp_reg__ 678 04a4 8A30 cpi r24,lo8(10) 679 04a6 01F0 breq .L69 680 04a8 8431 cpi r24,lo8(20) 681 04aa 00F0 brlo .L68 682 .L69: 683 04ac 2898 cbi 37-0x20,0 684 04ae 00C0 rjmp .L70 685 .L68: 686 04b0 289A sbi 37-0x20,0 687 .L70: 688 04b2 80ED ldi r24,lo8(2000) 689 04b4 97E0 ldi r25,hi8(2000) 690 04b6 9093 0000 sts (beeptime)+1,r25 691 04ba 8093 0000 sts beeptime,r24 692 04be 85E5 ldi r24,lo8(85) 693 04c0 8093 0000 sts ExternControl,r24 694 04c4 8EE0 ldi r24,lo8(14) 695 04c6 90E0 ldi r25,hi8(14) 696 04c8 0E94 0000 call GetParamByte 697 04cc 9927 clr r25 698 04ce 182F mov r17,r24 699 04d0 0027 clr r16 700 04d2 8FE0 ldi r24,lo8(15) 701 04d4 90E0 ldi r25,hi8(15) 702 04d6 0E94 0000 call GetParamByte 703 04da 080F add r16,r24 704 04dc 111D adc r17,__zero_reg__ 705 04de 1093 0000 sts (FlugMinuten)+1,r17 706 04e2 0093 0000 sts FlugMinuten,r16 707 04e6 8AE0 ldi r24,lo8(10) 708 04e8 90E0 ldi r25,hi8(10) 709 04ea 0E94 0000 call GetParamByte 710 04ee 9927 clr r25 711 04f0 182F mov r17,r24 712 04f2 0027 clr r16 713 04f4 8BE0 ldi r24,lo8(11) 714 04f6 90E0 ldi r25,hi8(11) 715 04f8 0E94 0000 call GetParamByte 716 04fc 080F add r16,r24 717 04fe 111D adc r17,__zero_reg__ 718 0500 1093 0000 sts (FlugMinutenGesamt)+1,r17 719 0504 0093 0000 sts FlugMinutenGesamt,r16 720 0508 0F5F subi r16,lo8(-1) 721 050a 1F4F sbci r17,hi8(-1) 722 050c 01F0 breq .L72 723 050e 8091 0000 lds r24,FlugMinuten 724 0512 9091 0000 lds r25,(FlugMinuten)+1 725 0516 8F5F subi r24,lo8(-1) 726 0518 9F4F sbci r25,hi8(-1) 727 051a 01F4 brne .L71 728 .L72: 729 051c 1092 0000 sts (FlugMinuten)+1,__zero_reg__ 730 0520 1092 0000 sts FlugMinuten,__zero_reg__ 731 0524 1092 0000 sts (FlugMinutenGesamt)+1,__zero_reg__ 732 0528 1092 0000 sts FlugMinutenGesamt,__zero_reg__ 733 .L71: 734 052c 8091 0000 lds r24,FlugMinutenGesamt 735 0530 9091 0000 lds r25,(FlugMinutenGesamt)+1 736 0534 9F93 push r25 737 0536 8F93 push r24 738 0538 8091 0000 lds r24,FlugMinuten 739 053c 9091 0000 lds r25,(FlugMinuten)+1 740 0540 9F93 push r25 741 0542 8F93 push r24 742 0544 80E0 ldi r24,lo8(__c.5) 743 0546 90E0 ldi r25,hi8(__c.5) 744 0548 9F93 push r25 745 054a 8F93 push r24 746 054c DF93 push r29 747 054e CF93 push r28 748 0550 E091 0000 lds r30,_printf_P 749 0554 F091 0000 lds r31,(_printf_P)+1 750 0558 0995 icall 751 055a 0E94 0000 call LcdClear 752 055e 88E8 ldi r24,lo8(5000) 753 0560 93E1 ldi r25,hi8(5000) 754 0562 9093 0000 sts (I2CTimeout)+1,r25 755 0566 8093 0000 sts I2CTimeout,r24 756 056a C1E0 ldi r28,lo8(1) 757 056c C093 0000 sts WinkelOut+7,r28 758 0570 8C2F mov r24,r28 759 0572 0E94 0000 call LipoDetection 760 0576 8091 0000 lds r24,EE_Parameter+39 761 057a 0E94 0000 call LIBFC_ReceiverInit 762 057e 0E94 0000 call PrintLine 763 0582 80ED ldi r24,lo8(2000) 764 0584 97E0 ldi r25,hi8(2000) 765 0586 0E94 0000 call SetDelay 766 058a 7C01 movw r14,r24 767 058c 8AEF ldi r24,lo8(250) 768 058e 90E0 ldi r25,hi8(250) 769 0590 0E94 0000 call SetDelay 770 0594 83E0 ldi r24,lo8(3) 771 0596 8093 0000 sts DebugOut,r24 772 059a 1092 0000 sts JetiBeep,__zero_reg__ 773 059e 8091 0000 lds r24,EE_Parameter+110 774 05a2 2DB7 in r18,__SP_L__ 775 05a4 3EB7 in r19,__SP_H__ 776 05a6 285F subi r18,lo8(-(8)) 777 05a8 3F4F sbci r19,hi8(-(8)) 778 05aa 2DBF out __SP_L__,r18 779 05ac 84FF sbrs r24,4 780 05ae 00C0 rjmp .L247 781 05b0 C093 0000 sts DisableRcOffBeeping,r28 782 .L247: 783 05b4 8091 0000 lds r24,ReceiverUpdateModeActive 784 05b8 8823 tst r24 785 05ba 01F0 breq .L76 786 .L77: 787 05bc 4798 cbi 40-0x20,7 788 05be 00C0 rjmp .L77 789 .L76: 790 05c0 8091 0000 lds r24,UpdateMotor 791 05c4 8823 tst r24 792 05c6 01F4 brne .+2 793 05c8 00C0 rjmp .L79 794 05ca 8091 0000 lds r24,AdReady 795 05ce 8823 tst r24 796 05d0 01F4 brne .+2 797 05d2 00C0 rjmp .L79 798 05d4 1092 0000 sts UpdateMotor,__zero_reg__ 799 05d8 8091 0000 lds r24,WinkelOut+6 800 05dc 8823 tst r24 801 05de 01F0 breq .L80 802 05e0 0E94 0000 call CalMk3Mag 803 05e4 00C0 rjmp .L81 804 .L80: 805 05e6 0E94 0000 call MotorRegler 806 .L81: 807 05ea 0E94 0000 call SendMotorData 808 05ee 2091 0000 lds r18,PlatinenVersion 809 05f2 2A30 cpi r18,lo8(10) 810 05f4 01F0 breq .L83 811 05f6 2431 cpi r18,lo8(20) 812 05f8 00F0 brlo .L82 813 .L83: 814 05fa 2898 cbi 37-0x20,0 815 05fc 00C0 rjmp .L84 816 .L82: 817 05fe 289A sbi 37-0x20,0 818 .L84: 819 0600 8091 0000 lds r24,SenderOkay 820 0604 8823 tst r24 821 0606 01F0 breq .L85 822 0608 8091 0000 lds r24,SenderOkay 823 060c 8150 subi r24,lo8(-(-1)) 824 060e 8093 0000 sts SenderOkay,r24 825 0612 00C0 rjmp .L86 826 .L85: 827 0614 8091 6F00 lds r24,111 828 0618 8062 ori r24,lo8(32) 829 061a 8093 6F00 sts 111,r24 830 061e 1092 0000 sts (PPM_in)+1,__zero_reg__ 831 0622 1092 0000 sts PPM_in,__zero_reg__ 832 0626 8091 0000 lds r24,VersionInfo+6 833 062a 8860 ori r24,lo8(8) 834 062c 8093 0000 sts VersionInfo+6,r24 835 .L86: 836 0630 8091 0000 lds r24,I2CTimeout 837 0634 9091 0000 lds r25,(I2CTimeout)+1 838 0638 0197 sbiw r24,1 839 063a 9093 0000 sts (I2CTimeout)+1,r25 840 063e 8093 0000 sts I2CTimeout,r24 841 0642 8091 0000 lds r24,I2CTimeout 842 0646 9091 0000 lds r25,(I2CTimeout)+1 843 064a 892B or r24,r25 844 064c 01F0 breq .L88 845 064e 8091 0000 lds r24,MissingMotor 846 0652 8823 tst r24 847 0654 01F0 breq .L87 848 .L88: 849 0656 8091 0000 lds r24,I2CTimeout 850 065a 9091 0000 lds r25,(I2CTimeout)+1 851 065e 892B or r24,r25 852 0660 01F4 brne .L89 853 0662 0E94 0000 call I2C_Reset 854 0666 85E0 ldi r24,lo8(5) 855 0668 90E0 ldi r25,hi8(5) 856 066a 9093 0000 sts (I2CTimeout)+1,r25 857 066e 8093 0000 sts I2CTimeout,r24 858 0672 8091 0000 lds r24,DebugOut+58 859 0676 9091 0000 lds r25,(DebugOut+58)+1 860 067a 0196 adiw r24,1 861 067c 9093 0000 sts (DebugOut+58)+1,r25 862 0680 8093 0000 sts DebugOut+58,r24 863 0684 8091 0000 lds r24,VersionInfo+6 864 0688 8160 ori r24,lo8(1) 865 068a 8093 0000 sts VersionInfo+6,r24 866 068e 8091 0000 lds r24,DebugOut+1 867 0692 8260 ori r24,lo8(2) 868 0694 8093 0000 sts DebugOut+1,r24 869 .L89: 870 0698 8091 0000 lds r24,BeepMuster 871 069c 9091 0000 lds r25,(BeepMuster)+1 872 06a0 8F5F subi r24,lo8(-1) 873 06a2 9F4F sbci r25,hi8(-1) 874 06a4 01F4 brne .L91 875 06a6 8091 0000 lds r24,MotorenEin 876 06aa 8823 tst r24 877 06ac 01F0 breq .L91 878 06ae 88EA ldi r24,lo8(25000) 879 06b0 91E6 ldi r25,hi8(25000) 880 06b2 9093 0000 sts (beeptime)+1,r25 881 06b6 8093 0000 sts beeptime,r24 882 06ba 80E8 ldi r24,lo8(128) 883 06bc 90E0 ldi r25,hi8(128) 884 06be 9093 0000 sts (BeepMuster)+1,r25 885 06c2 8093 0000 sts BeepMuster,r24 886 06c6 00C0 rjmp .L91 887 .L87: 888 06c8 2A30 cpi r18,lo8(10) 889 06ca 01F0 breq .L93 890 06cc 2431 cpi r18,lo8(20) 891 06ce 00F0 brlo .L92 892 .L93: 893 06d0 2898 cbi 37-0x20,0 894 06d2 00C0 rjmp .L91 895 .L92: 896 06d4 289A sbi 37-0x20,0 897 .L91: 898 06d6 0E94 0000 call LIBFC_Polling 899 06da 8091 0000 lds r24,UpdateMotor 900 06de 8823 tst r24 901 06e0 01F0 breq .+2 902 06e2 00C0 rjmp .L79 903 06e4 8091 0000 lds r24,NewSBusData 904 06e8 8823 tst r24 905 06ea 01F0 breq .L96 906 06ec 0E94 0000 call ProcessSBus 907 06f0 00C0 rjmp .L79 908 .L96: 909 06f2 8091 0000 lds r24,CalculateServoSignals 910 06f6 8823 tst r24 911 06f8 01F0 breq .L98 912 06fa 0E94 0000 call CalculateServo 913 .L98: 914 06fe 0E94 0000 call DatenUebertragung 915 0702 0E94 0000 call BearbeiteRxDaten 916 0706 C701 movw r24,r14 917 0708 0E94 0000 call CheckDelay 918 070c 8823 tst r24 919 070e 01F4 brne .+2 920 0710 00C0 rjmp .L99 921 0712 84E1 ldi r24,lo8(20) 922 0714 90E0 ldi r25,hi8(20) 923 0716 E80E add r14,r24 924 0718 F91E adc r15,r25 925 071a 0E94 0000 call CalcNickServoValue 926 071e 8091 0000 lds r24,EE_Parameter+39 927 0722 8630 cpi r24,lo8(6) 928 0724 01F4 brne .L100 929 0726 0E94 0000 call HoTT_Menu 930 072a 00C0 rjmp .L101 931 .L100: 932 072c 8430 cpi r24,lo8(4) 933 072e 01F4 brne .L101 934 0730 0E94 0000 call BuildJeti_Vario 935 .L101: 936 0734 8091 0000 lds r24,MissingMotor 937 0738 8823 tst r24 938 073a 01F0 breq .L103 939 073c 8091 0000 lds r24,VersionInfo+6 940 0740 8260 ori r24,lo8(2) 941 0742 8093 0000 sts VersionInfo+6,r24 942 0746 8091 0000 lds r24,DebugOut+1 943 074a 8260 ori r24,lo8(2) 944 074c 00C0 rjmp .L244 945 .L103: 946 074e 8091 0000 lds r24,beeptime 947 0752 9091 0000 lds r25,(beeptime)+1 948 0756 892B or r24,r25 949 0758 01F4 brne .L104 950 075a 8091 0000 lds r24,I2CTimeout 951 075e 9091 0000 lds r25,(I2CTimeout)+1 952 0762 0797 sbiw r24,7 953 0764 00F0 brlo .L104 954 0766 8091 0000 lds r24,DebugOut+1 955 076a 8D7F andi r24,lo8(-3) 956 .L244: 957 076c 8093 0000 sts DebugOut+1,r24 958 .L104: 959 0770 8091 0000 lds r24,DisableRcOffBeeping 960 0774 8823 tst r24 961 0776 01F0 breq .L107 962 0778 8091 0000 lds r24,SenderOkay 963 077c 8739 cpi r24,lo8(-105) 964 077e 00F0 brlo .L107 965 0780 1092 0000 sts DisableRcOffBeeping,__zero_reg__ 966 0784 88E8 ldi r24,lo8(5000) 967 0786 93E1 ldi r25,hi8(5000) 968 0788 9093 0000 sts (beeptime)+1,r25 969 078c 8093 0000 sts beeptime,r24 970 .L107: 971 0790 8091 0000 lds r24,PcZugriff 972 0794 8823 tst r24 973 0796 01F0 breq .L109 974 0798 8150 subi r24,lo8(-(-1)) 975 079a 8093 0000 sts PcZugriff,r24 976 079e 00C0 rjmp .L110 977 .L109: 978 07a0 8093 0000 sts ExternControl+10,r24 979 07a4 1092 0000 sts (ExternStickNick)+1,__zero_reg__ 980 07a8 1092 0000 sts ExternStickNick,__zero_reg__ 981 07ac 1092 0000 sts (ExternStickRoll)+1,__zero_reg__ 982 07b0 1092 0000 sts ExternStickRoll,__zero_reg__ 983 07b4 1092 0000 sts (ExternStickGier)+1,__zero_reg__ 984 07b8 1092 0000 sts ExternStickGier,__zero_reg__ 985 07bc 8091 0000 lds r24,SenderOkay 986 07c0 8823 tst r24 987 07c2 01F4 brne .L110 988 07c4 8091 0000 lds r24,BeepMuster 989 07c8 9091 0000 lds r25,(BeepMuster)+1 990 07cc 8F5F subi r24,lo8(-1) 991 07ce 9F4F sbci r25,hi8(-1) 992 07d0 01F4 brne .L110 993 07d2 2091 0000 lds r18,DisableRcOffBeeping 994 07d6 2230 cpi r18,lo8(2) 995 07d8 01F0 breq .L110 996 07da 88E9 ldi r24,lo8(15000) 997 07dc 9AE3 ldi r25,hi8(15000) 998 07de 9093 0000 sts (beeptime)+1,r25 999 07e2 8093 0000 sts beeptime,r24 1000 07e6 80E0 ldi r24,lo8(3072) 1001 07e8 9CE0 ldi r25,hi8(3072) 1002 07ea 9093 0000 sts (BeepMuster)+1,r25 1003 07ee 8093 0000 sts BeepMuster,r24 1004 07f2 2223 tst r18 1005 07f4 01F0 breq .L110 1006 07f6 82E0 ldi r24,lo8(2) 1007 07f8 8093 0000 sts DisableRcOffBeeping,r24 1008 .L110: 1009 07fc 8091 0000 lds r24,NaviDataOkay 1010 0800 893C cpi r24,lo8(-55) 1011 0802 00F0 brlo .L114 1012 0804 8150 subi r24,lo8(-(-1)) 1013 0806 8093 0000 sts NaviDataOkay,r24 1014 080a 8091 0000 lds r24,VersionInfo+6 1015 080e 8B7F andi r24,lo8(-5) 1016 0810 8093 0000 sts VersionInfo+6,r24 1017 0814 00C0 rjmp .L115 1018 .L114: 1019 0816 8091 0000 lds r24,NC_Version+3 1020 081a 8823 tst r24 1021 081c 01F0 breq .L116 1022 081e 8091 0000 lds r24,VersionInfo+6 1023 0822 8460 ori r24,lo8(4) 1024 0824 8093 0000 sts VersionInfo+6,r24 1025 0828 89E0 ldi r24,lo8(9) 1026 082a 8093 0000 sts NC_ErrorCode,r24 1027 082e 8091 0000 lds r24,BeepMuster 1028 0832 9091 0000 lds r25,(BeepMuster)+1 1029 0836 8F5F subi r24,lo8(-1) 1030 0838 9F4F sbci r25,hi8(-1) 1031 083a 01F4 brne .L116 1032 083c 8091 0000 lds r24,MotorenEin 1033 0840 8823 tst r24 1034 0842 01F0 breq .L116 1035 0844 88E9 ldi r24,lo8(15000) 1036 0846 9AE3 ldi r25,hi8(15000) 1037 0848 9093 0000 sts (beeptime)+1,r25 1038 084c 8093 0000 sts beeptime,r24 1039 0850 80E0 ldi r24,lo8(-22528) 1040 0852 98EA ldi r25,hi8(-22528) 1041 0854 9093 0000 sts (BeepMuster)+1,r25 1042 0858 8093 0000 sts BeepMuster,r24 1043 .L116: 1044 085c 1092 0000 sts (GPS_Nick)+1,__zero_reg__ 1045 0860 1092 0000 sts GPS_Nick,__zero_reg__ 1046 0864 1092 0000 sts (GPS_Roll)+1,__zero_reg__ 1047 0868 1092 0000 sts GPS_Roll,__zero_reg__ 1048 086c 1092 0000 sts GPS_Aid_StickMultiplikator,__zero_reg__ 1049 0870 1092 0000 sts GPSInfo,__zero_reg__ 1050 0874 1092 0000 sts (FromNaviCtrl+9)+1,__zero_reg__ 1051 0878 1092 0000 sts FromNaviCtrl+9,__zero_reg__ 1052 087c 1092 0000 sts (FromNaviCtrl+11)+1,__zero_reg__ 1053 0880 1092 0000 sts FromNaviCtrl+11,__zero_reg__ 1054 0884 8FEF ldi r24,lo8(-1) 1055 0886 9FEF ldi r25,hi8(-1) 1056 0888 9093 0000 sts (FromNaviCtrl+7)+1,r25 1057 088c 8093 0000 sts FromNaviCtrl+7,r24 1058 0890 1092 0000 sts NaviDataOkay,__zero_reg__ 1059 .L115: 1060 0894 8091 0000 lds r24,BattLowVoltageWarning 1061 0898 282F mov r18,r24 1062 089a 3327 clr r19 1063 089c 8091 0000 lds r24,UBat 1064 08a0 9091 0000 lds r25,(UBat)+1 1065 08a4 8217 cp r24,r18 1066 08a6 9307 cpc r25,r19 1067 08a8 04F4 brge .L118 1068 08aa 8091 0000 lds r24,FC_StatusFlags 1069 08ae 8062 ori r24,lo8(32) 1070 08b0 8093 0000 sts FC_StatusFlags,r24 1071 08b4 8091 0000 lds r24,BeepMuster 1072 08b8 9091 0000 lds r25,(BeepMuster)+1 1073 08bc 8F5F subi r24,lo8(-1) 1074 08be 9F4F sbci r25,hi8(-1) 1075 08c0 01F4 brne .L120 1076 08c2 80E7 ldi r24,lo8(6000) 1077 08c4 97E1 ldi r25,hi8(6000) 1078 08c6 9093 0000 sts (beeptime)+1,r25 1079 08ca 8093 0000 sts beeptime,r24 1080 08ce 80E0 ldi r24,lo8(768) 1081 08d0 93E0 ldi r25,hi8(768) 1082 08d2 9093 0000 sts (BeepMuster)+1,r25 1083 08d6 8093 0000 sts BeepMuster,r24 1084 08da 00C0 rjmp .L120 1085 .L118: 1086 08dc 8091 0000 lds r24,beeptime 1087 08e0 9091 0000 lds r25,(beeptime)+1 1088 08e4 892B or r24,r25 1089 08e6 01F4 brne .L120 1090 08e8 8091 0000 lds r24,FC_StatusFlags 1091 08ec 8F7D andi r24,lo8(-33) 1092 08ee 8093 0000 sts FC_StatusFlags,r24 1093 .L120: 1094 08f2 0E94 0000 call SPI_StartTransmitPacket 1095 08f6 84E0 ldi r24,lo8(4) 1096 08f8 8093 0000 sts SendSPI,r24 1097 08fc 8091 0000 lds r24,second.6 1098 0900 8F5F subi r24,lo8(-(1)) 1099 0902 8093 0000 sts second.6,r24 1100 0906 8133 cpi r24,lo8(49) 1101 0908 01F0 breq .+2 1102 090a 00C0 rjmp .L122 1103 090c 1092 0000 sts second.6,__zero_reg__ 1104 0910 8091 0000 lds r24,FC_StatusFlags 1105 0914 81FF sbrs r24,1 1106 0916 00C0 rjmp .L123 1107 0918 8091 0000 lds r24,FlugSekunden 1108 091c 9091 0000 lds r25,(FlugSekunden)+1 1109 0920 0196 adiw r24,1 1110 0922 9093 0000 sts (FlugSekunden)+1,r25 1111 0926 8093 0000 sts FlugSekunden,r24 1112 092a 00C0 rjmp .L122 1113 .L123: 1114 092c 5AEA ldi r21,lo8(1450) 1115 092e 852E mov r8,r21 1116 0930 55E0 ldi r21,hi8(1450) 1117 0932 952E mov r9,r21 1118 0934 8091 0000 lds r24,StartLuftdruck 1119 0938 9091 0000 lds r25,(StartLuftdruck)+1 1120 093c 9C01 movw r18,r24 1121 093e 4427 clr r20 1122 0940 37FD sbrc r19,7 1123 0942 4095 com r20 1124 0944 542F mov r21,r20 1125 0946 8091 0000 lds r24,Luftdruck 1126 094a 9091 0000 lds r25,(Luftdruck)+1 1127 094e A091 0000 lds r26,(Luftdruck)+2 1128 0952 B091 0000 lds r27,(Luftdruck)+3 1129 0956 2817 cp r18,r24 1130 0958 3907 cpc r19,r25 1131 095a 4A07 cpc r20,r26 1132 095c 5B07 cpc r21,r27 1133 095e 04F4 brge .L125 1134 0960 8091 0000 lds r24,StartLuftdruck 1135 0964 9091 0000 lds r25,(StartLuftdruck)+1 1136 0968 0196 adiw r24,1 1137 096a 00C0 rjmp .L245 1138 .L125: 1139 096c 8091 0000 lds r24,StartLuftdruck 1140 0970 9091 0000 lds r25,(StartLuftdruck)+1 1141 0974 9C01 movw r18,r24 1142 0976 4427 clr r20 1143 0978 37FD sbrc r19,7 1144 097a 4095 com r20 1145 097c 542F mov r21,r20 1146 097e 8091 0000 lds r24,Luftdruck 1147 0982 9091 0000 lds r25,(Luftdruck)+1 1148 0986 A091 0000 lds r26,(Luftdruck)+2 1149 098a B091 0000 lds r27,(Luftdruck)+3 1150 098e 8217 cp r24,r18 1151 0990 9307 cpc r25,r19 1152 0992 A407 cpc r26,r20 1153 0994 B507 cpc r27,r21 1154 0996 04F4 brge .L122 1155 0998 8091 0000 lds r24,StartLuftdruck 1156 099c 9091 0000 lds r25,(StartLuftdruck)+1 1157 09a0 0197 sbiw r24,1 1158 .L245: 1159 09a2 9093 0000 sts (StartLuftdruck)+1,r25 1160 09a6 8093 0000 sts StartLuftdruck,r24 1161 .L122: 1162 09aa 0894 sec 1163 09ac 811C adc r8,__zero_reg__ 1164 09ae 911C adc r9,__zero_reg__ 1165 09b0 32E7 ldi r19,lo8(2930) 1166 09b2 8316 cp r8,r19 1167 09b4 3BE0 ldi r19,hi8(2930) 1168 09b6 9306 cpc r9,r19 1169 09b8 01F0 breq .+2 1170 09ba 00C0 rjmp .L99 1171 09bc 8824 clr r8 1172 09be 9924 clr r9 1173 09c0 2091 0000 lds r18,FlugMinuten 1174 09c4 3091 0000 lds r19,(FlugMinuten)+1 1175 09c8 2F5F subi r18,lo8(-(1)) 1176 09ca 3F4F sbci r19,hi8(-(1)) 1177 09cc 3093 0000 sts (FlugMinuten)+1,r19 1178 09d0 2093 0000 sts FlugMinuten,r18 1179 09d4 8091 0000 lds r24,FlugMinutenGesamt 1180 09d8 9091 0000 lds r25,(FlugMinutenGesamt)+1 1181 09dc 0196 adiw r24,1 1182 09de 9093 0000 sts (FlugMinutenGesamt)+1,r25 1183 09e2 8093 0000 sts FlugMinutenGesamt,r24 1184 09e6 832F mov r24,r19 1185 09e8 9927 clr r25 1186 09ea 682F mov r22,r24 1187 09ec 8EE0 ldi r24,lo8(14) 1188 09ee 90E0 ldi r25,hi8(14) 1189 09f0 0E94 0000 call SetParamByte 1190 09f4 8091 0000 lds r24,FlugMinuten 1191 09f8 9091 0000 lds r25,(FlugMinuten)+1 1192 09fc 9070 andi r25,hi8(255) 1193 09fe 682F mov r22,r24 1194 0a00 8FE0 ldi r24,lo8(15) 1195 0a02 90E0 ldi r25,hi8(15) 1196 0a04 0E94 0000 call SetParamByte 1197 0a08 8091 0000 lds r24,FlugMinutenGesamt 1198 0a0c 9091 0000 lds r25,(FlugMinutenGesamt)+1 1199 0a10 892F mov r24,r25 1200 0a12 9927 clr r25 1201 0a14 682F mov r22,r24 1202 0a16 8AE0 ldi r24,lo8(10) 1203 0a18 90E0 ldi r25,hi8(10) 1204 0a1a 0E94 0000 call SetParamByte 1205 0a1e 8091 0000 lds r24,FlugMinutenGesamt 1206 0a22 9091 0000 lds r25,(FlugMinutenGesamt)+1 1207 0a26 9070 andi r25,hi8(255) 1208 0a28 682F mov r22,r24 1209 0a2a 8BE0 ldi r24,lo8(11) 1210 0a2c 90E0 ldi r25,hi8(11) 1211 0a2e 0E94 0000 call SetParamByte 1212 0a32 84E1 ldi r24,lo8(20) 1213 0a34 90E0 ldi r25,hi8(20) 1214 0a36 0E94 0000 call SetDelay 1215 0a3a 7C01 movw r14,r24 1216 .L99: 1217 0a3c 0E94 0000 call LED_Update 1218 0a40 0E94 0000 call Capacity_Update 1219 .L79: 1220 0a44 8091 0000 lds r24,SendSPI 1221 0a48 8823 tst r24 1222 0a4a 01F0 breq .+2 1223 0a4c 00C0 rjmp .L247 1224 0a4e 0E94 0000 call SPI_TransmitByte 1225 0a52 00C0 rjmp .L247 1226 /* epilogue: frame size=0 */ 1227 /* epilogue: noreturn */ 1228 /* epilogue end (size=0) */ 1229 /* function main size 1124 (1120) */ 1231 .comm _printf_P,2,1 1232 /* File "main.c": code 1335 = 0x0537 (1322), prologues 7, epilogues 6 */ DEFINED SYMBOLS *ABS*:00000000 main.c C:\Temp/ccBs3kfr.s:3 *ABS*:0000003f __SREG__ C:\Temp/ccBs3kfr.s:4 *ABS*:0000003e __SP_H__ C:\Temp/ccBs3kfr.s:5 *ABS*:0000003d __SP_L__ C:\Temp/ccBs3kfr.s:6 *ABS*:00000000 __tmp_reg__ C:\Temp/ccBs3kfr.s:7 *ABS*:00000001 __zero_reg__ C:\Temp/ccBs3kfr.s:15 .bss:00000000 JetiBeep C:\Temp/ccBs3kfr.s:21 .bss:00000001 FoundMotors C:\Temp/ccBs3kfr.s:27 .bss:00000002 FlugSekunden C:\Temp/ccBs3kfr.s:33 .bss:00000004 FlugMinutenGesamt C:\Temp/ccBs3kfr.s:39 .bss:00000006 FlugMinuten C:\Temp/ccBs3kfr.s:45 .data:00000000 BattLowVoltageWarning C:\Temp/ccBs3kfr.s:50 .data:00000001 PlatinenVersion C:\Temp/ccBs3kfr.s:57 .bss:00000008 DisableRcOffBeeping C:\Temp/ccBs3kfr.s:62 .progmem.data:00000000 __c.11 C:\Temp/ccBs3kfr.s:67 .text:00000000 PrintLine *COM*:00000002 _printf_P C:\Temp/ccBs3kfr.s:93 .data:00000002 stick.10 C:\Temp/ccBs3kfr.s:98 .text:00000024 CalMk3Mag C:\Temp/ccBs3kfr.s:152 .progmem.data:00000026 __c.7 C:\Temp/ccBs3kfr.s:156 .progmem.data:0000002e __c.8 C:\Temp/ccBs3kfr.s:160 .progmem.data:00000039 __c.9 C:\Temp/ccBs3kfr.s:165 .text:0000008e LipoDetection C:\Temp/ccBs3kfr.s:302 .progmem.data:0000004d __c.0 C:\Temp/ccBs3kfr.s:306 .progmem.data:0000005f __c.1 C:\Temp/ccBs3kfr.s:310 .progmem.data:00000062 __c.2 C:\Temp/ccBs3kfr.s:314 .progmem.data:00000080 __c.3 C:\Temp/ccBs3kfr.s:318 .progmem.data:000000a0 __c.4 C:\Temp/ccBs3kfr.s:322 .progmem.data:000000a5 __c.5 .bss:00000009 second.6 C:\Temp/ccBs3kfr.s:328 .text:000001a2 main UNDEFINED SYMBOLS __do_copy_data __do_clear_bss uart_putchar EE_Parameter PPM_in WinkelOut beeptime Piep DebugOut SetDelay CheckDelay UBat __udivmodqi4 __stack StickGier StickRoll StickNick GIER_GRAD_FAKTOR Timer_Init TIMER2_Init UART_Init rc_sum_init ADC_Init I2C_Init SPI_MasterInit Capacity_Init LIBFC_Init ParamSet_Init BLFlags motor_read SendMotorData Motor Mixer ServoActive RequiredMotors VersionInfo SucheLuftruckOffset SetNeutral ExternControl GetParamByte LcdClear I2CTimeout LIBFC_ReceiverInit ReceiverUpdateModeActive UpdateMotor AdReady MotorRegler SenderOkay MissingMotor I2C_Reset BeepMuster MotorenEin LIBFC_Polling NewSBusData ProcessSBus CalculateServoSignals CalculateServo DatenUebertragung BearbeiteRxDaten CalcNickServoValue HoTT_Menu BuildJeti_Vario PcZugriff ExternStickNick ExternStickRoll ExternStickGier NaviDataOkay NC_Version NC_ErrorCode GPS_Nick GPS_Roll GPS_Aid_StickMultiplikator GPSInfo FromNaviCtrl FC_StatusFlags SPI_StartTransmitPacket SendSPI StartLuftdruck Luftdruck SetParamByte LED_Update Capacity_Update SPI_TransmitByte