1 .file "uart0.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 __vector_22 11 __vector_22: 12 0000 1F92 push __zero_reg__ 13 0002 0F92 push r0 14 0004 0FB6 in r0,__SREG__ 15 0006 0F92 push r0 16 0008 1124 clr __zero_reg__ 17 000a 8F93 push r24 18 000c 9F93 push r25 19 000e EF93 push r30 20 0010 FF93 push r31 21 /* prologue: Signal */ 22 /* frame size = 0 */ 23 0012 8091 0000 lds r24,txd_complete 24 0016 8823 tst r24 25 0018 01F4 brne .L2 26 001a 8091 0000 lds r24,ptr_txd_buffer.1840 27 001e 9091 0000 lds r25,(ptr_txd_buffer.1840)+1 28 0022 0196 adiw r24,1 29 0024 9093 0000 sts (ptr_txd_buffer.1840)+1,r25 30 0028 8093 0000 sts ptr_txd_buffer.1840,r24 31 002c FC01 movw r30,r24 32 002e E050 subi r30,lo8(-(txd_buffer)) 33 0030 F040 sbci r31,hi8(-(txd_buffer)) 34 0032 E081 ld r30,Z 35 0034 ED30 cpi r30,lo8(13) 36 0036 01F0 breq .L3 37 0038 8639 cpi r24,150 38 003a 9105 cpc r25,__zero_reg__ 39 003c 01F0 breq .L3 40 .L4: 41 003e E093 C600 sts 198,r30 42 0042 00C0 rjmp .L6 43 .L2: 44 0044 1092 0000 sts (ptr_txd_buffer.1840)+1,__zero_reg__ 45 0048 1092 0000 sts ptr_txd_buffer.1840,__zero_reg__ 46 .L6: 47 /* epilogue start */ 48 004c FF91 pop r31 49 004e EF91 pop r30 50 0050 9F91 pop r25 51 0052 8F91 pop r24 52 0054 0F90 pop r0 53 0056 0FBE out __SREG__,r0 54 0058 0F90 pop r0 55 005a 1F90 pop __zero_reg__ 56 005c 1895 reti 57 .L3: 58 005e 1092 0000 sts (ptr_txd_buffer.1840)+1,__zero_reg__ 59 0062 1092 0000 sts ptr_txd_buffer.1840,__zero_reg__ 60 0066 81E0 ldi r24,lo8(1) 61 0068 8093 0000 sts txd_complete,r24 62 006c 00C0 rjmp .L4 64 .global AddCRC 66 AddCRC: 67 006e CF93 push r28 68 0070 DF93 push r29 69 /* prologue: function */ 70 /* frame size = 0 */ 71 0072 BC01 movw r22,r24 72 0074 0097 sbiw r24,0 73 0076 01F0 breq .L14 74 0078 40E0 ldi r20,lo8(0) 75 007a 50E0 ldi r21,hi8(0) 76 007c 20E0 ldi r18,lo8(0) 77 007e 30E0 ldi r19,hi8(0) 78 .L11: 79 0080 FA01 movw r30,r20 80 0082 E050 subi r30,lo8(-(txd_buffer)) 81 0084 F040 sbci r31,hi8(-(txd_buffer)) 82 0086 8081 ld r24,Z 83 0088 280F add r18,r24 84 008a 311D adc r19,__zero_reg__ 85 008c 4F5F subi r20,lo8(-(1)) 86 008e 5F4F sbci r21,hi8(-(1)) 87 0090 4617 cp r20,r22 88 0092 5707 cpc r21,r23 89 0094 00F0 brlo .L11 90 0096 3F70 andi r19,hi8(4095) 91 0098 C901 movw r24,r18 92 009a 0024 clr __tmp_reg__ 93 009c 880F lsl r24 94 009e 991F rol r25 95 00a0 001C rol __tmp_reg__ 96 00a2 880F lsl r24 97 00a4 991F rol r25 98 00a6 001C rol __tmp_reg__ 99 00a8 892F mov r24,r25 100 00aa 902D mov r25,__tmp_reg__ 101 00ac 835C subi r24,lo8(-(61)) 102 00ae DB01 movw r26,r22 103 00b0 1196 adiw r26,1 104 00b2 2F73 andi r18,lo8(63) 105 00b4 235C subi r18,lo8(-(61)) 106 00b6 ED01 movw r28,r26 107 00b8 2196 adiw r28,1 108 00ba FB01 movw r30,r22 109 .L10: 110 00bc E050 subi r30,lo8(-(txd_buffer)) 111 00be F040 sbci r31,hi8(-(txd_buffer)) 112 00c0 8083 st Z,r24 113 00c2 A050 subi r26,lo8(-(txd_buffer)) 114 00c4 B040 sbci r27,hi8(-(txd_buffer)) 115 00c6 2C93 st X,r18 116 00c8 C050 subi r28,lo8(-(txd_buffer)) 117 00ca D040 sbci r29,hi8(-(txd_buffer)) 118 00cc 8DE0 ldi r24,lo8(13) 119 00ce 8883 st Y,r24 120 00d0 1092 0000 sts txd_complete,__zero_reg__ 121 00d4 8091 0000 lds r24,txd_buffer 122 00d8 8093 C600 sts 198,r24 123 /* epilogue start */ 124 00dc DF91 pop r29 125 00de CF91 pop r28 126 00e0 0895 ret 127 .L14: 128 00e2 E0E0 ldi r30,lo8(0) 129 00e4 F0E0 ldi r31,hi8(0) 130 00e6 8DE3 ldi r24,lo8(61) 131 00e8 A1E0 ldi r26,lo8(1) 132 00ea B0E0 ldi r27,hi8(1) 133 00ec 2DE3 ldi r18,lo8(61) 134 00ee C2E0 ldi r28,lo8(2) 135 00f0 D0E0 ldi r29,hi8(2) 136 00f2 00C0 rjmp .L10 138 .global Decode64 140 Decode64: 141 /* prologue: function */ 142 /* frame size = 0 */ 143 00f4 5091 0000 lds r21,ReceivedBytes 144 00f8 5650 subi r21,lo8(-(-6)) 145 00fa 01F4 brne .+2 146 00fc 00C0 rjmp .L24 147 00fe 43E0 ldi r20,lo8(3) 148 0100 33E0 ldi r19,lo8(3) 149 0102 00C0 rjmp .L20 150 .L18: 151 0104 972F mov r25,r23 152 0106 9D53 subi r25,lo8(-(-61)) 153 0108 F0E0 ldi r31,lo8(0) 154 010a 2295 swap r18 155 010c 207F andi r18,lo8(-16) 156 010e 892F mov r24,r25 157 0110 8695 lsr r24 158 0112 8695 lsr r24 159 0114 282B or r18,r24 160 0116 E050 subi r30,lo8(-(rxd_buffer)) 161 0118 F040 sbci r31,hi8(-(rxd_buffer)) 162 011a 2083 st Z,r18 163 011c E42F mov r30,r20 164 011e EE5F subi r30,lo8(-(2)) 165 0120 5230 cpi r21,lo8(2) 166 0122 01F0 breq .L23 167 0124 5350 subi r21,lo8(-(-3)) 168 0126 F0E0 ldi r31,lo8(0) 169 0128 9295 swap r25 170 012a 990F lsl r25 171 012c 990F lsl r25 172 012e 907C andi r25,lo8(-64) 173 0130 6D53 subi r22,lo8(-(-61)) 174 0132 962B or r25,r22 175 0134 E050 subi r30,lo8(-(rxd_buffer)) 176 0136 F040 sbci r31,hi8(-(rxd_buffer)) 177 0138 9083 st Z,r25 178 013a 4D5F subi r20,lo8(-(3)) 179 013c 5523 tst r21 180 013e 01F0 breq .L25 181 .L20: 182 0140 E32F mov r30,r19 183 0142 F0E0 ldi r31,lo8(0) 184 0144 E050 subi r30,lo8(-(rxd_buffer)) 185 0146 F040 sbci r31,hi8(-(rxd_buffer)) 186 0148 8081 ld r24,Z 187 014a 3F5F subi r19,lo8(-(1)) 188 014c E32F mov r30,r19 189 014e F0E0 ldi r31,lo8(0) 190 0150 E050 subi r30,lo8(-(rxd_buffer)) 191 0152 F040 sbci r31,hi8(-(rxd_buffer)) 192 0154 2081 ld r18,Z 193 0156 2D53 subi r18,lo8(-(-61)) 194 0158 3F5F subi r19,lo8(-(1)) 195 015a E32F mov r30,r19 196 015c F0E0 ldi r31,lo8(0) 197 015e E050 subi r30,lo8(-(rxd_buffer)) 198 0160 F040 sbci r31,hi8(-(rxd_buffer)) 199 0162 7081 ld r23,Z 200 0164 3F5F subi r19,lo8(-(1)) 201 0166 E32F mov r30,r19 202 0168 F0E0 ldi r31,lo8(0) 203 016a E050 subi r30,lo8(-(rxd_buffer)) 204 016c F040 sbci r31,hi8(-(rxd_buffer)) 205 016e 6081 ld r22,Z 206 0170 3F5F subi r19,lo8(-(1)) 207 0172 922F mov r25,r18 208 0174 9295 swap r25 209 0176 9F70 andi r25,lo8(15) 210 0178 8D53 subi r24,lo8(-(-61)) 211 017a 880F lsl r24 212 017c 880F lsl r24 213 017e 892B or r24,r25 214 0180 E42F mov r30,r20 215 0182 F0E0 ldi r31,lo8(0) 216 0184 E050 subi r30,lo8(-(rxd_buffer)) 217 0186 F040 sbci r31,hi8(-(rxd_buffer)) 218 0188 8083 st Z,r24 219 018a E42F mov r30,r20 220 018c EF5F subi r30,lo8(-(1)) 221 018e 5130 cpi r21,lo8(1) 222 0190 01F0 breq .+2 223 0192 00C0 rjmp .L18 224 .L23: 225 0194 E350 subi r30,lo8(-(-3)) 226 .L17: 227 0196 80E0 ldi r24,lo8(rxd_buffer+3) 228 0198 90E0 ldi r25,hi8(rxd_buffer+3) 229 019a 9093 0000 sts (pRxData)+1,r25 230 019e 8093 0000 sts pRxData,r24 231 01a2 E093 0000 sts RxDataLen,r30 232 /* epilogue start */ 233 01a6 0895 ret 234 .L25: 235 01a8 E42F mov r30,r20 236 01aa 00C0 rjmp .L23 237 .L24: 238 01ac E0E0 ldi r30,lo8(0) 239 01ae 00C0 rjmp .L17 241 .global uart_putchar 243 uart_putchar: 244 01b0 1F93 push r17 245 /* prologue: function */ 246 /* frame size = 0 */ 247 01b2 182F mov r17,r24 248 01b4 8A30 cpi r24,lo8(10) 249 01b6 01F0 breq .L31 250 .L29: 251 01b8 8091 C000 lds r24,192 252 01bc 85FF sbrs r24,5 253 01be 00C0 rjmp .L29 254 01c0 1093 C600 sts 198,r17 255 01c4 80E0 ldi r24,lo8(0) 256 01c6 90E0 ldi r25,hi8(0) 257 /* epilogue start */ 258 01c8 1F91 pop r17 259 01ca 0895 ret 260 .L31: 261 01cc 8DE0 ldi r24,lo8(13) 262 01ce 0E94 0000 call uart_putchar 263 01d2 00C0 rjmp .L29 265 .global USART0_Init 267 USART0_Init: 268 01d4 1F93 push r17 269 /* prologue: function */ 270 /* frame size = 0 */ 271 01d6 1FB7 in r17,__SREG__ 272 /* #APP */ 273 ; 176 "uart0.c" 1 274 01d8 F894 cli 275 ; 0 "" 2 276 /* #NOAPP */ 277 01da 8091 C100 lds r24,193 278 01de 8F77 andi r24,lo8(127) 279 01e0 8093 C100 sts 193,r24 280 01e4 8091 C100 lds r24,193 281 01e8 8F7B andi r24,lo8(-65) 282 01ea 8093 C100 sts 193,r24 283 01ee 589A sbi 43-32,0 284 01f0 5098 cbi 42-32,0 285 01f2 599A sbi 43-32,1 286 01f4 519A sbi 42-32,1 287 01f6 1092 C500 sts 197,__zero_reg__ 288 01fa 8AE2 ldi r24,lo8(42) 289 01fc 8093 C400 sts 196,r24 290 0200 8091 C000 lds r24,192 291 0204 8260 ori r24,lo8(2) 292 0206 8093 C000 sts 192,r24 293 020a 88E1 ldi r24,lo8(24) 294 020c 8093 C100 sts 193,r24 295 0210 8091 C200 lds r24,194 296 0214 8F77 andi r24,lo8(127) 297 0216 8093 C200 sts 194,r24 298 021a 8091 C200 lds r24,194 299 021e 8F7B andi r24,lo8(-65) 300 0220 8093 C200 sts 194,r24 301 0224 8091 C200 lds r24,194 302 0228 8F7D andi r24,lo8(-33) 303 022a 8093 C200 sts 194,r24 304 022e 8091 C200 lds r24,194 305 0232 8F7E andi r24,lo8(-17) 306 0234 8093 C200 sts 194,r24 307 0238 8091 C200 lds r24,194 308 023c 877F andi r24,lo8(-9) 309 023e 8093 C200 sts 194,r24 310 0242 8091 C100 lds r24,193 311 0246 8B7F andi r24,lo8(-5) 312 0248 8093 C100 sts 193,r24 313 024c 8091 C200 lds r24,194 314 0250 8460 ori r24,lo8(4) 315 0252 8093 C200 sts 194,r24 316 0256 8091 C200 lds r24,194 317 025a 8260 ori r24,lo8(2) 318 025c 8093 C200 sts 194,r24 319 0260 8091 C000 lds r24,192 320 0264 87FF sbrs r24,7 321 0266 00C0 rjmp .L33 322 .L36: 323 0268 8091 C600 lds r24,198 324 026c 8091 C000 lds r24,192 325 0270 87FD sbrc r24,7 326 0272 00C0 rjmp .L36 327 .L33: 328 0274 8091 C100 lds r24,193 329 0278 8068 ori r24,lo8(-128) 330 027a 8093 C100 sts 193,r24 331 027e 8091 C100 lds r24,193 332 0282 8064 ori r24,lo8(64) 333 0284 8093 C100 sts 193,r24 334 0288 8091 0000 lds r24,DebugData_Interval 335 028c 9091 0000 lds r25,(DebugData_Interval)+1 336 0290 0E94 0000 call SetDelay 337 0294 9093 0000 sts (DebugData_Timer)+1,r25 338 0298 8093 0000 sts DebugData_Timer,r24 339 029c 1092 0000 sts rxd_buffer_locked,__zero_reg__ 340 02a0 1092 0000 sts (pRxData)+1,__zero_reg__ 341 02a4 1092 0000 sts pRxData,__zero_reg__ 342 02a8 1092 0000 sts RxDataLen,__zero_reg__ 343 02ac 91E0 ldi r25,lo8(1) 344 02ae 9093 0000 sts txd_complete,r25 345 02b2 1092 0000 sts UART_VersionInfo,__zero_reg__ 346 02b6 8CE4 ldi r24,lo8(76) 347 02b8 8093 0000 sts UART_VersionInfo+1,r24 348 02bc 86E0 ldi r24,lo8(6) 349 02be 8093 0000 sts UART_VersionInfo+4,r24 350 02c2 8AE0 ldi r24,lo8(10) 351 02c4 8093 0000 sts UART_VersionInfo+2,r24 352 02c8 9093 0000 sts UART_VersionInfo+3,r25 353 02cc 1FBF out __SREG__,r17 354 /* epilogue start */ 355 02ce 1F91 pop r17 356 02d0 0895 ret 358 .global SendOutData 360 SendOutData: 361 02d2 BF92 push r11 362 02d4 CF92 push r12 363 02d6 DF92 push r13 364 02d8 EF92 push r14 365 02da FF92 push r15 366 02dc 0F93 push r16 367 02de 1F93 push r17 368 02e0 DF93 push r29 369 02e2 CF93 push r28 370 02e4 CDB7 in r28,__SP_L__ 371 02e6 DEB7 in r29,__SP_H__ 372 /* prologue: function */ 373 /* frame size = 0 */ 374 02e8 8D85 ldd r24,Y+13 375 02ea 2E85 ldd r18,Y+14 376 02ec 93E2 ldi r25,lo8(35) 377 02ee 9093 0000 sts txd_buffer,r25 378 02f2 8F59 subi r24,lo8(-(97)) 379 02f4 8093 0000 sts txd_buffer+1,r24 380 02f8 8C85 ldd r24,Y+12 381 02fa 8093 0000 sts txd_buffer+2,r24 382 02fe 2223 tst r18 383 0300 01F4 brne .L56 384 .L39: 385 0302 63E0 ldi r22,lo8(3) 386 0304 70E0 ldi r23,hi8(3) 387 .L52: 388 0306 CB01 movw r24,r22 389 0308 0E94 0000 call AddCRC 390 /* epilogue start */ 391 030c CF91 pop r28 392 030e DF91 pop r29 393 0310 1F91 pop r17 394 0312 0F91 pop r16 395 0314 FF90 pop r15 396 0316 EF90 pop r14 397 0318 DF90 pop r13 398 031a CF90 pop r12 399 031c BF90 pop r11 400 031e 0895 ret 401 .L56: 402 0320 EF84 ldd r14,Y+15 403 0322 F888 ldd r15,Y+16 404 0324 03E1 ldi r16,lo8(19) 405 0326 C02E mov r12,r16 406 0328 D12C mov r13,__zero_reg__ 407 032a CC0E add r12,r28 408 032c DD1E adc r13,r29 409 032e 4989 ldd r20,Y+17 410 0330 5A89 ldd r21,Y+18 411 0332 4115 cp r20,__zero_reg__ 412 0334 5105 cpc r21,__zero_reg__ 413 0336 01F0 breq .L39 414 0338 022F mov r16,r18 415 033a 0150 subi r16,lo8(-(-1)) 416 033c 63E0 ldi r22,lo8(3) 417 033e 70E0 ldi r23,hi8(3) 418 0340 10E0 ldi r17,lo8(0) 419 0342 00C0 rjmp .L51 420 .L57: 421 0344 A12F mov r26,r17 422 0346 B0E0 ldi r27,lo8(0) 423 0348 1F5F subi r17,lo8(-(1)) 424 034a FA01 movw r30,r20 425 .L41: 426 034c AE0D add r26,r14 427 034e BF1D adc r27,r15 428 0350 8C91 ld r24,X 429 0352 AF01 movw r20,r30 430 0354 4150 subi r20,lo8(-(-1)) 431 0356 5040 sbci r21,hi8(-(-1)) 432 0358 01F4 brne .+2 433 035a 00C0 rjmp .L44 434 035c E12F mov r30,r17 435 035e F0E0 ldi r31,lo8(0) 436 0360 1F5F subi r17,lo8(-(1)) 437 .L45: 438 0362 EE0D add r30,r14 439 0364 FF1D adc r31,r15 440 0366 A081 ld r26,Z 441 0368 4150 subi r20,lo8(-(-1)) 442 036a 5040 sbci r21,hi8(-(-1)) 443 036c 01F0 breq .+2 444 036e 00C0 rjmp .L55 445 0370 0023 tst r16 446 0372 01F4 brne .+2 447 0374 00C0 rjmp .L55 448 0376 9601 movw r18,r12 449 0378 2E5F subi r18,lo8(-(2)) 450 037a 3F4F sbci r19,hi8(-(2)) 451 037c F601 movw r30,r12 452 037e E080 ld r14,Z 453 0380 F180 ldd r15,Z+1 454 0382 B2E0 ldi r27,lo8(2) 455 0384 CB2E mov r12,r27 456 0386 D12C mov r13,__zero_reg__ 457 0388 C20E add r12,r18 458 038a D31E adc r13,r19 459 038c F901 movw r30,r18 460 038e 4081 ld r20,Z 461 0390 5181 ldd r21,Z+1 462 0392 0150 subi r16,lo8(-(-1)) 463 0394 382F mov r19,r24 464 0396 3295 swap r19 465 0398 3F70 andi r19,lo8(15) 466 039a 90E0 ldi r25,lo8(0) 467 039c 8F70 andi r24,lo8(15) 468 039e 9070 andi r25,hi8(15) 469 03a0 2A2F mov r18,r26 470 03a2 2295 swap r18 471 03a4 2695 lsr r18 472 03a6 2695 lsr r18 473 03a8 2370 andi r18,lo8(3) 474 03aa 880F lsl r24 475 03ac 991F rol r25 476 03ae 880F lsl r24 477 03b0 991F rol r25 478 03b2 282B or r18,r24 479 03b4 235C subi r18,lo8(-(61)) 480 03b6 AF73 andi r26,lo8(63) 481 03b8 A35C subi r26,lo8(-(61)) 482 03ba 10E0 ldi r17,lo8(0) 483 .L47: 484 03bc 8B2D mov r24,r11 485 03be 8695 lsr r24 486 03c0 8695 lsr r24 487 03c2 835C subi r24,lo8(-(61)) 488 03c4 FB01 movw r30,r22 489 03c6 E050 subi r30,lo8(-(txd_buffer)) 490 03c8 F040 sbci r31,hi8(-(txd_buffer)) 491 03ca 8083 st Z,r24 492 03cc 8B2D mov r24,r11 493 03ce 90E0 ldi r25,lo8(0) 494 03d0 8370 andi r24,lo8(3) 495 03d2 9070 andi r25,hi8(3) 496 03d4 8295 swap r24 497 03d6 9295 swap r25 498 03d8 907F andi r25,0xf0 499 03da 9827 eor r25,r24 500 03dc 807F andi r24,0xf0 501 03de 9827 eor r25,r24 502 03e0 382B or r19,r24 503 03e2 335C subi r19,lo8(-(61)) 504 03e4 FB01 movw r30,r22 505 03e6 E050 subi r30,lo8(-(txd_buffer+1)) 506 03e8 F040 sbci r31,hi8(-(txd_buffer+1)) 507 03ea 3083 st Z,r19 508 03ec FB01 movw r30,r22 509 03ee E050 subi r30,lo8(-(txd_buffer+2)) 510 03f0 F040 sbci r31,hi8(-(txd_buffer+2)) 511 03f2 2083 st Z,r18 512 03f4 FB01 movw r30,r22 513 03f6 E050 subi r30,lo8(-(txd_buffer+3)) 514 03f8 F040 sbci r31,hi8(-(txd_buffer+3)) 515 03fa A083 st Z,r26 516 03fc 6C5F subi r22,lo8(-(4)) 517 03fe 7F4F sbci r23,hi8(-(4)) 518 0400 4115 cp r20,__zero_reg__ 519 0402 5105 cpc r21,__zero_reg__ 520 0404 01F4 brne .+2 521 0406 00C0 rjmp .L52 522 .L51: 523 0408 F701 movw r30,r14 524 040a E10F add r30,r17 525 040c F11D adc r31,__zero_reg__ 526 040e B080 ld r11,Z 527 0410 1F5F subi r17,lo8(-(1)) 528 0412 4150 subi r20,lo8(-(-1)) 529 0414 5040 sbci r21,hi8(-(-1)) 530 0416 01F0 breq .+2 531 0418 00C0 rjmp .L57 532 041a 0023 tst r16 533 041c 01F0 breq .L42 534 041e F601 movw r30,r12 535 0420 3296 adiw r30,2 536 0422 D601 movw r26,r12 537 0424 ED90 ld r14,X+ 538 0426 FC90 ld r15,X 539 0428 12E0 ldi r17,lo8(2) 540 042a C12E mov r12,r17 541 042c D12C mov r13,__zero_reg__ 542 042e CE0E add r12,r30 543 0430 DF1E adc r13,r31 544 0432 0190 ld __tmp_reg__,Z+ 545 0434 F081 ld r31,Z 546 0436 E02D mov r30,__tmp_reg__ 547 0438 0150 subi r16,lo8(-(-1)) 548 043a 3097 sbiw r30,0 549 043c 01F0 breq .+2 550 043e 00C0 rjmp .L58 551 0440 10E0 ldi r17,lo8(0) 552 .L42: 553 0442 30E0 ldi r19,lo8(0) 554 0444 2DE3 ldi r18,lo8(61) 555 0446 ADE3 ldi r26,lo8(61) 556 0448 00C0 rjmp .L47 557 .L55: 558 044a 382F mov r19,r24 559 044c 3295 swap r19 560 044e 3F70 andi r19,lo8(15) 561 0450 90E0 ldi r25,lo8(0) 562 0452 8F70 andi r24,lo8(15) 563 0454 9070 andi r25,hi8(15) 564 0456 2A2F mov r18,r26 565 0458 2295 swap r18 566 045a 2695 lsr r18 567 045c 2695 lsr r18 568 045e 2370 andi r18,lo8(3) 569 0460 880F lsl r24 570 0462 991F rol r25 571 0464 880F lsl r24 572 0466 991F rol r25 573 0468 282B or r18,r24 574 046a 235C subi r18,lo8(-(61)) 575 046c AF73 andi r26,lo8(63) 576 046e A35C subi r26,lo8(-(61)) 577 0470 00C0 rjmp .L47 578 .L44: 579 0472 0023 tst r16 580 0474 01F4 brne .L46 581 0476 382F mov r19,r24 582 0478 3295 swap r19 583 047a 3F70 andi r19,lo8(15) 584 047c 90E0 ldi r25,lo8(0) 585 047e 8F70 andi r24,lo8(15) 586 0480 9070 andi r25,hi8(15) 587 0482 880F lsl r24 588 0484 991F rol r25 589 0486 880F lsl r24 590 0488 991F rol r25 591 048a 282F mov r18,r24 592 048c 235C subi r18,lo8(-(61)) 593 048e ADE3 ldi r26,lo8(61) 594 0490 00C0 rjmp .L47 595 .L46: 596 0492 F601 movw r30,r12 597 0494 3296 adiw r30,2 598 0496 D601 movw r26,r12 599 0498 ED90 ld r14,X+ 600 049a FC90 ld r15,X 601 049c A2E0 ldi r26,lo8(2) 602 049e CA2E mov r12,r26 603 04a0 D12C mov r13,__zero_reg__ 604 04a2 CE0E add r12,r30 605 04a4 DF1E adc r13,r31 606 04a6 4081 ld r20,Z 607 04a8 5181 ldd r21,Z+1 608 04aa 0150 subi r16,lo8(-(-1)) 609 04ac 4115 cp r20,__zero_reg__ 610 04ae 5105 cpc r21,__zero_reg__ 611 04b0 01F0 breq .L59 612 04b2 E0E0 ldi r30,lo8(0) 613 04b4 F0E0 ldi r31,hi8(0) 614 04b6 11E0 ldi r17,lo8(1) 615 04b8 00C0 rjmp .L45 616 .L59: 617 04ba 382F mov r19,r24 618 04bc 3295 swap r19 619 04be 3F70 andi r19,lo8(15) 620 04c0 90E0 ldi r25,lo8(0) 621 04c2 8F70 andi r24,lo8(15) 622 04c4 9070 andi r25,hi8(15) 623 04c6 880F lsl r24 624 04c8 991F rol r25 625 04ca 880F lsl r24 626 04cc 991F rol r25 627 04ce 282F mov r18,r24 628 04d0 235C subi r18,lo8(-(61)) 629 04d2 10E0 ldi r17,lo8(0) 630 04d4 ADE3 ldi r26,lo8(61) 631 04d6 00C0 rjmp .L47 632 .L58: 633 04d8 A0E0 ldi r26,lo8(0) 634 04da B0E0 ldi r27,hi8(0) 635 04dc 11E0 ldi r17,lo8(1) 636 04de 00C0 rjmp .L41 638 .global USART0_TransmitTxData 640 USART0_TransmitTxData: 641 04e0 EF92 push r14 642 04e2 FF92 push r15 643 04e4 0F93 push r16 644 04e6 1F93 push r17 645 04e8 DF93 push r29 646 04ea CF93 push r28 647 04ec CDB7 in r28,__SP_L__ 648 04ee DEB7 in r29,__SP_H__ 649 04f0 6097 sbiw r28,16 650 04f2 0FB6 in __tmp_reg__,__SREG__ 651 04f4 F894 cli 652 04f6 DEBF out __SP_H__,r29 653 04f8 0FBE out __SREG__,__tmp_reg__ 654 04fa CDBF out __SP_L__,r28 655 /* prologue: function */ 656 /* frame size = 16 */ 657 04fc 8091 0000 lds r24,txd_complete 658 0500 8823 tst r24 659 0502 01F4 brne .+2 660 0504 00C0 rjmp .L76 661 0506 8091 0000 lds r24,Request_VerInfo 662 050a 8823 tst r24 663 050c 01F0 breq .+2 664 050e 00C0 rjmp .L77 665 .L62: 666 0510 8091 0000 lds r24,Request_Display 667 0514 8823 tst r24 668 0516 01F0 breq .L63 669 0518 8091 0000 lds r24,txd_complete 670 051c 8823 tst r24 671 051e 01F0 breq .+2 672 0520 00C0 rjmp .L78 673 .L63: 674 0522 8091 0000 lds r24,Request_Display1 675 0526 8823 tst r24 676 0528 01F4 brne .+2 677 052a 00C0 rjmp .L65 678 052c 8091 0000 lds r24,txd_complete 679 0530 8823 tst r24 680 0532 01F4 brne .+2 681 0534 00C0 rjmp .L65 682 0536 0E94 0000 call LCD_PrintMenu 683 053a 8DB7 in r24,__SP_L__ 684 053c 9EB7 in r25,__SP_H__ 685 053e 0F97 sbiw r24,15 686 0540 0FB6 in __tmp_reg__,__SREG__ 687 0542 F894 cli 688 0544 9EBF out __SP_H__,r25 689 0546 0FBE out __SREG__,__tmp_reg__ 690 0548 8DBF out __SP_L__,r24 691 054a EDB7 in r30,__SP_L__ 692 054c FEB7 in r31,__SP_H__ 693 054e 3196 adiw r30,1 694 0550 8CE4 ldi r24,lo8(76) 695 0552 ADB7 in r26,__SP_L__ 696 0554 BEB7 in r27,__SP_H__ 697 0556 1196 adiw r26,1 698 0558 8C93 st X,r24 699 055a 81E0 ldi r24,lo8(1) 700 055c 8183 std Z+1,r24 701 055e 83E0 ldi r24,lo8(3) 702 0560 8283 std Z+2,r24 703 0562 80E0 ldi r24,lo8(MenuItem) 704 0564 90E0 ldi r25,hi8(MenuItem) 705 0566 9483 std Z+4,r25 706 0568 8383 std Z+3,r24 707 056a 21E0 ldi r18,lo8(1) 708 056c 30E0 ldi r19,hi8(1) 709 056e 3683 std Z+6,r19 710 0570 2583 std Z+5,r18 711 0572 80E0 ldi r24,lo8(MaxMenuItem) 712 0574 90E0 ldi r25,hi8(MaxMenuItem) 713 0576 9087 std Z+8,r25 714 0578 8783 std Z+7,r24 715 057a 3287 std Z+10,r19 716 057c 2187 std Z+9,r18 717 057e 80E0 ldi r24,lo8(DisplayBuff) 718 0580 90E0 ldi r25,hi8(DisplayBuff) 719 0582 9487 std Z+12,r25 720 0584 8387 std Z+11,r24 721 0586 80E5 ldi r24,lo8(80) 722 0588 90E0 ldi r25,hi8(80) 723 058a 9687 std Z+14,r25 724 058c 8587 std Z+13,r24 725 058e 0E94 0000 call SendOutData 726 0592 1092 0000 sts Request_Display1,__zero_reg__ 727 0596 2DB7 in r18,__SP_L__ 728 0598 3EB7 in r19,__SP_H__ 729 059a 215F subi r18,lo8(-(15)) 730 059c 3F4F sbci r19,hi8(-(15)) 731 059e 0FB6 in __tmp_reg__,__SREG__ 732 05a0 F894 cli 733 05a2 3EBF out __SP_H__,r19 734 05a4 0FBE out __SREG__,__tmp_reg__ 735 05a6 2DBF out __SP_L__,r18 736 .L76: 737 /* epilogue start */ 738 05a8 6096 adiw r28,16 739 05aa 0FB6 in __tmp_reg__,__SREG__ 740 05ac F894 cli 741 05ae DEBF out __SP_H__,r29 742 05b0 0FBE out __SREG__,__tmp_reg__ 743 05b2 CDBF out __SP_L__,r28 744 05b4 CF91 pop r28 745 05b6 DF91 pop r29 746 05b8 1F91 pop r17 747 05ba 0F91 pop r16 748 05bc FF90 pop r15 749 05be EF90 pop r14 750 05c0 0895 ret 751 .L77: 752 05c2 8091 0000 lds r24,txd_complete 753 05c6 8823 tst r24 754 05c8 01F4 brne .+2 755 05ca 00C0 rjmp .L62 756 05cc 2DB7 in r18,__SP_L__ 757 05ce 3EB7 in r19,__SP_H__ 758 05d0 2750 subi r18,lo8(-(-7)) 759 05d2 3040 sbci r19,hi8(-(-7)) 760 05d4 0FB6 in __tmp_reg__,__SREG__ 761 05d6 F894 cli 762 05d8 3EBF out __SP_H__,r19 763 05da 0FBE out __SREG__,__tmp_reg__ 764 05dc 2DBF out __SP_L__,r18 765 05de EDB7 in r30,__SP_L__ 766 05e0 FEB7 in r31,__SP_H__ 767 05e2 3196 adiw r30,1 768 05e4 86E5 ldi r24,lo8(86) 769 05e6 ADB7 in r26,__SP_L__ 770 05e8 BEB7 in r27,__SP_H__ 771 05ea 1196 adiw r26,1 772 05ec 8C93 st X,r24 773 05ee 81E0 ldi r24,lo8(1) 774 05f0 8183 std Z+1,r24 775 05f2 8283 std Z+2,r24 776 05f4 80E0 ldi r24,lo8(UART_VersionInfo) 777 05f6 90E0 ldi r25,hi8(UART_VersionInfo) 778 05f8 9483 std Z+4,r25 779 05fa 8383 std Z+3,r24 780 05fc 8AE0 ldi r24,lo8(10) 781 05fe 90E0 ldi r25,hi8(10) 782 0600 9683 std Z+6,r25 783 0602 8583 std Z+5,r24 784 0604 0E94 0000 call SendOutData 785 0608 1092 0000 sts Request_VerInfo,__zero_reg__ 786 060c 2DB7 in r18,__SP_L__ 787 060e 3EB7 in r19,__SP_H__ 788 0610 295F subi r18,lo8(-(7)) 789 0612 3F4F sbci r19,hi8(-(7)) 790 0614 0FB6 in __tmp_reg__,__SREG__ 791 0616 F894 cli 792 0618 3EBF out __SP_H__,r19 793 061a 0FBE out __SREG__,__tmp_reg__ 794 061c 2DBF out __SP_L__,r18 795 061e 00C0 rjmp .L76 796 .L65: 797 0620 6091 0000 lds r22,Request_DebugLabel 798 0624 6F3F cpi r22,lo8(-1) 799 0626 01F0 breq .+2 800 0628 00C0 rjmp .L79 801 062a 8091 0000 lds r24,ConfirmFrame 802 062e 8823 tst r24 803 0630 01F0 breq .L67 804 0632 8091 0000 lds r24,txd_complete 805 0636 8823 tst r24 806 0638 01F0 breq .+2 807 063a 00C0 rjmp .L80 808 .L67: 809 063c 8091 0000 lds r24,DebugData_Interval 810 0640 9091 0000 lds r25,(DebugData_Interval)+1 811 0644 892B or r24,r25 812 0646 01F0 breq .+2 813 0648 00C0 rjmp .L81 814 .L68: 815 064a 8091 0000 lds r24,Request_DebugData 816 064e 8823 tst r24 817 0650 01F0 breq .L70 818 .L69: 819 0652 8091 0000 lds r24,txd_complete 820 0656 8823 tst r24 821 0658 01F0 breq .+2 822 065a 00C0 rjmp .L82 823 .L70: 824 065c 8091 0000 lds r24,Data3D_Interval 825 0660 9091 0000 lds r25,(Data3D_Interval)+1 826 0664 892B or r24,r25 827 0666 01F0 breq .+2 828 0668 00C0 rjmp .L83 829 .L71: 830 066a 8091 0000 lds r24,Request_Data3D 831 066e 8823 tst r24 832 0670 01F0 breq .L73 833 .L72: 834 0672 8091 0000 lds r24,txd_complete 835 0676 8823 tst r24 836 0678 01F0 breq .+2 837 067a 00C0 rjmp .L84 838 .L73: 839 067c 8091 0000 lds r24,Request_ExternalControl 840 0680 8823 tst r24 841 0682 01F0 breq .L74 842 0684 8091 0000 lds r24,txd_complete 843 0688 8823 tst r24 844 068a 01F0 breq .+2 845 068c 00C0 rjmp .L85 846 .L74: 847 068e 8091 0000 lds r24,Request_MotorTest 848 0692 8823 tst r24 849 0694 01F4 brne .+2 850 0696 00C0 rjmp .L75 851 0698 8091 0000 lds r24,txd_complete 852 069c 8823 tst r24 853 069e 01F4 brne .+2 854 06a0 00C0 rjmp .L75 855 06a2 00D0 rcall . 856 06a4 0F92 push __tmp_reg__ 857 06a6 EDB7 in r30,__SP_L__ 858 06a8 FEB7 in r31,__SP_H__ 859 06aa 3196 adiw r30,1 860 06ac 84E5 ldi r24,lo8(84) 861 06ae ADB7 in r26,__SP_L__ 862 06b0 BEB7 in r27,__SP_H__ 863 06b2 1196 adiw r26,1 864 06b4 8C93 st X,r24 865 06b6 81E0 ldi r24,lo8(1) 866 06b8 8183 std Z+1,r24 867 06ba 1282 std Z+2,__zero_reg__ 868 06bc 0E94 0000 call SendOutData 869 06c0 1092 0000 sts Request_MotorTest,__zero_reg__ 870 06c4 0F90 pop __tmp_reg__ 871 06c6 0F90 pop __tmp_reg__ 872 06c8 0F90 pop __tmp_reg__ 873 06ca 00C0 rjmp .L76 874 .L79: 875 06cc 70E0 ldi r23,lo8(0) 876 06ce 6295 swap r22 877 06d0 7295 swap r23 878 06d2 707F andi r23,0xf0 879 06d4 7627 eor r23,r22 880 06d6 607F andi r22,0xf0 881 06d8 7627 eor r23,r22 882 06da 6050 subi r22,lo8(-(ANALOG_LABEL)) 883 06dc 7040 sbci r23,hi8(-(ANALOG_LABEL)) 884 06de 8E01 movw r16,r28 885 06e0 0F5F subi r16,lo8(-(1)) 886 06e2 1F4F sbci r17,hi8(-(1)) 887 06e4 C801 movw r24,r16 888 06e6 40E1 ldi r20,lo8(16) 889 06e8 50E0 ldi r21,hi8(16) 890 06ea 0E94 0000 call memcpy_P 891 06ee 8DB7 in r24,__SP_L__ 892 06f0 9EB7 in r25,__SP_H__ 893 06f2 0B97 sbiw r24,11 894 06f4 0FB6 in __tmp_reg__,__SREG__ 895 06f6 F894 cli 896 06f8 9EBF out __SP_H__,r25 897 06fa 0FBE out __SREG__,__tmp_reg__ 898 06fc 8DBF out __SP_L__,r24 899 06fe EDB7 in r30,__SP_L__ 900 0700 FEB7 in r31,__SP_H__ 901 0702 3196 adiw r30,1 902 0704 81E4 ldi r24,lo8(65) 903 0706 ADB7 in r26,__SP_L__ 904 0708 BEB7 in r27,__SP_H__ 905 070a 1196 adiw r26,1 906 070c 8C93 st X,r24 907 070e 81E0 ldi r24,lo8(1) 908 0710 8183 std Z+1,r24 909 0712 82E0 ldi r24,lo8(2) 910 0714 8283 std Z+2,r24 911 0716 80E0 ldi r24,lo8(Request_DebugLabel) 912 0718 90E0 ldi r25,hi8(Request_DebugLabel) 913 071a 9483 std Z+4,r25 914 071c 8383 std Z+3,r24 915 071e 81E0 ldi r24,lo8(1) 916 0720 90E0 ldi r25,hi8(1) 917 0722 9683 std Z+6,r25 918 0724 8583 std Z+5,r24 919 0726 1087 std Z+8,r17 920 0728 0783 std Z+7,r16 921 072a 80E1 ldi r24,lo8(16) 922 072c 90E0 ldi r25,hi8(16) 923 072e 9287 std Z+10,r25 924 0730 8187 std Z+9,r24 925 0732 0E94 0000 call SendOutData 926 0736 8FEF ldi r24,lo8(-1) 927 0738 8093 0000 sts Request_DebugLabel,r24 928 073c 2DB7 in r18,__SP_L__ 929 073e 3EB7 in r19,__SP_H__ 930 0740 255F subi r18,lo8(-(11)) 931 0742 3F4F sbci r19,hi8(-(11)) 932 0744 0FB6 in __tmp_reg__,__SREG__ 933 0746 F894 cli 934 0748 3EBF out __SP_H__,r19 935 074a 0FBE out __SREG__,__tmp_reg__ 936 074c 2DBF out __SP_L__,r18 937 074e 00C0 rjmp .L76 938 .L78: 939 0750 0E94 0000 call LCD_PrintMenu 940 0754 8DB7 in r24,__SP_L__ 941 0756 9EB7 in r25,__SP_H__ 942 0758 0B97 sbiw r24,11 943 075a 0FB6 in __tmp_reg__,__SREG__ 944 075c F894 cli 945 075e 9EBF out __SP_H__,r25 946 0760 0FBE out __SREG__,__tmp_reg__ 947 0762 8DBF out __SP_L__,r24 948 0764 EDB7 in r30,__SP_L__ 949 0766 FEB7 in r31,__SP_H__ 950 0768 3196 adiw r30,1 951 076a 88E4 ldi r24,lo8(72) 952 076c ADB7 in r26,__SP_L__ 953 076e BEB7 in r27,__SP_H__ 954 0770 1196 adiw r26,1 955 0772 8C93 st X,r24 956 0774 81E0 ldi r24,lo8(1) 957 0776 8183 std Z+1,r24 958 0778 82E0 ldi r24,lo8(2) 959 077a 8283 std Z+2,r24 960 077c 80E0 ldi r24,lo8(DisplayLine) 961 077e 90E0 ldi r25,hi8(DisplayLine) 962 0780 9483 std Z+4,r25 963 0782 8383 std Z+3,r24 964 0784 81E0 ldi r24,lo8(1) 965 0786 90E0 ldi r25,hi8(1) 966 0788 9683 std Z+6,r25 967 078a 8583 std Z+5,r24 968 078c 8091 0000 lds r24,DisplayLine 969 0790 24E1 ldi r18,lo8(20) 970 0792 829F mul r24,r18 971 0794 C001 movw r24,r0 972 0796 1124 clr r1 973 0798 8050 subi r24,lo8(-(DisplayBuff)) 974 079a 9040 sbci r25,hi8(-(DisplayBuff)) 975 079c 9087 std Z+8,r25 976 079e 8783 std Z+7,r24 977 07a0 84E1 ldi r24,lo8(20) 978 07a2 90E0 ldi r25,hi8(20) 979 07a4 9287 std Z+10,r25 980 07a6 8187 std Z+9,r24 981 07a8 0E94 0000 call SendOutData 982 07ac 8091 0000 lds r24,DisplayLine 983 07b0 8F5F subi r24,lo8(-(1)) 984 07b2 8093 0000 sts DisplayLine,r24 985 07b6 2DB7 in r18,__SP_L__ 986 07b8 3EB7 in r19,__SP_H__ 987 07ba 255F subi r18,lo8(-(11)) 988 07bc 3F4F sbci r19,hi8(-(11)) 989 07be 0FB6 in __tmp_reg__,__SREG__ 990 07c0 F894 cli 991 07c2 3EBF out __SP_H__,r19 992 07c4 0FBE out __SREG__,__tmp_reg__ 993 07c6 2DBF out __SP_L__,r18 994 07c8 8430 cpi r24,lo8(4) 995 07ca 00F0 brlo .L64 996 07cc 1092 0000 sts DisplayLine,__zero_reg__ 997 .L64: 998 07d0 1092 0000 sts Request_Display,__zero_reg__ 999 07d4 00C0 rjmp .L76 1000 .L75: 1001 07d6 8091 0000 lds r24,Request_PPMChannels 1002 07da 8823 tst r24 1003 07dc 01F4 brne .+2 1004 07de 00C0 rjmp .L76 1005 07e0 8091 0000 lds r24,txd_complete 1006 07e4 8823 tst r24 1007 07e6 01F4 brne .+2 1008 07e8 00C0 rjmp .L76 1009 07ea 2DB7 in r18,__SP_L__ 1010 07ec 3EB7 in r19,__SP_H__ 1011 07ee 2750 subi r18,lo8(-(-7)) 1012 07f0 3040 sbci r19,hi8(-(-7)) 1013 07f2 0FB6 in __tmp_reg__,__SREG__ 1014 07f4 F894 cli 1015 07f6 3EBF out __SP_H__,r19 1016 07f8 0FBE out __SREG__,__tmp_reg__ 1017 07fa 2DBF out __SP_L__,r18 1018 07fc EDB7 in r30,__SP_L__ 1019 07fe FEB7 in r31,__SP_H__ 1020 0800 3196 adiw r30,1 1021 0802 80E5 ldi r24,lo8(80) 1022 0804 ADB7 in r26,__SP_L__ 1023 0806 BEB7 in r27,__SP_H__ 1024 0808 1196 adiw r26,1 1025 080a 8C93 st X,r24 1026 080c 81E0 ldi r24,lo8(1) 1027 080e 8183 std Z+1,r24 1028 0810 8283 std Z+2,r24 1029 0812 80E0 ldi r24,lo8(PPM_in) 1030 0814 90E0 ldi r25,hi8(PPM_in) 1031 0816 9483 std Z+4,r25 1032 0818 8383 std Z+3,r24 1033 081a 8EE1 ldi r24,lo8(30) 1034 081c 90E0 ldi r25,hi8(30) 1035 081e 9683 std Z+6,r25 1036 0820 8583 std Z+5,r24 1037 0822 0E94 0000 call SendOutData 1038 0826 1092 0000 sts Request_PPMChannels,__zero_reg__ 1039 082a 2DB7 in r18,__SP_L__ 1040 082c 3EB7 in r19,__SP_H__ 1041 082e 295F subi r18,lo8(-(7)) 1042 0830 3F4F sbci r19,hi8(-(7)) 1043 0832 0FB6 in __tmp_reg__,__SREG__ 1044 0834 F894 cli 1045 0836 3EBF out __SP_H__,r19 1046 0838 0FBE out __SREG__,__tmp_reg__ 1047 083a 2DBF out __SP_L__,r18 1048 083c 00C0 rjmp .L76 1049 .L85: 1050 083e 8DB7 in r24,__SP_L__ 1051 0840 9EB7 in r25,__SP_H__ 1052 0842 0797 sbiw r24,7 1053 0844 0FB6 in __tmp_reg__,__SREG__ 1054 0846 F894 cli 1055 0848 9EBF out __SP_H__,r25 1056 084a 0FBE out __SREG__,__tmp_reg__ 1057 084c 8DBF out __SP_L__,r24 1058 084e EDB7 in r30,__SP_L__ 1059 0850 FEB7 in r31,__SP_H__ 1060 0852 3196 adiw r30,1 1061 0854 87E4 ldi r24,lo8(71) 1062 0856 ADB7 in r26,__SP_L__ 1063 0858 BEB7 in r27,__SP_H__ 1064 085a 1196 adiw r26,1 1065 085c 8C93 st X,r24 1066 085e 81E0 ldi r24,lo8(1) 1067 0860 8183 std Z+1,r24 1068 0862 8283 std Z+2,r24 1069 0864 80E0 ldi r24,lo8(ExternControl) 1070 0866 90E0 ldi r25,hi8(ExternControl) 1071 0868 9483 std Z+4,r25 1072 086a 8383 std Z+3,r24 1073 086c 8BE0 ldi r24,lo8(11) 1074 086e 90E0 ldi r25,hi8(11) 1075 0870 9683 std Z+6,r25 1076 0872 8583 std Z+5,r24 1077 0874 0E94 0000 call SendOutData 1078 0878 1092 0000 sts Request_ExternalControl,__zero_reg__ 1079 087c 2DB7 in r18,__SP_L__ 1080 087e 3EB7 in r19,__SP_H__ 1081 0880 295F subi r18,lo8(-(7)) 1082 0882 3F4F sbci r19,hi8(-(7)) 1083 0884 0FB6 in __tmp_reg__,__SREG__ 1084 0886 F894 cli 1085 0888 3EBF out __SP_H__,r19 1086 088a 0FBE out __SREG__,__tmp_reg__ 1087 088c 2DBF out __SP_L__,r18 1088 088e 00C0 rjmp .L76 1089 .L81: 1090 0890 8091 0000 lds r24,DebugData_Timer 1091 0894 9091 0000 lds r25,(DebugData_Timer)+1 1092 0898 0E94 0000 call CheckDelay 1093 089c 8823 tst r24 1094 089e 01F0 breq .+2 1095 08a0 00C0 rjmp .L69 1096 08a2 00C0 rjmp .L68 1097 .L83: 1098 08a4 8091 0000 lds r24,Data3D_Timer 1099 08a8 9091 0000 lds r25,(Data3D_Timer)+1 1100 08ac 0E94 0000 call CheckDelay 1101 08b0 8823 tst r24 1102 08b2 01F0 breq .+2 1103 08b4 00C0 rjmp .L72 1104 08b6 00C0 rjmp .L71 1105 .L80: 1106 08b8 8DB7 in r24,__SP_L__ 1107 08ba 9EB7 in r25,__SP_H__ 1108 08bc 0797 sbiw r24,7 1109 08be 0FB6 in __tmp_reg__,__SREG__ 1110 08c0 F894 cli 1111 08c2 9EBF out __SP_H__,r25 1112 08c4 0FBE out __SREG__,__tmp_reg__ 1113 08c6 8DBF out __SP_L__,r24 1114 08c8 EDB7 in r30,__SP_L__ 1115 08ca FEB7 in r31,__SP_H__ 1116 08cc 3196 adiw r30,1 1117 08ce 82E4 ldi r24,lo8(66) 1118 08d0 ADB7 in r26,__SP_L__ 1119 08d2 BEB7 in r27,__SP_H__ 1120 08d4 1196 adiw r26,1 1121 08d6 8C93 st X,r24 1122 08d8 81E0 ldi r24,lo8(1) 1123 08da 8183 std Z+1,r24 1124 08dc 8283 std Z+2,r24 1125 08de 80E0 ldi r24,lo8(ConfirmFrame) 1126 08e0 90E0 ldi r25,hi8(ConfirmFrame) 1127 08e2 9483 std Z+4,r25 1128 08e4 8383 std Z+3,r24 1129 08e6 81E0 ldi r24,lo8(1) 1130 08e8 90E0 ldi r25,hi8(1) 1131 08ea 9683 std Z+6,r25 1132 08ec 8583 std Z+5,r24 1133 08ee 0E94 0000 call SendOutData 1134 08f2 1092 0000 sts ConfirmFrame,__zero_reg__ 1135 08f6 2DB7 in r18,__SP_L__ 1136 08f8 3EB7 in r19,__SP_H__ 1137 08fa 295F subi r18,lo8(-(7)) 1138 08fc 3F4F sbci r19,hi8(-(7)) 1139 08fe 0FB6 in __tmp_reg__,__SREG__ 1140 0900 F894 cli 1141 0902 3EBF out __SP_H__,r19 1142 0904 0FBE out __SREG__,__tmp_reg__ 1143 0906 2DBF out __SP_L__,r18 1144 0908 00C0 rjmp .L76 1145 .L82: 1146 090a 8DB7 in r24,__SP_L__ 1147 090c 9EB7 in r25,__SP_H__ 1148 090e 0797 sbiw r24,7 1149 0910 0FB6 in __tmp_reg__,__SREG__ 1150 0912 F894 cli 1151 0914 9EBF out __SP_H__,r25 1152 0916 0FBE out __SREG__,__tmp_reg__ 1153 0918 8DBF out __SP_L__,r24 1154 091a EDB7 in r30,__SP_L__ 1155 091c FEB7 in r31,__SP_H__ 1156 091e 3196 adiw r30,1 1157 0920 84E4 ldi r24,lo8(68) 1158 0922 ADB7 in r26,__SP_L__ 1159 0924 BEB7 in r27,__SP_H__ 1160 0926 1196 adiw r26,1 1161 0928 8C93 st X,r24 1162 092a 81E0 ldi r24,lo8(1) 1163 092c 8183 std Z+1,r24 1164 092e 8283 std Z+2,r24 1165 0930 80E0 ldi r24,lo8(DebugOut) 1166 0932 90E0 ldi r25,hi8(DebugOut) 1167 0934 9483 std Z+4,r25 1168 0936 8383 std Z+3,r24 1169 0938 82E4 ldi r24,lo8(66) 1170 093a 90E0 ldi r25,hi8(66) 1171 093c 9683 std Z+6,r25 1172 093e 8583 std Z+5,r24 1173 0940 0E94 0000 call SendOutData 1174 0944 2DB7 in r18,__SP_L__ 1175 0946 3EB7 in r19,__SP_H__ 1176 0948 295F subi r18,lo8(-(7)) 1177 094a 3F4F sbci r19,hi8(-(7)) 1178 094c 0FB6 in __tmp_reg__,__SREG__ 1179 094e F894 cli 1180 0950 3EBF out __SP_H__,r19 1181 0952 0FBE out __SREG__,__tmp_reg__ 1182 0954 2DBF out __SP_L__,r18 1183 0956 8091 0000 lds r24,DebugData_Interval 1184 095a 9091 0000 lds r25,(DebugData_Interval)+1 1185 095e 0E94 0000 call SetDelay 1186 0962 9093 0000 sts (DebugData_Timer)+1,r25 1187 0966 8093 0000 sts DebugData_Timer,r24 1188 096a 1092 0000 sts Request_DebugData,__zero_reg__ 1189 096e 00C0 rjmp .L76 1190 .L84: 1191 0970 8DB7 in r24,__SP_L__ 1192 0972 9EB7 in r25,__SP_H__ 1193 0974 0797 sbiw r24,7 1194 0976 0FB6 in __tmp_reg__,__SREG__ 1195 0978 F894 cli 1196 097a 9EBF out __SP_H__,r25 1197 097c 0FBE out __SREG__,__tmp_reg__ 1198 097e 8DBF out __SP_L__,r24 1199 0980 EDB7 in r30,__SP_L__ 1200 0982 FEB7 in r31,__SP_H__ 1201 0984 3196 adiw r30,1 1202 0986 83E4 ldi r24,lo8(67) 1203 0988 ADB7 in r26,__SP_L__ 1204 098a BEB7 in r27,__SP_H__ 1205 098c 1196 adiw r26,1 1206 098e 8C93 st X,r24 1207 0990 81E0 ldi r24,lo8(1) 1208 0992 8183 std Z+1,r24 1209 0994 8283 std Z+2,r24 1210 0996 80E0 ldi r24,lo8(Data3D) 1211 0998 90E0 ldi r25,hi8(Data3D) 1212 099a 9483 std Z+4,r25 1213 099c 8383 std Z+3,r24 1214 099e 8EE0 ldi r24,lo8(14) 1215 09a0 90E0 ldi r25,hi8(14) 1216 09a2 9683 std Z+6,r25 1217 09a4 8583 std Z+5,r24 1218 09a6 0E94 0000 call SendOutData 1219 09aa E090 0000 lds r14,ParamSet+23 1220 09ae 8AE2 ldi r24,lo8(42) 1221 09b0 E89E mul r14,r24 1222 09b2 7001 movw r14,r0 1223 09b4 1124 clr r1 1224 09b6 0027 clr r16 1225 09b8 F7FC sbrc r15,7 1226 09ba 0095 com r16 1227 09bc 102F mov r17,r16 1228 09be 6091 0000 lds r22,IntegralGyroNick 1229 09c2 7091 0000 lds r23,(IntegralGyroNick)+1 1230 09c6 8091 0000 lds r24,(IntegralGyroNick)+2 1231 09ca 9091 0000 lds r25,(IntegralGyroNick)+3 1232 09ce 2AE0 ldi r18,lo8(10) 1233 09d0 30E0 ldi r19,hi8(10) 1234 09d2 40E0 ldi r20,hlo8(10) 1235 09d4 50E0 ldi r21,hhi8(10) 1236 09d6 0E94 0000 call __mulsi3 1237 09da A801 movw r20,r16 1238 09dc 9701 movw r18,r14 1239 09de 0E94 0000 call __divmodsi4 1240 09e2 3093 0000 sts (Data3D)+1,r19 1241 09e6 2093 0000 sts Data3D,r18 1242 09ea 6091 0000 lds r22,IntegralGyroRoll 1243 09ee 7091 0000 lds r23,(IntegralGyroRoll)+1 1244 09f2 8091 0000 lds r24,(IntegralGyroRoll)+2 1245 09f6 9091 0000 lds r25,(IntegralGyroRoll)+3 1246 09fa 2AE0 ldi r18,lo8(10) 1247 09fc 30E0 ldi r19,hi8(10) 1248 09fe 40E0 ldi r20,hlo8(10) 1249 0a00 50E0 ldi r21,hhi8(10) 1250 0a02 0E94 0000 call __mulsi3 1251 0a06 A801 movw r20,r16 1252 0a08 9701 movw r18,r14 1253 0a0a 0E94 0000 call __divmodsi4 1254 0a0e 3093 0000 sts (Data3D+2)+1,r19 1255 0a12 2093 0000 sts Data3D+2,r18 1256 0a16 6091 0000 lds r22,YawGyroHeading 1257 0a1a 7091 0000 lds r23,(YawGyroHeading)+1 1258 0a1e 8091 0000 lds r24,(YawGyroHeading)+2 1259 0a22 9091 0000 lds r25,(YawGyroHeading)+3 1260 0a26 2AE0 ldi r18,lo8(10) 1261 0a28 30E0 ldi r19,hi8(10) 1262 0a2a 40E0 ldi r20,hlo8(10) 1263 0a2c 50E0 ldi r21,hhi8(10) 1264 0a2e 0E94 0000 call __mulsi3 1265 0a32 A801 movw r20,r16 1266 0a34 9701 movw r18,r14 1267 0a36 0E94 0000 call __divmodsi4 1268 0a3a 3093 0000 sts (Data3D+4)+1,r19 1269 0a3e 2093 0000 sts Data3D+4,r18 1270 0a42 2DB7 in r18,__SP_L__ 1271 0a44 3EB7 in r19,__SP_H__ 1272 0a46 295F subi r18,lo8(-(7)) 1273 0a48 3F4F sbci r19,hi8(-(7)) 1274 0a4a 0FB6 in __tmp_reg__,__SREG__ 1275 0a4c F894 cli 1276 0a4e 3EBF out __SP_H__,r19 1277 0a50 0FBE out __SREG__,__tmp_reg__ 1278 0a52 2DBF out __SP_L__,r18 1279 0a54 8091 0000 lds r24,Data3D_Interval 1280 0a58 9091 0000 lds r25,(Data3D_Interval)+1 1281 0a5c 0E94 0000 call SetDelay 1282 0a60 9093 0000 sts (Data3D_Timer)+1,r25 1283 0a64 8093 0000 sts Data3D_Timer,r24 1284 0a68 1092 0000 sts Request_Data3D,__zero_reg__ 1285 0a6c 00C0 rjmp .L76 1287 .global USART0_ProcessRxData 1289 USART0_ProcessRxData: 1290 0a6e 0F93 push r16 1291 0a70 1F93 push r17 1292 0a72 DF93 push r29 1293 0a74 CF93 push r28 1294 0a76 00D0 rcall . 1295 0a78 CDB7 in r28,__SP_L__ 1296 0a7a DEB7 in r29,__SP_H__ 1297 /* prologue: function */ 1298 /* frame size = 2 */ 1299 0a7c 8091 0000 lds r24,rxd_buffer_locked 1300 0a80 8823 tst r24 1301 0a82 01F4 brne .L139 1302 /* epilogue start */ 1303 0a84 0F90 pop __tmp_reg__ 1304 0a86 0F90 pop __tmp_reg__ 1305 0a88 CF91 pop r28 1306 0a8a DF91 pop r29 1307 0a8c 1F91 pop r17 1308 0a8e 0F91 pop r16 1309 0a90 0895 ret 1310 .L139: 1311 0a92 0E94 0000 call Decode64 1312 0a96 8091 0000 lds r24,rxd_buffer+1 1313 0a9a 8236 cpi r24,lo8(98) 1314 0a9c 01F0 breq .L140 1315 .L88: 1316 0a9e 8091 0000 lds r24,rxd_buffer+2 1317 0aa2 8436 cpi r24,lo8(100) 1318 0aa4 01F4 brne .+2 1319 0aa6 00C0 rjmp .L115 1320 0aa8 8536 cpi r24,lo8(101) 1321 0aaa 00F0 brlo .L141 1322 0aac 8836 cpi r24,lo8(104) 1323 0aae 01F4 brne .+2 1324 0ab0 00C0 rjmp .L117 1325 0ab2 8936 cpi r24,lo8(105) 1326 0ab4 00F4 brsh .+2 1327 0ab6 00C0 rjmp .L142 1328 0ab8 8C36 cpi r24,lo8(108) 1329 0aba 01F4 brne .+2 1330 0abc 00C0 rjmp .L118 1331 0abe 8637 cpi r24,lo8(118) 1332 0ac0 01F0 breq .+2 1333 0ac2 00C0 rjmp .L111 1334 0ac4 81E0 ldi r24,lo8(1) 1335 0ac6 8093 0000 sts Request_VerInfo,r24 1336 0aca 00C0 rjmp .L111 1337 .L141: 1338 0acc 8236 cpi r24,lo8(98) 1339 0ace 01F4 brne .+2 1340 0ad0 00C0 rjmp .L113 1341 0ad2 8336 cpi r24,lo8(99) 1342 0ad4 00F0 brlo .+2 1343 0ad6 00C0 rjmp .L114 1344 0ad8 8136 cpi r24,lo8(97) 1345 0ada 01F0 breq .+2 1346 0adc 00C0 rjmp .L111 1347 0ade E091 0000 lds r30,pRxData 1348 0ae2 F091 0000 lds r31,(pRxData)+1 1349 0ae6 8081 ld r24,Z 1350 0ae8 8093 0000 sts Request_DebugLabel,r24 1351 0aec 8032 cpi r24,lo8(32) 1352 0aee 00F0 brlo .L137 1353 0af0 8FE1 ldi r24,lo8(31) 1354 0af2 8093 0000 sts Request_DebugLabel,r24 1355 .L137: 1356 0af6 8FEF ldi r24,lo8(-1) 1357 0af8 8093 0000 sts PcAccess,r24 1358 0afc 00C0 rjmp .L111 1359 .L140: 1360 0afe 8091 0000 lds r24,rxd_buffer+2 1361 0b02 8037 cpi r24,lo8(112) 1362 0b04 01F4 brne .+2 1363 0b06 00C0 rjmp .L92 1364 0b08 8137 cpi r24,lo8(113) 1365 0b0a 00F4 brsh .L96 1366 0b0c 8D36 cpi r24,lo8(109) 1367 0b0e 01F4 brne .+2 1368 0b10 00C0 rjmp .L90 1369 0b12 8E36 cpi r24,lo8(110) 1370 0b14 01F4 brne .L88 1371 .L127: 1372 0b16 8091 0000 lds r24,txd_complete 1373 0b1a 8823 tst r24 1374 0b1c 01F0 breq .L127 1375 0b1e 8DB7 in r24,__SP_L__ 1376 0b20 9EB7 in r25,__SP_H__ 1377 0b22 0797 sbiw r24,7 1378 0b24 0FB6 in __tmp_reg__,__SREG__ 1379 0b26 F894 cli 1380 0b28 9EBF out __SP_H__,r25 1381 0b2a 0FBE out __SREG__,__tmp_reg__ 1382 0b2c 8DBF out __SP_L__,r24 1383 0b2e EDB7 in r30,__SP_L__ 1384 0b30 FEB7 in r31,__SP_H__ 1385 0b32 3196 adiw r30,1 1386 0b34 8EE4 ldi r24,lo8(78) 1387 0b36 ADB7 in r26,__SP_L__ 1388 0b38 BEB7 in r27,__SP_H__ 1389 0b3a 1196 adiw r26,1 1390 0b3c 8C93 st X,r24 1391 0b3e 81E0 ldi r24,lo8(1) 1392 0b40 8183 std Z+1,r24 1393 0b42 8283 std Z+2,r24 1394 0b44 80E0 ldi r24,lo8(Mixer) 1395 0b46 90E0 ldi r25,hi8(Mixer) 1396 0b48 9483 std Z+4,r25 1397 0b4a 8383 std Z+3,r24 1398 0b4c 8DE4 ldi r24,lo8(77) 1399 0b4e 90E0 ldi r25,hi8(77) 1400 .L136: 1401 0b50 9683 std Z+6,r25 1402 0b52 8583 std Z+5,r24 1403 0b54 0E94 0000 call SendOutData 1404 0b58 EDB7 in r30,__SP_L__ 1405 0b5a FEB7 in r31,__SP_H__ 1406 0b5c 3796 adiw r30,7 1407 0b5e 0FB6 in __tmp_reg__,__SREG__ 1408 0b60 F894 cli 1409 0b62 FEBF out __SP_H__,r31 1410 0b64 0FBE out __SREG__,__tmp_reg__ 1411 0b66 EDBF out __SP_L__,r30 1412 0b68 00C0 rjmp .L88 1413 .L96: 1414 0b6a 8337 cpi r24,lo8(115) 1415 0b6c 01F4 brne .+2 1416 0b6e 00C0 rjmp .L94 1417 0b70 8437 cpi r24,lo8(116) 1418 0b72 01F4 brne .+2 1419 0b74 00C0 rjmp .L95 1420 0b76 8137 cpi r24,lo8(113) 1421 0b78 01F0 breq .+2 1422 0b7a 00C0 rjmp .L88 1423 0b7c 0091 0000 lds r16,pRxData 1424 0b80 1091 0000 lds r17,(pRxData)+1 1425 0b84 D801 movw r26,r16 1426 0b86 8C91 ld r24,X 1427 0b88 8F3F cpi r24,lo8(-1) 1428 0b8a 01F4 brne .+2 1429 0b8c 00C0 rjmp .L143 1430 .L104: 1431 0b8e D801 movw r26,r16 1432 0b90 8C91 ld r24,X 1433 0b92 8823 tst r24 1434 0b94 01F0 breq .+2 1435 0b96 00C0 rjmp .L105 1436 0b98 81E0 ldi r24,lo8(1) 1437 0b9a 8C93 st X,r24 1438 0b9c 0091 0000 lds r16,pRxData 1439 0ba0 1091 0000 lds r17,(pRxData)+1 1440 .L106: 1441 0ba4 D801 movw r26,r16 1442 0ba6 8C91 ld r24,X 1443 0ba8 0E94 0000 call ParamSet_ReadFromEEProm 1444 0bac E091 0000 lds r30,pRxData 1445 0bb0 F091 0000 lds r31,(pRxData)+1 1446 0bb4 E081 ld r30,Z 1447 0bb6 80E5 ldi r24,lo8(80) 1448 0bb8 8A83 std Y+2,r24 1449 .L107: 1450 0bba 8091 0000 lds r24,txd_complete 1451 0bbe 8823 tst r24 1452 0bc0 01F0 breq .L107 1453 0bc2 E983 std Y+1,r30 1454 0bc4 EDB7 in r30,__SP_L__ 1455 0bc6 FEB7 in r31,__SP_H__ 1456 0bc8 3F97 sbiw r30,15 1457 0bca 0FB6 in __tmp_reg__,__SREG__ 1458 0bcc F894 cli 1459 0bce FEBF out __SP_H__,r31 1460 0bd0 0FBE out __SREG__,__tmp_reg__ 1461 0bd2 EDBF out __SP_L__,r30 1462 0bd4 3196 adiw r30,1 1463 0bd6 81E5 ldi r24,lo8(81) 1464 0bd8 ADB7 in r26,__SP_L__ 1465 0bda BEB7 in r27,__SP_H__ 1466 0bdc 1196 adiw r26,1 1467 0bde 8C93 st X,r24 1468 0be0 81E0 ldi r24,lo8(1) 1469 0be2 8183 std Z+1,r24 1470 0be4 83E0 ldi r24,lo8(3) 1471 0be6 8283 std Z+2,r24 1472 0be8 CE01 movw r24,r28 1473 0bea 0196 adiw r24,1 1474 0bec 9483 std Z+4,r25 1475 0bee 8383 std Z+3,r24 1476 0bf0 21E0 ldi r18,lo8(1) 1477 0bf2 30E0 ldi r19,hi8(1) 1478 0bf4 3683 std Z+6,r19 1479 0bf6 2583 std Z+5,r18 1480 0bf8 CE01 movw r24,r28 1481 0bfa 0296 adiw r24,2 1482 0bfc 9087 std Z+8,r25 1483 0bfe 8783 std Z+7,r24 1484 0c00 3287 std Z+10,r19 1485 0c02 2187 std Z+9,r18 1486 0c04 80E0 ldi r24,lo8(ParamSet) 1487 0c06 90E0 ldi r25,hi8(ParamSet) 1488 0c08 9487 std Z+12,r25 1489 0c0a 8387 std Z+11,r24 1490 0c0c 85E6 ldi r24,lo8(101) 1491 0c0e 90E0 ldi r25,hi8(101) 1492 0c10 9687 std Z+14,r25 1493 0c12 8587 std Z+13,r24 1494 0c14 0E94 0000 call SendOutData 1495 0c18 EDB7 in r30,__SP_L__ 1496 0c1a FEB7 in r31,__SP_H__ 1497 0c1c 3F96 adiw r30,15 1498 0c1e 0FB6 in __tmp_reg__,__SREG__ 1499 0c20 F894 cli 1500 0c22 FEBF out __SP_H__,r31 1501 0c24 0FBE out __SREG__,__tmp_reg__ 1502 0c26 EDBF out __SP_L__,r30 1503 0c28 00C0 rjmp .L88 1504 .L142: 1505 0c2a 8736 cpi r24,lo8(103) 1506 0c2c 01F4 brne .L111 1507 0c2e 81E0 ldi r24,lo8(1) 1508 0c30 8093 0000 sts Request_ExternalControl,r24 1509 .L111: 1510 0c34 1092 0000 sts (pRxData)+1,__zero_reg__ 1511 0c38 1092 0000 sts pRxData,__zero_reg__ 1512 0c3c 1092 0000 sts RxDataLen,__zero_reg__ 1513 0c40 1092 0000 sts rxd_buffer_locked,__zero_reg__ 1514 0c44 0F90 pop __tmp_reg__ 1515 0c46 0F90 pop __tmp_reg__ 1516 0c48 CF91 pop r28 1517 0c4a DF91 pop r29 1518 0c4c 1F91 pop r17 1519 0c4e 0F91 pop r16 1520 0c50 0895 ret 1521 .L114: 1522 0c52 E091 0000 lds r30,pRxData 1523 0c56 F091 0000 lds r31,(pRxData)+1 1524 0c5a 8081 ld r24,Z 1525 0c5c 2AE0 ldi r18,lo8(10) 1526 0c5e 829F mul r24,r18 1527 0c60 C001 movw r24,r0 1528 0c62 1124 clr r1 1529 0c64 9093 0000 sts (Data3D_Interval)+1,r25 1530 0c68 8093 0000 sts Data3D_Interval,r24 1531 0c6c 892B or r24,r25 1532 0c6e 01F0 breq .L111 1533 0c70 81E0 ldi r24,lo8(1) 1534 0c72 8093 0000 sts Request_Data3D,r24 1535 0c76 00C0 rjmp .L111 1536 .L94: 1537 0c78 8091 0000 lds r24,MKFlags 1538 0c7c 80FD sbrc r24,0 1539 0c7e 00C0 rjmp .L88 1540 0c80 0091 0000 lds r16,pRxData 1541 0c84 1091 0000 lds r17,(pRxData)+1 1542 0c88 D801 movw r26,r16 1543 0c8a 8C91 ld r24,X 1544 0c8c 8823 tst r24 1545 0c8e 01F0 breq .L108 1546 0c90 8C91 ld r24,X 1547 0c92 8630 cpi r24,lo8(6) 1548 0c94 00F4 brsh .L108 1549 0c96 1196 adiw r26,1 1550 0c98 8C91 ld r24,X 1551 0c9a 8035 cpi r24,lo8(80) 1552 0c9c 01F0 breq .L144 1553 .L108: 1554 0c9e 1982 std Y+1,__zero_reg__ 1555 .L126: 1556 0ca0 8091 0000 lds r24,txd_complete 1557 0ca4 8823 tst r24 1558 0ca6 01F0 breq .L126 1559 0ca8 8DB7 in r24,__SP_L__ 1560 0caa 9EB7 in r25,__SP_H__ 1561 0cac 0797 sbiw r24,7 1562 0cae 0FB6 in __tmp_reg__,__SREG__ 1563 0cb0 F894 cli 1564 0cb2 9EBF out __SP_H__,r25 1565 0cb4 0FBE out __SREG__,__tmp_reg__ 1566 0cb6 8DBF out __SP_L__,r24 1567 0cb8 EDB7 in r30,__SP_L__ 1568 0cba FEB7 in r31,__SP_H__ 1569 0cbc 3196 adiw r30,1 1570 0cbe 83E5 ldi r24,lo8(83) 1571 0cc0 00C0 rjmp .L138 1572 .L90: 1573 0cc2 E091 0000 lds r30,pRxData 1574 0cc6 F091 0000 lds r31,(pRxData)+1 1575 0cca 8081 ld r24,Z 1576 0ccc 8130 cpi r24,lo8(1) 1577 0cce 01F4 brne .+2 1578 0cd0 00C0 rjmp .L145 1579 0cd2 1982 std Y+1,__zero_reg__ 1580 .L103: 1581 0cd4 8DB7 in r24,__SP_L__ 1582 0cd6 9EB7 in r25,__SP_H__ 1583 0cd8 0797 sbiw r24,7 1584 0cda 0FB6 in __tmp_reg__,__SREG__ 1585 0cdc F894 cli 1586 0cde 9EBF out __SP_H__,r25 1587 0ce0 0FBE out __SREG__,__tmp_reg__ 1588 0ce2 8DBF out __SP_L__,r24 1589 0ce4 EDB7 in r30,__SP_L__ 1590 0ce6 FEB7 in r31,__SP_H__ 1591 0ce8 3196 adiw r30,1 1592 0cea 8DE4 ldi r24,lo8(77) 1593 .L138: 1594 0cec ADB7 in r26,__SP_L__ 1595 0cee BEB7 in r27,__SP_H__ 1596 0cf0 1196 adiw r26,1 1597 0cf2 8C93 st X,r24 1598 0cf4 81E0 ldi r24,lo8(1) 1599 0cf6 8183 std Z+1,r24 1600 0cf8 8283 std Z+2,r24 1601 0cfa CE01 movw r24,r28 1602 0cfc 0196 adiw r24,1 1603 0cfe 9483 std Z+4,r25 1604 0d00 8383 std Z+3,r24 1605 0d02 81E0 ldi r24,lo8(1) 1606 0d04 90E0 ldi r25,hi8(1) 1607 0d06 00C0 rjmp .L136 1608 .L144: 1609 0d08 A0E0 ldi r26,lo8(ParamSet) 1610 0d0a B0E0 ldi r27,hi8(ParamSet) 1611 0d0c F801 movw r30,r16 1612 0d0e 3296 adiw r30,2 1613 0d10 85E6 ldi r24,lo8(101) 1614 .L109: 1615 0d12 0190 ld r0,Z+ 1616 0d14 0D92 st X+,r0 1617 0d16 8150 subi r24,lo8(-(-1)) 1618 0d18 01F4 brne .L109 1619 0d1a F801 movw r30,r16 1620 0d1c 8081 ld r24,Z 1621 0d1e 0E94 0000 call ParamSet_WriteToEEProm 1622 0d22 6091 0000 lds r22,ParamSet+54 1623 0d26 70E0 ldi r23,lo8(0) 1624 0d28 80E0 ldi r24,lo8(0) 1625 0d2a 90E0 ldi r25,hi8(0) 1626 0d2c 24EC ldi r18,lo8(2500) 1627 0d2e 39E0 ldi r19,hi8(2500) 1628 0d30 40E0 ldi r20,hlo8(2500) 1629 0d32 50E0 ldi r21,hhi8(2500) 1630 0d34 0E94 0000 call __mulsi3 1631 0d38 6093 0000 sts TurnOver180Nick,r22 1632 0d3c 7093 0000 sts (TurnOver180Nick)+1,r23 1633 0d40 8093 0000 sts (TurnOver180Nick)+2,r24 1634 0d44 9093 0000 sts (TurnOver180Nick)+3,r25 1635 0d48 6091 0000 lds r22,ParamSet+55 1636 0d4c 70E0 ldi r23,lo8(0) 1637 0d4e 80E0 ldi r24,lo8(0) 1638 0d50 90E0 ldi r25,hi8(0) 1639 0d52 0E94 0000 call __mulsi3 1640 0d56 6093 0000 sts TurnOver180Roll,r22 1641 0d5a 7093 0000 sts (TurnOver180Roll)+1,r23 1642 0d5e 8093 0000 sts (TurnOver180Roll)+2,r24 1643 0d62 9093 0000 sts (TurnOver180Roll)+3,r25 1644 0d66 0E94 0000 call GetActiveParamSet 1645 0d6a 8983 std Y+1,r24 1646 0d6c 80E0 ldi r24,lo8(0) 1647 0d6e 0E94 0000 call LipoDetection 1648 0d72 8981 ldd r24,Y+1 1649 0d74 6EE6 ldi r22,lo8(110) 1650 0d76 70E0 ldi r23,hi8(110) 1651 0d78 0E94 0000 call Beep 1652 0d7c 00C0 rjmp .L126 1653 .L117: 1654 0d7e 8FEF ldi r24,lo8(-1) 1655 0d80 8093 0000 sts PcAccess,r24 1656 0d84 E091 0000 lds r30,pRxData 1657 0d88 F091 0000 lds r31,(pRxData)+1 1658 0d8c 8081 ld r24,Z 1659 0d8e 9091 0000 lds r25,RemoteKeys 1660 0d92 892B or r24,r25 1661 0d94 8093 0000 sts RemoteKeys,r24 1662 0d98 8823 tst r24 1663 0d9a 01F0 breq .L124 1664 0d9c 1092 0000 sts DisplayLine,__zero_reg__ 1665 .L124: 1666 0da0 81E0 ldi r24,lo8(1) 1667 0da2 8093 0000 sts Request_Display,r24 1668 0da6 00C0 rjmp .L111 1669 .L115: 1670 0da8 E091 0000 lds r30,pRxData 1671 0dac F091 0000 lds r31,(pRxData)+1 1672 0db0 8081 ld r24,Z 1673 0db2 2AE0 ldi r18,lo8(10) 1674 0db4 829F mul r24,r18 1675 0db6 C001 movw r24,r0 1676 0db8 1124 clr r1 1677 0dba 9093 0000 sts (DebugData_Interval)+1,r25 1678 0dbe 8093 0000 sts DebugData_Interval,r24 1679 0dc2 892B or r24,r25 1680 0dc4 01F4 brne .+2 1681 0dc6 00C0 rjmp .L111 1682 0dc8 81E0 ldi r24,lo8(1) 1683 0dca 8093 0000 sts Request_DebugData,r24 1684 0dce 00C0 rjmp .L111 1685 .L113: 1686 0dd0 A0E0 ldi r26,lo8(ExternControl) 1687 0dd2 B0E0 ldi r27,hi8(ExternControl) 1688 0dd4 8091 0000 lds r24,pRxData 1689 0dd8 9091 0000 lds r25,pRxData+1 1690 0ddc 9C01 movw r18,r24 1691 0dde F901 movw r30,r18 1692 0de0 8BE0 ldi r24,lo8(11) 1693 .L123: 1694 0de2 0190 ld r0,Z+ 1695 0de4 0D92 st X+,r0 1696 0de6 8150 subi r24,lo8(-(-1)) 1697 0de8 01F4 brne .L123 1698 0dea 8091 0000 lds r24,ExternControl+9 1699 0dee 8093 0000 sts ConfirmFrame,r24 1700 0df2 00C0 rjmp .L137 1701 .L118: 1702 0df4 8FEF ldi r24,lo8(-1) 1703 0df6 8093 0000 sts PcAccess,r24 1704 0dfa E091 0000 lds r30,pRxData 1705 0dfe F091 0000 lds r31,(pRxData)+1 1706 0e02 8081 ld r24,Z 1707 0e04 8093 0000 sts MenuItem,r24 1708 0e08 81E0 ldi r24,lo8(1) 1709 0e0a 8093 0000 sts Request_Display1,r24 1710 0e0e 00C0 rjmp .L111 1711 .L92: 1712 0e10 81E0 ldi r24,lo8(1) 1713 0e12 8093 0000 sts Request_PPMChannels,r24 1714 0e16 00C0 rjmp .L88 1715 .L95: 1716 0e18 8091 0000 lds r24,RxDataLen 1717 0e1c 8531 cpi r24,lo8(21) 1718 0e1e 00F0 brlo .L97 1719 0e20 A0E0 ldi r26,lo8(MotorTest) 1720 0e22 B0E0 ldi r27,hi8(MotorTest) 1721 0e24 8091 0000 lds r24,pRxData 1722 0e28 9091 0000 lds r25,pRxData+1 1723 0e2c 9C01 movw r18,r24 1724 0e2e F901 movw r30,r18 1725 0e30 80E1 ldi r24,lo8(16) 1726 .L98: 1727 0e32 0190 ld r0,Z+ 1728 0e34 0D92 st X+,r0 1729 0e36 8150 subi r24,lo8(-(-1)) 1730 0e38 01F4 brne .L98 1731 .L99: 1732 0e3a 8FEF ldi r24,lo8(-1) 1733 0e3c 8093 0000 sts MotorTest_Active,r24 1734 0e40 8093 0000 sts PcAccess,r24 1735 0e44 00C0 rjmp .L88 1736 .L97: 1737 0e46 E091 0000 lds r30,pRxData 1738 0e4a F091 0000 lds r31,(pRxData)+1 1739 0e4e 8081 ld r24,Z 1740 0e50 9181 ldd r25,Z+1 1741 0e52 A281 ldd r26,Z+2 1742 0e54 B381 ldd r27,Z+3 1743 0e56 8093 0000 sts MotorTest,r24 1744 0e5a 9093 0000 sts (MotorTest)+1,r25 1745 0e5e A093 0000 sts (MotorTest)+2,r26 1746 0e62 B093 0000 sts (MotorTest)+3,r27 1747 0e66 00C0 rjmp .L99 1748 .L105: 1749 0e68 F801 movw r30,r16 1750 0e6a 8081 ld r24,Z 1751 0e6c 8630 cpi r24,lo8(6) 1752 0e6e 00F4 brsh .+2 1753 0e70 00C0 rjmp .L106 1754 0e72 85E0 ldi r24,lo8(5) 1755 0e74 8083 st Z,r24 1756 0e76 0091 0000 lds r16,pRxData 1757 0e7a 1091 0000 lds r17,(pRxData)+1 1758 0e7e 00C0 rjmp .L106 1759 .L145: 1760 0e80 A0E0 ldi r26,lo8(Mixer) 1761 0e82 B0E0 ldi r27,hi8(Mixer) 1762 0e84 8DE4 ldi r24,lo8(77) 1763 .L101: 1764 0e86 0190 ld r0,Z+ 1765 0e88 0D92 st X+,r0 1766 0e8a 8150 subi r24,lo8(-(-1)) 1767 0e8c 01F4 brne .L101 1768 0e8e 0E94 0000 call MixerTable_WriteToEEProm 1769 .L102: 1770 0e92 8091 0000 lds r24,txd_complete 1771 0e96 8823 tst r24 1772 0e98 01F0 breq .L102 1773 0e9a 81E0 ldi r24,lo8(1) 1774 0e9c 8983 std Y+1,r24 1775 0e9e 00C0 rjmp .L103 1776 .L143: 1777 0ea0 82E0 ldi r24,lo8(2) 1778 0ea2 90E0 ldi r25,hi8(2) 1779 0ea4 0E94 0000 call GetParamByte 1780 0ea8 F801 movw r30,r16 1781 0eaa 8083 st Z,r24 1782 0eac 0091 0000 lds r16,pRxData 1783 0eb0 1091 0000 lds r17,(pRxData)+1 1784 0eb4 00C0 rjmp .L104 1786 .global __vector_20 1788 __vector_20: 1789 0eb6 1F92 push __zero_reg__ 1790 0eb8 0F92 push r0 1791 0eba 0FB6 in r0,__SREG__ 1792 0ebc 0F92 push r0 1793 0ebe 1124 clr __zero_reg__ 1794 0ec0 2F93 push r18 1795 0ec2 3F93 push r19 1796 0ec4 4F93 push r20 1797 0ec6 5F93 push r21 1798 0ec8 6F93 push r22 1799 0eca 7F93 push r23 1800 0ecc 8F93 push r24 1801 0ece 9F93 push r25 1802 0ed0 AF93 push r26 1803 0ed2 BF93 push r27 1804 0ed4 CF93 push r28 1805 0ed6 DF93 push r29 1806 0ed8 EF93 push r30 1807 0eda FF93 push r31 1808 /* prologue: Signal */ 1809 /* frame size = 0 */ 1810 0edc 6091 C600 lds r22,198 1811 0ee0 8091 0000 lds r24,rxd_buffer_locked 1812 0ee4 8823 tst r24 1813 0ee6 01F4 brne .L154 1814 0ee8 3091 0000 lds r19,ptr_rxd_buffer.1854 1815 0eec 3323 tst r19 1816 0eee 01F0 breq .L155 1817 0ef0 3639 cpi r19,lo8(-106) 1818 0ef2 00F0 brlo .L149 1819 0ef4 1092 0000 sts ptr_rxd_buffer.1854,__zero_reg__ 1820 0ef8 1092 0000 sts rxd_buffer_locked,__zero_reg__ 1821 .L154: 1822 /* epilogue start */ 1823 0efc FF91 pop r31 1824 0efe EF91 pop r30 1825 0f00 DF91 pop r29 1826 0f02 CF91 pop r28 1827 0f04 BF91 pop r27 1828 0f06 AF91 pop r26 1829 0f08 9F91 pop r25 1830 0f0a 8F91 pop r24 1831 0f0c 7F91 pop r23 1832 0f0e 6F91 pop r22 1833 0f10 5F91 pop r21 1834 0f12 4F91 pop r20 1835 0f14 3F91 pop r19 1836 0f16 2F91 pop r18 1837 0f18 0F90 pop r0 1838 0f1a 0FBE out __SREG__,r0 1839 0f1c 0F90 pop r0 1840 0f1e 1F90 pop __zero_reg__ 1841 0f20 1895 reti 1842 .L155: 1843 0f22 6332 cpi r22,lo8(35) 1844 0f24 01F4 brne .+2 1845 0f26 00C0 rjmp .L156 1846 .L149: 1847 0f28 6D30 cpi r22,lo8(13) 1848 0f2a 01F0 breq .L151 1849 0f2c E32F mov r30,r19 1850 0f2e F0E0 ldi r31,lo8(0) 1851 0f30 E050 subi r30,lo8(-(rxd_buffer)) 1852 0f32 F040 sbci r31,hi8(-(rxd_buffer)) 1853 0f34 6083 st Z,r22 1854 0f36 3F5F subi r19,lo8(-(1)) 1855 0f38 3093 0000 sts ptr_rxd_buffer.1854,r19 1856 0f3c 8091 0000 lds r24,crc.1853 1857 0f40 9091 0000 lds r25,(crc.1853)+1 1858 0f44 860F add r24,r22 1859 0f46 911D adc r25,__zero_reg__ 1860 0f48 9093 0000 sts (crc.1853)+1,r25 1861 0f4c 8093 0000 sts crc.1853,r24 1862 0f50 00C0 rjmp .L154 1863 .L151: 1864 0f52 A32F mov r26,r19 1865 0f54 B0E0 ldi r27,lo8(0) 1866 0f56 FD01 movw r30,r26 1867 0f58 E050 subi r30,lo8(-(rxd_buffer-2)) 1868 0f5a F040 sbci r31,hi8(-(rxd_buffer-2)) 1869 0f5c 9081 ld r25,Z 1870 0f5e ED01 movw r28,r26 1871 0f60 C050 subi r28,lo8(-(rxd_buffer-1)) 1872 0f62 D040 sbci r29,hi8(-(rxd_buffer-1)) 1873 0f64 8881 ld r24,Y 1874 0f66 4091 0000 lds r20,crc.1853 1875 0f6a 5091 0000 lds r21,(crc.1853)+1 1876 0f6e 491B sub r20,r25 1877 0f70 5109 sbc r21,__zero_reg__ 1878 0f72 481B sub r20,r24 1879 0f74 5109 sbc r21,__zero_reg__ 1880 0f76 5F70 andi r21,hi8(4095) 1881 0f78 5093 0000 sts (crc.1853)+1,r21 1882 0f7c 4093 0000 sts crc.1853,r20 1883 0f80 2081 ld r18,Z 1884 0f82 CA01 movw r24,r20 1885 0f84 0024 clr __tmp_reg__ 1886 0f86 880F lsl r24 1887 0f88 991F rol r25 1888 0f8a 001C rol __tmp_reg__ 1889 0f8c 880F lsl r24 1890 0f8e 991F rol r25 1891 0f90 001C rol __tmp_reg__ 1892 0f92 892F mov r24,r25 1893 0f94 902D mov r25,__tmp_reg__ 1894 0f96 835C subi r24,lo8(-(61)) 1895 0f98 2817 cp r18,r24 1896 0f9a 01F0 breq .L157 1897 .L152: 1898 0f9c 1092 0000 sts rxd_buffer_locked,__zero_reg__ 1899 .L153: 1900 0fa0 1092 0000 sts ptr_rxd_buffer.1854,__zero_reg__ 1901 0fa4 00C0 rjmp .L154 1902 .L156: 1903 0fa6 6093 0000 sts rxd_buffer,r22 1904 0faa 81E0 ldi r24,lo8(1) 1905 0fac 8093 0000 sts ptr_rxd_buffer.1854,r24 1906 0fb0 83E2 ldi r24,lo8(35) 1907 0fb2 90E0 ldi r25,hi8(35) 1908 0fb4 9093 0000 sts (crc.1853)+1,r25 1909 0fb8 8093 0000 sts crc.1853,r24 1910 0fbc 00C0 rjmp .L154 1911 .L157: 1912 0fbe 9881 ld r25,Y 1913 0fc0 842F mov r24,r20 1914 0fc2 8F73 andi r24,lo8(63) 1915 0fc4 835C subi r24,lo8(-(61)) 1916 0fc6 9817 cp r25,r24 1917 0fc8 01F4 brne .L152 1918 0fca A050 subi r26,lo8(-(rxd_buffer)) 1919 0fcc B040 sbci r27,hi8(-(rxd_buffer)) 1920 0fce 6C93 st X,r22 1921 0fd0 3F5F subi r19,lo8(-(1)) 1922 0fd2 3093 0000 sts ReceivedBytes,r19 1923 0fd6 81E0 ldi r24,lo8(1) 1924 0fd8 8093 0000 sts rxd_buffer_locked,r24 1925 0fdc 8091 0000 lds r24,rxd_buffer+2 1926 0fe0 8235 cpi r24,lo8(82) 1927 0fe2 01F4 brne .L153 1928 0fe4 2CE0 ldi r18,lo8(12) 1929 0fe6 88E1 ldi r24,lo8(24) 1930 0fe8 90E0 ldi r25,hi8(24) 1931 /* #APP */ 1932 ; 330 "uart0.c" 1 1933 0fea 0FB6 in __tmp_reg__,__SREG__ 1934 0fec F894 cli 1935 0fee A895 wdr 1936 0ff0 8093 6000 sts 96,r24 1937 0ff4 0FBE out __SREG__,__tmp_reg__ 1938 0ff6 2093 6000 sts 96,r18 1939 1940 ; 0 "" 2 1941 /* #NOAPP */ 1942 0ffa 0E94 0000 call Servo_Off 1943 0ffe 00C0 rjmp .L153 1945 .global Request_VerInfo 1946 .global Request_VerInfo 1947 .section .bss 1950 Request_VerInfo: 1951 0000 00 .skip 1,0 1952 .global Request_ExternalControl 1953 .global Request_ExternalControl 1956 Request_ExternalControl: 1957 0001 00 .skip 1,0 1958 .global Request_Display 1959 .global Request_Display 1962 Request_Display: 1963 0002 00 .skip 1,0 1964 .global Request_Display1 1965 .global Request_Display1 1968 Request_Display1: 1969 0003 00 .skip 1,0 1970 .global Request_DebugData 1971 .global Request_DebugData 1974 Request_DebugData: 1975 0004 00 .skip 1,0 1976 .global Request_Data3D 1977 .global Request_Data3D 1980 Request_Data3D: 1981 0005 00 .skip 1,0 1982 .global Request_DebugLabel 1983 .data 1986 Request_DebugLabel: 1987 0000 FF .byte -1 1988 .global Request_PPMChannels 1989 .global Request_PPMChannels 1990 .section .bss 1993 Request_PPMChannels: 1994 0006 00 .skip 1,0 1995 .global Request_MotorTest 1996 .global Request_MotorTest 1999 Request_MotorTest: 2000 0007 00 .skip 1,0 2001 .global DisplayLine 2002 .global DisplayLine 2005 DisplayLine: 2006 0008 00 .skip 1,0 2007 .global rxd_buffer_locked 2008 .global rxd_buffer_locked 2011 rxd_buffer_locked: 2012 0009 00 .skip 1,0 2013 .global txd_complete 2014 .data 2017 txd_complete: 2018 0001 01 .byte 1 2019 .global ReceivedBytes 2020 .global ReceivedBytes 2021 .section .bss 2024 ReceivedBytes: 2025 000a 00 .skip 1,0 2026 .global pRxData 2027 .global pRxData 2030 pRxData: 2031 000b 0000 .skip 2,0 2032 .global RxDataLen 2033 .global RxDataLen 2036 RxDataLen: 2037 000d 00 .skip 1,0 2038 .global PcAccess 2039 .data 2042 PcAccess: 2043 0002 64 .byte 100 2044 .global MotorTest_Active 2045 .global MotorTest_Active 2046 .section .bss 2049 MotorTest_Active: 2050 000e 00 .skip 1,0 2051 .global MotorTest 2052 .global MotorTest 2055 MotorTest: 2056 000f 0000 0000 .skip 16,0 2056 0000 0000 2056 0000 0000 2056 0000 0000 2057 .global DebugData_Interval 2058 .data 2061 DebugData_Interval: 2062 0003 F401 .word 500 2063 .global Data3D_Interval 2064 .global Data3D_Interval 2065 .section .bss 2068 Data3D_Interval: 2069 001f 0000 .skip 2,0 2070 .global ANALOG_LABEL 2071 .section .progmem.data,"a",@progbits 2074 ANALOG_LABEL: 2075 0000 416E 676C .ascii "AngleNick " 2075 654E 6963 2075 6B20 2020 2075 2020 2020 2076 0010 416E 676C .ascii "AngleRoll " 2076 6552 6F6C 2076 6C20 2020 2076 2020 2020 2077 0020 4163 634E .ascii "AccNick " 2077 6963 6B20 2077 2020 2020 2077 2020 2020 2078 0030 4163 6352 .ascii "AccRoll " 2078 6F6C 6C20 2078 2020 2020 2078 2020 2020 2079 0040 5961 7747 .ascii "YawGyro " 2079 7972 6F20 2079 2020 2020 2079 2020 2020 2080 0050 4865 6967 .ascii "Height Value " 2080 6874 2056 2080 616C 7565 2080 2020 2020 2081 0060 4163 635A .ascii "AccZ " 2081 2020 2020 2081 2020 2020 2081 2020 2020 2082 0070 4761 7320 .ascii "Gas " 2082 2020 2020 2082 2020 2020 2082 2020 2020 2083 0080 436F 6D70 .ascii "Compass Heading " 2083 6173 7320 2083 4865 6164 2083 696E 6720 2084 0090 566F 6C74 .ascii "Voltage " 2084 6167 6520 2084 2020 2020 2084 2020 2020 2085 00a0 5265 6365 .ascii "Receiver Level " 2085 6976 6572 2085 204C 6576 2085 656C 2020 2086 00b0 5961 7747 .ascii "YawGyro Heading " 2086 7972 6F20 2086 4865 6164 2086 696E 6720 2087 00c0 4D6F 746F .ascii "Motor Front " 2087 7220 4672 2087 6F6E 7420 2087 2020 2020 2088 00d0 4D6F 746F .ascii "Motor Rear " 2088 7220 5265 2088 6172 2020 2088 2020 2020 2089 00e0 4D6F 746F .ascii "Motor Left " 2089 7220 4C65 2089 6674 2020 2089 2020 2020 2090 00f0 4D6F 746F .ascii "Motor Right " 2090 7220 5269 2090 6768 7420 2090 2020 2020 2091 0100 2020 2020 .ascii " " 2091 2020 2020 2091 2020 2020 2091 2020 2020 2092 0110 2020 2020 .ascii " " 2092 2020 2020 2092 2020 2020 2092 2020 2020 2093 0120 5661 7269 .ascii "VarioMeter " 2093 6F4D 6574 2093 6572 2020 2093 2020 2020 2094 0130 4D4B 334D .ascii "MK3MAG CalState " 2094 4147 2043 2094 616C 5374 2094 6174 6520 2095 0140 4E69 636B .ascii "NickServo " 2095 5365 7276 2095 6F20 2020 2095 2020 2020 2096 0150 486F 6F76 .ascii "Hoovergas " 2096 6572 6761 2096 7320 2020 2096 2020 2020 2097 0160 4643 5F4A .ascii "FC_JN Input 1 " 2097 4E20 496E 2097 7075 7420 2097 3120 2020 2098 0170 4643 5F4A .ascii "FC_JN Input 2 " 2098 4E20 496E 2098 7075 7420 2098 3220 2020 2099 0180 4643 5F4A .ascii "FC_JN Input 3 " 2099 4E20 496E 2099 7075 7420 2099 3320 2020 2100 0190 4643 5F4A .ascii "FC_JN Input 4 " 2100 4E20 496E 2100 7075 7420 2100 3420 2020 2101 01a0 2020 2020 .ascii " " 2101 2020 2020 2101 2020 2020 2101 2020 2020 2102 01b0 2020 2020 .ascii " " 2102 2020 2020 2102 2020 2020 2102 2020 2020 2103 01c0 4932 432D .ascii "I2C-Error " 2103 4572 726F 2103 7220 2020 2103 2020 2020 2104 01d0 2020 2020 .ascii " " 2104 2020 2020 2104 2020 2020 2104 2020 2020 2105 01e0 4750 5320 .ascii "GPS Nick " 2105 4E69 636B 2105 2020 2020 2105 2020 2020 2106 01f0 4750 5320 .ascii "GPS Roll " 2106 526F 6C6C 2106 2020 2020 2106 2020 2020 2107 .lcomm ptr_rxd_buffer.1854,1 2108 .lcomm crc.1853,2 2109 .lcomm ptr_txd_buffer.1840,2 2110 .comm DebugOut,66,1 2111 .comm ExternControl,11,1 2112 .comm txd_buffer,150,1 2113 .comm rxd_buffer,150,1 2114 .comm ConfirmFrame,1,1 2115 .comm Data3D,14,1 2116 .comm UART_VersionInfo,10,1 2117 .comm DebugData_Timer,2,1 2118 .comm Data3D_Timer,2,1 2119 .global __do_copy_data 2120 .global __do_clear_bss DEFINED SYMBOLS *ABS*:00000000 uart0.c C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccSLe7Vs.s:2 *ABS*:0000003f __SREG__ C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccSLe7Vs.s:3 *ABS*:0000003e __SP_H__ C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccSLe7Vs.s:4 *ABS*:0000003d __SP_L__ C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccSLe7Vs.s:5 *ABS*:00000034 __CCP__ C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccSLe7Vs.s:6 *ABS*:00000000 __tmp_reg__ C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccSLe7Vs.s:7 *ABS*:00000001 __zero_reg__ C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccSLe7Vs.s:11 .text:00000000 __vector_22 C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccSLe7Vs.s:2017 .data:00000001 txd_complete C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccSLe7Vs.s:2108 .bss:00000024 ptr_txd_buffer.1840 *COM*:00000096 txd_buffer C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccSLe7Vs.s:66 .text:0000006e AddCRC C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccSLe7Vs.s:140 .text:000000f4 Decode64 C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccSLe7Vs.s:2024 .bss:0000000a ReceivedBytes *COM*:00000096 rxd_buffer C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccSLe7Vs.s:2030 .bss:0000000b pRxData C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccSLe7Vs.s:2036 .bss:0000000d RxDataLen C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccSLe7Vs.s:243 .text:000001b0 uart_putchar C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccSLe7Vs.s:267 .text:000001d4 USART0_Init C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccSLe7Vs.s:2061 .data:00000003 DebugData_Interval *COM*:00000002 DebugData_Timer C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccSLe7Vs.s:2011 .bss:00000009 rxd_buffer_locked *COM*:0000000a UART_VersionInfo C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccSLe7Vs.s:360 .text:000002d2 SendOutData C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccSLe7Vs.s:640 .text:000004e0 USART0_TransmitTxData C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccSLe7Vs.s:1950 .bss:00000000 Request_VerInfo C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccSLe7Vs.s:1962 .bss:00000002 Request_Display C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccSLe7Vs.s:1968 .bss:00000003 Request_Display1 C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccSLe7Vs.s:1986 .data:00000000 Request_DebugLabel *COM*:00000001 ConfirmFrame C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccSLe7Vs.s:1974 .bss:00000004 Request_DebugData C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccSLe7Vs.s:2068 .bss:0000001f Data3D_Interval C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccSLe7Vs.s:1980 .bss:00000005 Request_Data3D C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccSLe7Vs.s:1956 .bss:00000001 Request_ExternalControl C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccSLe7Vs.s:1999 .bss:00000007 Request_MotorTest C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccSLe7Vs.s:2074 .progmem.data:00000000 ANALOG_LABEL C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccSLe7Vs.s:2005 .bss:00000008 DisplayLine C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccSLe7Vs.s:1993 .bss:00000006 Request_PPMChannels *COM*:0000000b ExternControl *COM*:00000002 Data3D_Timer *COM*:00000042 DebugOut *COM*:0000000e Data3D C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccSLe7Vs.s:1289 .text:00000a6e USART0_ProcessRxData C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccSLe7Vs.s:2042 .data:00000002 PcAccess C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccSLe7Vs.s:2055 .bss:0000000f MotorTest C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccSLe7Vs.s:2049 .bss:0000000e MotorTest_Active C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccSLe7Vs.s:1788 .text:00000eb6 __vector_20 .bss:00000021 ptr_rxd_buffer.1854 C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccSLe7Vs.s:2107 .bss:00000022 crc.1853 UNDEFINED SYMBOLS SetDelay LCD_PrintMenu MenuItem MaxMenuItem DisplayBuff memcpy_P PPM_in CheckDelay ParamSet IntegralGyroNick __mulsi3 __divmodsi4 IntegralGyroRoll YawGyroHeading Mixer ParamSet_ReadFromEEProm MKFlags ParamSet_WriteToEEProm TurnOver180Nick TurnOver180Roll GetActiveParamSet LipoDetection Beep RemoteKeys MixerTable_WriteToEEProm GetParamByte Servo_Off __do_copy_data __do_clear_bss