1 .file "main.c" 2 __SREG__ = 0x3f 3 __SP_H__ = 0x3e 4 __SP_L__ = 0x3d 5 __CCP__ = 0x34 6 __tmp_reg__ = 0 7 __zero_reg__ = 1 8 .text 9 .global GetCPUType 11 GetCPUType: 12 /* prologue: function */ 13 /* frame size = 0 */ 14 0000 8091 C800 lds r24,200 15 0004 8032 cpi r24,lo8(32) 16 0006 01F0 breq .L2 17 0008 90E0 ldi r25,lo8(0) 18 .L3: 19 000a 892F mov r24,r25 20 /* epilogue start */ 21 000c 0895 ret 22 .L2: 23 000e 8091 CA00 lds r24,202 24 0012 90E0 ldi r25,lo8(0) 25 0014 8630 cpi r24,lo8(6) 26 0016 01F4 brne .L3 27 0018 91E0 ldi r25,lo8(1) 28 001a 892F mov r24,r25 29 001c 0895 ret 31 .global GetBoardRelease 33 GetBoardRelease: 34 /* prologue: function */ 35 /* frame size = 0 */ 36 001e 85B1 in r24,37-32 37 0020 8C7F andi r24,lo8(-4) 38 0022 85B9 out 37-32,r24 39 0024 2098 cbi 36-32,0 40 0026 88EE ldi r24,lo8(1000) 41 0028 93E0 ldi r25,hi8(1000) 42 /* #APP */ 43 ; 105 "c:/winavr-20090313/lib/gcc/../../avr/include/util/delay_basic.h" 1 44 002a 0197 1: sbiw r24,1 45 002c 01F4 brne 1b 46 ; 0 "" 2 47 /* #NOAPP */ 48 002e 83B1 in r24,35-32 49 0030 90E0 ldi r25,lo8(0) 50 0032 8370 andi r24,lo8(3) 51 0034 9070 andi r25,hi8(3) 52 0036 8230 cpi r24,2 53 0038 9105 cpc r25,__zero_reg__ 54 003a 01F0 breq .L10 55 003c 8330 cpi r24,3 56 003e 9105 cpc r25,__zero_reg__ 57 0040 01F0 breq .L11 58 0042 0197 sbiw r24,1 59 0044 01F0 breq .L9 60 0046 84B1 in r24,36-32 61 0048 8360 ori r24,lo8(3) 62 004a 84B9 out 36-32,r24 63 004c 8AE0 ldi r24,lo8(10) 64 .L16: 65 004e 289A sbi 37-32,0 66 0050 8C30 cpi r24,lo8(12) 67 0052 00F0 brlo .L18 68 .L13: 69 0054 299A sbi 37-32,1 70 0056 0895 ret 71 .L9: 72 0058 84B1 in r24,36-32 73 005a 8360 ori r24,lo8(3) 74 005c 84B9 out 36-32,r24 75 005e 8BE0 ldi r24,lo8(11) 76 0060 2898 cbi 37-32,0 77 .L19: 78 0062 8C30 cpi r24,lo8(12) 79 0064 00F4 brsh .L13 80 .L18: 81 0066 2998 cbi 37-32,1 82 0068 0895 ret 83 .L11: 84 006a 84B1 in r24,36-32 85 006c 8360 ori r24,lo8(3) 86 006e 84B9 out 36-32,r24 87 0070 8DE0 ldi r24,lo8(13) 88 0072 2898 cbi 37-32,0 89 0074 00C0 rjmp .L19 90 .L10: 91 0076 84B1 in r24,36-32 92 0078 8360 ori r24,lo8(3) 93 007a 84B9 out 36-32,r24 94 007c 84E1 ldi r24,lo8(20) 95 007e 00C0 rjmp .L16 97 .global LipoDetection 99 LipoDetection: 100 0080 1F93 push r17 101 0082 CF93 push r28 102 0084 DF93 push r29 103 /* prologue: function */ 104 /* frame size = 0 */ 105 0086 182F mov r17,r24 106 0088 8823 tst r24 107 008a 01F0 breq .+2 108 008c 00C0 rjmp .L32 109 .L21: 110 008e 8091 0000 lds r24,ParamSet+30 111 0092 8233 cpi r24,lo8(50) 112 0094 00F0 brlo .L33 113 0096 8093 0000 sts LowVoltageWarning,r24 114 009a 1123 tst r17 115 009c 01F4 brne .L27 116 .L28: 117 /* epilogue start */ 118 009e DF91 pop r29 119 00a0 CF91 pop r28 120 00a2 1F91 pop r17 121 00a4 0895 ret 122 .L33: 123 00a6 84EF ldi r24,lo8(500) 124 00a8 91E0 ldi r25,hi8(500) 125 00aa 0E94 0000 call SetDelay 126 00ae EC01 movw r28,r24 127 00b0 1123 tst r17 128 00b2 01F0 breq .+2 129 00b4 00C0 rjmp .L29 130 .L23: 131 00b6 8091 0000 lds r24,UBat 132 00ba 9091 0000 lds r25,(UBat)+1 133 00be 8238 cpi r24,130 134 00c0 9105 cpc r25,__zero_reg__ 135 00c2 04F0 brlt .+2 136 00c4 00C0 rjmp .L25 137 00c6 8091 0000 lds r24,ParamSet+30 138 00ca 23E0 ldi r18,lo8(3) 139 00cc 829F mul r24,r18 140 00ce C001 movw r24,r0 141 00d0 1124 clr r1 142 00d2 8093 0000 sts LowVoltageWarning,r24 143 00d6 1123 tst r17 144 00d8 01F0 breq .L28 145 00da 83E0 ldi r24,lo8(3) 146 00dc 68EC ldi r22,lo8(200) 147 00de 70E0 ldi r23,hi8(200) 148 00e0 0E94 0000 call Beep 149 00e4 00D0 rcall . 150 00e6 0F92 push __tmp_reg__ 151 00e8 EDB7 in r30,__SP_L__ 152 00ea FEB7 in r31,__SP_H__ 153 00ec 1182 std Z+1,__zero_reg__ 154 00ee 80E0 ldi r24,lo8(__c.1914) 155 00f0 90E0 ldi r25,hi8(__c.1914) 156 00f2 9383 std Z+3,r25 157 00f4 8283 std Z+2,r24 158 00f6 0E94 0000 call _printf_P 159 00fa 0F90 pop __tmp_reg__ 160 00fc 0F90 pop __tmp_reg__ 161 00fe 0F90 pop __tmp_reg__ 162 .L27: 163 0100 2091 0000 lds r18,LowVoltageWarning 164 0104 EDB7 in r30,__SP_L__ 165 0106 FEB7 in r31,__SP_H__ 166 0108 3797 sbiw r30,7 167 010a 0FB6 in __tmp_reg__,__SREG__ 168 010c F894 cli 169 010e FEBF out __SP_H__,r31 170 0110 0FBE out __SREG__,__tmp_reg__ 171 0112 EDBF out __SP_L__,r30 172 0114 3196 adiw r30,1 173 0116 ADB7 in r26,__SP_L__ 174 0118 BEB7 in r27,__SP_H__ 175 011a 1196 adiw r26,1 176 011c 1C92 st X,__zero_reg__ 177 011e 80E0 ldi r24,lo8(__c.1918) 178 0120 90E0 ldi r25,hi8(__c.1918) 179 0122 9283 std Z+2,r25 180 0124 8183 std Z+1,r24 181 0126 822F mov r24,r18 182 0128 6AE0 ldi r22,lo8(10) 183 012a 0E94 0000 call __udivmodqi4 184 012e 8383 std Z+3,r24 185 0130 1482 std Z+4,__zero_reg__ 186 0132 822F mov r24,r18 187 0134 0E94 0000 call __udivmodqi4 188 0138 9583 std Z+5,r25 189 013a 1682 std Z+6,__zero_reg__ 190 013c 0E94 0000 call _printf_P 191 0140 EDB7 in r30,__SP_L__ 192 0142 FEB7 in r31,__SP_H__ 193 0144 3796 adiw r30,7 194 0146 0FB6 in __tmp_reg__,__SREG__ 195 0148 F894 cli 196 014a FEBF out __SP_H__,r31 197 014c 0FBE out __SREG__,__tmp_reg__ 198 014e EDBF out __SP_L__,r30 199 0150 DF91 pop r29 200 0152 CF91 pop r28 201 0154 1F91 pop r17 202 0156 0895 ret 203 .L29: 204 0158 CE01 movw r24,r28 205 015a 0E94 0000 call CheckDelay 206 015e 8823 tst r24 207 0160 01F0 breq .+2 208 0162 00C0 rjmp .L23 209 0164 CE01 movw r24,r28 210 0166 0E94 0000 call CheckDelay 211 016a 8823 tst r24 212 016c 01F0 breq .L29 213 016e 00C0 rjmp .L23 214 .L32: 215 0170 00D0 rcall . 216 0172 0F92 push __tmp_reg__ 217 0174 ADB7 in r26,__SP_L__ 218 0176 BEB7 in r27,__SP_H__ 219 0178 1196 adiw r26,1 220 017a 1C92 st X,__zero_reg__ 221 017c 1197 sbiw r26,1 222 017e 80E0 ldi r24,lo8(__c.1909) 223 0180 90E0 ldi r25,hi8(__c.1909) 224 0182 1396 adiw r26,2+1 225 0184 9C93 st X,r25 226 0186 8E93 st -X,r24 227 0188 1297 sbiw r26,2 228 018a 0E94 0000 call _printf_P 229 018e 0F90 pop __tmp_reg__ 230 0190 0F90 pop __tmp_reg__ 231 0192 0F90 pop __tmp_reg__ 232 0194 00C0 rjmp .L21 233 .L25: 234 0196 8091 0000 lds r24,ParamSet+30 235 019a 90E0 ldi r25,lo8(0) 236 019c 880F lsl r24 237 019e 991F rol r25 238 01a0 880F lsl r24 239 01a2 991F rol r25 240 01a4 8093 0000 sts LowVoltageWarning,r24 241 01a8 1123 tst r17 242 01aa 01F4 brne .+2 243 01ac 00C0 rjmp .L28 244 01ae 84E0 ldi r24,lo8(4) 245 01b0 68EC ldi r22,lo8(200) 246 01b2 70E0 ldi r23,hi8(200) 247 01b4 0E94 0000 call Beep 248 01b8 00D0 rcall . 249 01ba 0F92 push __tmp_reg__ 250 01bc ADB7 in r26,__SP_L__ 251 01be BEB7 in r27,__SP_H__ 252 01c0 1196 adiw r26,1 253 01c2 1C92 st X,__zero_reg__ 254 01c4 1197 sbiw r26,1 255 01c6 80E0 ldi r24,lo8(__c.1916) 256 01c8 90E0 ldi r25,hi8(__c.1916) 257 01ca 1396 adiw r26,2+1 258 01cc 9C93 st X,r25 259 01ce 8E93 st -X,r24 260 01d0 1297 sbiw r26,2 261 01d2 0E94 0000 call _printf_P 262 01d6 0F90 pop __tmp_reg__ 263 01d8 0F90 pop __tmp_reg__ 264 01da 0F90 pop __tmp_reg__ 265 01dc 00C0 rjmp .L27 267 .global main 269 main: 270 01de 2F92 push r2 271 01e0 3F92 push r3 272 01e2 4F92 push r4 273 01e4 5F92 push r5 274 01e6 6F92 push r6 275 01e8 7F92 push r7 276 01ea 8F92 push r8 277 01ec 9F92 push r9 278 01ee AF92 push r10 279 01f0 BF92 push r11 280 01f2 CF92 push r12 281 01f4 DF92 push r13 282 01f6 EF92 push r14 283 01f8 FF92 push r15 284 01fa 0F93 push r16 285 01fc 1F93 push r17 286 01fe CF93 push r28 287 0200 DF93 push r29 288 /* prologue: function */ 289 /* frame size = 0 */ 290 /* #APP */ 291 ; 172 "main.c" 1 292 0202 F894 cli 293 ; 0 "" 2 294 /* #NOAPP */ 295 0204 8091 C800 lds r24,200 296 0208 8032 cpi r24,lo8(32) 297 020a 01F4 brne .+2 298 020c 00C0 rjmp .L35 299 020e 90E0 ldi r25,lo8(0) 300 .L36: 301 0210 9093 0000 sts CPUType,r25 302 0214 0E94 0000 call GetBoardRelease 303 0218 282F mov r18,r24 304 021a 8093 0000 sts BoardRelease,r24 305 021e 84B7 in r24,84-32 306 0220 877F andi r24,lo8(-9) 307 0222 84BF out 84-32,r24 308 0224 8091 6000 lds r24,96 309 0228 8861 ori r24,lo8(24) 310 022a 8093 6000 sts 96,r24 311 022e 1092 6000 sts 96,__zero_reg__ 312 0232 80ED ldi r24,lo8(2000) 313 0234 97E0 ldi r25,hi8(2000) 314 0236 9093 0000 sts (BeepTime)+1,r25 315 023a 8093 0000 sts BeepTime,r24 316 023e 1092 0000 sts (PPM_in+4)+1,__zero_reg__ 317 0242 1092 0000 sts PPM_in+4,__zero_reg__ 318 0246 1092 0000 sts (StickYaw)+1,__zero_reg__ 319 024a 1092 0000 sts StickYaw,__zero_reg__ 320 024e 1092 0000 sts (StickRoll)+1,__zero_reg__ 321 0252 1092 0000 sts StickRoll,__zero_reg__ 322 0256 1092 0000 sts (StickNick)+1,__zero_reg__ 323 025a 1092 0000 sts StickNick,__zero_reg__ 324 025e 2A30 cpi r18,lo8(10) 325 0260 01F4 brne .+2 326 0262 00C0 rjmp .L38 327 0264 2431 cpi r18,lo8(20) 328 0266 01F4 brne .+2 329 0268 00C0 rjmp .L38 330 026a 289A sbi 37-32,0 331 .L40: 332 026c 0E94 0000 call LED_Init 333 0270 0E94 0000 call TIMER0_Init 334 0274 0E94 0000 call TIMER2_Init 335 0278 0E94 0000 call USART0_Init 336 027c 8091 0000 lds r24,CPUType 337 0280 8130 cpi r24,lo8(1) 338 0282 01F4 brne .+2 339 0284 00C0 rjmp .L104 340 .L41: 341 0286 0E94 0000 call RC_Init 342 028a 0E94 0000 call ADC_Init 343 028e 0E94 0000 call I2C_Init 344 0292 0E94 0000 call SPI_MasterInit 345 /* #APP */ 346 ; 212 "main.c" 1 347 0296 7894 sei 348 ; 0 "" 2 349 /* #NOAPP */ 350 0298 00D0 rcall . 351 029a 0F92 push __tmp_reg__ 352 029c ADB7 in r26,__SP_L__ 353 029e BEB7 in r27,__SP_H__ 354 02a0 1196 adiw r26,1 355 02a2 1C92 st X,__zero_reg__ 356 02a4 1197 sbiw r26,1 357 02a6 80E0 ldi r24,lo8(__c.1940) 358 02a8 90E0 ldi r25,hi8(__c.1940) 359 02aa 1396 adiw r26,2+1 360 02ac 9C93 st X,r25 361 02ae 8E93 st -X,r24 362 02b0 1297 sbiw r26,2 363 02b2 0E94 0000 call _printf_P 364 02b6 EDB7 in r30,__SP_L__ 365 02b8 FEB7 in r31,__SP_H__ 366 02ba 1182 std Z+1,__zero_reg__ 367 02bc 80E0 ldi r24,lo8(__c.1942) 368 02be 90E0 ldi r25,hi8(__c.1942) 369 02c0 9383 std Z+3,r25 370 02c2 8283 std Z+2,r24 371 02c4 0E94 0000 call _printf_P 372 02c8 2091 0000 lds r18,BoardRelease 373 02cc 00D0 rcall . 374 02ce 00D0 rcall . 375 02d0 EDB7 in r30,__SP_L__ 376 02d2 FEB7 in r31,__SP_H__ 377 02d4 3196 adiw r30,1 378 02d6 ADB7 in r26,__SP_L__ 379 02d8 BEB7 in r27,__SP_H__ 380 02da 1196 adiw r26,1 381 02dc 1C92 st X,__zero_reg__ 382 02de 80E0 ldi r24,lo8(__c.1944) 383 02e0 90E0 ldi r25,hi8(__c.1944) 384 02e2 9283 std Z+2,r25 385 02e4 8183 std Z+1,r24 386 02e6 822F mov r24,r18 387 02e8 6AE0 ldi r22,lo8(10) 388 02ea 0E94 0000 call __udivmodqi4 389 02ee 8383 std Z+3,r24 390 02f0 1482 std Z+4,__zero_reg__ 391 02f2 822F mov r24,r18 392 02f4 0E94 0000 call __udivmodqi4 393 02f8 9583 std Z+5,r25 394 02fa 1682 std Z+6,__zero_reg__ 395 02fc 0E94 0000 call _printf_P 396 0300 0F90 pop __tmp_reg__ 397 0302 0F90 pop __tmp_reg__ 398 0304 0F90 pop __tmp_reg__ 399 0306 0F90 pop __tmp_reg__ 400 0308 EDB7 in r30,__SP_L__ 401 030a FEB7 in r31,__SP_H__ 402 030c 1182 std Z+1,__zero_reg__ 403 030e 80E0 ldi r24,lo8(__c.1946) 404 0310 90E0 ldi r25,hi8(__c.1946) 405 0312 9383 std Z+3,r25 406 0314 8283 std Z+2,r24 407 0316 0E94 0000 call _printf_P 408 031a ADB7 in r26,__SP_L__ 409 031c BEB7 in r27,__SP_H__ 410 031e 1196 adiw r26,1 411 0320 1C92 st X,__zero_reg__ 412 0322 1197 sbiw r26,1 413 0324 80E0 ldi r24,lo8(__c.1948) 414 0326 90E0 ldi r25,hi8(__c.1948) 415 0328 1396 adiw r26,2+1 416 032a 9C93 st X,r25 417 032c 8E93 st -X,r24 418 032e 1297 sbiw r26,2 419 0330 0E94 0000 call _printf_P 420 0334 EDB7 in r30,__SP_L__ 421 0336 FEB7 in r31,__SP_H__ 422 0338 1182 std Z+1,__zero_reg__ 423 033a 80E0 ldi r24,lo8(__c.1950) 424 033c 90E0 ldi r25,hi8(__c.1950) 425 033e 9383 std Z+3,r25 426 0340 8283 std Z+2,r24 427 0342 0E94 0000 call _printf_P 428 0346 0F90 pop __tmp_reg__ 429 0348 0F90 pop __tmp_reg__ 430 034a 0F90 pop __tmp_reg__ 431 034c 8091 0000 lds r24,CPUType 432 0350 8130 cpi r24,lo8(1) 433 0352 01F4 brne .+2 434 0354 00C0 rjmp .L105 435 0356 00D0 rcall . 436 0358 0F92 push __tmp_reg__ 437 035a EDB7 in r30,__SP_L__ 438 035c FEB7 in r31,__SP_H__ 439 035e 1182 std Z+1,__zero_reg__ 440 0360 80E0 ldi r24,lo8(__c.1954) 441 0362 90E0 ldi r25,hi8(__c.1954) 442 0364 9383 std Z+3,r25 443 0366 8283 std Z+2,r24 444 0368 0E94 0000 call _printf_P 445 036c 0F90 pop __tmp_reg__ 446 036e 0F90 pop __tmp_reg__ 447 0370 0F90 pop __tmp_reg__ 448 .L43: 449 0372 8DB7 in r24,__SP_L__ 450 0374 9EB7 in r25,__SP_H__ 451 0376 0997 sbiw r24,9 452 0378 0FB6 in __tmp_reg__,__SREG__ 453 037a F894 cli 454 037c 9EBF out __SP_H__,r25 455 037e 0FBE out __SREG__,__tmp_reg__ 456 0380 8DBF out __SP_L__,r24 457 0382 EDB7 in r30,__SP_L__ 458 0384 FEB7 in r31,__SP_H__ 459 0386 3196 adiw r30,1 460 0388 ADB7 in r26,__SP_L__ 461 038a BEB7 in r27,__SP_H__ 462 038c 1196 adiw r26,1 463 038e 1C92 st X,__zero_reg__ 464 0390 80E0 ldi r24,lo8(__c.1956) 465 0392 90E0 ldi r25,hi8(__c.1956) 466 0394 9283 std Z+2,r25 467 0396 8183 std Z+1,r24 468 0398 1482 std Z+4,__zero_reg__ 469 039a 1382 std Z+3,__zero_reg__ 470 039c 8CE4 ldi r24,lo8(76) 471 039e 90E0 ldi r25,hi8(76) 472 03a0 9683 std Z+6,r25 473 03a2 8583 std Z+5,r24 474 03a4 87E6 ldi r24,lo8(103) 475 03a6 90E0 ldi r25,hi8(103) 476 03a8 9087 std Z+8,r25 477 03aa 8783 std Z+7,r24 478 03ac 0E94 0000 call _printf_P 479 03b0 EDB7 in r30,__SP_L__ 480 03b2 FEB7 in r31,__SP_H__ 481 03b4 3696 adiw r30,6 482 03b6 0FB6 in __tmp_reg__,__SREG__ 483 03b8 F894 cli 484 03ba FEBF out __SP_H__,r31 485 03bc 0FBE out __SREG__,__tmp_reg__ 486 03be EDBF out __SP_L__,r30 487 03c0 1182 std Z+1,__zero_reg__ 488 03c2 80E0 ldi r24,lo8(__c.1958) 489 03c4 90E0 ldi r25,hi8(__c.1958) 490 03c6 9383 std Z+3,r25 491 03c8 8283 std Z+2,r24 492 03ca 0E94 0000 call _printf_P 493 03ce 0F90 pop __tmp_reg__ 494 03d0 0F90 pop __tmp_reg__ 495 03d2 0F90 pop __tmp_reg__ 496 03d4 8091 0000 lds r24,BoardRelease 497 03d8 8C30 cpi r24,lo8(12) 498 03da 00F0 brlo .+2 499 03dc 00C0 rjmp .L44 500 03de 299A sbi 37-32,1 501 .L45: 502 03e0 0E94 0000 call ParamSet_Init 503 03e4 00D0 rcall . 504 03e6 0F92 push __tmp_reg__ 505 03e8 ADB7 in r26,__SP_L__ 506 03ea BEB7 in r27,__SP_H__ 507 03ec 1196 adiw r26,1 508 03ee 1C92 st X,__zero_reg__ 509 03f0 1197 sbiw r26,1 510 03f2 80E0 ldi r24,lo8(__c.1960) 511 03f4 90E0 ldi r25,hi8(__c.1960) 512 03f6 1396 adiw r26,2+1 513 03f8 9C93 st X,r25 514 03fa 8E93 st -X,r24 515 03fc 1297 sbiw r26,2 516 03fe 0E94 0000 call _printf_P 517 0402 1092 0000 sts motor_read,__zero_reg__ 518 0406 1092 0000 sts UpdateMotor,__zero_reg__ 519 040a 0F90 pop __tmp_reg__ 520 040c 0F90 pop __tmp_reg__ 521 040e 0F90 pop __tmp_reg__ 522 0410 0E94 0000 call SendMotorData 523 .L46: 524 0414 8091 0000 lds r24,UpdateMotor 525 0418 8823 tst r24 526 041a 01F0 breq .L46 527 041c 1092 0000 sts motor_read,__zero_reg__ 528 0420 80ED ldi r24,lo8(2000) 529 0422 97E0 ldi r25,hi8(2000) 530 0424 0E94 0000 call SetDelay 531 0428 8C01 movw r16,r24 532 042a 20E0 ldi r18,lo8(Motor+1) 533 042c C22E mov r12,r18 534 042e 20E0 ldi r18,hi8(Motor+1) 535 0430 D22E mov r13,r18 536 0432 90E0 ldi r25,lo8(Mixer+13) 537 0434 892E mov r8,r25 538 0436 90E0 ldi r25,hi8(Mixer+13) 539 0438 992E mov r9,r25 540 043a E601 movw r28,r12 541 043c 5401 movw r10,r8 542 043e 81E0 ldi r24,lo8(1) 543 0440 E82E mov r14,r24 544 0442 F12C mov r15,__zero_reg__ 545 0444 B0E0 ldi r27,lo8(__c.1974) 546 0446 6B2E mov r6,r27 547 0448 B0E0 ldi r27,hi8(__c.1974) 548 044a 7B2E mov r7,r27 549 .L54: 550 044c 1092 0000 sts UpdateMotor,__zero_reg__ 551 0450 0E94 0000 call SendMotorData 552 .L47: 553 0454 8091 0000 lds r24,UpdateMotor 554 0458 8823 tst r24 555 045a 01F0 breq .L47 556 045c F501 movw r30,r10 557 045e 8081 ld r24,Z 558 0460 1816 cp __zero_reg__,r24 559 0462 04F4 brge .L49 560 0464 C801 movw r24,r16 561 0466 0E94 0000 call CheckDelay 562 046a 8823 tst r24 563 046c 01F4 brne .L49 564 .L106: 565 046e 8881 ld r24,Y 566 0470 8823 tst r24 567 0472 01F0 breq .+2 568 0474 00C0 rjmp .L52 569 0476 1092 0000 sts UpdateMotor,__zero_reg__ 570 047a 0E94 0000 call SendMotorData 571 .L50: 572 047e 8091 0000 lds r24,UpdateMotor 573 0482 8823 tst r24 574 0484 01F0 breq .L50 575 0486 C801 movw r24,r16 576 0488 0E94 0000 call CheckDelay 577 048c 8823 tst r24 578 048e 01F0 breq .L106 579 .L49: 580 0490 8881 ld r24,Y 581 0492 8823 tst r24 582 0494 01F0 breq .+2 583 0496 00C0 rjmp .L52 584 .L53: 585 0498 2596 adiw r28,5 586 049a 0894 sec 587 049c E11C adc r14,__zero_reg__ 588 049e F11C adc r15,__zero_reg__ 589 04a0 E4E0 ldi r30,lo8(4) 590 04a2 F0E0 ldi r31,hi8(4) 591 04a4 AE0E add r10,r30 592 04a6 BF1E adc r11,r31 593 04a8 F0E0 ldi r31,hi8(Motor+61) 594 04aa C030 cpi r28,lo8(Motor+61) 595 04ac DF07 cpc r29,r31 596 04ae 01F4 brne .L54 597 04b0 01E0 ldi r16,lo8(1) 598 04b2 10E0 ldi r17,hi8(1) 599 04b4 A0E0 ldi r26,lo8(__c.1979) 600 04b6 EA2E mov r14,r26 601 04b8 A0E0 ldi r26,hi8(__c.1979) 602 04ba FA2E mov r15,r26 603 .L56: 604 04bc D601 movw r26,r12 605 04be 8C91 ld r24,X 606 04c0 8823 tst r24 607 04c2 01F4 brne .L55 608 04c4 F401 movw r30,r8 609 04c6 8081 ld r24,Z 610 04c8 1816 cp __zero_reg__,r24 611 04ca 04F4 brge .L55 612 04cc 00D0 rcall . 613 04ce 00D0 rcall . 614 04d0 0F92 push __tmp_reg__ 615 04d2 EDB7 in r30,__SP_L__ 616 04d4 FEB7 in r31,__SP_H__ 617 04d6 3196 adiw r30,1 618 04d8 ADB7 in r26,__SP_L__ 619 04da BEB7 in r27,__SP_H__ 620 04dc 1196 adiw r26,1 621 04de 1C92 st X,__zero_reg__ 622 04e0 F282 std Z+2,r15 623 04e2 E182 std Z+1,r14 624 04e4 1483 std Z+4,r17 625 04e6 0383 std Z+3,r16 626 04e8 0E94 0000 call _printf_P 627 04ec 0F90 pop __tmp_reg__ 628 04ee 0F90 pop __tmp_reg__ 629 04f0 0F90 pop __tmp_reg__ 630 04f2 0F90 pop __tmp_reg__ 631 04f4 0F90 pop __tmp_reg__ 632 04f6 0E94 0000 call Servo_On 633 .L55: 634 04fa F601 movw r30,r12 635 04fc 1182 std Z+1,__zero_reg__ 636 04fe 85E0 ldi r24,lo8(5) 637 0500 90E0 ldi r25,hi8(5) 638 0502 C80E add r12,r24 639 0504 D91E adc r13,r25 640 0506 A4E0 ldi r26,lo8(4) 641 0508 B0E0 ldi r27,hi8(4) 642 050a 8A0E add r8,r26 643 050c 9B1E adc r9,r27 644 050e 0F5F subi r16,lo8(-(1)) 645 0510 1F4F sbci r17,hi8(-(1)) 646 0512 CC15 cp r28,r12 647 0514 DD05 cpc r29,r13 648 0516 01F4 brne .L56 649 0518 00D0 rcall . 650 051a 0F92 push __tmp_reg__ 651 051c EDB7 in r30,__SP_L__ 652 051e FEB7 in r31,__SP_H__ 653 0520 1182 std Z+1,__zero_reg__ 654 0522 80E0 ldi r24,lo8(__c.1984) 655 0524 90E0 ldi r25,hi8(__c.1984) 656 0526 9383 std Z+3,r25 657 0528 8283 std Z+2,r24 658 052a 0E94 0000 call _printf_P 659 052e 0F90 pop __tmp_reg__ 660 0530 0F90 pop __tmp_reg__ 661 0532 0F90 pop __tmp_reg__ 662 0534 0E94 0000 call SendMotorData 663 0538 84EF ldi r24,lo8(500) 664 053a 91E0 ldi r25,hi8(500) 665 053c 0E94 0000 call SetDelay 666 0540 EC01 movw r28,r24 667 .L57: 668 0542 CE01 movw r24,r28 669 0544 0E94 0000 call CheckDelay 670 0548 8823 tst r24 671 054a 01F0 breq .L57 672 054c 8091 0000 lds r24,ParamSet+8 673 0550 80FD sbrc r24,0 674 0552 00C0 rjmp .L107 675 .L58: 676 0554 00D0 rcall . 677 0556 0F92 push __tmp_reg__ 678 0558 ADB7 in r26,__SP_L__ 679 055a BEB7 in r27,__SP_H__ 680 055c 1196 adiw r26,1 681 055e 1C92 st X,__zero_reg__ 682 0560 1197 sbiw r26,1 683 0562 80E0 ldi r24,lo8(__c.1996) 684 0564 90E0 ldi r25,hi8(__c.1996) 685 0566 1396 adiw r26,2+1 686 0568 9C93 st X,r25 687 056a 8E93 st -X,r24 688 056c 1297 sbiw r26,2 689 056e 0E94 0000 call _printf_P 690 0572 EDB7 in r30,__SP_L__ 691 0574 FEB7 in r31,__SP_H__ 692 0576 1182 std Z+1,__zero_reg__ 693 0578 80E0 ldi r24,lo8(__c.1998) 694 057a 90E0 ldi r25,hi8(__c.1998) 695 057c 9383 std Z+3,r25 696 057e 8283 std Z+2,r24 697 0580 0E94 0000 call _printf_P 698 0584 0F90 pop __tmp_reg__ 699 0586 0F90 pop __tmp_reg__ 700 0588 0F90 pop __tmp_reg__ 701 058a 80E0 ldi r24,lo8(0) 702 058c 0E94 0000 call SetNeutral 703 0590 8091 0000 lds r24,BoardRelease 704 0594 8A30 cpi r24,lo8(10) 705 0596 01F4 brne .+2 706 0598 00C0 rjmp .L60 707 059a 8431 cpi r24,lo8(20) 708 059c 01F4 brne .+2 709 059e 00C0 rjmp .L60 710 05a0 289A sbi 37-32,0 711 .L62: 712 05a2 80ED ldi r24,lo8(2000) 713 05a4 97E0 ldi r25,hi8(2000) 714 05a6 9093 0000 sts (BeepTime)+1,r25 715 05aa 8093 0000 sts BeepTime,r24 716 05ae 85E5 ldi r24,lo8(85) 717 05b0 8093 0000 sts ExternControl,r24 718 05b4 8EE0 ldi r24,lo8(14) 719 05b6 90E0 ldi r25,hi8(14) 720 05b8 0E94 0000 call GetParamWord 721 05bc 9093 0000 sts (FlightMinutes)+1,r25 722 05c0 8093 0000 sts FlightMinutes,r24 723 05c4 8AE0 ldi r24,lo8(10) 724 05c6 90E0 ldi r25,hi8(10) 725 05c8 0E94 0000 call GetParamWord 726 05cc 9093 0000 sts (FlightMinutesTotal)+1,r25 727 05d0 8093 0000 sts FlightMinutesTotal,r24 728 05d4 8F5F subi r24,lo8(-1) 729 05d6 9F4F sbci r25,hi8(-1) 730 05d8 01F4 brne .+2 731 05da 00C0 rjmp .L63 732 05dc 8091 0000 lds r24,FlightMinutes 733 05e0 9091 0000 lds r25,(FlightMinutes)+1 734 05e4 8F5F subi r24,lo8(-1) 735 05e6 9F4F sbci r25,hi8(-1) 736 05e8 01F4 brne .+2 737 05ea 00C0 rjmp .L63 738 .L64: 739 05ec 8DB7 in r24,__SP_L__ 740 05ee 9EB7 in r25,__SP_H__ 741 05f0 0797 sbiw r24,7 742 05f2 0FB6 in __tmp_reg__,__SREG__ 743 05f4 F894 cli 744 05f6 9EBF out __SP_H__,r25 745 05f8 0FBE out __SREG__,__tmp_reg__ 746 05fa 8DBF out __SP_L__,r24 747 05fc EDB7 in r30,__SP_L__ 748 05fe FEB7 in r31,__SP_H__ 749 0600 3196 adiw r30,1 750 0602 ADB7 in r26,__SP_L__ 751 0604 BEB7 in r27,__SP_H__ 752 0606 1196 adiw r26,1 753 0608 1C92 st X,__zero_reg__ 754 060a 80E0 ldi r24,lo8(__c.2000) 755 060c 90E0 ldi r25,hi8(__c.2000) 756 060e 9283 std Z+2,r25 757 0610 8183 std Z+1,r24 758 0612 8091 0000 lds r24,FlightMinutes 759 0616 9091 0000 lds r25,(FlightMinutes)+1 760 061a 9483 std Z+4,r25 761 061c 8383 std Z+3,r24 762 061e 8091 0000 lds r24,FlightMinutesTotal 763 0622 9091 0000 lds r25,(FlightMinutesTotal)+1 764 0626 9683 std Z+6,r25 765 0628 8583 std Z+5,r24 766 062a 0E94 0000 call _printf_P 767 062e 0F90 pop __tmp_reg__ 768 0630 0F90 pop __tmp_reg__ 769 0632 0F90 pop __tmp_reg__ 770 0634 0F90 pop __tmp_reg__ 771 0636 EDB7 in r30,__SP_L__ 772 0638 FEB7 in r31,__SP_H__ 773 063a 1182 std Z+1,__zero_reg__ 774 063c 80E0 ldi r24,lo8(__c.2002) 775 063e 90E0 ldi r25,hi8(__c.2002) 776 0640 9383 std Z+3,r25 777 0642 8283 std Z+2,r24 778 0644 0E94 0000 call _printf_P 779 0648 8091 0000 lds r24,ParamSet+8 780 064c 0F90 pop __tmp_reg__ 781 064e 0F90 pop __tmp_reg__ 782 0650 0F90 pop __tmp_reg__ 783 0652 82FF sbrs r24,2 784 0654 00C0 rjmp .L65 785 0656 00D0 rcall . 786 0658 0F92 push __tmp_reg__ 787 065a ADB7 in r26,__SP_L__ 788 065c BEB7 in r27,__SP_H__ 789 065e 1196 adiw r26,1 790 0660 1C92 st X,__zero_reg__ 791 0662 1197 sbiw r26,1 792 0664 80E0 ldi r24,lo8(__c.2004) 793 0666 90E0 ldi r25,hi8(__c.2004) 794 0668 1396 adiw r26,2+1 795 066a 9C93 st X,r25 796 066c 8E93 st -X,r24 797 066e 1297 sbiw r26,2 798 0670 0E94 0000 call _printf_P 799 0674 0F90 pop __tmp_reg__ 800 0676 0F90 pop __tmp_reg__ 801 0678 0F90 pop __tmp_reg__ 802 .L66: 803 067a 0E94 0000 call LCD_Clear 804 067e 88E8 ldi r24,lo8(5000) 805 0680 93E1 ldi r25,hi8(5000) 806 0682 9093 0000 sts (I2CTimeout)+1,r25 807 0686 8093 0000 sts I2CTimeout,r24 808 068a 81E0 ldi r24,lo8(1) 809 068c 0E94 0000 call LipoDetection 810 0690 00D0 rcall . 811 0692 0F92 push __tmp_reg__ 812 0694 ADB7 in r26,__SP_L__ 813 0696 BEB7 in r27,__SP_H__ 814 0698 1196 adiw r26,1 815 069a 1C92 st X,__zero_reg__ 816 069c 1197 sbiw r26,1 817 069e 80E0 ldi r24,lo8(__c.2008) 818 06a0 90E0 ldi r25,hi8(__c.2008) 819 06a2 1396 adiw r26,2+1 820 06a4 9C93 st X,r25 821 06a6 8E93 st -X,r24 822 06a8 1297 sbiw r26,2 823 06aa 0E94 0000 call _printf_P 824 06ae 0F90 pop __tmp_reg__ 825 06b0 0F90 pop __tmp_reg__ 826 06b2 0F90 pop __tmp_reg__ 827 06b4 80ED ldi r24,lo8(2000) 828 06b6 97E0 ldi r25,hi8(2000) 829 06b8 0E94 0000 call SetDelay 830 06bc EC01 movw r28,r24 831 06be 00E0 ldi r16,lo8(0) 832 06c0 10E0 ldi r17,hi8(0) 833 06c2 F4E0 ldi r31,lo8(4) 834 06c4 FF2E mov r15,r31 835 06c6 C12C mov r12,__zero_reg__ 836 06c8 E3E0 ldi r30,hi8(768) 837 06ca DE2E mov r13,r30 838 06cc 70E7 ldi r23,lo8(6000) 839 06ce 872E mov r8,r23 840 06d0 77E1 ldi r23,hi8(6000) 841 06d2 972E mov r9,r23 842 06d4 68E9 ldi r22,lo8(15000) 843 06d6 262E mov r2,r22 844 06d8 6AE3 ldi r22,hi8(15000) 845 06da 362E mov r3,r22 846 06dc 50E1 ldi r21,lo8(10000) 847 06de 652E mov r6,r21 848 06e0 57E2 ldi r21,hi8(10000) 849 06e2 752E mov r7,r21 850 06e4 40E8 ldi r20,lo8(128) 851 06e6 442E mov r4,r20 852 06e8 512C mov r5,__zero_reg__ 853 06ea 35E0 ldi r19,lo8(5) 854 06ec A32E mov r10,r19 855 06ee B12C mov r11,__zero_reg__ 856 .L103: 857 06f0 8091 0000 lds r24,UpdateMotor 858 06f4 8823 tst r24 859 06f6 01F0 breq .L67 860 06f8 8091 0000 lds r24,ADReady 861 06fc 8823 tst r24 862 06fe 01F4 brne .L108 863 .L67: 864 0700 8091 0000 lds r24,SendSPI 865 0704 8823 tst r24 866 0706 01F4 brne .L103 867 0708 0E94 0000 call SPI_TransmitByte 868 070c 8091 0000 lds r24,UpdateMotor 869 0710 8823 tst r24 870 0712 01F0 breq .L67 871 0714 8091 0000 lds r24,ADReady 872 0718 8823 tst r24 873 071a 01F0 breq .L67 874 .L108: 875 071c 1092 0000 sts UpdateMotor,__zero_reg__ 876 0720 0E94 0000 call MotorControl 877 0724 0E94 0000 call SendMotorData 878 0728 2091 0000 lds r18,BoardRelease 879 072c 2A30 cpi r18,lo8(10) 880 072e 01F4 brne .+2 881 0730 00C0 rjmp .L68 882 0732 2431 cpi r18,lo8(20) 883 0734 01F4 brne .+2 884 0736 00C0 rjmp .L68 885 0738 289A sbi 37-32,0 886 073a 8091 0000 lds r24,RC_Quality 887 073e 8823 tst r24 888 0740 01F4 brne .+2 889 0742 00C0 rjmp .L71 890 .L110: 891 0744 8091 0000 lds r24,RC_Quality 892 0748 8150 subi r24,lo8(-(-1)) 893 074a 8093 0000 sts RC_Quality,r24 894 .L72: 895 074e 8091 0000 lds r24,NCDataOkay 896 0752 8823 tst r24 897 0754 01F0 breq .L73 898 0756 8150 subi r24,lo8(-(-1)) 899 0758 8093 0000 sts NCDataOkay,r24 900 075c 8823 tst r24 901 075e 01F4 brne .L73 902 0760 1092 0000 sts (GPSStickNick)+1,__zero_reg__ 903 0764 1092 0000 sts GPSStickNick,__zero_reg__ 904 0768 1092 0000 sts (GPSStickRoll)+1,__zero_reg__ 905 076c 1092 0000 sts GPSStickRoll,__zero_reg__ 906 0770 1092 0000 sts NCSerialDataOkay,__zero_reg__ 907 0774 1092 0000 sts NCGpsZ,__zero_reg__ 908 .L73: 909 0778 8091 0000 lds r24,I2CTimeout 910 077c 9091 0000 lds r25,(I2CTimeout)+1 911 0780 0197 sbiw r24,1 912 0782 9093 0000 sts (I2CTimeout)+1,r25 913 0786 8093 0000 sts I2CTimeout,r24 914 078a 8091 0000 lds r24,I2CTimeout 915 078e 9091 0000 lds r25,(I2CTimeout)+1 916 0792 892B or r24,r25 917 0794 01F4 brne .+2 918 0796 00C0 rjmp .L74 919 0798 8091 0000 lds r24,MissingMotor 920 079c 8823 tst r24 921 079e 01F0 breq .+2 922 07a0 00C0 rjmp .L74 923 07a2 2A30 cpi r18,lo8(10) 924 07a4 01F4 brne .+2 925 07a6 00C0 rjmp .L81 926 07a8 2431 cpi r18,lo8(20) 927 07aa 01F4 brne .+2 928 07ac 00C0 rjmp .L81 929 07ae 289A sbi 37-32,0 930 .L80: 931 07b0 8091 0000 lds r24,UpdateMotor 932 07b4 8823 tst r24 933 07b6 01F0 breq .L83 934 07b8 8091 0000 lds r24,MKFlags 935 07bc 80FD sbrc r24,0 936 07be 00C0 rjmp .L84 937 .L83: 938 07c0 0E94 0000 call USART0_TransmitTxData 939 .L84: 940 07c4 0E94 0000 call USART0_ProcessRxData 941 07c8 CE01 movw r24,r28 942 07ca 0E94 0000 call CheckDelay 943 07ce 8823 tst r24 944 07d0 01F0 breq .L85 945 07d2 6496 adiw r28,20 946 07d4 8091 0000 lds r24,PcAccess 947 07d8 8823 tst r24 948 07da 01F4 brne .+2 949 07dc 00C0 rjmp .L86 950 07de 8150 subi r24,lo8(-(-1)) 951 07e0 8093 0000 sts PcAccess,r24 952 .L87: 953 07e4 2091 0000 lds r18,UBat 954 07e8 3091 0000 lds r19,(UBat)+1 955 07ec 8091 0000 lds r24,LowVoltageWarning 956 07f0 90E0 ldi r25,lo8(0) 957 07f2 2817 cp r18,r24 958 07f4 3907 cpc r19,r25 959 07f6 04F0 brlt .+2 960 07f8 00C0 rjmp .L88 961 07fa 8091 0000 lds r24,MKFlags 962 07fe 8062 ori r24,lo8(32) 963 0800 8093 0000 sts MKFlags,r24 964 0804 D092 0000 sts (BeepModulation)+1,r13 965 0808 C092 0000 sts BeepModulation,r12 966 080c 8091 0000 lds r24,BeepTime 967 0810 9091 0000 lds r25,(BeepTime)+1 968 0814 892B or r24,r25 969 0816 01F4 brne .L89 970 0818 9092 0000 sts (BeepTime)+1,r9 971 081c 8092 0000 sts BeepTime,r8 972 .L89: 973 0820 0E94 0000 call SPI_StartTransmitPacket 974 0824 F092 0000 sts SendSPI,r15 975 0828 8091 0000 lds r24,MKFlags 976 082c 80FD sbrc r24,0 977 082e 00C0 rjmp .L90 978 0830 0BEA ldi r16,lo8(1451) 979 0832 15E0 ldi r17,hi8(1451) 980 .L85: 981 0834 0E94 0000 call LED_Update 982 0838 00C0 rjmp .L67 983 .L74: 984 083a 2A30 cpi r18,lo8(10) 985 083c 01F0 breq .L76 986 083e 2431 cpi r18,lo8(20) 987 0840 01F0 breq .L76 988 0842 2898 cbi 37-32,0 989 0844 8091 0000 lds r24,I2CTimeout 990 0848 9091 0000 lds r25,(I2CTimeout)+1 991 084c 892B or r24,r25 992 084e 01F0 breq .L109 993 .L79: 994 0850 8091 0000 lds r24,BeepModulation 995 0854 9091 0000 lds r25,(BeepModulation)+1 996 0858 8F5F subi r24,lo8(-1) 997 085a 9F4F sbci r25,hi8(-1) 998 085c 01F0 breq .+2 999 085e 00C0 rjmp .L80 1000 0860 8091 0000 lds r24,MKFlags 1001 0864 80FF sbrs r24,0 1002 0866 00C0 rjmp .L80 1003 0868 7092 0000 sts (BeepTime)+1,r7 1004 086c 6092 0000 sts BeepTime,r6 1005 0870 5092 0000 sts (BeepModulation)+1,r5 1006 0874 4092 0000 sts BeepModulation,r4 1007 0878 00C0 rjmp .L80 1008 .L68: 1009 087a 2898 cbi 37-32,0 1010 087c 8091 0000 lds r24,RC_Quality 1011 0880 8823 tst r24 1012 0882 01F0 breq .+2 1013 0884 00C0 rjmp .L110 1014 .L71: 1015 0886 8091 6F00 lds r24,111 1016 088a 8062 ori r24,lo8(32) 1017 088c 8093 6F00 sts 111,r24 1018 0890 00C0 rjmp .L72 1019 .L76: 1020 0892 289A sbi 37-32,0 1021 0894 8091 0000 lds r24,I2CTimeout 1022 0898 9091 0000 lds r25,(I2CTimeout)+1 1023 089c 892B or r24,r25 1024 089e 01F4 brne .L79 1025 .L109: 1026 08a0 0E94 0000 call I2C_Reset 1027 08a4 B092 0000 sts (I2CTimeout)+1,r11 1028 08a8 A092 0000 sts I2CTimeout,r10 1029 08ac 8091 0000 lds r24,DebugOut+58 1030 08b0 9091 0000 lds r25,(DebugOut+58)+1 1031 08b4 0196 adiw r24,1 1032 08b6 9093 0000 sts (DebugOut+58)+1,r25 1033 08ba 8093 0000 sts DebugOut+58,r24 1034 08be 00C0 rjmp .L79 1035 .L90: 1036 08c0 0F5F subi r16,lo8(-(1)) 1037 08c2 1F4F sbci r17,hi8(-(1)) 1038 08c4 9BE0 ldi r25,hi8(2930) 1039 08c6 0237 cpi r16,lo8(2930) 1040 08c8 1907 cpc r17,r25 1041 08ca 01F0 breq .+2 1042 08cc 00C0 rjmp .L85 1043 08ce 6091 0000 lds r22,FlightMinutesTotal 1044 08d2 7091 0000 lds r23,(FlightMinutesTotal)+1 1045 08d6 6F5F subi r22,lo8(-(1)) 1046 08d8 7F4F sbci r23,hi8(-(1)) 1047 08da 7093 0000 sts (FlightMinutesTotal)+1,r23 1048 08de 6093 0000 sts FlightMinutesTotal,r22 1049 08e2 8091 0000 lds r24,FlightMinutes 1050 08e6 9091 0000 lds r25,(FlightMinutes)+1 1051 08ea 0196 adiw r24,1 1052 08ec 9093 0000 sts (FlightMinutes)+1,r25 1053 08f0 8093 0000 sts FlightMinutes,r24 1054 08f4 8AE0 ldi r24,lo8(10) 1055 08f6 90E0 ldi r25,hi8(10) 1056 08f8 0E94 0000 call SetParamWord 1057 08fc 6091 0000 lds r22,FlightMinutes 1058 0900 7091 0000 lds r23,(FlightMinutes)+1 1059 0904 8EE0 ldi r24,lo8(14) 1060 0906 90E0 ldi r25,hi8(14) 1061 0908 0E94 0000 call SetParamWord 1062 090c 84E1 ldi r24,lo8(20) 1063 090e 90E0 ldi r25,hi8(20) 1064 0910 0E94 0000 call SetDelay 1065 0914 EC01 movw r28,r24 1066 0916 00E0 ldi r16,lo8(0) 1067 0918 10E0 ldi r17,hi8(0) 1068 091a 00C0 rjmp .L85 1069 .L86: 1070 091c 1092 0000 sts ExternControl+10,__zero_reg__ 1071 0920 1092 0000 sts (ExternStickNick)+1,__zero_reg__ 1072 0924 1092 0000 sts ExternStickNick,__zero_reg__ 1073 0928 1092 0000 sts (ExternStickRoll)+1,__zero_reg__ 1074 092c 1092 0000 sts ExternStickRoll,__zero_reg__ 1075 0930 1092 0000 sts (ExternStickYaw)+1,__zero_reg__ 1076 0934 1092 0000 sts ExternStickYaw,__zero_reg__ 1077 0938 8091 0000 lds r24,BeepModulation 1078 093c 9091 0000 lds r25,(BeepModulation)+1 1079 0940 8F5F subi r24,lo8(-1) 1080 0942 9F4F sbci r25,hi8(-1) 1081 0944 01F0 breq .+2 1082 0946 00C0 rjmp .L87 1083 0948 8091 0000 lds r24,RC_Quality 1084 094c 8823 tst r24 1085 094e 01F0 breq .+2 1086 0950 00C0 rjmp .L87 1087 0952 3092 0000 sts (BeepTime)+1,r3 1088 0956 2092 0000 sts BeepTime,r2 1089 095a 80E0 ldi r24,lo8(3072) 1090 095c 9CE0 ldi r25,hi8(3072) 1091 095e 9093 0000 sts (BeepModulation)+1,r25 1092 0962 8093 0000 sts BeepModulation,r24 1093 0966 00C0 rjmp .L87 1094 .L88: 1095 0968 8091 0000 lds r24,MKFlags 1096 096c 8F7D andi r24,lo8(-33) 1097 096e 8093 0000 sts MKFlags,r24 1098 0972 00C0 rjmp .L89 1099 .L81: 1100 0974 2898 cbi 37-32,0 1101 0976 00C0 rjmp .L80 1102 .L52: 1103 0978 00D0 rcall . 1104 097a 00D0 rcall . 1105 097c 0F92 push __tmp_reg__ 1106 097e EDB7 in r30,__SP_L__ 1107 0980 FEB7 in r31,__SP_H__ 1108 0982 3196 adiw r30,1 1109 0984 ADB7 in r26,__SP_L__ 1110 0986 BEB7 in r27,__SP_H__ 1111 0988 1196 adiw r26,1 1112 098a 1C92 st X,__zero_reg__ 1113 098c 7282 std Z+2,r7 1114 098e 6182 std Z+1,r6 1115 0990 F482 std Z+4,r15 1116 0992 E382 std Z+3,r14 1117 0994 0E94 0000 call _printf_P 1118 0998 0F90 pop __tmp_reg__ 1119 099a 0F90 pop __tmp_reg__ 1120 099c 0F90 pop __tmp_reg__ 1121 099e 0F90 pop __tmp_reg__ 1122 09a0 0F90 pop __tmp_reg__ 1123 09a2 00C0 rjmp .L53 1124 .L44: 1125 09a4 2998 cbi 37-32,1 1126 09a6 00C0 rjmp .L45 1127 .L63: 1128 09a8 1092 0000 sts (FlightMinutes)+1,__zero_reg__ 1129 09ac 1092 0000 sts FlightMinutes,__zero_reg__ 1130 09b0 1092 0000 sts (FlightMinutesTotal)+1,__zero_reg__ 1131 09b4 1092 0000 sts FlightMinutesTotal,__zero_reg__ 1132 09b8 00C0 rjmp .L64 1133 .L60: 1134 09ba 2898 cbi 37-32,0 1135 09bc 00C0 rjmp .L62 1136 .L38: 1137 09be 2898 cbi 37-32,0 1138 09c0 00C0 rjmp .L40 1139 .L35: 1140 09c2 8091 CA00 lds r24,202 1141 09c6 90E0 ldi r25,lo8(0) 1142 09c8 8630 cpi r24,lo8(6) 1143 09ca 01F0 breq .+2 1144 09cc 00C0 rjmp .L36 1145 09ce 91E0 ldi r25,lo8(1) 1146 09d0 00C0 rjmp .L36 1147 .L65: 1148 09d2 00D0 rcall . 1149 09d4 0F92 push __tmp_reg__ 1150 09d6 EDB7 in r30,__SP_L__ 1151 09d8 FEB7 in r31,__SP_H__ 1152 09da 1182 std Z+1,__zero_reg__ 1153 09dc 80E0 ldi r24,lo8(__c.2006) 1154 09de 90E0 ldi r25,hi8(__c.2006) 1155 09e0 9383 std Z+3,r25 1156 09e2 8283 std Z+2,r24 1157 09e4 0E94 0000 call _printf_P 1158 09e8 0F90 pop __tmp_reg__ 1159 09ea 0F90 pop __tmp_reg__ 1160 09ec 0F90 pop __tmp_reg__ 1161 09ee 00C0 rjmp .L66 1162 .L105: 1163 09f0 00D0 rcall . 1164 09f2 0F92 push __tmp_reg__ 1165 09f4 ADB7 in r26,__SP_L__ 1166 09f6 BEB7 in r27,__SP_H__ 1167 09f8 1196 adiw r26,1 1168 09fa 1C92 st X,__zero_reg__ 1169 09fc 1197 sbiw r26,1 1170 09fe 80E0 ldi r24,lo8(__c.1952) 1171 0a00 90E0 ldi r25,hi8(__c.1952) 1172 0a02 1396 adiw r26,2+1 1173 0a04 9C93 st X,r25 1174 0a06 8E93 st -X,r24 1175 0a08 1297 sbiw r26,2 1176 0a0a 0E94 0000 call _printf_P 1177 0a0e 0F90 pop __tmp_reg__ 1178 0a10 0F90 pop __tmp_reg__ 1179 0a12 0F90 pop __tmp_reg__ 1180 0a14 00C0 rjmp .L43 1181 .L104: 1182 0a16 0E94 0000 call USART1_Init 1183 0a1a 00C0 rjmp .L41 1184 .L107: 1185 0a1c 00D0 rcall . 1186 0a1e 0F92 push __tmp_reg__ 1187 0a20 ADB7 in r26,__SP_L__ 1188 0a22 BEB7 in r27,__SP_H__ 1189 0a24 1196 adiw r26,1 1190 0a26 1C92 st X,__zero_reg__ 1191 0a28 1197 sbiw r26,1 1192 0a2a 80E0 ldi r24,lo8(__c.1989) 1193 0a2c 90E0 ldi r25,hi8(__c.1989) 1194 0a2e 1396 adiw r26,2+1 1195 0a30 9C93 st X,r25 1196 0a32 8E93 st -X,r24 1197 0a34 1297 sbiw r26,2 1198 0a36 0E94 0000 call _printf_P 1199 0a3a 0F90 pop __tmp_reg__ 1200 0a3c 0F90 pop __tmp_reg__ 1201 0a3e 0F90 pop __tmp_reg__ 1202 0a40 88EE ldi r24,lo8(1000) 1203 0a42 93E0 ldi r25,hi8(1000) 1204 0a44 0E94 0000 call SetDelay 1205 0a48 EC01 movw r28,r24 1206 0a4a 0E94 0000 call SearchAirPressureOffset 1207 .L59: 1208 0a4e CE01 movw r24,r28 1209 0a50 0E94 0000 call CheckDelay 1210 0a54 8823 tst r24 1211 0a56 01F0 breq .L59 1212 0a58 00D0 rcall . 1213 0a5a 0F92 push __tmp_reg__ 1214 0a5c EDB7 in r30,__SP_L__ 1215 0a5e FEB7 in r31,__SP_H__ 1216 0a60 1182 std Z+1,__zero_reg__ 1217 0a62 80E0 ldi r24,lo8(__c.1994) 1218 0a64 90E0 ldi r25,hi8(__c.1994) 1219 0a66 9383 std Z+3,r25 1220 0a68 8283 std Z+2,r24 1221 0a6a 0E94 0000 call _printf_P 1222 0a6e 0F90 pop __tmp_reg__ 1223 0a70 0F90 pop __tmp_reg__ 1224 0a72 0F90 pop __tmp_reg__ 1225 0a74 00C0 rjmp .L58 1227 .global BoardRelease 1228 .data 1231 BoardRelease: 1232 0000 0A .byte 10 1233 .global CPUType 1236 CPUType: 1237 0001 01 .byte 1 1238 .global LowVoltageWarning 1241 LowVoltageWarning: 1242 0002 5E .byte 94 1243 .global FlightMinutes 1244 .global FlightMinutes 1245 .section .bss 1248 FlightMinutes: 1249 0000 0000 .skip 2,0 1250 .global FlightMinutesTotal 1251 .global FlightMinutesTotal 1254 FlightMinutesTotal: 1255 0002 0000 .skip 2,0 1256 .section .progmem.data,"a",@progbits 1259 __c.2008: 1260 0000 0A0D 3D3D .string "\n\r===================================\n\r" 1260 3D3D 3D3D 1260 3D3D 3D3D 1260 3D3D 3D3D 1260 3D3D 3D3D 1263 __c.2006: 1264 0028 4E65 7574 .string "Neutral (ACC-Mode)" 1264 7261 6C20 1264 2841 4343 1264 2D4D 6F64 1264 6529 00 1267 __c.2004: 1268 003b 4865 6164 .string "HeadingHold" 1268 696E 6748 1268 6F6C 6400 1271 __c.2002: 1272 0047 0A0D 436F .string "\n\rControl: " 1272 6E74 726F 1272 6C3A 2000 1275 __c.2000: 1276 0053 0A0D 466C .string "\n\rFlight-time %u min Total:%u min" 1276 6967 6874 1276 2D74 696D 1276 6520 2575 1276 206D 696E 1279 __c.1998: 1280 0076 0D0A 5375 .string "\r\nSupport for JENNIC RC at 2nd UART" 1280 7070 6F72 1280 7420 666F 1280 7220 4A45 1280 4E4E 4943 1283 __c.1996: 1284 009a 0A0D 5375 .string "\n\rSupport for NaviCtrl" 1284 7070 6F72 1284 7420 666F 1284 7220 4E61 1284 7669 4374 1287 __c.1994: 1288 00b1 4F4B 0A0D .string "OK\n\r" 1288 00 1291 __c.1989: 1292 00b6 0A0D 4361 .string "\n\rCalibrating air pressure sensor.." 1292 6C69 6272 1292 6174 696E 1292 6720 6169 1292 7220 7072 1295 __c.1984: 1296 00da 0A0D 3D3D .string "\n\r===================================" 1296 3D3D 3D3D 1296 3D3D 3D3D 1296 3D3D 3D3D 1296 3D3D 3D3D 1299 __c.1979: 1300 0100 0A0D 0A0D .string "\n\r\n\r!! MISSING BL-CTRL: %d !!" 1300 2121 204D 1300 4953 5349 1300 4E47 2042 1300 4C2D 4354 1303 __c.1974: 1304 011e 2564 2000 .string "%d " 1307 __c.1960: 1308 0122 0A0D 466F .string "\n\rFound BL-Ctrl: " 1308 756E 6420 1308 424C 2D43 1308 7472 6C3A 1308 2000 1311 __c.1958: 1312 0134 0A0D 3D3D .string "\n\r===================================" 1312 3D3D 3D3D 1312 3D3D 3D3D 1312 3D3D 3D3D 1312 3D3D 3D3D 1315 __c.1956: 1316 015a 0A0D 536F .string "\n\rSoftware: V%d.%d%c" 1316 6674 7761 1316 7265 3A20 1316 5625 642E 1316 2564 2563 1319 __c.1954: 1320 016f 0D0A 2020 .string "\r\n CPU: Atmega644" 1320 2020 2043 1320 5055 3A20 1320 4174 6D65 1320 6761 3634 1323 __c.1952: 1324 0185 0D0A 2020 .string "\r\n CPU: Atmega644p" 1324 2020 2043 1324 5055 3A20 1324 4174 6D65 1324 6761 3634 1327 __c.1950: 1328 019c 0A0D 3D3D .string "\n\r===================================" 1328 3D3D 3D3D 1328 3D3D 3D3D 1328 3D3D 3D3D 1328 3D3D 3D3D 1331 __c.1948: 1332 01c2 0A0D 7777 .string "\n\rwww.MikroKopter.de (c) HiSystems GmbH" 1332 772E 4D69 1332 6B72 6F4B 1332 6F70 7465 1332 722E 6465 1335 __c.1946: 1336 01ea 0A0D 7468 .ascii "\n\rthe use of th" 1336 6520 7573 1336 6520 6F66 1336 2074 68 1337 01f9 6973 2073 .string "is software is only permitted \n\ron original MikroKopter-Hardware" 1337 6F66 7477 1337 6172 6520 1337 6973 206F 1337 6E6C 7920 1340 __c.1944: 1341 023a 0A0D 4861 .string "\n\rHardware: %d.%d" 1341 7264 7761 1341 7265 3A20 1341 2564 2E25 1341 6400 1344 __c.1942: 1345 024c 0A0D 466C .string "\n\rFlightControl" 1345 6967 6874 1345 436F 6E74 1345 726F 6C00 1348 __c.1940: 1349 025c 0A0D 3D3D .string "\n\r===================================" 1349 3D3D 3D3D 1349 3D3D 3D3D 1349 3D3D 3D3D 1349 3D3D 3D3D 1352 __c.1918: 1353 0282 4C6F 7720 .string "Low Warning level: %d.%dV" 1353 5761 726E 1353 696E 6720 1353 6C65 7665 1353 6C3A 2025 1356 __c.1916: 1357 029c 2034 2043 .string " 4 Cells " 1357 656C 6C73 1357 2020 00 1360 __c.1914: 1361 02a7 2033 2043 .string " 3 Cells " 1361 656C 6C73 1361 2020 00 1364 __c.1909: 1365 02b2 0A0D 4261 .string "\n\rBatt:" 1365 7474 3A00 1366 .global __do_copy_data 1367 .global __do_clear_bss DEFINED SYMBOLS *ABS*:00000000 main.c C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccMHWd4q.s:2 *ABS*:0000003f __SREG__ C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccMHWd4q.s:3 *ABS*:0000003e __SP_H__ C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccMHWd4q.s:4 *ABS*:0000003d __SP_L__ C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccMHWd4q.s:5 *ABS*:00000034 __CCP__ C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccMHWd4q.s:6 *ABS*:00000000 __tmp_reg__ C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccMHWd4q.s:7 *ABS*:00000001 __zero_reg__ C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccMHWd4q.s:11 .text:00000000 GetCPUType C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccMHWd4q.s:33 .text:0000001e GetBoardRelease C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccMHWd4q.s:99 .text:00000080 LipoDetection C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccMHWd4q.s:1241 .data:00000002 LowVoltageWarning C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccMHWd4q.s:1360 .progmem.data:000002a7 __c.1914 C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccMHWd4q.s:1352 .progmem.data:00000282 __c.1918 C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccMHWd4q.s:1364 .progmem.data:000002b2 __c.1909 C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccMHWd4q.s:1356 .progmem.data:0000029c __c.1916 C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccMHWd4q.s:269 .text:000001de main C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccMHWd4q.s:1236 .data:00000001 CPUType C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccMHWd4q.s:1231 .data:00000000 BoardRelease C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccMHWd4q.s:1348 .progmem.data:0000025c __c.1940 C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccMHWd4q.s:1344 .progmem.data:0000024c __c.1942 C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccMHWd4q.s:1340 .progmem.data:0000023a __c.1944 C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccMHWd4q.s:1335 .progmem.data:000001ea __c.1946 C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccMHWd4q.s:1331 .progmem.data:000001c2 __c.1948 C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccMHWd4q.s:1327 .progmem.data:0000019c __c.1950 C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccMHWd4q.s:1319 .progmem.data:0000016f __c.1954 C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccMHWd4q.s:1315 .progmem.data:0000015a __c.1956 C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccMHWd4q.s:1311 .progmem.data:00000134 __c.1958 C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccMHWd4q.s:1307 .progmem.data:00000122 __c.1960 C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccMHWd4q.s:1303 .progmem.data:0000011e __c.1974 C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccMHWd4q.s:1299 .progmem.data:00000100 __c.1979 C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccMHWd4q.s:1295 .progmem.data:000000da __c.1984 C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccMHWd4q.s:1283 .progmem.data:0000009a __c.1996 C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccMHWd4q.s:1279 .progmem.data:00000076 __c.1998 C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccMHWd4q.s:1248 .bss:00000000 FlightMinutes C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccMHWd4q.s:1254 .bss:00000002 FlightMinutesTotal C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccMHWd4q.s:1275 .progmem.data:00000053 __c.2000 C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccMHWd4q.s:1271 .progmem.data:00000047 __c.2002 C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccMHWd4q.s:1267 .progmem.data:0000003b __c.2004 C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccMHWd4q.s:1259 .progmem.data:00000000 __c.2008 C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccMHWd4q.s:1263 .progmem.data:00000028 __c.2006 C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccMHWd4q.s:1323 .progmem.data:00000185 __c.1952 C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccMHWd4q.s:1291 .progmem.data:000000b6 __c.1989 C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccMHWd4q.s:1287 .progmem.data:000000b1 __c.1994 UNDEFINED SYMBOLS ParamSet SetDelay UBat Beep _printf_P __udivmodqi4 CheckDelay BeepTime PPM_in StickYaw StickRoll StickNick LED_Init TIMER0_Init TIMER2_Init USART0_Init RC_Init ADC_Init I2C_Init SPI_MasterInit ParamSet_Init motor_read UpdateMotor SendMotorData Motor Mixer Servo_On SetNeutral ExternControl GetParamWord LCD_Clear I2CTimeout ADReady SendSPI SPI_TransmitByte MotorControl RC_Quality NCDataOkay GPSStickNick GPSStickRoll NCSerialDataOkay NCGpsZ MissingMotor MKFlags USART0_TransmitTxData USART0_ProcessRxData PcAccess BeepModulation SPI_StartTransmitPacket LED_Update I2C_Reset DebugOut SetParamWord ExternStickNick ExternStickRoll ExternStickYaw USART1_Init SearchAirPressureOffset __do_copy_data __do_clear_bss