diff options
Diffstat (limited to 'rf_test/recv.c')
| -rw-r--r-- | rf_test/recv.c | 64 |
1 files changed, 0 insertions, 64 deletions
diff --git a/rf_test/recv.c b/rf_test/recv.c deleted file mode 100644 index 1c6ac0f..0000000 --- a/rf_test/recv.c +++ /dev/null @@ -1,64 +0,0 @@ -#include <avr/io.h> -#include <avr/interrupt.h> - -#include "radio.h" -#include "serial.h" - -#define RX_PIN PD7 -#define RX_DDR DDRD -#define RX_PORT PORTD -#define RX_PCIE PCIE2 -#define RX_PCINT PCINT23 -#define RX_PCMSK PCMSK2 -#define RX_PCINTVEC PCINT2_vect - -#define MAX_PAYLOAD_LEN 60 - -static char *s = "hello, world!"; -static uint8_t slen = 13; - -int main(void) -{ - struct radio_cfg cfg; - - cfg.netid = 0x01; - cfg.nodeid = 0x01; - cfg.payload_len = slen; - - RX_DDR &= ~(1 << RX_PIN); - RX_PORT &= ~(1 << RX_PIN); - PCICR |= (1 << RX_PCIE); - RX_PCMSK |= (1 << RX_PCINT); - - serial_init(); - - radio_init(&cfg); - radio_listen(); - - sei(); - - for (;;) - ; - - return 0; -} - -ISR(RX_PCINTVEC) -{ - uint8_t i, n; - char buf[MAX_PAYLOAD_LEN]; - - cli(); - - serial_write_line("Detected pin change IRQ"); - - n = radio_recv(buf, MAX_PAYLOAD_LEN - 1); - buf[n] = '\0'; - - for (i = 0; i < n; i++) - serial_write(buf[i]); - serial_write('\r'); - serial_write('\n'); - - sei(); -} |
