From da646ed6b967b70ff515cc45d731f8ec9739a204 Mon Sep 17 00:00:00 2001 From: Sadeep Madurange Date: Sun, 16 Mar 2025 15:26:18 +0800 Subject: Remove bulk write code, basic config is still unreliable. --- main.c | 55 ++----------------------------------------------------- 1 file 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; -- cgit v1.2.3