summaryrefslogtreecommitdiffstats
path: root/nrfm.c
diff options
context:
space:
mode:
authorSadeep Madurange <sadeep@asciimx.com>2025-03-17 12:20:50 +0800
committerSadeep Madurange <sadeep@asciimx.com>2025-03-17 12:20:50 +0800
commit4512f79d2ca3071698a596e85d110cbcf35f8bc2 (patch)
tree1e81e2895c814d4ab04dce61951132cac3ad566d /nrfm.c
parent24a10ef21ae6909fc07a06d51bf1382970b28c9c (diff)
downloadavr-nrf24l01-driver-4512f79d2ca3071698a596e85d110cbcf35f8bc2.tar.gz
Enable dynamic payload length.
Diffstat (limited to 'nrfm.c')
-rw-r--r--nrfm.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/nrfm.c b/nrfm.c
index 805c9ae..2f8bb1e 100644
--- a/nrfm.c
+++ b/nrfm.c
@@ -95,7 +95,10 @@ void radio_print_config(void)
{
char s[22];
uint8_t i, rv, addr[ADDRLEN];
- uint8_t regs[] = { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x11 };
+ uint8_t regs[] = {
+ 0x00, 0x01, 0x02, 0x03, 0x04,
+ 0x05, 0x06, 0x07, 0x11, 0x1C, 0x1D
+ };
uart_write_line("NRF24L01 config:");
@@ -130,7 +133,8 @@ void radio_init(uint8_t rxaddr[ADDRLEN])
write_reg(0x05, 0b01110011); /* use 2.515GHz channel */
write_reg(0x06, 0b00001110); /* set data rate to 1Mbps */
write_reg(0x07, 0b01110000); /* clear rx, tx, max_rt interrupts */
- write_reg(0x11, 0b00001100); /* rx payload width */
+ write_reg(0x1D, 0b00000100); /* enable dynamic payload length */
+ write_reg(0x1C, 0b00000001); /* enable dynamic payload length for pipe 0 */
write_reg_bulk(0x0A, rxaddr, ADDRLEN);
}