Optimized RF24Network Layer v2.0.5
2024 - Optimized RF24 Network Layer for NRF24L01 & NRF52x radios
Loading...
Searching...
No Matches
RF24Network.h File Reference
#include <stddef.h>
#include <stdint.h>
#include "RF24Network_config.h"

Go to the source code of this file.

Classes

struct  RF24NetworkHeader
struct  RF24NetworkFrame
class  ESBNetwork< radio_t >

Macros

#define MIN_USER_DEFINED_HEADER_TYPE   0
#define MAX_USER_DEFINED_HEADER_TYPE   127
#define NETWORK_ADDR_RESPONSE   128
#define NETWORK_PING   130
#define EXTERNAL_DATA_TYPE   131
#define NETWORK_FIRST_FRAGMENT   148
#define NETWORK_MORE_FRAGMENTS   149
#define NETWORK_LAST_FRAGMENT   150
#define NETWORK_OVERRUN   160
#define NETWORK_CORRUPTION   161
#define NETWORK_ACK   193
#define NETWORK_POLL   194
#define NETWORK_REQ_ADDRESS   195
#define NETWORK_MORE_FRAGMENTS_NACK   200
#define TX_NORMAL   0
#define TX_ROUTED   1
#define USER_TX_TO_PHYSICAL_ADDRESS   2
#define USER_TX_TO_LOGICAL_ADDRESS   3
#define USER_TX_MULTICAST   4
#define MAX_FRAME_SIZE   32
#define FRAME_HEADER_SIZE   10
#define USE_CURRENT_CHANNEL   255
#define FLAG_FAST_FRAG   4
#define FLAG_NO_POLL   8

Typedefs

typedef ESBNetwork< RF24 > RF24Network

Detailed Description

Class declaration for RF24Network

Macro Definition Documentation

◆ MIN_USER_DEFINED_HEADER_TYPE

#define MIN_USER_DEFINED_HEADER_TYPE   0

◆ MAX_USER_DEFINED_HEADER_TYPE

#define MAX_USER_DEFINED_HEADER_TYPE   127

◆ NETWORK_MORE_FRAGMENTS_NACK

#define NETWORK_MORE_FRAGMENTS_NACK   200

◆ TX_NORMAL

#define TX_NORMAL   0

◆ TX_ROUTED

#define TX_ROUTED   1

◆ USER_TX_TO_PHYSICAL_ADDRESS

#define USER_TX_TO_PHYSICAL_ADDRESS   2

◆ USER_TX_TO_LOGICAL_ADDRESS

#define USER_TX_TO_LOGICAL_ADDRESS   3

◆ USER_TX_MULTICAST

#define USER_TX_MULTICAST   4

◆ MAX_FRAME_SIZE

#define MAX_FRAME_SIZE   32

◆ FRAME_HEADER_SIZE

#define FRAME_HEADER_SIZE   10

◆ USE_CURRENT_CHANNEL

#define USE_CURRENT_CHANNEL   255

A sentinel value signifying that the current radio channel should be unchanged when setting up the network node with RF24Network::begin(uint8_t _channel, uint16_t _node_address).

◆ FLAG_FAST_FRAG

#define FLAG_FAST_FRAG   4

This flag (when asserted in RF24Network::networkFlags) prevents repetitively configuring the radio during transmission of fragmented messages.

◆ FLAG_NO_POLL

#define FLAG_NO_POLL   8

This flag (when asserted in RF24Network::networkFlags) prevents a node from responding to mesh nodes looking to connect to the network. Calling RF24Mesh::setChild() uses this flag accordingly.

Typedef Documentation

◆ RF24Network

typedef ESBNetwork<RF24> RF24Network

A type definition of the template class ESBNetwork to maintain backward compatibility.

RF24 radio(7, 8);
RF24Network network(radio);
// is equivalent to
ESBNetwork<RF24> network(radio);
ESBNetwork< RF24 > RF24Network
Definition RF24Network.h:1013
Definition RF24Network.h:399
Examples
Network_Ping.ino, Network_Ping_Sleep.ino, Network_Priority_RX.ino, Network_Priority_TX.ino, examples/helloworld_rx/helloworld_rx.ino, examples/helloworld_tx/helloworld_tx.ino, helloworld_rx_advanced.ino, and helloworld_tx_advanced.ino.