Skip to content
Snippets Groups Projects
Commit a344d6d4 authored by BytesGalore's avatar BytesGalore Committed by GitHub
Browse files

Merge pull request #6777 from cgundogan/pr/nrf24l01p_disable_crr

nrf24l01p: add disable crc function
parents 4618bcfa 63e99eb9
No related branches found
No related tags found
No related merge requests found
......@@ -546,6 +546,15 @@ int nrf24l01p_enable_pipe(nrf24l01p_t *dev, nrf24l01p_rx_pipe_t pipe);
*/
int nrf24l01p_disable_pipe(nrf24l01p_t *dev, nrf24l01p_rx_pipe_t pipe);
/**
* @brief Disable CRC error detection on the nrf24l01+ transceiver.
*
* @param[in] dev Transceiver device to use.
*
* @return 0.
*/
int nrf24l01p_disable_crc(nrf24l01p_t *dev);
/**
* @brief Enable CRC error detection on the nrf24l01+ transceiver.
*
......
......@@ -815,7 +815,13 @@ int nrf24l01p_disable_pipe(nrf24l01p_t *dev, nrf24l01p_rx_pipe_t pipe)
return nrf24l01p_write_reg(dev, REG_EN_RXADDR, pipe_conf);
}
int nrf24l01p_disable_crc(nrf24l01p_t *dev)
{
char conf;
nrf24l01p_read_reg(dev, REG_CONFIG, &conf);
return nrf24l01p_write_reg(dev, REG_CONFIG, (conf & ~(EN_CRC)));
}
int nrf24l01p_enable_crc(nrf24l01p_t *dev, nrf24l01p_crc_t crc)
{
......
......@@ -107,3 +107,12 @@ nrf24l01p_rx_handler got a message: Received packet.
32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1
```
## Compatibility with SI24R1 or other NRF24l01p clones
CRC and Auto-ACK should be disabled.
Use
```
nrf24l01p_disable_all_auto_ack(&nrf24l01p_0);
nrf24l01p_disable_crc(&nrf24l01p_0);
```
after `nrf24l01p_init(&nrf24l01p_0, SPI_PORT, CE_PIN, CS_PIN, IRQ_PIN) < 0)`
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment