Optimized RF24Network Layer v2.0.2
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_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);
Definition RF24Network.h:384