|
Optimized RF24Network Layer v2.3.0
2024 - Optimized RF24 Network Layer for NRF24L01 & NRF52x radios
|
#include <RF24CCM.h>
Public Member Functions | |
| void | setKey (const uint8_t key[RF24CCM_KEY_SIZE]) |
| void | setCounter (uint32_t counter) |
| void | setRetries (uint8_t delay, uint8_t count) |
| uint8_t | getDynamicPayloadSize (void) |
| void | read (void *buf, uint8_t len) |
| bool | write (const void *buf, uint8_t len) |
| bool | write (const void *buf, uint8_t len, const bool multicast) |
| bool | writeFast (const void *buf, uint8_t len) |
| bool | writeFast (const void *buf, uint8_t len, const bool multicast) |
Public Attributes | |
| bool | enableEncryption = false |
| uint32_t | decryptFailures = 0 |
Drop-in replacement for RF24 that encrypts outgoing frames and decrypts incoming ones.
Use it as the radio_t of ESBNetwork, ESBMesh and ESBGateway. The libraries must be built with the RF24NETWORK_CCM option so these template instantiations exist.
When encryption is enabled, frames that are too short or fail the MIC check are dropped, counted in decryptFailures, and reported to RF24Network as a zero length payload (which RF24Network::update() returns as NETWORK_CORRUPTION).
|
inline |
Set the 16 byte (128 bit) key. Use the same byte order as nrf_to_nrf::setKey()
|
inline |
Set the packet counter for outgoing frames. It starts at a random value and wraps at 24 bits
|
inline |
RF24::setRetries(), raised to at least minRetryDelay and minRetryCount while encryption is enabled
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
| bool RF24CCM::enableEncryption = false |
Encrypt and authenticate all traffic. Every node on the channel must use the same key
| uint32_t RF24CCM::decryptFailures = 0 |
Received frames dropped because they were too short or failed authentication