From a95aa66df8d46d7a0839cb40ea05e42a8d258ea8 Mon Sep 17 00:00:00 2001 From: BlubbFish Date: Wed, 27 Mar 2013 16:05:21 +0000 Subject: [PATCH] 20130327-170643 --- Reciver/Reciver.atsuo | Bin 10752 -> 10752 bytes Reciver/Reciver/Debug/Reciver.d | 3 + Reciver/Reciver/Debug/Reciver.elf | Bin 12880 -> 14145 bytes Reciver/Reciver/Debug/Reciver.hex | 127 ++-- Reciver/Reciver/Debug/Reciver.lss | 1021 ++++++++++++++++------------ Reciver/Reciver/Debug/Reciver.map | 175 ++--- Reciver/Reciver/Debug/Reciver.srec | 127 ++-- Reciver/Reciver/Reciver.c | 52 +- Sender/Sender.atsuo | Bin 13824 -> 13824 bytes Sender/Sender/Debug/Sender.d | 3 + Sender/Sender/Debug/Sender.elf | Bin 12570 -> 13377 bytes Sender/Sender/Debug/Sender.hex | 41 +- Sender/Sender/Debug/Sender.lss | 330 +++++---- Sender/Sender/Debug/Sender.map | 135 ++-- Sender/Sender/Debug/Sender.srec | 41 +- Sender/Sender/Sender.c | 35 +- 16 files changed, 1203 insertions(+), 887 deletions(-) diff --git a/Reciver/Reciver.atsuo b/Reciver/Reciver.atsuo index a95a3db6b8eb9d073f55e196cdcf00963982e758..3568a037f746b7baf3f4dc372c1ba241b4e1c2c0 100644 GIT binary patch delta 433 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 QqE?sW3oOkSSWqwi3wG_Z!~g&Q delta 4147 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 1c: 0c 94 47 00 jmp 0x8e ; 0x8e <__bad_interrupt> 20: 0c 94 47 00 jmp 0x8e ; 0x8e <__bad_interrupt> - 24: 0c 94 47 00 jmp 0x8e ; 0x8e <__bad_interrupt> + 24: 0c 94 a9 00 jmp 0x152 ; 0x152 <__vector_9> 28: 0c 94 47 00 jmp 0x8e ; 0x8e <__bad_interrupt> 2c: 0c 94 47 00 jmp 0x8e ; 0x8e <__bad_interrupt> 30: 0c 94 47 00 jmp 0x8e ; 0x8e <__bad_interrupt> @@ -63,8 +65,8 @@ Disassembly of section .text: 60: 10 e0 ldi r17, 0x00 ; 0 62: a0 e6 ldi r26, 0x60 ; 96 64: b0 e0 ldi r27, 0x00 ; 0 - 66: e8 ef ldi r30, 0xF8 ; 248 - 68: f3 e0 ldi r31, 0x03 ; 3 + 66: e0 eb ldi r30, 0xB0 ; 176 + 68: f4 e0 ldi r31, 0x04 ; 4 6a: 02 c0 rjmp .+4 ; 0x70 <__do_copy_data+0x10> 6c: 05 90 lpm r0, Z+ 6e: 0d 92 st X+, r0 @@ -82,658 +84,779 @@ Disassembly of section .text: 7e: 1d 92 st X+, r1 00000080 <.do_clear_bss_start>: - 80: a0 36 cpi r26, 0x60 ; 96 + 80: a2 36 cpi r26, 0x62 ; 98 82: b1 07 cpc r27, r17 84: e1 f7 brne .-8 ; 0x7e <.do_clear_bss_loop> - 86: 0e 94 81 00 call 0x102 ; 0x102
- 8a: 0c 94 fa 01 jmp 0x3f4 ; 0x3f4 <_exit> + 86: 0e 94 db 00 call 0x1b6 ; 0x1b6
+ 8a: 0c 94 56 02 jmp 0x4ac ; 0x4ac <_exit> 0000008e <__bad_interrupt>: 8e: 0c 94 00 00 jmp 0 ; 0x0 <__vectors> -00000092 : - -#include -#include +00000092 : #include "rf12.h" -void recive() { - 92: cf 93 push r28 - 94: df 93 push r29 - 96: 00 d0 rcall .+0 ; 0x98 - 98: cd b7 in r28, 0x3d ; 61 - 9a: de b7 in r29, 0x3e ; 62 - unsigned char text[2]; - text[0] = 0; - 9c: 19 82 std Y+1, r1 ; 0x01 - text[1] = 0; - 9e: 1a 82 std Y+2, r1 ; 0x02 - rf12_rxdata(text,2); - a0: ce 01 movw r24, r28 - a2: 01 96 adiw r24, 0x01 ; 1 - a4: 62 e0 ldi r22, 0x02 ; 2 - a6: 0e 94 8d 01 call 0x31a ; 0x31a - if(text[0] == 55 && text[1] == 99) { - aa: 89 81 ldd r24, Y+1 ; 0x01 - ac: 87 33 cpi r24, 0x37 ; 55 - ae: 59 f4 brne .+22 ; 0xc6 - b0: 8a 81 ldd r24, Y+2 ; 0x02 - b2: 83 36 cpi r24, 0x63 ; 99 - b4: 41 f4 brne .+16 ; 0xc6 - PORTB |= (1< - c0: 00 c0 rjmp .+0 ; 0xc2 - c2: 00 00 nop - _delay_ms(20); - PORTB &= ~(1< + 9e: 00 c0 rjmp .+0 ; 0xa0 + a0: 00 00 nop + _delay_ms(20); + PORTB &= ~(1< + be: 00 c0 rjmp .+0 ; 0xc0 + c0: 00 00 nop + _delay_ms(700); + servopos = 0; + c2: 10 92 61 00 sts 0x0061, r1 + c6: 10 92 60 00 sts 0x0060, r1 + ca: 8f ef ldi r24, 0xFF ; 255 + cc: 96 e1 ldi r25, 0x16 ; 22 + ce: a1 e1 ldi r26, 0x11 ; 17 + d0: 81 50 subi r24, 0x01 ; 1 + d2: 90 40 sbci r25, 0x00 ; 0 + d4: a0 40 sbci r26, 0x00 ; 0 + d6: e1 f7 brne .-8 ; 0xd0 + d8: 00 c0 rjmp .+0 ; 0xda + da: 00 00 nop + _delay_ms(700); +} + dc: 08 95 ret + +000000de : + +void recive() { + de: cf 93 push r28 + e0: df 93 push r29 + e2: 00 d0 rcall .+0 ; 0xe4 + e4: cd b7 in r28, 0x3d ; 61 + e6: de b7 in r29, 0x3e ; 62 + unsigned char text[2]; + text[0] = 0; + e8: 19 82 std Y+1, r1 ; 0x01 + text[1] = 0; + ea: 1a 82 std Y+2, r1 ; 0x02 + rf12_rxdata(text,2); + ec: ce 01 movw r24, r28 + ee: 01 96 adiw r24, 0x01 ; 1 + f0: 62 e0 ldi r22, 0x02 ; 2 + f2: 0e 94 e9 01 call 0x3d2 ; 0x3d2 + if(text[0] == 55 && text[1] == 99) { + f6: 89 81 ldd r24, Y+1 ; 0x01 + f8: 87 33 cpi r24, 0x37 ; 55 + fa: 29 f4 brne .+10 ; 0x106 + fc: 8a 81 ldd r24, Y+2 ; 0x02 + fe: 83 36 cpi r24, 0x63 ; 99 + 100: 11 f4 brne .+4 ; 0x106 + turn(); + 102: 0e 94 49 00 call 0x92 ; 0x92 } } - c6: 0f 90 pop r0 - c8: 0f 90 pop r0 - ca: df 91 pop r29 - cc: cf 91 pop r28 - ce: 08 95 ret + 106: 0f 90 pop r0 + 108: 0f 90 pop r0 + 10a: df 91 pop r29 + 10c: cf 91 pop r28 + 10e: 08 95 ret -000000d0 : +00000110 : void send() { - d0: cf 93 push r28 - d2: df 93 push r29 - d4: 0f 92 push r0 - d6: cd b7 in r28, 0x3d ; 61 - d8: de b7 in r29, 0x3e ; 62 + 110: cf 93 push r28 + 112: df 93 push r29 + 114: 0f 92 push r0 + 116: cd b7 in r28, 0x3d ; 61 + 118: de b7 in r29, 0x3e ; 62 unsigned char text[1] = {0x01}; - da: 81 e0 ldi r24, 0x01 ; 1 - dc: 89 83 std Y+1, r24 ; 0x01 + 11a: 81 e0 ldi r24, 0x01 ; 1 + 11c: 89 83 std Y+1, r24 ; 0x01 rf12_txdata(text,1); - de: ce 01 movw r24, r28 - e0: 01 96 adiw r24, 0x01 ; 1 - e2: 61 e0 ldi r22, 0x01 ; 1 - e4: 0e 94 45 01 call 0x28a ; 0x28a - e8: 8f ef ldi r24, 0xFF ; 255 - ea: 90 e7 ldi r25, 0x70 ; 112 - ec: a2 e0 ldi r26, 0x02 ; 2 - ee: 81 50 subi r24, 0x01 ; 1 - f0: 90 40 sbci r25, 0x00 ; 0 - f2: a0 40 sbci r26, 0x00 ; 0 - f4: e1 f7 brne .-8 ; 0xee - f6: 00 c0 rjmp .+0 ; 0xf8 - f8: 00 00 nop + 11e: ce 01 movw r24, r28 + 120: 01 96 adiw r24, 0x01 ; 1 + 122: 61 e0 ldi r22, 0x01 ; 1 + 124: 0e 94 a1 01 call 0x342 ; 0x342 + 128: 8f ef ldi r24, 0xFF ; 255 + 12a: 90 e7 ldi r25, 0x70 ; 112 + 12c: a2 e0 ldi r26, 0x02 ; 2 + 12e: 81 50 subi r24, 0x01 ; 1 + 130: 90 40 sbci r25, 0x00 ; 0 + 132: a0 40 sbci r26, 0x00 ; 0 + 134: e1 f7 brne .-8 ; 0x12e + 136: 00 c0 rjmp .+0 ; 0x138 + 138: 00 00 nop _delay_ms(100); } - fa: 0f 90 pop r0 - fc: df 91 pop r29 - fe: cf 91 pop r28 - 100: 08 95 ret + 13a: 0f 90 pop r0 + 13c: df 91 pop r29 + 13e: cf 91 pop r28 + 140: 08 95 ret -00000102
: +00000142 : + // Clock source: System Clock + // Clock value: 7,813 kHz + // Mode: Normal top=0xFF + // OC0 output: Disconnected + // Timer Period: 21,504 ms + TCCR0=(0<: + +ISR(TIMER0_OVF_vect) { + 152: 1f 92 push r1 + 154: 0f 92 push r0 + 156: 0f b6 in r0, 0x3f ; 63 + 158: 0f 92 push r0 + 15a: 11 24 eor r1, r1 + 15c: 2f 93 push r18 + 15e: 3f 93 push r19 + 160: 8f 93 push r24 + 162: 9f 93 push r25 + // Reinitialize Timer 0 value + TCNT0=0x58; + 164: 88 e5 ldi r24, 0x58 ; 88 + 166: 82 bf out 0x32, r24 ; 50 + + DDRB |= (1< + 174: 00 c0 rjmp .+0 ; 0x176 <__vector_9+0x24> + 176: 00 00 nop + _delay_us(LEFT); + for(int i=0;i + 186: 80 e0 ldi r24, 0x00 ; 0 + 188: 90 e0 ldi r25, 0x00 ; 0 + 18a: 25 e1 ldi r18, 0x15 ; 21 + 18c: 2a 95 dec r18 + 18e: f1 f7 brne .-4 ; 0x18c <__vector_9+0x3a> + 190: 00 00 nop + 192: 01 96 adiw r24, 0x01 ; 1 + 194: 20 91 60 00 lds r18, 0x0060 + 198: 30 91 61 00 lds r19, 0x0061 + 19c: 82 17 cp r24, r18 + 19e: 93 07 cpc r25, r19 + 1a0: a4 f3 brlt .-24 ; 0x18a <__vector_9+0x38> + _delay_us(STEP); + } + PORTB &= ~(1<: int main(void) { rf12_init(); // ein paar Register setzen (z.B. CLK auf 10MHz) - 102: 0e 94 b1 00 call 0x162 ; 0x162 + 1b6: 0e 94 0d 01 call 0x21a ; 0x21a rf12_setfreq(RF12FREQ(433.92)); // Sende/Empfangsfrequenz auf 433,92MHz einstellen - 106: 80 e2 ldi r24, 0x20 ; 32 - 108: 96 e0 ldi r25, 0x06 ; 6 - 10a: 0e 94 f9 00 call 0x1f2 ; 0x1f2 + 1ba: 80 e2 ldi r24, 0x20 ; 32 + 1bc: 96 e0 ldi r25, 0x06 ; 6 + 1be: 0e 94 55 01 call 0x2aa ; 0x2aa rf12_setbandwidth(1, 0, 7); // 400kHz Bandbreite, 0dB Verstärkung, DRSSI threshold: -61dBm - 10e: 81 e0 ldi r24, 0x01 ; 1 - 110: 60 e0 ldi r22, 0x00 ; 0 - 112: 47 e0 ldi r20, 0x07 ; 7 - 114: 0e 94 db 00 call 0x1b6 ; 0x1b6 + 1c2: 81 e0 ldi r24, 0x01 ; 1 + 1c4: 60 e0 ldi r22, 0x00 ; 0 + 1c6: 47 e0 ldi r20, 0x07 ; 7 + 1c8: 0e 94 37 01 call 0x26e ; 0x26e rf12_setbaud(9600); // 19200 baud - 118: 80 e8 ldi r24, 0x80 ; 128 - 11a: 95 e2 ldi r25, 0x25 ; 37 - 11c: 0e 94 09 01 call 0x212 ; 0x212 + 1cc: 80 e8 ldi r24, 0x80 ; 128 + 1ce: 95 e2 ldi r25, 0x25 ; 37 + 1d0: 0e 94 65 01 call 0x2ca ; 0x2ca rf12_setpower(0, 6); // 1mW Ausgangsleistung, 120kHz Frequenzshift - 120: 80 e0 ldi r24, 0x00 ; 0 - 122: 66 e0 ldi r22, 0x06 ; 6 - 124: 0e 94 30 01 call 0x260 ; 0x260 + 1d4: 80 e0 ldi r24, 0x00 ; 0 + 1d6: 66 e0 ldi r22, 0x06 ; 6 + 1d8: 0e 94 8c 01 call 0x318 ; 0x318 + init_timer(); + 1dc: 0e 94 a1 00 call 0x142 ; 0x142 + sei(); + 1e0: 78 94 sei - DDRB |= (1< - 12e: fd cf rjmp .-6 ; 0x12a + 1e2: 0e 94 6f 00 call 0xde ; 0xde + 1e6: fd cf rjmp .-6 ; 0x1e2 -00000130 : +000001e8 : unsigned short rf12_trans(unsigned short wert) { unsigned short werti=0; unsigned char i; cbi(RF_PORT, CS); - 130: 93 98 cbi 0x12, 3 ; 18 - 132: 40 e1 ldi r20, 0x10 ; 16 + 1e8: 93 98 cbi 0x12, 3 ; 18 + 1ea: 40 e1 ldi r20, 0x10 ; 16 #include #include "global.h" #include "rf12.h" unsigned short rf12_trans(unsigned short wert) { unsigned short werti=0; - 134: 20 e0 ldi r18, 0x00 ; 0 - 136: 30 e0 ldi r19, 0x00 ; 0 + 1ec: 20 e0 ldi r18, 0x00 ; 0 + 1ee: 30 e0 ldi r19, 0x00 ; 0 unsigned char i; cbi(RF_PORT, CS); for (i=0; i<16; i++) { if (wert&32768) - 138: 99 23 and r25, r25 - 13a: 14 f4 brge .+4 ; 0x140 + 1f0: 99 23 and r25, r25 + 1f2: 14 f4 brge .+4 ; 0x1f8 sbi(RF_PORT, SDI); - 13c: 95 9a sbi 0x12, 5 ; 18 - 13e: 01 c0 rjmp .+2 ; 0x142 + 1f4: 95 9a sbi 0x12, 5 ; 18 + 1f6: 01 c0 rjmp .+2 ; 0x1fa else cbi(RF_PORT, SDI); - 140: 95 98 cbi 0x12, 5 ; 18 + 1f8: 95 98 cbi 0x12, 5 ; 18 werti<<=1; - 142: 22 0f add r18, r18 - 144: 33 1f adc r19, r19 + 1fa: 22 0f add r18, r18 + 1fc: 33 1f adc r19, r19 if (RF_PIN&(1< - 152: 00 00 nop + 204: 88 0f add r24, r24 + 206: 99 1f adc r25, r25 + 208: 00 c0 rjmp .+0 ; 0x20a + 20a: 00 00 nop _delay_us(0.3); cbi(RF_PORT, SCK); - 154: 94 98 cbi 0x12, 4 ; 18 - 156: 41 50 subi r20, 0x01 ; 1 + 20c: 94 98 cbi 0x12, 4 ; 18 + 20e: 41 50 subi r20, 0x01 ; 1 unsigned short rf12_trans(unsigned short wert) { unsigned short werti=0; unsigned char i; cbi(RF_PORT, CS); for (i=0; i<16; i++) - 158: 79 f7 brne .-34 ; 0x138 + 210: 79 f7 brne .-34 ; 0x1f0 sbi(RF_PORT, SCK); wert<<=1; _delay_us(0.3); cbi(RF_PORT, SCK); } sbi(RF_PORT, CS); - 15a: 93 9a sbi 0x12, 3 ; 18 + 212: 93 9a sbi 0x12, 3 ; 18 return werti; } - 15c: 82 2f mov r24, r18 - 15e: 93 2f mov r25, r19 - 160: 08 95 ret + 214: 82 2f mov r24, r18 + 216: 93 2f mov r25, r19 + 218: 08 95 ret -00000162 : +0000021a : void rf12_init(void) { RF_DDR=(1< - 178: 00 c0 rjmp .+0 ; 0x17a - 17a: 00 00 nop + 222: 8f ef ldi r24, 0xFF ; 255 + 224: 90 e7 ldi r25, 0x70 ; 112 + 226: a2 e0 ldi r26, 0x02 ; 2 + 228: 81 50 subi r24, 0x01 ; 1 + 22a: 90 40 sbci r25, 0x00 ; 0 + 22c: a0 40 sbci r26, 0x00 ; 0 + 22e: e1 f7 brne .-8 ; 0x228 + 230: 00 c0 rjmp .+0 ; 0x232 + 232: 00 00 nop _delay_ms(100); rf12_trans(0xC0E0); // AVR CLK: 10MHz - 17c: 80 ee ldi r24, 0xE0 ; 224 - 17e: 90 ec ldi r25, 0xC0 ; 192 - 180: 0e 94 98 00 call 0x130 ; 0x130 + 234: 80 ee ldi r24, 0xE0 ; 224 + 236: 90 ec ldi r25, 0xC0 ; 192 + 238: 0e 94 f4 00 call 0x1e8 ; 0x1e8 rf12_trans(0x80D7); // Enable FIFO - 184: 87 ed ldi r24, 0xD7 ; 215 - 186: 90 e8 ldi r25, 0x80 ; 128 - 188: 0e 94 98 00 call 0x130 ; 0x130 + 23c: 87 ed ldi r24, 0xD7 ; 215 + 23e: 90 e8 ldi r25, 0x80 ; 128 + 240: 0e 94 f4 00 call 0x1e8 ; 0x1e8 rf12_trans(0xC2AB); // Data Filter: internal - 18c: 8b ea ldi r24, 0xAB ; 171 - 18e: 92 ec ldi r25, 0xC2 ; 194 - 190: 0e 94 98 00 call 0x130 ; 0x130 + 244: 8b ea ldi r24, 0xAB ; 171 + 246: 92 ec ldi r25, 0xC2 ; 194 + 248: 0e 94 f4 00 call 0x1e8 ; 0x1e8 rf12_trans(0xCA81); // Set FIFO mode - 194: 81 e8 ldi r24, 0x81 ; 129 - 196: 9a ec ldi r25, 0xCA ; 202 - 198: 0e 94 98 00 call 0x130 ; 0x130 + 24c: 81 e8 ldi r24, 0x81 ; 129 + 24e: 9a ec ldi r25, 0xCA ; 202 + 250: 0e 94 f4 00 call 0x1e8 ; 0x1e8 rf12_trans(0xE000); // disable wakeuptimer - 19c: 80 e0 ldi r24, 0x00 ; 0 - 19e: 90 ee ldi r25, 0xE0 ; 224 - 1a0: 0e 94 98 00 call 0x130 ; 0x130 + 254: 80 e0 ldi r24, 0x00 ; 0 + 256: 90 ee ldi r25, 0xE0 ; 224 + 258: 0e 94 f4 00 call 0x1e8 ; 0x1e8 rf12_trans(0xC800); // disable low duty cycle - 1a4: 80 e0 ldi r24, 0x00 ; 0 - 1a6: 98 ec ldi r25, 0xC8 ; 200 - 1a8: 0e 94 98 00 call 0x130 ; 0x130 + 25c: 80 e0 ldi r24, 0x00 ; 0 + 25e: 98 ec ldi r25, 0xC8 ; 200 + 260: 0e 94 f4 00 call 0x1e8 ; 0x1e8 rf12_trans(0xC4F7); // AFC settings: autotuning: -10kHz...+7,5kHz - 1ac: 87 ef ldi r24, 0xF7 ; 247 - 1ae: 94 ec ldi r25, 0xC4 ; 196 - 1b0: 0e 94 98 00 call 0x130 ; 0x130 + 264: 87 ef ldi r24, 0xF7 ; 247 + 266: 94 ec ldi r25, 0xC4 ; 196 + 268: 0e 94 f4 00 call 0x1e8 ; 0x1e8 } - 1b4: 08 95 ret + 26c: 08 95 ret -000001b6 : +0000026e : void rf12_setbandwidth(unsigned char bandwidth, unsigned char gain, unsigned char drssi) { rf12_trans(0x9400|((bandwidth&7)<<5)|((gain&3)<<3)|(drssi&7)); - 1b6: 90 e0 ldi r25, 0x00 ; 0 - 1b8: 88 0f add r24, r24 - 1ba: 99 1f adc r25, r25 - 1bc: 82 95 swap r24 - 1be: 92 95 swap r25 - 1c0: 90 7f andi r25, 0xF0 ; 240 - 1c2: 98 27 eor r25, r24 - 1c4: 80 7f andi r24, 0xF0 ; 240 - 1c6: 98 27 eor r25, r24 - 1c8: 90 70 andi r25, 0x00 ; 0 - 1ca: 50 e0 ldi r21, 0x00 ; 0 - 1cc: 47 70 andi r20, 0x07 ; 7 - 1ce: 50 70 andi r21, 0x00 ; 0 - 1d0: 84 2b or r24, r20 - 1d2: 95 2b or r25, r21 - 1d4: 94 69 ori r25, 0x94 ; 148 - 1d6: 70 e0 ldi r23, 0x00 ; 0 - 1d8: 63 70 andi r22, 0x03 ; 3 - 1da: 70 70 andi r23, 0x00 ; 0 - 1dc: 66 0f add r22, r22 - 1de: 77 1f adc r23, r23 - 1e0: 66 0f add r22, r22 - 1e2: 77 1f adc r23, r23 - 1e4: 66 0f add r22, r22 - 1e6: 77 1f adc r23, r23 - 1e8: 86 2b or r24, r22 - 1ea: 97 2b or r25, r23 - 1ec: 0e 94 98 00 call 0x130 ; 0x130 + 26e: 90 e0 ldi r25, 0x00 ; 0 + 270: 88 0f add r24, r24 + 272: 99 1f adc r25, r25 + 274: 82 95 swap r24 + 276: 92 95 swap r25 + 278: 90 7f andi r25, 0xF0 ; 240 + 27a: 98 27 eor r25, r24 + 27c: 80 7f andi r24, 0xF0 ; 240 + 27e: 98 27 eor r25, r24 + 280: 90 70 andi r25, 0x00 ; 0 + 282: 50 e0 ldi r21, 0x00 ; 0 + 284: 47 70 andi r20, 0x07 ; 7 + 286: 50 70 andi r21, 0x00 ; 0 + 288: 84 2b or r24, r20 + 28a: 95 2b or r25, r21 + 28c: 94 69 ori r25, 0x94 ; 148 + 28e: 70 e0 ldi r23, 0x00 ; 0 + 290: 63 70 andi r22, 0x03 ; 3 + 292: 70 70 andi r23, 0x00 ; 0 + 294: 66 0f add r22, r22 + 296: 77 1f adc r23, r23 + 298: 66 0f add r22, r22 + 29a: 77 1f adc r23, r23 + 29c: 66 0f add r22, r22 + 29e: 77 1f adc r23, r23 + 2a0: 86 2b or r24, r22 + 2a2: 97 2b or r25, r23 + 2a4: 0e 94 f4 00 call 0x1e8 ; 0x1e8 } - 1f0: 08 95 ret + 2a8: 08 95 ret -000001f2 : +000002aa : void rf12_setfreq(unsigned short freq) { if (freq<96) // 430,2400MHz - 1f2: 80 36 cpi r24, 0x60 ; 96 - 1f4: 91 05 cpc r25, r1 - 1f6: 38 f0 brcs .+14 ; 0x206 - 1f8: 2f e0 ldi r18, 0x0F ; 15 - 1fa: 80 34 cpi r24, 0x40 ; 64 - 1fc: 92 07 cpc r25, r18 - 1fe: 28 f0 brcs .+10 ; 0x20a - 200: 8f e3 ldi r24, 0x3F ; 63 - 202: 9f e0 ldi r25, 0x0F ; 15 - 204: 02 c0 rjmp .+4 ; 0x20a + 2aa: 80 36 cpi r24, 0x60 ; 96 + 2ac: 91 05 cpc r25, r1 + 2ae: 38 f0 brcs .+14 ; 0x2be + 2b0: 2f e0 ldi r18, 0x0F ; 15 + 2b2: 80 34 cpi r24, 0x40 ; 64 + 2b4: 92 07 cpc r25, r18 + 2b6: 28 f0 brcs .+10 ; 0x2c2 + 2b8: 8f e3 ldi r24, 0x3F ; 63 + 2ba: 9f e0 ldi r25, 0x0F ; 15 + 2bc: 02 c0 rjmp .+4 ; 0x2c2 freq=96; - 206: 80 e6 ldi r24, 0x60 ; 96 - 208: 90 e0 ldi r25, 0x00 ; 0 + 2be: 80 e6 ldi r24, 0x60 ; 96 + 2c0: 90 e0 ldi r25, 0x00 ; 0 else if (freq>3903) // 439,7575MHz freq=3903; rf12_trans(0xA000|freq); - 20a: 90 6a ori r25, 0xA0 ; 160 - 20c: 0e 94 98 00 call 0x130 ; 0x130 + 2c2: 90 6a ori r25, 0xA0 ; 160 + 2c4: 0e 94 f4 00 call 0x1e8 ; 0x1e8 } - 210: 08 95 ret + 2c8: 08 95 ret -00000212 : +000002ca : void rf12_setbaud(unsigned short baud) { if (baud<663) - 212: 22 e0 ldi r18, 0x02 ; 2 - 214: 87 39 cpi r24, 0x97 ; 151 - 216: 92 07 cpc r25, r18 - 218: 10 f1 brcs .+68 ; 0x25e + 2ca: 22 e0 ldi r18, 0x02 ; 2 + 2cc: 87 39 cpi r24, 0x97 ; 151 + 2ce: 92 07 cpc r25, r18 + 2d0: 10 f1 brcs .+68 ; 0x316 return; if (baud<5400) // Baudrate= 344827,58621/(R+1)/(1+CS*7) - 21a: 25 e1 ldi r18, 0x15 ; 21 - 21c: 88 31 cpi r24, 0x18 ; 24 - 21e: 92 07 cpc r25, r18 - 220: 80 f4 brcc .+32 ; 0x242 + 2d2: 25 e1 ldi r18, 0x15 ; 21 + 2d4: 88 31 cpi r24, 0x18 ; 24 + 2d6: 92 07 cpc r25, r18 + 2d8: 80 f4 brcc .+32 ; 0x2fa rf12_trans(0xC680|((43104/baud)-1)); - 222: 9c 01 movw r18, r24 - 224: 40 e0 ldi r20, 0x00 ; 0 - 226: 50 e0 ldi r21, 0x00 ; 0 - 228: 60 e6 ldi r22, 0x60 ; 96 - 22a: 78 ea ldi r23, 0xA8 ; 168 - 22c: 80 e0 ldi r24, 0x00 ; 0 - 22e: 90 e0 ldi r25, 0x00 ; 0 - 230: 0e 94 df 01 call 0x3be ; 0x3be <__divmodsi4> - 234: c9 01 movw r24, r18 - 236: 01 97 sbiw r24, 0x01 ; 1 - 238: 80 68 ori r24, 0x80 ; 128 - 23a: 96 6c ori r25, 0xC6 ; 198 - 23c: 0e 94 98 00 call 0x130 ; 0x130 - 240: 08 95 ret + 2da: 9c 01 movw r18, r24 + 2dc: 40 e0 ldi r20, 0x00 ; 0 + 2de: 50 e0 ldi r21, 0x00 ; 0 + 2e0: 60 e6 ldi r22, 0x60 ; 96 + 2e2: 78 ea ldi r23, 0xA8 ; 168 + 2e4: 80 e0 ldi r24, 0x00 ; 0 + 2e6: 90 e0 ldi r25, 0x00 ; 0 + 2e8: 0e 94 3b 02 call 0x476 ; 0x476 <__divmodsi4> + 2ec: c9 01 movw r24, r18 + 2ee: 01 97 sbiw r24, 0x01 ; 1 + 2f0: 80 68 ori r24, 0x80 ; 128 + 2f2: 96 6c ori r25, 0xC6 ; 198 + 2f4: 0e 94 f4 00 call 0x1e8 ; 0x1e8 + 2f8: 08 95 ret else rf12_trans(0xC600|((344828UL/baud)-1)); - 242: 9c 01 movw r18, r24 - 244: 40 e0 ldi r20, 0x00 ; 0 - 246: 50 e0 ldi r21, 0x00 ; 0 - 248: 6c ef ldi r22, 0xFC ; 252 - 24a: 72 e4 ldi r23, 0x42 ; 66 - 24c: 85 e0 ldi r24, 0x05 ; 5 - 24e: 90 e0 ldi r25, 0x00 ; 0 - 250: 0e 94 bd 01 call 0x37a ; 0x37a <__udivmodsi4> - 254: c9 01 movw r24, r18 - 256: 01 97 sbiw r24, 0x01 ; 1 - 258: 96 6c ori r25, 0xC6 ; 198 - 25a: 0e 94 98 00 call 0x130 ; 0x130 - 25e: 08 95 ret + 2fa: 9c 01 movw r18, r24 + 2fc: 40 e0 ldi r20, 0x00 ; 0 + 2fe: 50 e0 ldi r21, 0x00 ; 0 + 300: 6c ef ldi r22, 0xFC ; 252 + 302: 72 e4 ldi r23, 0x42 ; 66 + 304: 85 e0 ldi r24, 0x05 ; 5 + 306: 90 e0 ldi r25, 0x00 ; 0 + 308: 0e 94 19 02 call 0x432 ; 0x432 <__udivmodsi4> + 30c: c9 01 movw r24, r18 + 30e: 01 97 sbiw r24, 0x01 ; 1 + 310: 96 6c ori r25, 0xC6 ; 198 + 312: 0e 94 f4 00 call 0x1e8 ; 0x1e8 + 316: 08 95 ret -00000260 : +00000318 : } void rf12_setpower(unsigned char power, unsigned char mod) { rf12_trans(0x9800|(power&7)|((mod&15)<<4)); - 260: 90 e0 ldi r25, 0x00 ; 0 - 262: 87 70 andi r24, 0x07 ; 7 - 264: 90 70 andi r25, 0x00 ; 0 - 266: 98 69 ori r25, 0x98 ; 152 - 268: 70 e0 ldi r23, 0x00 ; 0 - 26a: 62 95 swap r22 - 26c: 72 95 swap r23 - 26e: 70 7f andi r23, 0xF0 ; 240 - 270: 76 27 eor r23, r22 - 272: 60 7f andi r22, 0xF0 ; 240 - 274: 76 27 eor r23, r22 - 276: 70 70 andi r23, 0x00 ; 0 - 278: 86 2b or r24, r22 - 27a: 97 2b or r25, r23 - 27c: 0e 94 98 00 call 0x130 ; 0x130 + 318: 90 e0 ldi r25, 0x00 ; 0 + 31a: 87 70 andi r24, 0x07 ; 7 + 31c: 90 70 andi r25, 0x00 ; 0 + 31e: 98 69 ori r25, 0x98 ; 152 + 320: 70 e0 ldi r23, 0x00 ; 0 + 322: 62 95 swap r22 + 324: 72 95 swap r23 + 326: 70 7f andi r23, 0xF0 ; 240 + 328: 76 27 eor r23, r22 + 32a: 60 7f andi r22, 0xF0 ; 240 + 32c: 76 27 eor r23, r22 + 32e: 70 70 andi r23, 0x00 ; 0 + 330: 86 2b or r24, r22 + 332: 97 2b or r25, r23 + 334: 0e 94 f4 00 call 0x1e8 ; 0x1e8 } - 280: 08 95 ret + 338: 08 95 ret -00000282 : +0000033a : void rf12_ready(void) { cbi(RF_PORT, CS); - 282: 93 98 cbi 0x12, 3 ; 18 + 33a: 93 98 cbi 0x12, 3 ; 18 while (!(RF_PIN&(1< + 33c: 86 9b sbis 0x10, 6 ; 16 + 33e: fe cf rjmp .-4 ; 0x33c } - 288: 08 95 ret + 340: 08 95 ret -0000028a : +00000342 : void rf12_txdata(unsigned char *data, unsigned char number) { unsigned char i; - 28a: 0f 93 push r16 - 28c: 1f 93 push r17 - 28e: cf 93 push r28 - 290: df 93 push r29 - 292: 8c 01 movw r16, r24 - 294: c6 2f mov r28, r22 + 342: 0f 93 push r16 + 344: 1f 93 push r17 + 346: cf 93 push r28 + 348: df 93 push r29 + 34a: 8c 01 movw r16, r24 + 34c: c6 2f mov r28, r22 rf12_trans(0x8238); // TX on - 296: 88 e3 ldi r24, 0x38 ; 56 - 298: 92 e8 ldi r25, 0x82 ; 130 - 29a: 0e 94 98 00 call 0x130 ; 0x130 + 34e: 88 e3 ldi r24, 0x38 ; 56 + 350: 92 e8 ldi r25, 0x82 ; 130 + 352: 0e 94 f4 00 call 0x1e8 ; 0x1e8 rf12_ready(); - 29e: 0e 94 41 01 call 0x282 ; 0x282 + 356: 0e 94 9d 01 call 0x33a ; 0x33a rf12_trans(0xB8AA); - 2a2: 8a ea ldi r24, 0xAA ; 170 - 2a4: 98 eb ldi r25, 0xB8 ; 184 - 2a6: 0e 94 98 00 call 0x130 ; 0x130 + 35a: 8a ea ldi r24, 0xAA ; 170 + 35c: 98 eb ldi r25, 0xB8 ; 184 + 35e: 0e 94 f4 00 call 0x1e8 ; 0x1e8 rf12_ready(); - 2aa: 0e 94 41 01 call 0x282 ; 0x282 + 362: 0e 94 9d 01 call 0x33a ; 0x33a rf12_trans(0xB8AA); - 2ae: 8a ea ldi r24, 0xAA ; 170 - 2b0: 98 eb ldi r25, 0xB8 ; 184 - 2b2: 0e 94 98 00 call 0x130 ; 0x130 + 366: 8a ea ldi r24, 0xAA ; 170 + 368: 98 eb ldi r25, 0xB8 ; 184 + 36a: 0e 94 f4 00 call 0x1e8 ; 0x1e8 rf12_ready(); - 2b6: 0e 94 41 01 call 0x282 ; 0x282 + 36e: 0e 94 9d 01 call 0x33a ; 0x33a rf12_trans(0xB8AA); - 2ba: 8a ea ldi r24, 0xAA ; 170 - 2bc: 98 eb ldi r25, 0xB8 ; 184 - 2be: 0e 94 98 00 call 0x130 ; 0x130 + 372: 8a ea ldi r24, 0xAA ; 170 + 374: 98 eb ldi r25, 0xB8 ; 184 + 376: 0e 94 f4 00 call 0x1e8 ; 0x1e8 rf12_ready(); - 2c2: 0e 94 41 01 call 0x282 ; 0x282 + 37a: 0e 94 9d 01 call 0x33a ; 0x33a rf12_trans(0xB82D); - 2c6: 8d e2 ldi r24, 0x2D ; 45 - 2c8: 98 eb ldi r25, 0xB8 ; 184 - 2ca: 0e 94 98 00 call 0x130 ; 0x130 + 37e: 8d e2 ldi r24, 0x2D ; 45 + 380: 98 eb ldi r25, 0xB8 ; 184 + 382: 0e 94 f4 00 call 0x1e8 ; 0x1e8 rf12_ready(); - 2ce: 0e 94 41 01 call 0x282 ; 0x282 + 386: 0e 94 9d 01 call 0x33a ; 0x33a rf12_trans(0xB8D4); - 2d2: 84 ed ldi r24, 0xD4 ; 212 - 2d4: 98 eb ldi r25, 0xB8 ; 184 - 2d6: 0e 94 98 00 call 0x130 ; 0x130 + 38a: 84 ed ldi r24, 0xD4 ; 212 + 38c: 98 eb ldi r25, 0xB8 ; 184 + 38e: 0e 94 f4 00 call 0x1e8 ; 0x1e8 for (i=0; i + 392: cc 23 and r28, r28 + 394: 99 f0 breq .+38 ; 0x3bc void rf12_ready(void) { cbi(RF_PORT, CS); while (!(RF_PIN&(1< + 3a4: 0e 94 9d 01 call 0x33a ; 0x33a rf12_trans(0xB800|(*data++)); - 2f0: f8 01 movw r30, r16 - 2f2: 81 91 ld r24, Z+ - 2f4: 8f 01 movw r16, r30 - 2f6: 90 e0 ldi r25, 0x00 ; 0 - 2f8: 98 6b ori r25, 0xB8 ; 184 - 2fa: 0e 94 98 00 call 0x130 ; 0x130 + 3a8: f8 01 movw r30, r16 + 3aa: 81 91 ld r24, Z+ + 3ac: 8f 01 movw r16, r30 + 3ae: 90 e0 ldi r25, 0x00 ; 0 + 3b0: 98 6b ori r25, 0xB8 ; 184 + 3b2: 0e 94 f4 00 call 0x1e8 ; 0x1e8 rf12_trans(0xB8AA); rf12_ready(); rf12_trans(0xB82D); rf12_ready(); rf12_trans(0xB8D4); for (i=0; i + 3b6: 0c 17 cp r16, r28 + 3b8: 1d 07 cpc r17, r29 + 3ba: a1 f7 brne .-24 ; 0x3a4 { rf12_ready(); rf12_trans(0xB800|(*data++)); } rf12_ready(); - 304: 0e 94 41 01 call 0x282 ; 0x282 + 3bc: 0e 94 9d 01 call 0x33a ; 0x33a rf12_trans(0x8208); // TX off - 308: 88 e0 ldi r24, 0x08 ; 8 - 30a: 92 e8 ldi r25, 0x82 ; 130 - 30c: 0e 94 98 00 call 0x130 ; 0x130 + 3c0: 88 e0 ldi r24, 0x08 ; 8 + 3c2: 92 e8 ldi r25, 0x82 ; 130 + 3c4: 0e 94 f4 00 call 0x1e8 ; 0x1e8 } - 310: df 91 pop r29 - 312: cf 91 pop r28 - 314: 1f 91 pop r17 - 316: 0f 91 pop r16 - 318: 08 95 ret + 3c8: df 91 pop r29 + 3ca: cf 91 pop r28 + 3cc: 1f 91 pop r17 + 3ce: 0f 91 pop r16 + 3d0: 08 95 ret -0000031a : +000003d2 : void rf12_rxdata(unsigned char *data, unsigned char number) { unsigned char i; - 31a: 0f 93 push r16 - 31c: 1f 93 push r17 - 31e: cf 93 push r28 - 320: df 93 push r29 - 322: 8c 01 movw r16, r24 - 324: d6 2f mov r29, r22 + 3d2: 0f 93 push r16 + 3d4: 1f 93 push r17 + 3d6: cf 93 push r28 + 3d8: df 93 push r29 + 3da: 8c 01 movw r16, r24 + 3dc: d6 2f mov r29, r22 rf12_trans(0x82C8); // RX on - 326: 88 ec ldi r24, 0xC8 ; 200 - 328: 92 e8 ldi r25, 0x82 ; 130 - 32a: 0e 94 98 00 call 0x130 ; 0x130 + 3de: 88 ec ldi r24, 0xC8 ; 200 + 3e0: 92 e8 ldi r25, 0x82 ; 130 + 3e2: 0e 94 f4 00 call 0x1e8 ; 0x1e8 rf12_trans(0xCA81); // set FIFO mode - 32e: 81 e8 ldi r24, 0x81 ; 129 - 330: 9a ec ldi r25, 0xCA ; 202 - 332: 0e 94 98 00 call 0x130 ; 0x130 + 3e6: 81 e8 ldi r24, 0x81 ; 129 + 3e8: 9a ec ldi r25, 0xCA ; 202 + 3ea: 0e 94 f4 00 call 0x1e8 ; 0x1e8 rf12_trans(0xCA83); // enable FIFO - 336: 83 e8 ldi r24, 0x83 ; 131 - 338: 9a ec ldi r25, 0xCA ; 202 - 33a: 0e 94 98 00 call 0x130 ; 0x130 + 3ee: 83 e8 ldi r24, 0x83 ; 131 + 3f0: 9a ec ldi r25, 0xCA ; 202 + 3f2: 0e 94 f4 00 call 0x1e8 ; 0x1e8 for (i=0; i + 3f6: dd 23 and r29, r29 + 3f8: 99 f0 breq .+38 ; 0x420 } rf12_ready(); rf12_trans(0x8208); // TX off } void rf12_rxdata(unsigned char *data, unsigned char number) - 342: c8 01 movw r24, r16 - 344: 01 96 adiw r24, 0x01 ; 1 - 346: d1 50 subi r29, 0x01 ; 1 - 348: 9c 01 movw r18, r24 - 34a: 2d 0f add r18, r29 - 34c: 31 1d adc r19, r1 - 34e: e9 01 movw r28, r18 + 3fa: c8 01 movw r24, r16 + 3fc: 01 96 adiw r24, 0x01 ; 1 + 3fe: d1 50 subi r29, 0x01 ; 1 + 400: 9c 01 movw r18, r24 + 402: 2d 0f add r18, r29 + 404: 31 1d adc r19, r1 + 406: e9 01 movw r28, r18 { unsigned char i; rf12_trans(0x82C8); // RX on rf12_trans(0xCA81); // set FIFO mode rf12_trans(0xCA83); // enable FIFO for (i=0; i + 408: 0e 94 9d 01 call 0x33a ; 0x33a *data++=rf12_trans(0xB000); - 354: 80 e0 ldi r24, 0x00 ; 0 - 356: 90 eb ldi r25, 0xB0 ; 176 - 358: 0e 94 98 00 call 0x130 ; 0x130 - 35c: f8 01 movw r30, r16 - 35e: 81 93 st Z+, r24 - 360: 8f 01 movw r16, r30 + 40c: 80 e0 ldi r24, 0x00 ; 0 + 40e: 90 eb ldi r25, 0xB0 ; 176 + 410: 0e 94 f4 00 call 0x1e8 ; 0x1e8 + 414: f8 01 movw r30, r16 + 416: 81 93 st Z+, r24 + 418: 8f 01 movw r16, r30 void rf12_rxdata(unsigned char *data, unsigned char number) { unsigned char i; rf12_trans(0x82C8); // RX on rf12_trans(0xCA81); // set FIFO mode rf12_trans(0xCA83); // enable FIFO for (i=0; i + 41a: ec 17 cp r30, r28 + 41c: fd 07 cpc r31, r29 + 41e: a1 f7 brne .-24 ; 0x408 { rf12_ready(); *data++=rf12_trans(0xB000); } rf12_trans(0x8208); // RX off - 368: 88 e0 ldi r24, 0x08 ; 8 - 36a: 92 e8 ldi r25, 0x82 ; 130 - 36c: 0e 94 98 00 call 0x130 ; 0x130 - 370: df 91 pop r29 - 372: cf 91 pop r28 - 374: 1f 91 pop r17 - 376: 0f 91 pop r16 - 378: 08 95 ret + 420: 88 e0 ldi r24, 0x08 ; 8 + 422: 92 e8 ldi r25, 0x82 ; 130 + 424: 0e 94 f4 00 call 0x1e8 ; 0x1e8 + 428: df 91 pop r29 + 42a: cf 91 pop r28 + 42c: 1f 91 pop r17 + 42e: 0f 91 pop r16 + 430: 08 95 ret -0000037a <__udivmodsi4>: - 37a: a1 e2 ldi r26, 0x21 ; 33 - 37c: 1a 2e mov r1, r26 - 37e: aa 1b sub r26, r26 - 380: bb 1b sub r27, r27 - 382: fd 01 movw r30, r26 - 384: 0d c0 rjmp .+26 ; 0x3a0 <__udivmodsi4_ep> +00000432 <__udivmodsi4>: + 432: a1 e2 ldi r26, 0x21 ; 33 + 434: 1a 2e mov r1, r26 + 436: aa 1b sub r26, r26 + 438: bb 1b sub r27, r27 + 43a: fd 01 movw r30, r26 + 43c: 0d c0 rjmp .+26 ; 0x458 <__udivmodsi4_ep> -00000386 <__udivmodsi4_loop>: - 386: aa 1f adc r26, r26 - 388: bb 1f adc r27, r27 - 38a: ee 1f adc r30, r30 - 38c: ff 1f adc r31, r31 - 38e: a2 17 cp r26, r18 - 390: b3 07 cpc r27, r19 - 392: e4 07 cpc r30, r20 - 394: f5 07 cpc r31, r21 - 396: 20 f0 brcs .+8 ; 0x3a0 <__udivmodsi4_ep> - 398: a2 1b sub r26, r18 - 39a: b3 0b sbc r27, r19 - 39c: e4 0b sbc r30, r20 - 39e: f5 0b sbc r31, r21 +0000043e <__udivmodsi4_loop>: + 43e: aa 1f adc r26, r26 + 440: bb 1f adc r27, r27 + 442: ee 1f adc r30, r30 + 444: ff 1f adc r31, r31 + 446: a2 17 cp r26, r18 + 448: b3 07 cpc r27, r19 + 44a: e4 07 cpc r30, r20 + 44c: f5 07 cpc r31, r21 + 44e: 20 f0 brcs .+8 ; 0x458 <__udivmodsi4_ep> + 450: a2 1b sub r26, r18 + 452: b3 0b sbc r27, r19 + 454: e4 0b sbc r30, r20 + 456: f5 0b sbc r31, r21 -000003a0 <__udivmodsi4_ep>: - 3a0: 66 1f adc r22, r22 - 3a2: 77 1f adc r23, r23 - 3a4: 88 1f adc r24, r24 - 3a6: 99 1f adc r25, r25 - 3a8: 1a 94 dec r1 - 3aa: 69 f7 brne .-38 ; 0x386 <__udivmodsi4_loop> - 3ac: 60 95 com r22 - 3ae: 70 95 com r23 - 3b0: 80 95 com r24 - 3b2: 90 95 com r25 - 3b4: 9b 01 movw r18, r22 - 3b6: ac 01 movw r20, r24 - 3b8: bd 01 movw r22, r26 - 3ba: cf 01 movw r24, r30 - 3bc: 08 95 ret +00000458 <__udivmodsi4_ep>: + 458: 66 1f adc r22, r22 + 45a: 77 1f adc r23, r23 + 45c: 88 1f adc r24, r24 + 45e: 99 1f adc r25, r25 + 460: 1a 94 dec r1 + 462: 69 f7 brne .-38 ; 0x43e <__udivmodsi4_loop> + 464: 60 95 com r22 + 466: 70 95 com r23 + 468: 80 95 com r24 + 46a: 90 95 com r25 + 46c: 9b 01 movw r18, r22 + 46e: ac 01 movw r20, r24 + 470: bd 01 movw r22, r26 + 472: cf 01 movw r24, r30 + 474: 08 95 ret -000003be <__divmodsi4>: - 3be: 97 fb bst r25, 7 - 3c0: 09 2e mov r0, r25 - 3c2: 05 26 eor r0, r21 - 3c4: 0e d0 rcall .+28 ; 0x3e2 <__divmodsi4_neg1> - 3c6: 57 fd sbrc r21, 7 - 3c8: 04 d0 rcall .+8 ; 0x3d2 <__divmodsi4_neg2> - 3ca: d7 df rcall .-82 ; 0x37a <__udivmodsi4> - 3cc: 0a d0 rcall .+20 ; 0x3e2 <__divmodsi4_neg1> - 3ce: 00 1c adc r0, r0 - 3d0: 38 f4 brcc .+14 ; 0x3e0 <__divmodsi4_exit> +00000476 <__divmodsi4>: + 476: 97 fb bst r25, 7 + 478: 09 2e mov r0, r25 + 47a: 05 26 eor r0, r21 + 47c: 0e d0 rcall .+28 ; 0x49a <__divmodsi4_neg1> + 47e: 57 fd sbrc r21, 7 + 480: 04 d0 rcall .+8 ; 0x48a <__divmodsi4_neg2> + 482: d7 df rcall .-82 ; 0x432 <__udivmodsi4> + 484: 0a d0 rcall .+20 ; 0x49a <__divmodsi4_neg1> + 486: 00 1c adc r0, r0 + 488: 38 f4 brcc .+14 ; 0x498 <__divmodsi4_exit> -000003d2 <__divmodsi4_neg2>: - 3d2: 50 95 com r21 - 3d4: 40 95 com r20 - 3d6: 30 95 com r19 - 3d8: 21 95 neg r18 - 3da: 3f 4f sbci r19, 0xFF ; 255 - 3dc: 4f 4f sbci r20, 0xFF ; 255 - 3de: 5f 4f sbci r21, 0xFF ; 255 +0000048a <__divmodsi4_neg2>: + 48a: 50 95 com r21 + 48c: 40 95 com r20 + 48e: 30 95 com r19 + 490: 21 95 neg r18 + 492: 3f 4f sbci r19, 0xFF ; 255 + 494: 4f 4f sbci r20, 0xFF ; 255 + 496: 5f 4f sbci r21, 0xFF ; 255 -000003e0 <__divmodsi4_exit>: - 3e0: 08 95 ret +00000498 <__divmodsi4_exit>: + 498: 08 95 ret -000003e2 <__divmodsi4_neg1>: - 3e2: f6 f7 brtc .-4 ; 0x3e0 <__divmodsi4_exit> - 3e4: 90 95 com r25 - 3e6: 80 95 com r24 - 3e8: 70 95 com r23 - 3ea: 61 95 neg r22 - 3ec: 7f 4f sbci r23, 0xFF ; 255 - 3ee: 8f 4f sbci r24, 0xFF ; 255 - 3f0: 9f 4f sbci r25, 0xFF ; 255 - 3f2: 08 95 ret +0000049a <__divmodsi4_neg1>: + 49a: f6 f7 brtc .-4 ; 0x498 <__divmodsi4_exit> + 49c: 90 95 com r25 + 49e: 80 95 com r24 + 4a0: 70 95 com r23 + 4a2: 61 95 neg r22 + 4a4: 7f 4f sbci r23, 0xFF ; 255 + 4a6: 8f 4f sbci r24, 0xFF ; 255 + 4a8: 9f 4f sbci r25, 0xFF ; 255 + 4aa: 08 95 ret -000003f4 <_exit>: - 3f4: f8 94 cli +000004ac <_exit>: + 4ac: f8 94 cli -000003f6 <__stop_program>: - 3f6: ff cf rjmp .-2 ; 0x3f6 <__stop_program> +000004ae <__stop_program>: + 4ae: ff cf rjmp .-2 ; 0x4ae <__stop_program> diff --git a/Reciver/Reciver/Debug/Reciver.map b/Reciver/Reciver/Debug/Reciver.map index 6facd7c..be12ead 100644 --- a/Reciver/Reciver/Debug/Reciver.map +++ b/Reciver/Reciver/Debug/Reciver.map @@ -124,7 +124,7 @@ LOAD e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoo .rela.plt *(.rela.plt) -.text 0x00000000 0x3f8 +.text 0x00000000 0x4b0 *(.vectors) .vectors 0x00000000 0x54 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/../../../../avr/lib/avr5/crtm16a.o 0x00000000 __vector_default @@ -192,7 +192,6 @@ LOAD e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoo 0x0000008e __vector_7 0x0000008e __vector_5 0x0000008e __vector_4 - 0x0000008e __vector_9 0x0000008e __vector_2 0x0000008e __vector_15 0x0000008e __vector_8 @@ -201,39 +200,42 @@ LOAD e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoo 0x0000008e __vector_16 0x0000008e __vector_18 0x0000008e __vector_20 - .text 0x00000092 0x9e Reciver.o - 0x00000092 recive - 0x000000d0 send - 0x00000102 main - .text 0x00000130 0x24a rf12.o - 0x00000130 rf12_trans - 0x00000162 rf12_init - 0x000001b6 rf12_setbandwidth - 0x000001f2 rf12_setfreq - 0x00000212 rf12_setbaud - 0x00000260 rf12_setpower - 0x00000282 rf12_ready - 0x0000028a rf12_txdata - 0x0000031a rf12_rxdata - .text 0x0000037a 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_udivmodsi4.o) - .text 0x0000037a 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_divmodsi4.o) - .text 0x0000037a 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_exit.o) - .text 0x0000037a 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_copy_data.o) - .text 0x0000037a 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_clear_bss.o) - 0x0000037a . = ALIGN (0x2) + .text 0x00000092 0x156 Reciver.o + 0x00000092 turn + 0x000000de recive + 0x00000110 send + 0x00000142 init_timer + 0x00000152 __vector_9 + 0x000001b6 main + .text 0x000001e8 0x24a rf12.o + 0x000001e8 rf12_trans + 0x0000021a rf12_init + 0x0000026e rf12_setbandwidth + 0x000002aa rf12_setfreq + 0x000002ca rf12_setbaud + 0x00000318 rf12_setpower + 0x0000033a rf12_ready + 0x00000342 rf12_txdata + 0x000003d2 rf12_rxdata + .text 0x00000432 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_udivmodsi4.o) + .text 0x00000432 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_divmodsi4.o) + .text 0x00000432 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_exit.o) + .text 0x00000432 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_copy_data.o) + .text 0x00000432 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_clear_bss.o) + 0x00000432 . = ALIGN (0x2) *(.text.*) - .text.libgcc 0x0000037a 0x44 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_udivmodsi4.o) - 0x0000037a __udivmodsi4 - .text.libgcc 0x000003be 0x36 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_divmodsi4.o) - 0x000003be __divmodsi4 - .text.libgcc 0x000003f4 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_exit.o) - .text.libgcc 0x000003f4 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_copy_data.o) - .text.libgcc 0x000003f4 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_clear_bss.o) - 0x000003f4 . = ALIGN (0x2) + .text.libgcc 0x00000432 0x44 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_udivmodsi4.o) + 0x00000432 __udivmodsi4 + .text.libgcc 0x00000476 0x36 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_divmodsi4.o) + 0x00000476 __divmodsi4 + .text.libgcc 0x000004ac 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_exit.o) + .text.libgcc 0x000004ac 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_copy_data.o) + .text.libgcc 0x000004ac 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_clear_bss.o) + 0x000004ac . = ALIGN (0x2) *(.fini9) - .fini9 0x000003f4 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_exit.o) - 0x000003f4 _exit - 0x000003f4 exit + .fini9 0x000004ac 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_exit.o) + 0x000004ac _exit + 0x000004ac exit *(.fini9) *(.fini8) *(.fini8) @@ -252,11 +254,11 @@ LOAD e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoo *(.fini1) *(.fini1) *(.fini0) - .fini0 0x000003f4 0x4 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_exit.o) + .fini0 0x000004ac 0x4 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_exit.o) *(.fini0) - 0x000003f8 _etext = . + 0x000004b0 _etext = . -.data 0x00800060 0x0 load address 0x000003f8 +.data 0x00800060 0x0 load address 0x000004b0 0x00800060 PROVIDE (__data_start, .) *(.data) .data 0x00800060 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/../../../../avr/lib/avr5/crtm16a.o @@ -275,29 +277,30 @@ LOAD e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoo 0x00800060 _edata = . 0x00800060 PROVIDE (__data_end, .) -.bss 0x00800060 0x0 +.bss 0x00800060 0x2 0x00800060 PROVIDE (__bss_start, .) *(.bss) .bss 0x00800060 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/../../../../avr/lib/avr5/crtm16a.o - .bss 0x00800060 0x0 Reciver.o - .bss 0x00800060 0x0 rf12.o - .bss 0x00800060 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_udivmodsi4.o) - .bss 0x00800060 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_divmodsi4.o) - .bss 0x00800060 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_exit.o) - .bss 0x00800060 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_copy_data.o) - .bss 0x00800060 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_clear_bss.o) + .bss 0x00800060 0x2 Reciver.o + 0x00800060 servopos + .bss 0x00800062 0x0 rf12.o + .bss 0x00800062 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_udivmodsi4.o) + .bss 0x00800062 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_divmodsi4.o) + .bss 0x00800062 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_exit.o) + .bss 0x00800062 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_copy_data.o) + .bss 0x00800062 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_clear_bss.o) *(.bss*) *(COMMON) - 0x00800060 PROVIDE (__bss_end, .) - 0x000003f8 __data_load_start = LOADADDR (.data) - 0x000003f8 __data_load_end = (__data_load_start + SIZEOF (.data)) + 0x00800062 PROVIDE (__bss_end, .) + 0x000004b0 __data_load_start = LOADADDR (.data) + 0x000004b0 __data_load_end = (__data_load_start + SIZEOF (.data)) -.noinit 0x00800060 0x0 - 0x00800060 PROVIDE (__noinit_start, .) +.noinit 0x00800062 0x0 + 0x00800062 PROVIDE (__noinit_start, .) *(.noinit*) - 0x00800060 PROVIDE (__noinit_end, .) - 0x00800060 _end = . - 0x00800060 PROVIDE (__heap_start, .) + 0x00800062 PROVIDE (__noinit_end, .) + 0x00800062 _end = . + 0x00800062 PROVIDE (__heap_start, .) .eeprom 0x00810000 0x0 *(.eeprom*) @@ -370,53 +373,53 @@ LOAD e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoo .debug_pubnames *(.debug_pubnames) -.debug_info 0x00000000 0x989 +.debug_info 0x00000000 0xb4f *(.debug_info) - .debug_info 0x00000000 0x1cd Reciver.o - .debug_info 0x000001cd 0x36b rf12.o - .debug_info 0x00000538 0xdd e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_udivmodsi4.o) - .debug_info 0x00000615 0xdd e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_divmodsi4.o) - .debug_info 0x000006f2 0xdd e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_exit.o) - .debug_info 0x000007cf 0xdd e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_copy_data.o) - .debug_info 0x000008ac 0xdd e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_clear_bss.o) + .debug_info 0x00000000 0x393 Reciver.o + .debug_info 0x00000393 0x36b rf12.o + .debug_info 0x000006fe 0xdd e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_udivmodsi4.o) + .debug_info 0x000007db 0xdd e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_divmodsi4.o) + .debug_info 0x000008b8 0xdd e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_exit.o) + .debug_info 0x00000995 0xdd e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_copy_data.o) + .debug_info 0x00000a72 0xdd e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_clear_bss.o) *(.gnu.linkonce.wi.*) -.debug_abbrev 0x00000000 0x2ea +.debug_abbrev 0x00000000 0x37b *(.debug_abbrev) - .debug_abbrev 0x00000000 0x113 Reciver.o - .debug_abbrev 0x00000113 0x173 rf12.o - .debug_abbrev 0x00000286 0x14 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_udivmodsi4.o) - .debug_abbrev 0x0000029a 0x14 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_divmodsi4.o) - .debug_abbrev 0x000002ae 0x14 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_exit.o) - .debug_abbrev 0x000002c2 0x14 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_copy_data.o) - .debug_abbrev 0x000002d6 0x14 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_clear_bss.o) + .debug_abbrev 0x00000000 0x1a4 Reciver.o + .debug_abbrev 0x000001a4 0x173 rf12.o + .debug_abbrev 0x00000317 0x14 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_udivmodsi4.o) + .debug_abbrev 0x0000032b 0x14 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_divmodsi4.o) + .debug_abbrev 0x0000033f 0x14 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_exit.o) + .debug_abbrev 0x00000353 0x14 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_copy_data.o) + .debug_abbrev 0x00000367 0x14 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_clear_bss.o) -.debug_line 0x00000000 0x662 +.debug_line 0x00000000 0x6a3 *(.debug_line) - .debug_line 0x00000000 0x191 Reciver.o - .debug_line 0x00000191 0x1e1 rf12.o - .debug_line 0x00000372 0xa8 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_udivmodsi4.o) - .debug_line 0x0000041a 0xa1 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_divmodsi4.o) - .debug_line 0x000004bb 0x88 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_exit.o) - .debug_line 0x00000543 0x91 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_copy_data.o) - .debug_line 0x000005d4 0x8e e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_clear_bss.o) + .debug_line 0x00000000 0x1d2 Reciver.o + .debug_line 0x000001d2 0x1e1 rf12.o + .debug_line 0x000003b3 0xa8 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_udivmodsi4.o) + .debug_line 0x0000045b 0xa1 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_divmodsi4.o) + .debug_line 0x000004fc 0x88 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_exit.o) + .debug_line 0x00000584 0x91 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_copy_data.o) + .debug_line 0x00000615 0x8e e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_clear_bss.o) -.debug_frame 0x00000000 0x130 +.debug_frame 0x00000000 0x180 *(.debug_frame) - .debug_frame 0x00000000 0x64 Reciver.o - .debug_frame 0x00000064 0xcc rf12.o + .debug_frame 0x00000000 0xb4 Reciver.o + .debug_frame 0x000000b4 0xcc rf12.o -.debug_str 0x00000000 0x1ca +.debug_str 0x00000000 0x1ee *(.debug_str) - .debug_str 0x00000000 0x10d Reciver.o - 0x141 (size before relaxing) - .debug_str 0x0000010d 0xbd rf12.o + .debug_str 0x00000000 0x140 Reciver.o + 0x174 (size before relaxing) + .debug_str 0x00000140 0xae rf12.o 0x1f8 (size before relaxing) -.debug_loc 0x00000000 0x384 +.debug_loc 0x00000000 0x408 *(.debug_loc) - .debug_loc 0x00000000 0xd8 Reciver.o - .debug_loc 0x000000d8 0x2ac rf12.o + .debug_loc 0x00000000 0x15c Reciver.o + .debug_loc 0x0000015c 0x2ac rf12.o .debug_macinfo *(.debug_macinfo) diff --git a/Reciver/Reciver/Debug/Reciver.srec b/Reciver/Reciver/Debug/Reciver.srec index 03aac1f..cfe57b6 100644 --- a/Reciver/Reciver/Debug/Reciver.srec +++ b/Reciver/Reciver/Debug/Reciver.srec @@ -1,66 +1,77 @@ S00F0000526563697665722E7372656345 S11300000C942A000C9447000C9447000C9447006D S11300100C9447000C9447000C9447000C94470040 -S11300200C9447000C9447000C9447000C94470030 +S11300200C9447000C94A9000C9447000C944700CE S11300300C9447000C9447000C9447000C94470020 S11300400C9447000C9447000C9447000C94470010 S11300500C94470011241FBECFE5D4E0DEBFCDBF12 -S113006010E0A0E6B0E0E8EFF3E002C005900D92E6 +S113006010E0A0E6B0E0E0EBF4E002C005900D92F1 S1130070A036B107D9F710E0A0E6B0E001C01D92A8 -S1130080A036B107E1F70E9481000C94FA010C94A8 -S11300900000CF93DF9300D0CDB7DEB719821A8268 -S11300A0CE01019662E00E948D018981873359F463 -S11300B08A81833641F4C09A8FE39CE90197F1F772 -S11300C000C00000C0980F900F90DF91CF91089569 -S11300D0CF93DF930F92CDB7DEB781E08983CE0152 -S11300E0019661E00E9445018FEF90E7A2E0815004 -S11300F09040A040E1F700C000000F90DF91CF9145 -S113010008950E94B10080E296E00E94F90081E027 -S113011060E047E00E94DB0080E895E20E9409016C -S113012080E066E00E943001B89A0E944900FDCF49 -S1130130939840E120E030E0992314F4959A01C0AB -S11301409598220F331F86992160949A880F991FDE -S113015000C000009498415079F7939A822F932F0E -S1130160089588E381BB88E082BB8FEF90E7A2E02B -S113017081509040A040E1F700C0000080EE90EC78 -S11301800E94980087ED90E80E9498008BEA92EC18 -S11301900E94980081E89AEC0E94980080E090EE1A -S11301A00E94980080E098EC0E94980087EF94ECFD -S11301B00E949800089590E0880F991F8295929567 -S11301C0907F9827807F9827907050E047705070F8 -S11301D0842B952B946970E063707070660F771FA1 -S11301E0660F771F660F771F862B972B0E94980048 -S11301F008958036910538F02FE08034920728F076 -S11302008FE39FE002C080E690E0906A0E9498002D -S1130210089522E08739920710F125E18831920789 -S113022080F49C0140E050E060E678EA80E090E0F1 -S11302300E94DF01C90101978068966C0E949800B2 -S113024008959C0140E050E06CEF72E485E090E09A -S11302500E94BD01C9010197966C0E9498000895FF -S113026090E087709070986970E062957295707FE5 -S11302707627607F76277070862B972B0E949800D4 -S113028008959398869BFECF08950F931F93CF9361 -S1130290DF938C01C62F88E392E80E9498000E94A5 -S11302A041018AEA98EB0E9498000E9441018AEA7F -S11302B098EB0E9498000E9441018AEA98EB0E9400 -S11302C098000E9441018DE298EB0E9498000E94E0 -S11302D0410184ED98EB0E949800CC2399F0C80169 -S11302E00196C1509C012C0F311DE9010E9441016E -S11302F0F80181918F0190E0986B0E9498000C178F -S11303001D07A1F70E94410188E092E80E9498002D -S1130310DF91CF911F910F9108950F931F93CF9366 -S1130320DF938C01D62F88EC92E80E94980081E834 -S11303309AEC0E94980083E89AEC0E949800DD23CE -S113034099F0C8010196D1509C012D0F311DE9018E -S11303500E94410180E090EB0E949800F801819393 -S11303608F01EC17FD07A1F788E092E80E9498003E -S1130370DF91CF911F910F910895A1E21A2EAA1B2C -S1130380BB1BFD010DC0AA1FBB1FEE1FFF1FA21741 -S1130390B307E407F50720F0A21BB30BE40BF50B3E -S11303A0661F771F881F991F1A9469F760957095C7 -S11303B0809590959B01AC01BD01CF01089597FBF9 -S11303C0092E05260ED057FD04D0D7DF0AD0001C15 -S11303D038F450954095309521953F4F4F4F5F4FDE -S11303E00895F6F790958095709561957F4F8F4F9E -S10B03F09F4F0895F894FFCF1C +S1130080A236B107E1F70E94DB000C9456020C94EF +S11300900000B89AC09A8FE39CE90197F1F700C079 +S11300A00000C0988AEC90E0909361008093600017 +S11300B08FEF96E1A1E181509040A040E1F700C0AC +S11300C0000010926100109260008FEF96E1A1E1B0 +S11300D081509040A040E1F700C000000895CF9304 +S11300E0DF9300D0CDB7DEB719821A82CE01019614 +S11300F062E00E94E9018981873329F48A81833689 +S113010011F40E9449000F900F90DF91CF91089550 +S1130110CF93DF930F92CDB7DEB781E08983CE0111 +S1130120019661E00E94A1018FEF90E7A2E0815067 +S11301309040A040E1F700C000000F90DF91CF9104 +S1130140089585E083BF88E582BF1CBE81E089BF36 +S113015008951F920F920FB60F9211242F933F937D +S11301608F939F9388E582BFB99AC19A8FEA94E0EE +S11301700197F1F700C00000809160009091610048 +S11301801816190674F480E090E025E12A95F1F739 +S1130190000001962091600030916100821793075E +S11301A0A4F3C1989F918F913F912F910F900FBE0F +S11301B00F901F9018950E940D0180E296E00E9416 +S11301C0550181E060E047E00E94370180E895E254 +S11301D00E94650180E066E00E948C010E94A100FB +S11301E078940E946F00FDCF939840E120E030E0C6 +S11301F0992314F4959A01C09598220F331F869978 +S11302002160949A880F991F00C00000949841506F +S113021079F7939A822F932F089588E381BB88E01E +S113022082BB8FEF90E7A2E081509040A040E1F7BD +S113023000C0000080EE90EC0E94F40087ED90E88E +S11302400E94F4008BEA92EC0E94F40081E89AEC9C +S11302500E94F40080E090EE0E94F40080E098ECAC +S11302600E94F40087EF94EC0E94F400089590E05B +S1130270880F991F82959295907F9827807F982761 +S1130280907050E047705070842B952B946970E007 +S113029063707070660F771F660F771F660F771F86 +S11302A0862B972B0E94F40008958036910538F030 +S11302B02FE08034920728F08FE39FE002C080E6AD +S11302C090E0906A0E94F400089522E08739920732 +S11302D010F125E18831920780F49C0140E050E060 +S11302E060E678EA80E090E00E943B02C901019751 +S11302F08068966C0E94F40008959C0140E050E0F0 +S11303006CEF72E485E090E00E941902C901019744 +S1130310966C0E94F400089590E08770907098693C +S113032070E062957295707F7627607F7627707093 +S1130330862B972B0E94F40008959398869BFECFFA +S113034008950F931F93CF93DF938C01C62F88E3F7 +S113035092E80E94F4000E949D018AEA98EB0E94B0 +S1130360F4000E949D018AEA98EB0E94F4000E9426 +S11303709D018AEA98EB0E94F4000E949D018DE29F +S113038098EB0E94F4000E949D0184ED98EB0E947A +S1130390F400CC2399F0C8010196C1509C012C0FA4 +S11303A0311DE9010E949D01F80181918F0190E0C6 +S11303B0986B0E94F4000C171D07A1F70E949D0181 +S11303C088E092E80E94F400DF91CF911F910F9191 +S11303D008950F931F93CF93DF938C01D62F88EC4E +S11303E092E80E94F40081E89AEC0E94F40083E809 +S11303F09AEC0E94F400DD2399F0C8010196D150D3 +S11304009C012D0F311DE9010E949D0180E090EBBC +S11304100E94F400F80181938F01EC17FD07A1F706 +S113042088E092E80E94F400DF91CF911F910F9130 +S11304300895A1E21A2EAA1BBB1BFD010DC0AA1F21 +S1130440BB1FEE1FFF1FA217B307E407F50720F039 +S1130450A21BB30BE40BF50B661F771F881F991FB4 +S11304601A9469F760957095809590959B01AC01FD +S1130470BD01CF01089597FB092E05260ED057FD27 +S113048004D0D7DF0AD0001C38F45095409530953D +S113049021953F4F4F4F5F4F0895F6F79095809504 +S11304A0709561957F4F8F4F9F4F0895F894FFCFBC S9030000FC diff --git a/Reciver/Reciver/Reciver.c b/Reciver/Reciver/Reciver.c index 3f8ee5a..3cfee19 100644 --- a/Reciver/Reciver/Reciver.c +++ b/Reciver/Reciver/Reciver.c @@ -7,19 +7,35 @@ #define F_CPU 8000000 +#define LEFT 600 +#define RIGHT 202 +#define STEP 8 + #include +#include #include #include "rf12.h" +volatile int servopos = 0; + +void turn() { + DDRB |= (1<Dat>9BeN}1N=B9?2DyESwsAK>7aT*Kf*=!NKn2JU*qo~~nPswrYR%*WdIExPE*&U$ t`@V6p|K)R=*VSqFu}*H#P@a6ia0lat$(2T4oQ#}6Jv=}R2@E41W&i;%St0-c delta 329 zcmZq3X~@~&!@|fhS&>DaZ31He^FPhWMJ(4?SQ!`?CiiP-Og_NDF}a4-os)qLC?W(E z-TZ~spM{f=8ORleDQpm8nOwo;!|@*o#Ng_<{8>2}rGZ=?n7R^y01hS~hZ`pFMZkaZ zVHU&5C4&B(j9frbMX1c?FM+d5WR}SXG}^?H8RDY;O*?%k{|JwL i@QF>&W}AXsH!)CT@&>~bjB6%W8hL>nzWIw04>JJ3&s${x diff --git a/Sender/Sender/Debug/Sender.d b/Sender/Sender/Debug/Sender.d index 484ddae..c1c5ff1 100644 --- a/Sender/Sender/Debug/Sender.d +++ b/Sender/Sender/Debug/Sender.d @@ -10,6 +10,7 @@ Sender.d Sender.o: .././Sender.c \ e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/version.h \ e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/fuse.h \ e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/lock.h \ + e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/interrupt.h \ e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/util/delay.h \ e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/util/delay_basic.h \ e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/math.h \ @@ -37,6 +38,8 @@ e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolch e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/lock.h: +e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/interrupt.h: + e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/util/delay.h: e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/util/delay_basic.h: diff --git a/Sender/Sender/Debug/Sender.elf b/Sender/Sender/Debug/Sender.elf index 6e0708179b9c3d60f82225f45a0e27ab68c09d0f..377ca9558f70a74e18dc946099811930f3cb73e4 100644 GIT binary patch delta 2682 zcmZWqeQXp}5TCbu*SqUo_pZHuT!pp=Egz{s3ju<~P%aR@5&|MY5($S0M3m54ijt6W z#XzJbrro}_U?midLX05lC13(lN-#nckP!JWq#P6pBuL?}0v79Uw!7C&on&_BH@|r^ z^FH=%+v?7D8pDxS#}e%zqRA8{mBvzl(ntU|LoMl3iCCR*Fvr^HAX-JW)Th4{EV4V; z$)Z40pv+~Qey>yCGFf@pqkkLnd@=QV*X`b|moMsRXaO&AFo}ryQ3b@`VMzX zdspq9*2K-O?L~=IiMfdrUA6aH?%eIFO{_~eZvAy@OLIf_z6WB@6Qj_x_)hhTOD^?J zi+zWwSuz}kLO)=MurQEqSg+ZJHSieV8?Yh+{2B05|Hp4|S^QJ*1CjRe^WBzr5|Q-! zg34%5JnZXL3ol`v721TSL$qOtxB~MOjEmR^Zl+(zH+?H)YhX#rMNlGLJ__VSvSx6s zk0?#tW^YLRiTG)V&w(z4OWTGB1t1eDhWmE|qOs?*0)|u0NzadEiqkwe%;OeA)uynL zCC;;Ng5V15w!Tm zm!8b4{uhS*02@3HWtPkI%yaQ$Sw)IFU1W%vDIzF0WxtYx{mq;}_a!X#V|LL<_Y0iEw(1yuAA%*cRqZp8#C7ZsMe9^_F-r zd{ktt-&no2s%mp(HLc&czB&phJ4fWEMx!6BeY?7%DmpQKV?;=eaSjct5>5;o0TZZf za1~}8Y`kOwCmZ~kF_XeZz6o4xgiYXPW26Z@Y!sOwm5tE`nB5fivW3ghNatgt*aT^8 zj5C482G5eK`q_Bb1OfS=s8n6OX_L$urOSh(GMs#;_Q{_{6^cfAd(^O)+lVB>5jO5q z>`PK`77XF^mdy^ncYnhvF}BPVg`L5feBk6H^s65 zYA<{aTcV~Kl<}~*WkceA%_d5>bz;S>84`Ch7xh2HOf0biD~ALw4dV}Gk>Gg7EHzMe zmok7{A3^lc7RM&*F7u6-A!iGT?r?+hwJ`6GDtSeAqlt z+kEIS3bx3f$IMl+Z_+=ujt3+~C0~5cSf_}6nH(dGA8fr1^WApOh7SQ>wc#Iu@7nNr z;O91c9oYJcGcd_+U_P!a0pMP~Ncv=6af#@Y3yY(89w{#HuBKWuM3vWyV=)Ik!U6@L z{DE+ye_&gmF=N~=N#VpAFlKG|0;rK|_gEi zIJn?S;A-Hoi8lZb7F1~quywC+d=0R@;4WZG!t|tH4&nFPaEv?r8jePcm;>d6aa#cM z9l+cGUX+e=a2|$zM%RYmZeaesu<(lY07uOu%MJAcH)DeM%wk4C{)-OIP$3WS;6^z} z1GdjF7kB~^SPhQ`=HC_zH~cbe{?)Q@1H7FU&v*v#K)yEy1}uPMHM-h>0lWgslK}(# onjx6~(DsIFfcaeT?}f+L#p}kWD(>X<-c)kZlf3oi!qN->0Z?L^)c^nh delta 1795 zcmZWpeP~-%6hHUnrRlP?%?C9ZUDI^2ZJIVZXIZ<>Y0I2C{}3m$_{XGmiuh4cw8|W` z$uDAhsw$2JfL8xM+OA`yxp&Qh6D*FFn>qnt4MpE_DE{oknBtQ2Aw8={2tY^g$ zeG+}p=pD?un1GAOVfifj3yF&iy*&~~M&s1E1N>s}cU$EEzFxz^Fs>BqtwStMc zl8@uFh*muU;!cSW(V9;Ik=Q@my(TFy`@;9oZy+^#6;`?!M&?|7pB(eg)C`+k6Fj)$ zQIpG<-1p$P$~1GXlP33+4A)+Eoj2EcW3~2{R=G3a6MoU-mLCVVhzfabU7L|zw^bAS zjjMILMRS!1^hLbk?kBpplBNsX8(oCWN!R$}I4J5hw;ZS+7JfNje_Hg(kHT3oYP2-8 z3;9rENDfABRiOd2h{1(-8NW837jiNhGNz+Jhdk91lb2e?Z zEzwWN-x4cwf0^B(5YZdR(-O<>^`c$1#nazmqV;m2HLz`8QAHa|I!^@m%JM7e7#=FE z@iAqtktir1h)12v_Yxi9qUB)RTXm&{D2HE#_u3#2$LpNq=+Z%%X${D4;vL*Ac{6_4 z7;V!Ee~PM?-UCs(4^=Yw*jm1I)V3Mk3raTydAc_ mlgxm-Y@&#t2UauYi&>2TyGsGyGfr%DYx3--3-a9uFa8Vu4E_@U diff --git a/Sender/Sender/Debug/Sender.hex b/Sender/Sender/Debug/Sender.hex index 10a414f..a97ab85 100644 --- a/Sender/Sender/Debug/Sender.hex +++ b/Sender/Sender/Debug/Sender.hex @@ -1,9 +1,9 @@ -:1000000012C02CC02BC02AC029C028C027C026C0BF +:1000000012C06BC12BC02AC029C028C027C026C07F :1000100025C024C023C022C021C020C01FC01EC0D4 :100020001DC01CC01BC011241FBECFE5D4E0DEBF25 -:10003000CDBF10E0A0E6B0E0E0E9F3E002C005903B +:10003000CDBF10E0A0E6B0E0ECEFF3E002C0059029 :100040000D92A036B107D9F710E0A0E6B0E001C0EC -:100050001D92A036B107E1F740D198C1D1CFAC983D +:100050001D92A236B107E1F77BD1CEC1D1CFAC98CA :1000600040E120E030E0992314F4AA9A01C0AA9854 :10007000220F331F99992160AB9A880F991F00C0F6 :100080000000AB98415079F7AC9A822F932F0895D6 @@ -18,9 +18,9 @@ :100110008036910538F02FE08034920728F08FE385 :100120009FE002C080E690E0906A99DF089522E0A7 :1001300087399207F0F025E18831920770F49C012D -:1001400040E050E060E678EA80E090E004D1C90148 +:1001400040E050E060E678EA80E090E03AD1C90112 :1001500001978068966C83DF08959C0140E050E031 -:100160006CEF72E485E090E0D4D0C9010197966C01 +:100160006CEF72E485E090E00AD1C9010197966CCA :1001700076DF089590E087709070986970E06295DE :100180007295707F7627607F76277070862B972B0D :1001900066DF0895AC98999BFECF08950F931F9347 @@ -43,16 +43,23 @@ :1002A000DEDE78DF8C2F90E0986BD9DE73DF80E0A4 :1002B00098EBD5DE6FDF88E092E8D1DE8FE19EE437 :1002C0000197F1F700C00000DF91CF91089587E317 -:1002D00090E063E670E0C5DF0895DADE80E296E044 -:1002E00017DF81E060E047E0F6DE80E895E21FDF9F -:1002F00080E066E03FDFA59AAD9AE9DFAD988FEF29 -:1003000094E3ACE081509040A040E1F700C00000D1 -:10031000F3CFA1E21A2EAA1BBB1BFD010DC0AA1F21 -:10032000BB1FEE1FFF1FA217B307E407F50720F05E -:10033000A21BB30BE40BF50B661F771F881F991FD9 -:100340001A9469F760957095809590959B01AC0122 -:10035000BD01CF01089597FB092E05260ED057FD4C -:1003600004D0D7DF0AD0001C38F450954095309562 -:1003700021953F4F4F4F5F4F0895F6F79095809529 -:10038000709561957F4F8F4F9F4F0895F894FFCFE1 +:1002D00090E063E670E0C5DF08951F920F920FB6BD +:1002E0000F9211242F933F934F935F936F937F93BC +:1002F0008F939F93AF93BF93EF93FF93A59AAD9A7C +:10030000E6DF8FEF94E3ACE081509040A040E1F74E +:1003100000C00000AD98FF91EF91BF91AF919F9108 +:100320008F917F916F915F914F913F912F910F909E +:100330000FBE0F901F9018958A98929A85B7826089 +:1003400085BF8BB780648BBF8AB780648ABF0895EE +:100350009FDE80E296E0DCDE81E060E047E0BBDE2D +:1003600080E895E2E4DE80E066E004DFE5DF789493 +:100370008FE39CE90197F1F700C00000F9CFA1E2FB +:100380001A2EAA1BBB1BFD010DC0AA1FBB1FEE1F0F +:10039000FF1FA217B307E407F50720F0A21BB30B5A +:1003A000E40BF50B661F771F881F991F1A9469F7D6 +:1003B00060957095809590959B01AC01BD01CF0132 +:1003C000089597FB092E05260ED057FD04D0D7DFE0 +:1003D0000AD0001C38F450954095309521953F4F38 +:1003E0004F4F5F4F0895F6F7909580957095619502 +:0C03F0007F4F8F4F9F4F0895F894FFCF70 :00000001FF diff --git a/Sender/Sender/Debug/Sender.lss b/Sender/Sender/Debug/Sender.lss index 9a23db8..78b4270 100644 --- a/Sender/Sender/Debug/Sender.lss +++ b/Sender/Sender/Debug/Sender.lss @@ -3,34 +3,36 @@ Sender.elf: file format elf32-avr Sections: Idx Name Size VMA LMA File off Algn - 0 .text 00000390 00000000 00000000 00000074 2**1 + 0 .text 000003fc 00000000 00000000 00000094 2**1 CONTENTS, ALLOC, LOAD, READONLY, CODE - 1 .data 00000000 00800060 00000390 00000404 2**0 + 1 .data 00000000 00800060 000003fc 00000490 2**0 CONTENTS, ALLOC, LOAD, DATA - 2 .stab 000006cc 00000000 00000000 00000404 2**2 + 2 .bss 00000002 00800060 00800060 00000490 2**0 + ALLOC + 3 .stab 000006cc 00000000 00000000 00000490 2**2 CONTENTS, READONLY, DEBUGGING - 3 .stabstr 00000085 00000000 00000000 00000ad0 2**0 + 4 .stabstr 00000085 00000000 00000000 00000b5c 2**0 CONTENTS, READONLY, DEBUGGING - 4 .debug_aranges 000000e0 00000000 00000000 00000b58 2**3 + 5 .debug_aranges 000000e0 00000000 00000000 00000be8 2**3 CONTENTS, READONLY, DEBUGGING - 5 .debug_info 0000097e 00000000 00000000 00000c38 2**0 + 6 .debug_info 00000a03 00000000 00000000 00000cc8 2**0 CONTENTS, READONLY, DEBUGGING - 6 .debug_abbrev 000002cd 00000000 00000000 000015b6 2**0 + 7 .debug_abbrev 00000311 00000000 00000000 000016cb 2**0 CONTENTS, READONLY, DEBUGGING - 7 .debug_line 0000066d 00000000 00000000 00001883 2**0 + 8 .debug_line 00000677 00000000 00000000 000019dc 2**0 CONTENTS, READONLY, DEBUGGING - 8 .debug_frame 0000011c 00000000 00000000 00001ef0 2**2 + 9 .debug_frame 00000184 00000000 00000000 00002054 2**2 CONTENTS, READONLY, DEBUGGING - 9 .debug_str 000001ce 00000000 00000000 0000200c 2**0 + 10 .debug_str 000001ec 00000000 00000000 000021d8 2**0 CONTENTS, READONLY, DEBUGGING - 10 .debug_loc 00000317 00000000 00000000 000021da 2**0 + 11 .debug_loc 000003e2 00000000 00000000 000023c4 2**0 CONTENTS, READONLY, DEBUGGING Disassembly of section .text: 00000000 <__vectors>: 0: 12 c0 rjmp .+36 ; 0x26 <__ctors_end> - 2: 2c c0 rjmp .+88 ; 0x5c <__bad_interrupt> + 2: 6b c1 rjmp .+726 ; 0x2da <__vector_1> 4: 2b c0 rjmp .+86 ; 0x5c <__bad_interrupt> 6: 2a c0 rjmp .+84 ; 0x5c <__bad_interrupt> 8: 29 c0 rjmp .+82 ; 0x5c <__bad_interrupt> @@ -61,7 +63,7 @@ Disassembly of section .text: 32: 10 e0 ldi r17, 0x00 ; 0 34: a0 e6 ldi r26, 0x60 ; 96 36: b0 e0 ldi r27, 0x00 ; 0 - 38: e0 e9 ldi r30, 0x90 ; 144 + 38: ec ef ldi r30, 0xFC ; 252 3a: f3 e0 ldi r31, 0x03 ; 3 3c: 02 c0 rjmp .+4 ; 0x42 <__SREG__+0x3> 3e: 05 90 lpm r0, Z+ @@ -80,11 +82,11 @@ Disassembly of section .text: 50: 1d 92 st X+, r1 00000052 <.do_clear_bss_start>: - 52: a0 36 cpi r26, 0x60 ; 96 + 52: a2 36 cpi r26, 0x62 ; 98 54: b1 07 cpc r27, r17 56: e1 f7 brne .-8 ; 0x50 <.do_clear_bss_loop> - 58: 40 d1 rcall .+640 ; 0x2da
- 5a: 98 c1 rjmp .+816 ; 0x38c <_exit> + 58: 7b d1 rcall .+758 ; 0x350
+ 5a: ce c1 rjmp .+924 ; 0x3f8 <_exit> 0000005c <__bad_interrupt>: 5c: d1 cf rjmp .-94 ; 0x0 <__vectors> @@ -306,7 +308,7 @@ void rf12_setbaud(unsigned short baud) 146: 78 ea ldi r23, 0xA8 ; 168 148: 80 e0 ldi r24, 0x00 ; 0 14a: 90 e0 ldi r25, 0x00 ; 0 - 14c: 04 d1 rcall .+520 ; 0x356 <__divmodsi4> + 14c: 3a d1 rcall .+628 ; 0x3c2 <__divmodsi4> 14e: c9 01 movw r24, r18 150: 01 97 sbiw r24, 0x01 ; 1 152: 80 68 ori r24, 0x80 ; 128 @@ -322,7 +324,7 @@ void rf12_setbaud(unsigned short baud) 162: 72 e4 ldi r23, 0x42 ; 66 164: 85 e0 ldi r24, 0x05 ; 5 166: 90 e0 ldi r25, 0x00 ; 0 - 168: d4 d0 rcall .+424 ; 0x312 <__udivmodsi4> + 168: 0a d1 rcall .+532 ; 0x37e <__udivmodsi4> 16a: c9 01 movw r24, r18 16c: 01 97 sbiw r24, 0x01 ; 1 16e: 96 6c ori r25, 0xC6 ; 198 @@ -631,128 +633,204 @@ void send() { } 2d8: 08 95 ret -000002da
: +000002da <__vector_1>: + +ISR(INT0_vect) { + 2da: 1f 92 push r1 + 2dc: 0f 92 push r0 + 2de: 0f b6 in r0, 0x3f ; 63 + 2e0: 0f 92 push r0 + 2e2: 11 24 eor r1, r1 + 2e4: 2f 93 push r18 + 2e6: 3f 93 push r19 + 2e8: 4f 93 push r20 + 2ea: 5f 93 push r21 + 2ec: 6f 93 push r22 + 2ee: 7f 93 push r23 + 2f0: 8f 93 push r24 + 2f2: 9f 93 push r25 + 2f4: af 93 push r26 + 2f6: bf 93 push r27 + 2f8: ef 93 push r30 + 2fa: ff 93 push r31 + DDRC |= (1< + 302: 8f ef ldi r24, 0xFF ; 255 + 304: 94 e3 ldi r25, 0x34 ; 52 + 306: ac e0 ldi r26, 0x0C ; 12 + 308: 81 50 subi r24, 0x01 ; 1 + 30a: 90 40 sbci r25, 0x00 ; 0 + 30c: a0 40 sbci r26, 0x00 ; 0 + 30e: e1 f7 brne .-8 ; 0x308 <__vector_1+0x2e> + 310: 00 c0 rjmp .+0 ; 0x312 <__vector_1+0x38> + 312: 00 00 nop + _delay_ms(500); + PORTC &= ~(1<: + +void init_int() { + // Port D initialization + // Function: Bit2=In + DDRD &= ~(1<: int main(void) -{ +{ rf12_init(); // ein paar Register setzen (z.B. CLK auf 10MHz) - 2da: da de rcall .-588 ; 0x90 + 350: 9f de rcall .-706 ; 0x90 rf12_setfreq(RF12FREQ(433.92)); // Sende/Empfangsfrequenz auf 433,92MHz einstellen - 2dc: 80 e2 ldi r24, 0x20 ; 32 - 2de: 96 e0 ldi r25, 0x06 ; 6 - 2e0: 17 df rcall .-466 ; 0x110 + 352: 80 e2 ldi r24, 0x20 ; 32 + 354: 96 e0 ldi r25, 0x06 ; 6 + 356: dc de rcall .-584 ; 0x110 rf12_setbandwidth(1, 0, 7); // 400kHz Bandbreite, 0dB Verstärkung, DRSSI threshold: -61dBm - 2e2: 81 e0 ldi r24, 0x01 ; 1 - 2e4: 60 e0 ldi r22, 0x00 ; 0 - 2e6: 47 e0 ldi r20, 0x07 ; 7 - 2e8: f6 de rcall .-532 ; 0xd6 + 358: 81 e0 ldi r24, 0x01 ; 1 + 35a: 60 e0 ldi r22, 0x00 ; 0 + 35c: 47 e0 ldi r20, 0x07 ; 7 + 35e: bb de rcall .-650 ; 0xd6 rf12_setbaud(9600); // 19200 baud - 2ea: 80 e8 ldi r24, 0x80 ; 128 - 2ec: 95 e2 ldi r25, 0x25 ; 37 - 2ee: 1f df rcall .-450 ; 0x12e + 360: 80 e8 ldi r24, 0x80 ; 128 + 362: 95 e2 ldi r25, 0x25 ; 37 + 364: e4 de rcall .-568 ; 0x12e rf12_setpower(0, 6); // 1mW Ausgangsleistung, 120kHz Frequenzshift - 2f0: 80 e0 ldi r24, 0x00 ; 0 - 2f2: 66 e0 ldi r22, 0x06 ; 6 - 2f4: 3f df rcall .-386 ; 0x174 + 366: 80 e0 ldi r24, 0x00 ; 0 + 368: 66 e0 ldi r22, 0x06 ; 6 + 36a: 04 df rcall .-504 ; 0x174 - DDRC |= (1< - PORTC &= ~(1< - 30c: 00 c0 rjmp .+0 ; 0x30e - 30e: 00 00 nop - 310: f3 cf rjmp .-26 ; 0x2f8 + init_int(); + 36c: e5 df rcall .-54 ; 0x338 + sei(); + 36e: 78 94 sei + 370: 8f e3 ldi r24, 0x3F ; 63 + 372: 9c e9 ldi r25, 0x9C ; 156 + 374: 01 97 sbiw r24, 0x01 ; 1 + 376: f1 f7 brne .-4 ; 0x374 + 378: 00 c0 rjmp .+0 ; 0x37a + 37a: 00 00 nop + 37c: f9 cf rjmp .-14 ; 0x370 -00000312 <__udivmodsi4>: - 312: a1 e2 ldi r26, 0x21 ; 33 - 314: 1a 2e mov r1, r26 - 316: aa 1b sub r26, r26 - 318: bb 1b sub r27, r27 - 31a: fd 01 movw r30, r26 - 31c: 0d c0 rjmp .+26 ; 0x338 <__udivmodsi4_ep> +0000037e <__udivmodsi4>: + 37e: a1 e2 ldi r26, 0x21 ; 33 + 380: 1a 2e mov r1, r26 + 382: aa 1b sub r26, r26 + 384: bb 1b sub r27, r27 + 386: fd 01 movw r30, r26 + 388: 0d c0 rjmp .+26 ; 0x3a4 <__udivmodsi4_ep> -0000031e <__udivmodsi4_loop>: - 31e: aa 1f adc r26, r26 - 320: bb 1f adc r27, r27 - 322: ee 1f adc r30, r30 - 324: ff 1f adc r31, r31 - 326: a2 17 cp r26, r18 - 328: b3 07 cpc r27, r19 - 32a: e4 07 cpc r30, r20 - 32c: f5 07 cpc r31, r21 - 32e: 20 f0 brcs .+8 ; 0x338 <__udivmodsi4_ep> - 330: a2 1b sub r26, r18 - 332: b3 0b sbc r27, r19 - 334: e4 0b sbc r30, r20 - 336: f5 0b sbc r31, r21 +0000038a <__udivmodsi4_loop>: + 38a: aa 1f adc r26, r26 + 38c: bb 1f adc r27, r27 + 38e: ee 1f adc r30, r30 + 390: ff 1f adc r31, r31 + 392: a2 17 cp r26, r18 + 394: b3 07 cpc r27, r19 + 396: e4 07 cpc r30, r20 + 398: f5 07 cpc r31, r21 + 39a: 20 f0 brcs .+8 ; 0x3a4 <__udivmodsi4_ep> + 39c: a2 1b sub r26, r18 + 39e: b3 0b sbc r27, r19 + 3a0: e4 0b sbc r30, r20 + 3a2: f5 0b sbc r31, r21 -00000338 <__udivmodsi4_ep>: - 338: 66 1f adc r22, r22 - 33a: 77 1f adc r23, r23 - 33c: 88 1f adc r24, r24 - 33e: 99 1f adc r25, r25 - 340: 1a 94 dec r1 - 342: 69 f7 brne .-38 ; 0x31e <__udivmodsi4_loop> - 344: 60 95 com r22 - 346: 70 95 com r23 - 348: 80 95 com r24 - 34a: 90 95 com r25 - 34c: 9b 01 movw r18, r22 - 34e: ac 01 movw r20, r24 - 350: bd 01 movw r22, r26 - 352: cf 01 movw r24, r30 - 354: 08 95 ret +000003a4 <__udivmodsi4_ep>: + 3a4: 66 1f adc r22, r22 + 3a6: 77 1f adc r23, r23 + 3a8: 88 1f adc r24, r24 + 3aa: 99 1f adc r25, r25 + 3ac: 1a 94 dec r1 + 3ae: 69 f7 brne .-38 ; 0x38a <__udivmodsi4_loop> + 3b0: 60 95 com r22 + 3b2: 70 95 com r23 + 3b4: 80 95 com r24 + 3b6: 90 95 com r25 + 3b8: 9b 01 movw r18, r22 + 3ba: ac 01 movw r20, r24 + 3bc: bd 01 movw r22, r26 + 3be: cf 01 movw r24, r30 + 3c0: 08 95 ret -00000356 <__divmodsi4>: - 356: 97 fb bst r25, 7 - 358: 09 2e mov r0, r25 - 35a: 05 26 eor r0, r21 - 35c: 0e d0 rcall .+28 ; 0x37a <__divmodsi4_neg1> - 35e: 57 fd sbrc r21, 7 - 360: 04 d0 rcall .+8 ; 0x36a <__divmodsi4_neg2> - 362: d7 df rcall .-82 ; 0x312 <__udivmodsi4> - 364: 0a d0 rcall .+20 ; 0x37a <__divmodsi4_neg1> - 366: 00 1c adc r0, r0 - 368: 38 f4 brcc .+14 ; 0x378 <__divmodsi4_exit> +000003c2 <__divmodsi4>: + 3c2: 97 fb bst r25, 7 + 3c4: 09 2e mov r0, r25 + 3c6: 05 26 eor r0, r21 + 3c8: 0e d0 rcall .+28 ; 0x3e6 <__divmodsi4_neg1> + 3ca: 57 fd sbrc r21, 7 + 3cc: 04 d0 rcall .+8 ; 0x3d6 <__divmodsi4_neg2> + 3ce: d7 df rcall .-82 ; 0x37e <__udivmodsi4> + 3d0: 0a d0 rcall .+20 ; 0x3e6 <__divmodsi4_neg1> + 3d2: 00 1c adc r0, r0 + 3d4: 38 f4 brcc .+14 ; 0x3e4 <__divmodsi4_exit> -0000036a <__divmodsi4_neg2>: - 36a: 50 95 com r21 - 36c: 40 95 com r20 - 36e: 30 95 com r19 - 370: 21 95 neg r18 - 372: 3f 4f sbci r19, 0xFF ; 255 - 374: 4f 4f sbci r20, 0xFF ; 255 - 376: 5f 4f sbci r21, 0xFF ; 255 +000003d6 <__divmodsi4_neg2>: + 3d6: 50 95 com r21 + 3d8: 40 95 com r20 + 3da: 30 95 com r19 + 3dc: 21 95 neg r18 + 3de: 3f 4f sbci r19, 0xFF ; 255 + 3e0: 4f 4f sbci r20, 0xFF ; 255 + 3e2: 5f 4f sbci r21, 0xFF ; 255 -00000378 <__divmodsi4_exit>: - 378: 08 95 ret +000003e4 <__divmodsi4_exit>: + 3e4: 08 95 ret -0000037a <__divmodsi4_neg1>: - 37a: f6 f7 brtc .-4 ; 0x378 <__divmodsi4_exit> - 37c: 90 95 com r25 - 37e: 80 95 com r24 - 380: 70 95 com r23 - 382: 61 95 neg r22 - 384: 7f 4f sbci r23, 0xFF ; 255 - 386: 8f 4f sbci r24, 0xFF ; 255 - 388: 9f 4f sbci r25, 0xFF ; 255 - 38a: 08 95 ret +000003e6 <__divmodsi4_neg1>: + 3e6: f6 f7 brtc .-4 ; 0x3e4 <__divmodsi4_exit> + 3e8: 90 95 com r25 + 3ea: 80 95 com r24 + 3ec: 70 95 com r23 + 3ee: 61 95 neg r22 + 3f0: 7f 4f sbci r23, 0xFF ; 255 + 3f2: 8f 4f sbci r24, 0xFF ; 255 + 3f4: 9f 4f sbci r25, 0xFF ; 255 + 3f6: 08 95 ret -0000038c <_exit>: - 38c: f8 94 cli +000003f8 <_exit>: + 3f8: f8 94 cli -0000038e <__stop_program>: - 38e: ff cf rjmp .-2 ; 0x38e <__stop_program> +000003fa <__stop_program>: + 3fa: ff cf rjmp .-2 ; 0x3fa <__stop_program> diff --git a/Sender/Sender/Debug/Sender.map b/Sender/Sender/Debug/Sender.map index 83739bd..95e7e9f 100644 --- a/Sender/Sender/Debug/Sender.map +++ b/Sender/Sender/Debug/Sender.map @@ -124,7 +124,7 @@ LOAD e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoo .rela.plt *(.rela.plt) -.text 0x00000000 0x390 +.text 0x00000000 0x3fc *(.vectors) .vectors 0x00000000 0x26 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/../../../../avr/lib/avr4/crtm8a.o 0x00000000 __vector_default @@ -180,7 +180,6 @@ LOAD e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoo *(.init9) *(.text) .text 0x0000005c 0x2 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/../../../../avr/lib/avr4/crtm8a.o - 0x0000005c __vector_1 0x0000005c __vector_12 0x0000005c __bad_interrupt 0x0000005c __vector_6 @@ -210,28 +209,30 @@ LOAD e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoo 0x0000019c rf12_txdata 0x0000020e rf12_rxdata 0x00000262 rf12_txpacket - .text 0x000002ce 0x44 Sender.o + .text 0x000002ce 0xb0 Sender.o 0x000002ce send - 0x000002da main - .text 0x00000312 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_udivmodsi4.o) - .text 0x00000312 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_divmodsi4.o) - .text 0x00000312 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_exit.o) - .text 0x00000312 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_copy_data.o) - .text 0x00000312 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_clear_bss.o) - 0x00000312 . = ALIGN (0x2) + 0x000002da __vector_1 + 0x00000338 init_int + 0x00000350 main + .text 0x0000037e 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_udivmodsi4.o) + .text 0x0000037e 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_divmodsi4.o) + .text 0x0000037e 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_exit.o) + .text 0x0000037e 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_copy_data.o) + .text 0x0000037e 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_clear_bss.o) + 0x0000037e . = ALIGN (0x2) *(.text.*) - .text.libgcc 0x00000312 0x44 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_udivmodsi4.o) - 0x00000312 __udivmodsi4 - .text.libgcc 0x00000356 0x36 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_divmodsi4.o) - 0x00000356 __divmodsi4 - .text.libgcc 0x0000038c 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_exit.o) - .text.libgcc 0x0000038c 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_copy_data.o) - .text.libgcc 0x0000038c 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_clear_bss.o) - 0x0000038c . = ALIGN (0x2) + .text.libgcc 0x0000037e 0x44 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_udivmodsi4.o) + 0x0000037e __udivmodsi4 + .text.libgcc 0x000003c2 0x36 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_divmodsi4.o) + 0x000003c2 __divmodsi4 + .text.libgcc 0x000003f8 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_exit.o) + .text.libgcc 0x000003f8 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_copy_data.o) + .text.libgcc 0x000003f8 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_clear_bss.o) + 0x000003f8 . = ALIGN (0x2) *(.fini9) - .fini9 0x0000038c 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_exit.o) - 0x0000038c _exit - 0x0000038c exit + .fini9 0x000003f8 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_exit.o) + 0x000003f8 _exit + 0x000003f8 exit *(.fini9) *(.fini8) *(.fini8) @@ -250,11 +251,11 @@ LOAD e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoo *(.fini1) *(.fini1) *(.fini0) - .fini0 0x0000038c 0x4 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_exit.o) + .fini0 0x000003f8 0x4 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_exit.o) *(.fini0) - 0x00000390 _etext = . + 0x000003fc _etext = . -.data 0x00800060 0x0 load address 0x00000390 +.data 0x00800060 0x0 load address 0x000003fc 0x00800060 PROVIDE (__data_start, .) *(.data) .data 0x00800060 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/../../../../avr/lib/avr4/crtm8a.o @@ -273,29 +274,30 @@ LOAD e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoo 0x00800060 _edata = . 0x00800060 PROVIDE (__data_end, .) -.bss 0x00800060 0x0 +.bss 0x00800060 0x2 0x00800060 PROVIDE (__bss_start, .) *(.bss) .bss 0x00800060 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/../../../../avr/lib/avr4/crtm8a.o .bss 0x00800060 0x0 rf12.o - .bss 0x00800060 0x0 Sender.o - .bss 0x00800060 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_udivmodsi4.o) - .bss 0x00800060 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_divmodsi4.o) - .bss 0x00800060 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_exit.o) - .bss 0x00800060 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_copy_data.o) - .bss 0x00800060 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_clear_bss.o) + .bss 0x00800060 0x2 Sender.o + 0x00800060 interrupt + .bss 0x00800062 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_udivmodsi4.o) + .bss 0x00800062 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_divmodsi4.o) + .bss 0x00800062 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_exit.o) + .bss 0x00800062 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_copy_data.o) + .bss 0x00800062 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_clear_bss.o) *(.bss*) *(COMMON) - 0x00800060 PROVIDE (__bss_end, .) - 0x00000390 __data_load_start = LOADADDR (.data) - 0x00000390 __data_load_end = (__data_load_start + SIZEOF (.data)) + 0x00800062 PROVIDE (__bss_end, .) + 0x000003fc __data_load_start = LOADADDR (.data) + 0x000003fc __data_load_end = (__data_load_start + SIZEOF (.data)) -.noinit 0x00800060 0x0 - 0x00800060 PROVIDE (__noinit_start, .) +.noinit 0x00800062 0x0 + 0x00800062 PROVIDE (__noinit_start, .) *(.noinit*) - 0x00800060 PROVIDE (__noinit_end, .) - 0x00800060 _end = . - 0x00800060 PROVIDE (__heap_start, .) + 0x00800062 PROVIDE (__noinit_end, .) + 0x00800062 _end = . + 0x00800062 PROVIDE (__heap_start, .) .eeprom 0x00810000 0x0 *(.eeprom*) @@ -368,52 +370,53 @@ LOAD e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoo .debug_pubnames *(.debug_pubnames) -.debug_info 0x00000000 0x97e +.debug_info 0x00000000 0xa03 *(.debug_info) .debug_info 0x00000000 0x3df rf12.o - .debug_info 0x000003df 0x14e Sender.o - .debug_info 0x0000052d 0xdd e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_udivmodsi4.o) - .debug_info 0x0000060a 0xdd e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_divmodsi4.o) - .debug_info 0x000006e7 0xdd e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_exit.o) - .debug_info 0x000007c4 0xdd e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_copy_data.o) - .debug_info 0x000008a1 0xdd e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_clear_bss.o) + .debug_info 0x000003df 0x1d3 Sender.o + .debug_info 0x000005b2 0xdd e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_udivmodsi4.o) + .debug_info 0x0000068f 0xdd e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_divmodsi4.o) + .debug_info 0x0000076c 0xdd e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_exit.o) + .debug_info 0x00000849 0xdd e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_copy_data.o) + .debug_info 0x00000926 0xdd e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_clear_bss.o) *(.gnu.linkonce.wi.*) -.debug_abbrev 0x00000000 0x2cd +.debug_abbrev 0x00000000 0x311 *(.debug_abbrev) .debug_abbrev 0x00000000 0x173 rf12.o - .debug_abbrev 0x00000173 0xf6 Sender.o - .debug_abbrev 0x00000269 0x14 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_udivmodsi4.o) - .debug_abbrev 0x0000027d 0x14 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_divmodsi4.o) - .debug_abbrev 0x00000291 0x14 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_exit.o) - .debug_abbrev 0x000002a5 0x14 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_copy_data.o) - .debug_abbrev 0x000002b9 0x14 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_clear_bss.o) + .debug_abbrev 0x00000173 0x13a Sender.o + .debug_abbrev 0x000002ad 0x14 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_udivmodsi4.o) + .debug_abbrev 0x000002c1 0x14 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_divmodsi4.o) + .debug_abbrev 0x000002d5 0x14 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_exit.o) + .debug_abbrev 0x000002e9 0x14 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_copy_data.o) + .debug_abbrev 0x000002fd 0x14 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_clear_bss.o) -.debug_line 0x00000000 0x66d +.debug_line 0x00000000 0x677 *(.debug_line) .debug_line 0x00000000 0x1ff rf12.o - .debug_line 0x000001ff 0x17e Sender.o - .debug_line 0x0000037d 0xa8 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_udivmodsi4.o) - .debug_line 0x00000425 0xa1 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_divmodsi4.o) - .debug_line 0x000004c6 0x88 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_exit.o) - .debug_line 0x0000054e 0x91 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_copy_data.o) - .debug_line 0x000005df 0x8e e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_clear_bss.o) + .debug_line 0x000001ff 0x188 Sender.o + .debug_line 0x00000387 0xa8 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_udivmodsi4.o) + .debug_line 0x0000042f 0xa1 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_divmodsi4.o) + .debug_line 0x000004d0 0x88 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_exit.o) + .debug_line 0x00000558 0x91 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_copy_data.o) + .debug_line 0x000005e9 0x8e e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_clear_bss.o) -.debug_frame 0x00000000 0x11c +.debug_frame 0x00000000 0x184 *(.debug_frame) .debug_frame 0x00000000 0xe8 rf12.o - .debug_frame 0x000000e8 0x34 Sender.o + .debug_frame 0x000000e8 0x9c Sender.o -.debug_str 0x00000000 0x1ce +.debug_str 0x00000000 0x1ec *(.debug_str) .debug_str 0x00000000 0x1b6 rf12.o 0x209 (size before relaxing) - .debug_str 0x000001b6 0x18 Sender.o - 0x140 (size before relaxing) + .debug_str 0x000001b6 0x36 Sender.o + 0x15e (size before relaxing) -.debug_loc 0x00000000 0x317 +.debug_loc 0x00000000 0x3e2 *(.debug_loc) .debug_loc 0x00000000 0x317 rf12.o + .debug_loc 0x00000317 0xcb Sender.o .debug_macinfo *(.debug_macinfo) diff --git a/Sender/Sender/Debug/Sender.srec b/Sender/Sender/Debug/Sender.srec index e87f15a..78e1e40 100644 --- a/Sender/Sender/Debug/Sender.srec +++ b/Sender/Sender/Debug/Sender.srec @@ -1,10 +1,10 @@ S00E000053656E6465722E73726563B5 -S113000012C02CC02BC02AC029C028C027C026C0BB +S113000012C06BC12BC02AC029C028C027C026C07B S113001025C024C023C022C021C020C01FC01EC0D0 S11300201DC01CC01BC011241FBECFE5D4E0DEBF21 -S1130030CDBF10E0A0E6B0E0E0E9F3E002C0059037 +S1130030CDBF10E0A0E6B0E0ECEFF3E002C0059025 S11300400D92A036B107D9F710E0A0E6B0E001C0E8 -S11300501D92A036B107E1F740D198C1D1CFAC9839 +S11300501D92A236B107E1F77BD1CEC1D1CFAC98C6 S113006040E120E030E0992314F4AA9A01C0AA9850 S1130070220F331F99992160AB9A880F991F00C0F2 S11300800000AB98415079F7AC9A822F932F0895D2 @@ -19,9 +19,9 @@ S1130100660F771F660F771F862B972BA8DF08953E S11301108036910538F02FE08034920728F08FE381 S11301209FE002C080E690E0906A99DF089522E0A3 S113013087399207F0F025E18831920770F49C0129 -S113014040E050E060E678EA80E090E004D1C90144 +S113014040E050E060E678EA80E090E03AD1C9010E S113015001978068966C83DF08959C0140E050E02D -S11301606CEF72E485E090E0D4D0C9010197966CFD +S11301606CEF72E485E090E00AD1C9010197966CC6 S113017076DF089590E087709070986970E06295DA S11301807295707F7627607F76277070862B972B09 S113019066DF0895AC98999BFECF08950F931F9343 @@ -44,16 +44,23 @@ S113029081DF84ED98EBE3DE7DDF8D2F90E0986BBA S11302A0DEDE78DF8C2F90E0986BD9DE73DF80E0A0 S11302B098EBD5DE6FDF88E092E8D1DE8FE19EE433 S11302C00197F1F700C00000DF91CF91089587E313 -S11302D090E063E670E0C5DF0895DADE80E296E040 -S11302E017DF81E060E047E0F6DE80E895E21FDF9B -S11302F080E066E03FDFA59AAD9AE9DFAD988FEF25 -S113030094E3ACE081509040A040E1F700C00000CD -S1130310F3CFA1E21A2EAA1BBB1BFD010DC0AA1F1D -S1130320BB1FEE1FFF1FA217B307E407F50720F05A -S1130330A21BB30BE40BF50B661F771F881F991FD5 -S11303401A9469F760957095809590959B01AC011E -S1130350BD01CF01089597FB092E05260ED057FD48 -S113036004D0D7DF0AD0001C38F45095409530955E -S113037021953F4F4F4F5F4F0895F6F79095809525 -S1130380709561957F4F8F4F9F4F0895F894FFCFDD +S11302D090E063E670E0C5DF08951F920F920FB6B9 +S11302E00F9211242F933F934F935F936F937F93B8 +S11302F08F939F93AF93BF93EF93FF93A59AAD9A78 +S1130300E6DF8FEF94E3ACE081509040A040E1F74A +S113031000C00000AD98FF91EF91BF91AF919F9104 +S11303208F917F916F915F914F913F912F910F909A +S11303300FBE0F901F9018958A98929A85B7826085 +S113034085BF8BB780648BBF8AB780648ABF0895EA +S11303509FDE80E296E0DCDE81E060E047E0BBDE29 +S113036080E895E2E4DE80E066E004DFE5DF78948F +S11303708FE39CE90197F1F700C00000F9CFA1E2F7 +S11303801A2EAA1BBB1BFD010DC0AA1FBB1FEE1F0B +S1130390FF1FA217B307E407F50720F0A21BB30B56 +S11303A0E40BF50B661F771F881F991F1A9469F7D2 +S11303B060957095809590959B01AC01BD01CF012E +S11303C0089597FB092E05260ED057FD04D0D7DFDC +S11303D00AD0001C38F450954095309521953F4F34 +S11303E04F4F5F4F0895F6F79095809570956195FE +S10F03F07F4F8F4F9F4F0895F894FFCF6C S9030000FC diff --git a/Sender/Sender/Sender.c b/Sender/Sender/Sender.c index 94bd971..6b96374 100644 --- a/Sender/Sender/Sender.c +++ b/Sender/Sender/Sender.c @@ -5,9 +5,12 @@ * Author: netz */ +volatile int interrupt = 0; + #define F_CPU 8000000 #include +#include #include #include "rf12.h" @@ -18,20 +21,40 @@ void send() { rf12_txpacket(55,99); } +ISR(INT0_vect) { + DDRC |= (1<