diff --git a/V5B/Reciver/Reciver.atsuo b/V5B/Reciver/Reciver.atsuo index 4a150c6..a0a3fff 100644 Binary files a/V5B/Reciver/Reciver.atsuo and b/V5B/Reciver/Reciver.atsuo differ diff --git a/V5B/Reciver/Reciver/Debug/Reciver.elf b/V5B/Reciver/Reciver/Debug/Reciver.elf index 311856b..2934164 100644 Binary files a/V5B/Reciver/Reciver/Debug/Reciver.elf and b/V5B/Reciver/Reciver/Debug/Reciver.elf differ diff --git a/V5B/Reciver/Reciver/Debug/Reciver.lss b/V5B/Reciver/Reciver/Debug/Reciver.lss index 3f58b71..f4dd9e4 100644 --- a/V5B/Reciver/Reciver/Debug/Reciver.lss +++ b/V5B/Reciver/Reciver/Debug/Reciver.lss @@ -23,9 +23,9 @@ Idx Name Size VMA LMA File off Algn CONTENTS, READONLY, DEBUGGING 9 .debug_frame 000001c8 00000000 00000000 00002774 2**2 CONTENTS, READONLY, DEBUGGING - 10 .debug_str 0000025c 00000000 00000000 0000293c 2**0 + 10 .debug_str 000002a8 00000000 00000000 0000293c 2**0 CONTENTS, READONLY, DEBUGGING - 11 .debug_loc 000006d5 00000000 00000000 00002b98 2**0 + 11 .debug_loc 000006d5 00000000 00000000 00002be4 2**0 CONTENTS, READONLY, DEBUGGING Disassembly of section .text: @@ -621,86 +621,36 @@ int main(void) 356: fe cf rjmp .-4 ; 0x354 00000358 : -unsigned short rf12_trans(unsigned short wert) -{ - unsigned short werti = 0; - unsigned char i; - - RF_PORT &= ~(1< - -unsigned short rf12_trans(unsigned short wert) -{ - unsigned short werti = 0; 35c: 20 e0 ldi r18, 0x00 ; 0 35e: 30 e0 ldi r19, 0x00 ; 0 - unsigned char i; - - RF_PORT &= ~(1< - RF_PORT |= (1< - } - else { - RF_PORT &= ~(1< 37a: 00 00 nop - _delay_us(0.3); - RF_PORT &= ~(1< - RF_PORT |= (1<: - -void rf12_init(void) -{ - RF_DDR |= (1< 3a0: 00 c0 rjmp .+0 ; 0x3a2 3a2: 00 00 nop - - _delay_ms(100); - - rf12_trans(0xC0E0); // AVR CLK: 10MHz 3a4: 80 ee ldi r24, 0xE0 ; 224 3a6: 90 ec ldi r25, 0xC0 ; 192 3a8: d7 df rcall .-82 ; 0x358 - rf12_trans(0x80D7); // Enable FIFO 3aa: 87 ed ldi r24, 0xD7 ; 215 3ac: 90 e8 ldi r25, 0x80 ; 128 3ae: d4 df rcall .-88 ; 0x358 - rf12_trans(0xC2AB); // Data Filter: internal 3b0: 8b ea ldi r24, 0xAB ; 171 3b2: 92 ec ldi r25, 0xC2 ; 194 3b4: d1 df rcall .-94 ; 0x358 - rf12_trans(0xCA81); // Set FIFO mode 3b6: 81 e8 ldi r24, 0x81 ; 129 3b8: 9a ec ldi r25, 0xCA ; 202 3ba: ce df rcall .-100 ; 0x358 - rf12_trans(0xE000); // disable wakeuptimer 3bc: 80 e0 ldi r24, 0x00 ; 0 3be: 90 ee ldi r25, 0xE0 ; 224 3c0: cb df rcall .-106 ; 0x358 - rf12_trans(0xC800); // disable low duty cycle 3c2: 80 e0 ldi r24, 0x00 ; 0 3c4: 98 ec ldi r25, 0xC8 ; 200 3c6: c8 df rcall .-112 ; 0x358 - rf12_trans(0xC4F7); // AFC settings: autotuning: -10kHz...+7,5kHz 3c8: 87 ef ldi r24, 0xF7 ; 247 3ca: 94 ec ldi r25, 0xC4 ; 196 3cc: c5 df rcall .-118 ; 0x358 -} 3ce: 08 95 ret 000003d0 : - -void rf12_setbandwidth(unsigned char bandwidth, unsigned char gain, unsigned char drssi) -{ - rf12_trans(0x9400|((bandwidth&7)<<5)|((gain&3)<<3)|(drssi&7)); 3d0: 90 e0 ldi r25, 0x00 ; 0 3d2: 88 0f add r24, r24 3d4: 99 1f adc r25, r25 @@ -784,14 +719,9 @@ void rf12_setbandwidth(unsigned char bandwidth, unsigned char gain, unsigned cha 402: 86 2b or r24, r22 404: 97 2b or r25, r23 406: a8 df rcall .-176 ; 0x358 -} 408: 08 95 ret 0000040a : - -void rf12_setfreq(unsigned short freq) -{ - if (freq<96) { // 430,2400MHz 40a: 80 36 cpi r24, 0x60 ; 96 40c: 91 05 cpc r25, r1 40e: 38 f0 brcs .+14 ; 0x41e @@ -802,35 +732,21 @@ void rf12_setfreq(unsigned short freq) 418: 8f e3 ldi r24, 0x3F ; 63 41a: 9f e0 ldi r25, 0x0F ; 15 41c: 02 c0 rjmp .+4 ; 0x422 - freq=96; 41e: 80 e6 ldi r24, 0x60 ; 96 420: 90 e0 ldi r25, 0x00 ; 0 - } else if (freq>3903) { // 439,7575MHz - freq=3903; - } - rf12_trans(0xA000|freq); 422: 90 6a ori r25, 0xA0 ; 160 424: 99 df rcall .-206 ; 0x358 -} 426: 08 95 ret 00000428 : - -void rf12_setbaud(unsigned short baud) -{ - if (baud<663) { 428: 22 e0 ldi r18, 0x02 ; 2 42a: 87 39 cpi r24, 0x97 ; 151 42c: 92 07 cpc r25, r18 42e: f0 f0 brcs .+60 ; 0x46c - return; - } - if (baud<5400) { // Baudrate= 344827,58621/(R+1)/(1+CS*7) 430: 25 e1 ldi r18, 0x15 ; 21 432: 88 31 cpi r24, 0x18 ; 24 434: 92 07 cpc r25, r18 436: 70 f4 brcc .+28 ; 0x454 - rf12_trans(0xC680|((43104/baud)-1)); 438: 9c 01 movw r18, r24 43a: 40 e0 ldi r20, 0x00 ; 0 43c: 50 e0 ldi r21, 0x00 ; 0 @@ -845,8 +761,6 @@ void rf12_setbaud(unsigned short baud) 44e: 96 6c ori r25, 0xC6 ; 198 450: 83 df rcall .-250 ; 0x358 452: 08 95 ret - } else { - rf12_trans(0xC600|((344828UL/baud)-1)); 454: 9c 01 movw r18, r24 456: 40 e0 ldi r20, 0x00 ; 0 458: 50 e0 ldi r21, 0x00 ; 0 @@ -862,12 +776,6 @@ void rf12_setbaud(unsigned short baud) 46c: 08 95 ret 0000046e : - } -} - -void rf12_setpower(unsigned char power, unsigned char mod) -{ - rf12_trans(0x9800|(power&7)|((mod&15)<<4)); 46e: 90 e0 ldi r25, 0x00 ; 0 470: 87 70 andi r24, 0x07 ; 7 472: 90 70 andi r25, 0x00 ; 0 @@ -883,122 +791,77 @@ void rf12_setpower(unsigned char power, unsigned char mod) 486: 86 2b or r24, r22 488: 97 2b or r25, r23 48a: 66 df rcall .-308 ; 0x358 -} 48c: 08 95 ret 0000048e : - -void rf12_ready(void) -{ - RF_PORT &= ~(1< -} 494: 08 95 ret 00000496 : - -void rf12_beginasyncrx() { - rf12_trans(0x82C8); // RX on 496: 88 ec ldi r24, 0xC8 ; 200 498: 92 e8 ldi r25, 0x82 ; 130 49a: 5e df rcall .-324 ; 0x358 - rf12_trans(0xCA81); // set FIFO mode 49c: 81 e8 ldi r24, 0x81 ; 129 49e: 9a ec ldi r25, 0xCA ; 202 4a0: 5b df rcall .-330 ; 0x358 - rf12_trans(0xCA83); // enable FIFO 4a2: 83 e8 ldi r24, 0x83 ; 131 4a4: 9a ec ldi r25, 0xCA ; 202 4a6: 58 df rcall .-336 ; 0x358 -} 4a8: 08 95 ret 000004aa : -uint8_t rf12_hasdata() { - RF_PORT &= ~(1<: -uint8_t rf12_rxbyte() { - return rf12_trans(0xB000); 4b4: 80 e0 ldi r24, 0x00 ; 0 4b6: 90 eb ldi r25, 0xB0 ; 176 4b8: 4f df rcall .-354 ; 0x358 -} 4ba: 08 95 ret 000004bc : -void rf12_endasyncrx() { - rf12_trans(0x8208); // RX off 4bc: 88 e0 ldi r24, 0x08 ; 8 4be: 92 e8 ldi r25, 0x82 ; 130 4c0: 4b df rcall .-362 ; 0x358 -} 4c2: 08 95 ret 000004c4 : - -void rf12_txdata(unsigned char *data, unsigned char number) -{ 4c4: 0f 93 push r16 4c6: 1f 93 push r17 4c8: cf 93 push r28 4ca: df 93 push r29 4cc: 8c 01 movw r16, r24 4ce: c6 2f mov r28, r22 - unsigned char i; - rf12_trans(0x8238); // TX on 4d0: 88 e3 ldi r24, 0x38 ; 56 4d2: 92 e8 ldi r25, 0x82 ; 130 4d4: 41 df rcall .-382 ; 0x358 - rf12_ready(); 4d6: db df rcall .-74 ; 0x48e - rf12_trans(0xB8AA); 4d8: 8a ea ldi r24, 0xAA ; 170 4da: 98 eb ldi r25, 0xB8 ; 184 4dc: 3d df rcall .-390 ; 0x358 - rf12_ready(); 4de: d7 df rcall .-82 ; 0x48e - rf12_trans(0xB8AA); 4e0: 8a ea ldi r24, 0xAA ; 170 4e2: 98 eb ldi r25, 0xB8 ; 184 4e4: 39 df rcall .-398 ; 0x358 - rf12_ready(); 4e6: d3 df rcall .-90 ; 0x48e - rf12_trans(0xB8AA); 4e8: 8a ea ldi r24, 0xAA ; 170 4ea: 98 eb ldi r25, 0xB8 ; 184 4ec: 35 df rcall .-406 ; 0x358 - rf12_ready(); 4ee: cf df rcall .-98 ; 0x48e - rf12_trans(0xB82D); 4f0: 8d e2 ldi r24, 0x2D ; 45 4f2: 98 eb ldi r25, 0xB8 ; 184 4f4: 31 df rcall .-414 ; 0x358 - rf12_ready(); 4f6: cb df rcall .-106 ; 0x48e - rf12_trans(0xB8D4); 4f8: 84 ed ldi r24, 0xD4 ; 212 4fa: 98 eb ldi r25, 0xB8 ; 184 4fc: 2d df rcall .-422 ; 0x358 - for (i=0; i -} -void rf12_endasyncrx() { - rf12_trans(0x8208); // RX off -} - -void rf12_txdata(unsigned char *data, unsigned char number) 502: c8 01 movw r24, r16 504: 01 96 adiw r24, 0x01 ; 1 506: c1 50 subi r28, 0x01 ; 1 @@ -1006,40 +869,20 @@ void rf12_txdata(unsigned char *data, unsigned char number) 50a: 2c 0f add r18, r28 50c: 31 1d adc r19, r1 50e: e9 01 movw r28, r18 - rf12_trans(0xB82D); - rf12_ready(); - rf12_trans(0xB8D4); - for (i=0; i - rf12_trans(0xB800|(*data++)); 512: f8 01 movw r30, r16 514: 81 91 ld r24, Z+ 516: 8f 01 movw r16, r30 518: 90 e0 ldi r25, 0x00 ; 0 51a: 98 6b ori r25, 0xB8 ; 184 51c: 1d df rcall .-454 ; 0x358 - rf12_trans(0xB8AA); - rf12_ready(); - rf12_trans(0xB82D); - rf12_ready(); - rf12_trans(0xB8D4); - for (i=0; i - { - rf12_ready(); - rf12_trans(0xB800|(*data++)); - } - rf12_ready(); 524: b4 df rcall .-152 ; 0x48e - rf12_trans(0x8208); // TX off 526: 88 e0 ldi r24, 0x08 ; 8 528: 92 e8 ldi r25, 0x82 ; 130 52a: 16 df rcall .-468 ; 0x358 -} 52c: df 91 pop r29 52e: cf 91 pop r28 530: 1f 91 pop r17 @@ -1047,37 +890,23 @@ void rf12_txdata(unsigned char *data, unsigned char number) 534: 08 95 ret 00000536 : - -void rf12_rxdata(unsigned char *data, unsigned char number) -{ 536: 0f 93 push r16 538: 1f 93 push r17 53a: cf 93 push r28 53c: df 93 push r29 53e: 8c 01 movw r16, r24 540: d6 2f mov r29, r22 - unsigned char i; - rf12_trans(0x82C8); // RX on 542: 88 ec ldi r24, 0xC8 ; 200 544: 92 e8 ldi r25, 0x82 ; 130 546: 08 df rcall .-496 ; 0x358 - rf12_trans(0xCA81); // set FIFO mode 548: 81 e8 ldi r24, 0x81 ; 129 54a: 9a ec ldi r25, 0xCA ; 202 54c: 05 df rcall .-502 ; 0x358 - rf12_trans(0xCA83); // enable FIFO 54e: 83 e8 ldi r24, 0x83 ; 131 550: 9a ec ldi r25, 0xCA ; 202 552: 02 df rcall .-508 ; 0x358 - for (i=0; i - } - rf12_ready(); - rf12_trans(0x8208); // TX off -} - -void rf12_rxdata(unsigned char *data, unsigned char number) 558: c8 01 movw r24, r16 55a: 01 96 adiw r24, 0x01 ; 1 55c: d1 50 subi r29, 0x01 ; 1 @@ -1085,38 +914,19 @@ void rf12_rxdata(unsigned char *data, unsigned char number) 560: 2d 0f add r18, r29 562: 31 1d adc r19, r1 564: e9 01 movw r28, r18 - rf12_trans(0x82C8); // RX on - rf12_trans(0xCA81); // set FIFO mode - rf12_trans(0xCA83); // enable FIFO - for (i=0; i - *data++=rf12_trans(0xB000); 568: 80 e0 ldi r24, 0x00 ; 0 56a: 90 eb ldi r25, 0xB0 ; 176 56c: f5 de rcall .-534 ; 0x358 56e: f8 01 movw r30, r16 570: 81 93 st Z+, r24 572: 8f 01 movw r16, r30 -{ - unsigned char i; - rf12_trans(0x82C8); // RX on - rf12_trans(0xCA81); // set FIFO mode - rf12_trans(0xCA83); // enable FIFO - for (i=0; i - { - rf12_ready(); - *data++=rf12_trans(0xB000); - } - rf12_trans(0x8208); // RX off 57a: 88 e0 ldi r24, 0x08 ; 8 57c: 92 e8 ldi r25, 0x82 ; 130 57e: ec de rcall .-552 ; 0x358 -} 580: df 91 pop r29 582: cf 91 pop r28 584: 1f 91 pop r17 @@ -1124,78 +934,55 @@ void rf12_rxdata(unsigned char *data, unsigned char number) 588: 08 95 ret 0000058a : - -void rf12_txpacket(uint8_t addr, uint8_t from, uint8_t data) { 58a: 1f 93 push r17 58c: cf 93 push r28 58e: df 93 push r29 590: 18 2f mov r17, r24 592: d6 2f mov r29, r22 594: c4 2f mov r28, r20 - rf12_trans(0x8238); // TX on 596: 88 e3 ldi r24, 0x38 ; 56 598: 92 e8 ldi r25, 0x82 ; 130 59a: de de rcall .-580 ; 0x358 - rf12_ready(); 59c: 78 df rcall .-272 ; 0x48e - rf12_trans(0xB8AA); 59e: 8a ea ldi r24, 0xAA ; 170 5a0: 98 eb ldi r25, 0xB8 ; 184 5a2: da de rcall .-588 ; 0x358 - rf12_ready(); 5a4: 74 df rcall .-280 ; 0x48e - rf12_trans(0xB8AA); 5a6: 8a ea ldi r24, 0xAA ; 170 5a8: 98 eb ldi r25, 0xB8 ; 184 5aa: d6 de rcall .-596 ; 0x358 - rf12_ready(); 5ac: 70 df rcall .-288 ; 0x48e - rf12_trans(0xB8AA); 5ae: 8a ea ldi r24, 0xAA ; 170 5b0: 98 eb ldi r25, 0xB8 ; 184 5b2: d2 de rcall .-604 ; 0x358 - rf12_ready(); 5b4: 6c df rcall .-296 ; 0x48e - rf12_trans(0xB82D); 5b6: 8d e2 ldi r24, 0x2D ; 45 5b8: 98 eb ldi r25, 0xB8 ; 184 5ba: ce de rcall .-612 ; 0x358 - rf12_ready(); 5bc: 68 df rcall .-304 ; 0x48e - rf12_trans(0xB8D4); 5be: 84 ed ldi r24, 0xD4 ; 212 5c0: 98 eb ldi r25, 0xB8 ; 184 5c2: ca de rcall .-620 ; 0x358 - rf12_ready(); 5c4: 64 df rcall .-312 ; 0x48e - rf12_trans(0xB800|addr); 5c6: 81 2f mov r24, r17 5c8: 90 e0 ldi r25, 0x00 ; 0 5ca: 98 6b ori r25, 0xB8 ; 184 5cc: c5 de rcall .-630 ; 0x358 - rf12_ready(); 5ce: 5f df rcall .-322 ; 0x48e - rf12_trans(0xB800|from); 5d0: 8d 2f mov r24, r29 5d2: 90 e0 ldi r25, 0x00 ; 0 5d4: 98 6b ori r25, 0xB8 ; 184 5d6: c0 de rcall .-640 ; 0x358 - rf12_ready(); 5d8: 5a df rcall .-332 ; 0x48e - rf12_trans(0xB800|data); 5da: 8c 2f mov r24, r28 5dc: 90 e0 ldi r25, 0x00 ; 0 5de: 98 6b ori r25, 0xB8 ; 184 5e0: bb de rcall .-650 ; 0x358 - rf12_ready(); 5e2: 55 df rcall .-342 ; 0x48e - rf12_trans(0xB800); 5e4: 80 e0 ldi r24, 0x00 ; 0 5e6: 98 eb ldi r25, 0xB8 ; 184 5e8: b7 de rcall .-658 ; 0x358 - rf12_ready(); 5ea: 51 df rcall .-350 ; 0x48e - rf12_trans(0x8208); // TX off 5ec: 88 e0 ldi r24, 0x08 ; 8 5ee: 92 e8 ldi r25, 0x82 ; 130 5f0: b3 de rcall .-666 ; 0x358 @@ -1208,7 +995,6 @@ void rf12_txpacket(uint8_t addr, uint8_t from, uint8_t data) { 5fe: e1 f7 brne .-8 ; 0x5f8 600: 00 c0 rjmp .+0 ; 0x602 602: 00 00 nop - _delay_ms(100); 604: df 91 pop r29 606: cf 91 pop r28 608: 1f 91 pop r17 diff --git a/V5B/Reciver/Reciver/Debug/Reciver.map b/V5B/Reciver/Reciver/Debug/Reciver.map index 790ace8..6e98e84 100644 --- a/V5B/Reciver/Reciver/Debug/Reciver.map +++ b/V5B/Reciver/Reciver/Debug/Reciver.map @@ -412,11 +412,11 @@ LOAD c:/program files (x86)/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1 .debug_frame 0x00000000 0x9c Reciver.o .debug_frame 0x0000009c 0x12c rf12.o -.debug_str 0x00000000 0x25c +.debug_str 0x00000000 0x2a8 *(.debug_str) - .debug_str 0x00000000 0x165 Reciver.o - 0x19e (size before relaxing) - .debug_str 0x00000165 0xf7 rf12.o + .debug_str 0x00000000 0x15c Reciver.o + 0x195 (size before relaxing) + .debug_str 0x0000015c 0x14c rf12.o 0x25b (size before relaxing) .debug_loc 0x00000000 0x6d5