summaryrefslogtreecommitdiffstats
path: root/main.c
diff options
context:
space:
mode:
Diffstat (limited to 'main.c')
-rw-r--r--main.c55
1 files changed, 2 insertions, 53 deletions
diff --git a/main.c b/main.c
index 2006a03..d7afa73 100644
--- a/main.c
+++ b/main.c
@@ -18,12 +18,6 @@
#define NRF_IRQ PD7
-struct radio_cfg {
- uint8_t netid;
- uint8_t nodeid;
- uint8_t pipeid;
-};
-
const char *bittab[16] = {
[ 0] = "0000", [ 1] = "0001", [ 2] = "0010", [ 3] = "0011",
[ 4] = "0100", [ 5] = "0101", [ 6] = "0110", [ 7] = "0111",
@@ -63,39 +57,6 @@ static inline void write_reg(uint8_t reg, uint8_t val)
write_reg_check(reg, val, val);
}
-static inline void read_reg_bulk(uint8_t reg, uint8_t *data, uint8_t n)
-{
- uint8_t i;
-
- SPI_PORT &= ~(1 << SPI_SS);
- SPDR = reg & 0x1F;
- while (!(SPSR & (1 << SPIF)))
- ;
- for (i = 0; i < n; i++) {
- SPDR = 0xFF;
- while (!(SPSR & (1 << SPIF)))
- ;
- data[i] = SPDR;
- }
- SPI_PORT |= (1 << SPI_SS);
-}
-
-static inline void write_reg_bulk(uint8_t reg, uint8_t *data, uint8_t n)
-{
- uint8_t i;
-
- SPI_PORT &= ~(1 << SPI_SS);
- SPDR = (reg & 0x1F) | 0x20;
- while (!(SPSR & (1 << SPIF)))
- ;
- for (i = 0; i < n; i++) {
- SPDR = data[i];
- while (!(SPSR & (1 << SPIF)))
- ;
- }
- SPI_PORT |= (1 << SPI_SS);
-}
-
static inline void print_config(void)
{
char s[22];
@@ -117,10 +78,8 @@ static inline void print_config(void)
}
}
-void radio_init(struct radio_cfg *cfg)
+void radio_init(void)
{
- uint8_t rx_addr[3];
-
SPI_DDR |= (1 << SPI_SS) | (1 << SPI_SCK) | (1 << SPI_MOSI);
SPI_PORT |= (1 << SPI_SS);
SPCR |= (1 << SPE) | (1 << MSTR);
@@ -139,22 +98,12 @@ void radio_init(struct radio_cfg *cfg)
write_reg(0x06, 0b00001110); /* set data rate to 1Mbps */
write_reg_check(0x07, 0b01110000, 0b00001110); /* clear rx, tx, max_rt interrupts */
-
- rx_addr[0] = cfg->pipeid;
- rx_addr[1] = cfg->nodeid;
- rx_addr[2] = cfg->netid;
- write_reg_bulk(0x0A, rx_addr, (sizeof(rx_addr) / sizeof(rx_addr[0])));
}
int main(void)
{
- struct radio_cfg cfg;
- cfg.netid = 0;
- cfg.nodeid = 0;
- cfg.pipeid = 0;
-
uart_init();
- radio_init(&cfg);
+ radio_init();
print_config();
return 0;