diff options
| author | Sadeep Madurange <sadeep@asciimx.com> | 2025-04-11 10:59:15 +0800 |
|---|---|---|
| committer | Sadeep Madurange <sadeep@asciimx.com> | 2025-04-11 10:59:15 +0800 |
| commit | 7b9d39da831a6454eb0eb57bbfa86ff2d615d287 (patch) | |
| tree | ee9bb12e41941d6d0aed70bc0120acc22a143c8b /nrfm.c | |
| parent | 081e11b460f71ce99e69604e9ffe16f5d667f84b (diff) | |
| download | avr-nrf24l01-driver-7b9d39da831a6454eb0eb57bbfa86ff2d615d287.tar.gz | |
Clear maxrt and minor code cleanup, still working.
Diffstat (limited to 'nrfm.c')
| -rw-r--r-- | nrfm.c | 7 |
1 files changed, 5 insertions, 2 deletions
@@ -229,12 +229,11 @@ void radio_sendto(const uint8_t addr[ADDRLEN], const char *msg, uint8_t n) disable_chip(); - imax = n < MAXPDLEN ? n : MAXPDLEN; cfg = read_reg(0x00); tx_mode(); - reset_irqs(); flush_tx(); + reset_irqs(); setaddr(0x10, addr); setaddr(0x0A, addr); @@ -246,6 +245,8 @@ void radio_sendto(const uint8_t addr[ADDRLEN], const char *msg, uint8_t n) uart_write("."); uart_write_line(itoa(addr[2], s, 10)); + imax = n < MAXPDLEN ? n : MAXPDLEN; + SPI_PORT &= ~(1 << SPI_SS); SPDR = 0b10100000; while (!(SPSR & (1 << SPIF))) @@ -271,6 +272,7 @@ void radio_sendto(const uint8_t addr[ADDRLEN], const char *msg, uint8_t n) if (txds) uart_write_line("DEBUG: packet sent"); else if (maxrt) { + reset_irqs(); uart_write_line("ERROR: sendto() failed: MAX_RT"); } @@ -280,6 +282,7 @@ void radio_sendto(const uint8_t addr[ADDRLEN], const char *msg, uint8_t n) void radio_listen(void) { + disable_chip(); rx_mode(); enable_chip(); } |
