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