diff --git a/CONTRIBUTING_8md.html b/CONTRIBUTING_8md.html index d8bd0a52..6b43d442 100644 --- a/CONTRIBUTING_8md.html +++ b/CONTRIBUTING_8md.html @@ -23,7 +23,7 @@ -
Newly Optimized RF24Network Layer v1.0.19 +
Newly Optimized RF24Network Layer v2.0.0
2020 - Optimized RF24 Network Layer for NRF24L01 radios
@@ -78,7 +78,7 @@
diff --git a/Network_Ping_8ino-example.html b/Network_Ping_8ino-example.html index b5341544..44deba3f 100644 --- a/Network_Ping_8ino-example.html +++ b/Network_Ping_8ino-example.html @@ -23,7 +23,7 @@ -
Newly Optimized RF24Network Layer v1.0.19 +
Newly Optimized RF24Network Layer v2.0.0
2020 - Optimized RF24 Network Layer for NRF24L01 radios
@@ -75,7 +75,7 @@
Network_Ping.ino
-

Example to give users an understanding of addressing and topology in the mesh network Using this sketch, each node will send a ping to the base every few seconds. The RF24Network library will route the message across the mesh to the correct node.

+

Example to give users an understanding of addressing and topology in the mesh network Using this sketch, each node will send a ping to the base every few seconds. The RF24Network library will route the message across the mesh to the correct node.

#include <avr/pgmspace.h>
#include "printf.h"
@@ -104,7 +104,7 @@
RF24 radio(7, 8); // CE & CS pins to use (Using 7,8 on Uno,Nano)
-
RF24Network network(radio);
+
RF24Network network(radio);
uint16_t this_node; // Our node address
@@ -284,14 +284,14 @@
}
}
-
Definition: RF24Network.h:375
-
Definition: RF24Network.h:226
-
unsigned char type
Definition: RF24Network.h:243
-
uint16_t from_node
Definition: RF24Network.h:228
+
Definition: RF24Network.h:384
+
Definition: RF24Network.h:229
+
unsigned char type
Definition: RF24Network.h:246
+
uint16_t from_node
Definition: RF24Network.h:231
diff --git a/Network_Ping_Sleep_8ino-example.html b/Network_Ping_Sleep_8ino-example.html index 1c303ad1..4349a761 100644 --- a/Network_Ping_Sleep_8ino-example.html +++ b/Network_Ping_Sleep_8ino-example.html @@ -23,7 +23,7 @@ -
Newly Optimized RF24Network Layer v1.0.19 +
Newly Optimized RF24Network Layer v2.0.0
2020 - Optimized RF24 Network Layer for NRF24L01 radios
@@ -81,7 +81,7 @@
#include <avr/pgmspace.h>
@@ -114,7 +114,7 @@
RF24 radio(7, 8); // CE & CS pins to use (Using 7,8 on Uno,Nano)
-
RF24Network network(radio);
+
RF24Network network(radio);
uint16_t this_node; // Our node address
@@ -331,14 +331,14 @@
}
}
-
Definition: RF24Network.h:375
-
Definition: RF24Network.h:226
-
unsigned char type
Definition: RF24Network.h:243
-
uint16_t from_node
Definition: RF24Network.h:228
+
Definition: RF24Network.h:384
+
Definition: RF24Network.h:229
+
unsigned char type
Definition: RF24Network.h:246
+
uint16_t from_node
Definition: RF24Network.h:231
diff --git a/Network_Priority_RX_8ino-example.html b/Network_Priority_RX_8ino-example.html index 3987e15d..a566659e 100644 --- a/Network_Priority_RX_8ino-example.html +++ b/Network_Priority_RX_8ino-example.html @@ -23,7 +23,7 @@ -
Newly Optimized RF24Network Layer v1.0.19 +
Newly Optimized RF24Network Layer v2.0.0
2020 - Optimized RF24 Network Layer for NRF24L01 radios
@@ -75,7 +75,7 @@
Network_Priority_RX.ino
-

An example of handling/prioritizing different types of data passing through the RF24Network

+

An example of handling/prioritizing different types of data passing through the RF24Network

#include "printf.h"
#include <RF24.h>
@@ -83,7 +83,7 @@
RF24 radio(7, 8); // nRF24L01(+) radio attached using Getting Started board
-
RF24Network network(radio); // Network uses that radio
+
RF24Network network(radio); // Network uses that radio
const uint16_t this_node = 00; // Address of our node in Octal format
const uint16_t other_node = 01; // Address of the other node in Octal format
@@ -180,14 +180,14 @@
}
} //loop
-
Definition: RF24Network.h:375
+
Definition: RF24Network.h:384
#define EXTERNAL_DATA_TYPE
Definition: RF24Network.h:103
-
Definition: RF24Network.h:226
-
unsigned char type
Definition: RF24Network.h:243
+
Definition: RF24Network.h:229
+
unsigned char type
Definition: RF24Network.h:246
diff --git a/Network_Priority_TX_8ino-example.html b/Network_Priority_TX_8ino-example.html index 18169415..90f60327 100644 --- a/Network_Priority_TX_8ino-example.html +++ b/Network_Priority_TX_8ino-example.html @@ -23,7 +23,7 @@ -
Newly Optimized RF24Network Layer v1.0.19 +
Newly Optimized RF24Network Layer v2.0.0
2020 - Optimized RF24 Network Layer for NRF24L01 radios
@@ -75,7 +75,7 @@
Network_Priority_TX.ino
-

An example of handling/prioritizing different types of data passing through the RF24Network

+

An example of handling/prioritizing different types of data passing through the RF24Network

#include <RF24.h>
#include <RF24Network.h>
@@ -83,7 +83,7 @@
RF24 radio(7, 8); // nRF24L01(+) radio attached using Getting Started board
-
RF24Network network(radio); // Network uses that radio
+
RF24Network network(radio); // Network uses that radio
const uint16_t this_node = 01; // Address of our node in Octal format
const uint16_t other_node = 00; // Address of the other node in Octal format
@@ -154,13 +154,13 @@
} //loop
-
Definition: RF24Network.h:375
+
Definition: RF24Network.h:384
#define EXTERNAL_DATA_TYPE
Definition: RF24Network.h:103
-
Definition: RF24Network.h:226
+
Definition: RF24Network.h:229
diff --git a/RF24Network_8cpp.html b/RF24Network_8cpp.html index a97d2eac..5ed796b6 100644 --- a/RF24Network_8cpp.html +++ b/RF24Network_8cpp.html @@ -23,7 +23,7 @@ -
Newly Optimized RF24Network Layer v1.0.19 +
Newly Optimized RF24Network Layer v2.0.0
2020 - Optimized RF24 Network Layer for NRF24L01 radios
@@ -81,7 +81,7 @@
diff --git a/RF24Network_8h.html b/RF24Network_8h.html index bf0b0596..66eafcc3 100644 --- a/RF24Network_8h.html +++ b/RF24Network_8h.html @@ -23,7 +23,7 @@ -
Newly Optimized RF24Network Layer v1.0.19 +
Newly Optimized RF24Network Layer v2.0.0
2020 - Optimized RF24 Network Layer for NRF24L01 radios
@@ -74,7 +74,8 @@
+Macros | +Typedefs
RF24Network.h File Reference
@@ -90,7 +91,7 @@   struct  RF24NetworkFrame   -class  RF24Network +class  ESBNetwork< radio_t >   +

@@ -139,9 +140,14 @@

 
#define FLAG_NO_POLL   8
 
+ + +

+Typedefs

typedef ESBNetwork< RF24 > RF24Network
 

Detailed Description

-

Class declaration for RF24Network

+

Class declaration for RF24Network

Macro Definition Documentation

◆ MIN_USER_DEFINED_HEADER_TYPE

@@ -294,7 +300,7 @@

-

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).

+

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).

@@ -309,7 +315,7 @@

-

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

+

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

@@ -324,14 +330,36 @@

-

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.

+

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
+
diff --git a/RF24Network_8h_source.html b/RF24Network_8h_source.html index 8941e4d3..7d6c3b89 100644 --- a/RF24Network_8h_source.html +++ b/RF24Network_8h_source.html @@ -23,7 +23,7 @@ -
Newly Optimized RF24Network Layer v1.0.19 +
Newly Optimized RF24Network Layer v2.0.0
2020 - Optimized RF24 Network Layer for NRF24L01 radios
@@ -156,278 +156,288 @@
214#define FLAG_NO_POLL 8
215
216class RF24;
-
217
- -
226{
-
228 uint16_t from_node;
-
229
-
231 uint16_t to_node;
+
217#if defined(ARDUINO_ARCH_NRF52) || defined(ARDUINO_ARCH_NRF52840) || defined(ARDUINO_ARCH_NRF52833)
+
218class nrf_to_nrf;
+
219#endif
+
220
+ +
229{
+
231 uint16_t from_node;
232
-
234 uint16_t id;
+
234 uint16_t to_node;
235
-
243 unsigned char type;
-
244
-
251 unsigned char reserved;
-
252
-
254 static uint16_t next_id;
+
237 uint16_t id;
+
238
+
246 unsigned char type;
+
247
+
254 unsigned char reserved;
255
- -
262
-
284 RF24NetworkHeader(uint16_t _to, unsigned char _type = 0) : to_node(_to), id(next_id++), type(_type) {}
-
285
-
295 const char* toString(void) const;
-
296};
-
297
- -
309{
- -
312
-
314 uint16_t message_size;
+
257 static uint16_t next_id;
+
258
+ +
265
+
287 RF24NetworkHeader(uint16_t _to, unsigned char _type = 0) : to_node(_to), id(next_id++), type(_type) {}
+
288
+
298 const char* toString(void) const;
+
299};
+
300
+ +
312{
+
315
-
320#if defined(RF24_LINUX)
-
321 uint8_t message_buffer[MAX_PAYLOAD_SIZE]; // Array to store the message
-
322#else
-
323 uint8_t* message_buffer; // Pointer to the buffer storing the actual message
-
324#endif
-
325
- -
332
-
343#if defined(RF24_LINUX) || defined(DOXYGEN_FORCED)
-
344 RF24NetworkFrame(RF24NetworkHeader& _header, const void* _message = NULL, uint16_t _len = 0) : header(_header), message_size(_len)
-
345 {
-
346 if (_message && _len) {
-
347 memcpy(message_buffer, _message, _len);
-
348 }
-
349 }
-
350#endif
-
351#if defined(DOXYGEN_FORCED) || !defined(RF24_LINUX)
-
362 RF24NetworkFrame(RF24NetworkHeader& _header, uint16_t _message_size) : header(_header), message_size(_message_size)
-
363 {
-
364 }
-
365#endif
-
366};
-
367
- -
375{
-
376
-
384public:
-
390 RF24Network(RF24& _radio);
-
391
-
412 inline void begin(uint16_t _node_address)
-
413 {
-
414 begin(USE_CURRENT_CHANNEL, _node_address);
-
415 }
-
416
-
425 uint8_t update(void);
-
426
-
432 bool available(void);
-
433
-
444 uint16_t peek(RF24NetworkHeader& header);
-
445
-
459 void peek(RF24NetworkHeader& header, void* message, uint16_t maxlen = MAX_PAYLOAD_SIZE);
-
460
-
483 uint16_t read(RF24NetworkHeader& header, void* message, uint16_t maxlen = MAX_PAYLOAD_SIZE);
-
484
-
504 bool write(RF24NetworkHeader& header, const void* message, uint16_t len);
+
317 uint16_t message_size;
+
318
+
323#if defined(RF24_LINUX)
+
324 uint8_t message_buffer[MAX_PAYLOAD_SIZE]; // Array to store the message
+
325#else
+
326 uint8_t* message_buffer; // Pointer to the buffer storing the actual message
+
327#endif
+
328
+ +
335
+
346#if defined(RF24_LINUX) || defined(DOXYGEN_FORCED)
+
347 RF24NetworkFrame(RF24NetworkHeader& _header, const void* _message = NULL, uint16_t _len = 0) : header(_header), message_size(_len)
+
348 {
+
349 if (_message && _len) {
+
350 memcpy(message_buffer, _message, _len);
+
351 }
+
352 }
+
353#endif
+
354#if defined(DOXYGEN_FORCED) || !defined(RF24_LINUX)
+
365 RF24NetworkFrame(RF24NetworkHeader& _header, uint16_t _message_size) : header(_header), message_size(_message_size)
+
366 {
+
367 }
+
368#endif
+
369};
+
370
+
382template<class radio_t = RF24>
+ +
384{
+
385
+
393public:
+
411 ESBNetwork(radio_t& _radio);
+
412
+
433 inline void begin(uint16_t _node_address)
+
434 {
+
435 begin(USE_CURRENT_CHANNEL, _node_address);
+
436 }
+
437
+
446 uint8_t update(void);
+
447
+
453 bool available(void);
+
454
+
465 uint16_t peek(RF24NetworkHeader& header);
+
466
+
480 void peek(RF24NetworkHeader& header, void* message, uint16_t maxlen = MAX_PAYLOAD_SIZE);
+
481
+
504 uint16_t read(RF24NetworkHeader& header, void* message, uint16_t maxlen = MAX_PAYLOAD_SIZE);
505
-
534 void multicastLevel(uint8_t level);
-
535
- -
544
-
553 void setup_watchdog(uint8_t prescalar);
-
554
-
564 uint32_t txTimeout;
+
525 bool write(RF24NetworkHeader& header, const void* message, uint16_t len);
+
526
+
555 void multicastLevel(uint8_t level);
+
556
+
565
-
574 uint16_t routeTimeout;
+
574 void setup_watchdog(uint8_t prescalar);
575
-
584#if defined(ENABLE_NETWORK_STATS) || defined(DOXYGEN_FORCED)
-
585
-
595 void failures(uint32_t* _fails, uint32_t* _ok);
+
585 uint32_t txTimeout;
+
586
+
595 uint16_t routeTimeout;
596
-
597#endif // defined (ENABLE_NETWORK_STATS)
-
598#if defined(RF24NetworkMulticast)
-
599
-
616 bool multicast(RF24NetworkHeader& header, const void* message, uint16_t len, uint8_t level = 7);
+
605#if defined(ENABLE_NETWORK_STATS) || defined(DOXYGEN_FORCED)
+
606
+
616 void failures(uint32_t* _fails, uint32_t* _ok);
617
-
618#endif
-
619
-
625 bool write(RF24NetworkHeader& header, const void* message, uint16_t len, uint16_t writeDirect);
-
626
-
659 bool sleepNode(unsigned int cycles, int interruptPin, uint8_t INTERRUPT_MODE = 0); //added interrupt mode support (default 0=LOW)
-
660
-
666 uint16_t parent() const;
-
667
-
671 uint16_t addressOfPipe(uint16_t node, uint8_t pipeNo);
-
672
-
682 bool is_valid_address(uint16_t node);
-
683
-
713 void begin(uint8_t _channel, uint16_t _node_address);
-
714
- -
733
-
752#if defined(RF24_LINUX) || defined(DOXYGEN_FORCED)
-
753 std::queue<RF24NetworkFrame> external_queue;
-
754#endif
-
755
-
756#if (!defined(DISABLE_FRAGMENTATION) && !defined(RF24_LINUX)) || defined(DOXYGEN_FORCED)
- -
776#endif
-
777
- -
795
- -
811
-
812protected:
-
813#if defined(RF24NetworkMulticast)
- -
819#endif
-
826 uint16_t node_address;
-
827
-
828private:
-
846 bool write(uint16_t to_node, uint8_t sendType);
-
847
-
855 bool write_to_pipe(uint16_t node, uint8_t pipe, bool multicast);
-
856
-
865 uint8_t enqueue(RF24NetworkHeader* header);
-
866
-
867 /*
-
868 * Called from begin(), this sets up the radio to act accordingly per the
-
869 * logical `_node_address` parameter passed to `begin()`.
-
870 *
-
871 * Based on the value of the private member `node_address`, the resulting confiuration affects
-
872 * private members `node_mask`, `parent_node`, `parent_pipe`, and `_multicast_level`.
-
873 */
-
874 void setup_address(void);
-
875
-
876 /*
-
877 * This (non-overloaded) function copies the outgoing frame into the `frame_buffer` and detirmines
-
878 * the initial values passed into `logicalToPhysicalAddress()` (based on the value passed
-
879 * to the `writeDirect` parameter). This is always called from either of the overloaded public
-
880 * `write()` functions.
-
881 */
-
882 bool _write(RF24NetworkHeader& header, const void* message, uint16_t len, uint16_t writeDirect);
-
883
-
884 struct logicalToPhysicalStruct
-
885 {
-
887 uint16_t send_node;
-
889 uint8_t send_pipe;
-
891 bool multicast;
-
892 };
-
893
-
894 /*
-
895 * Translates an outgoing frame's header information into the current node's
-
896 * required information (`logicalToPhysicalStruct`) for making the transmission.
-
897 *
-
898 * This returns void because the translated results are stored in the
-
899 * `logicalToPhysicalStruct` passed by reference.
-
900 */
-
901 void logicalToPhysicalAddress(logicalToPhysicalStruct* conversionInfo);
-
902
-
903 /********* only called from `logicalToPhysicalAddress()` ***************/
+
618#endif // defined (ENABLE_NETWORK_STATS)
+
619#if defined(RF24NetworkMulticast)
+
620
+
637 bool multicast(RF24NetworkHeader& header, const void* message, uint16_t len, uint8_t level = 7);
+
638
+
639#endif
+
640
+
646 bool write(RF24NetworkHeader& header, const void* message, uint16_t len, uint16_t writeDirect);
+
647
+
680 bool sleepNode(unsigned int cycles, int interruptPin, uint8_t INTERRUPT_MODE = 0); //added interrupt mode support (default 0=LOW)
+
681
+
687 uint16_t parent() const;
+
688
+
692 uint16_t addressOfPipe(uint16_t node, uint8_t pipeNo);
+
693
+
703 bool is_valid_address(uint16_t node);
+
704
+
734 void begin(uint8_t _channel, uint16_t _node_address);
+
735
+ +
754
+
773#if defined(RF24_LINUX) || defined(DOXYGEN_FORCED)
+
774 std::queue<RF24NetworkFrame> external_queue;
+
775#endif
+
776
+
777#if (!defined(DISABLE_FRAGMENTATION) && !defined(RF24_LINUX)) || defined(DOXYGEN_FORCED)
+ +
797#endif
+
798
+ +
816
+ +
832
+
833protected:
+
834#if defined(RF24NetworkMulticast)
+ +
840#endif
+
847 uint16_t node_address;
+
848
+
849private:
+
867 bool write(uint16_t to_node, uint8_t sendType);
+
868
+
876 bool write_to_pipe(uint16_t node, uint8_t pipe, bool multicast);
+
877
+
886 uint8_t enqueue(RF24NetworkHeader* header);
+
887
+
888 /*
+
889 * Called from begin(), this sets up the radio to act accordingly per the
+
890 * logical `_node_address` parameter passed to `begin()`.
+
891 *
+
892 * Based on the value of the private member `node_address`, the resulting confiuration affects
+
893 * private members `node_mask`, `parent_node`, `parent_pipe`, and `_multicast_level`.
+
894 */
+
895 void setup_address(void);
+
896
+
897 /*
+
898 * This (non-overloaded) function copies the outgoing frame into the `frame_buffer` and detirmines
+
899 * the initial values passed into `logicalToPhysicalAddress()` (based on the value passed
+
900 * to the `writeDirect` parameter). This is always called from either of the overloaded public
+
901 * `write()` functions.
+
902 */
+
903 bool _write(RF24NetworkHeader& header, const void* message, uint16_t len, uint16_t writeDirect);
904
-
905 /* Returns true if the given logical address (`node` parameter) is a direct child of the current node; otherwise returns false. */
-
906 bool is_direct_child(uint16_t node);
-
907 /* Returns true if the given logical address (`node` parameter) is a descendent of the current node; otherwise returns false. */
-
908 bool is_descendant(uint16_t node);
-
909 /* Returns a logical address for the first child en route to a child node */
-
910 uint16_t direct_child_route_to(uint16_t node);
-
911
-
912 /***********************************************************************/
-
913
-
914 RF24& radio;
-
916 uint8_t frame_size; /* The outgoing frame's total size including the header info. Ranges [8, MAX_PAYLOAD_SIZE] */
-
917 const static unsigned int max_frame_payload_size = MAX_FRAME_SIZE - sizeof(RF24NetworkHeader); /* always 24 bytes to compensate for the frame's header */
-
918
-
919#if defined(RF24_LINUX)
-
920 std::queue<RF24NetworkFrame> frame_queue;
-
921 std::map<uint16_t, RF24NetworkFrame> frameFragmentsCache;
-
922 bool appendFragmentToFrame(RF24NetworkFrame frame);
-
923#else // Not Linux:
-
924
-
925 #if defined(DISABLE_USER_PAYLOADS)
-
926 uint8_t frame_queue[1];
-
927 #else
-
928 uint8_t frame_queue[MAIN_BUFFER_SIZE];
-
929 #endif
-
930
-
931 uint8_t* next_frame;
-
933 #if !defined(DISABLE_FRAGMENTATION)
-
934 RF24NetworkFrame frag_queue; /* a cache for re-assembling incoming message fragments */
-
935 uint8_t frag_queue_message_buffer[MAX_PAYLOAD_SIZE]; //frame size + 1
-
936 #endif
-
937
-
938#endif // Linux/Not Linux
+
905 struct logicalToPhysicalStruct
+
906 {
+
908 uint16_t send_node;
+
910 uint8_t send_pipe;
+
912 bool multicast;
+
913 };
+
914
+
915 /*
+
916 * Translates an outgoing frame's header information into the current node's
+
917 * required information (`logicalToPhysicalStruct`) for making the transmission.
+
918 *
+
919 * This returns void because the translated results are stored in the
+
920 * `logicalToPhysicalStruct` passed by reference.
+
921 */
+
922 void logicalToPhysicalAddress(logicalToPhysicalStruct* conversionInfo);
+
923
+
924 /********* only called from `logicalToPhysicalAddress()` ***************/
+
925
+
926 /* Returns true if the given logical address (`node` parameter) is a direct child of the current node; otherwise returns false. */
+
927 bool is_direct_child(uint16_t node);
+
928 /* Returns true if the given logical address (`node` parameter) is a descendent of the current node; otherwise returns false. */
+
929 bool is_descendant(uint16_t node);
+
930 /* Returns a logical address for the first child en route to a child node */
+
931 uint16_t direct_child_route_to(uint16_t node);
+
932
+
933 /***********************************************************************/
+
934
+
935 radio_t& radio;
+
937 uint8_t frame_size; /* The outgoing frame's total size including the header info. Ranges [8, MAX_PAYLOAD_SIZE] */
+
938 const static unsigned int max_frame_payload_size = MAX_FRAME_SIZE - sizeof(RF24NetworkHeader); /* always 24 bytes to compensate for the frame's header */
939
-
940 uint16_t parent_node;
-
941 uint8_t parent_pipe;
-
942 uint16_t node_mask;
-
944 /* Given the Logical node address & a pipe number, this returns the Physical address assigned to the radio's pipes. */
-
945 uint64_t pipe_address(uint16_t node, uint8_t pipe);
-
946
-
947#if defined ENABLE_NETWORK_STATS
-
948 uint32_t nFails;
-
949 uint32_t nOK;
-
950#endif
+
940#if defined(RF24_LINUX)
+
941 std::queue<RF24NetworkFrame> frame_queue;
+
942 std::map<uint16_t, RF24NetworkFrame> frameFragmentsCache;
+
943 bool appendFragmentToFrame(RF24NetworkFrame frame);
+
944#else // Not Linux:
+
945
+
946 #if defined(DISABLE_USER_PAYLOADS)
+
947 uint8_t frame_queue[1];
+
948 #else
+
949 uint8_t frame_queue[MAIN_BUFFER_SIZE];
+
950 #endif
951
-
952#if defined(RF24NetworkMulticast)
-
953 /* translates network level number (0-3) to a Logical address (used for TX multicasting) */
-
954 uint16_t levelToAddress(uint8_t level);
-
955#endif
-
956
-
958};
-
959
-
1029#endif // __RF24NETWORK_H__
+
952 uint8_t* next_frame;
+
954 #if !defined(DISABLE_FRAGMENTATION)
+
955 RF24NetworkFrame frag_queue; /* a cache for re-assembling incoming message fragments */
+
956 uint8_t frag_queue_message_buffer[MAX_PAYLOAD_SIZE]; //frame size + 1
+
957 #endif
+
958
+
959#endif // Linux/Not Linux
+
960
+
961 uint16_t parent_node;
+
962 uint8_t parent_pipe;
+
963 uint16_t node_mask;
+
965 /* Given the Logical node address & a pipe number, this returns the Physical address assigned to the radio's pipes. */
+
966 uint64_t pipe_address(uint16_t node, uint8_t pipe);
+
967
+
968#if defined ENABLE_NETWORK_STATS
+
969 uint32_t nFails;
+
970 uint32_t nOK;
+
971#endif
+
972
+
973#if defined(RF24NetworkMulticast)
+
974 /* translates network level number (0-3) to a Logical address (used for TX multicasting) */
+
975 uint16_t levelToAddress(uint8_t level);
+
976#endif
+
977
+
979};
+
980
+ +
993#if defined(ARDUINO_ARCH_NRF52) || defined(ARDUINO_ARCH_NRF52840) || defined(ARDUINO_ARCH_NRF52833)
+
994typedef ESBNetwork<nrf_to_nrf> RF52Network;
+
995#endif
+
996
+
1066#endif // __RF24NETWORK_H__
+
ESBNetwork< RF24 > RF24Network
Definition: RF24Network.h:992
#define USE_CURRENT_CHANNEL
Definition: RF24Network.h:202
#define MAX_FRAME_SIZE
Definition: RF24Network.h:195
#define MAX_PAYLOAD_SIZE
Maximum size of fragmented network frames and fragmentation cache.
Definition: RF24Network_config.h:61
#define MAIN_BUFFER_SIZE
The allocated size of the incoming frame buffer.
Definition: RF24Network_config.h:72
-
Definition: RF24Network.h:375
-
bool available(void)
Definition: RF24Network.cpp:533
-
uint16_t node_address
Definition: RF24Network.h:826
-
RF24NetworkFrame * frag_ptr
Definition: RF24Network.h:775
-
uint8_t networkFlags
Definition: RF24Network.h:810
-
void multicastLevel(uint8_t level)
Definition: RF24Network.cpp:1125
-
uint8_t _multicast_level
Definition: RF24Network.h:818
-
uint16_t routeTimeout
Timeout for routed payloads.
Definition: RF24Network.h:574
-
uint16_t read(RF24NetworkHeader &header, void *message, uint16_t maxlen=MAX_PAYLOAD_SIZE)
Definition: RF24Network.cpp:599
-
uint32_t txTimeout
Network timeout value.
Definition: RF24Network.h:564
-
bool multicast(RF24NetworkHeader &header, const void *message, uint16_t len, uint8_t level=7)
Definition: RF24Network.cpp:654
-
uint8_t frame_buffer[MAX_FRAME_SIZE]
The raw system frame buffer.
Definition: RF24Network.h:732
-
uint16_t addressOfPipe(uint16_t node, uint8_t pipeNo)
Definition: RF24Network.cpp:1068
-
uint16_t parent() const
Definition: RF24Network.cpp:545
-
void begin(uint16_t _node_address)
Definition: RF24Network.h:412
-
std::queue< RF24NetworkFrame > external_queue
Definition: RF24Network.h:753
-
bool is_valid_address(uint16_t node)
Definition: RF24Network.cpp:1094
-
uint16_t peek(RF24NetworkHeader &header)
Definition: RF24Network.cpp:555
-
bool write(RF24NetworkHeader &header, const void *message, uint16_t len)
Definition: RF24Network.cpp:665
-
void setup_watchdog(uint8_t prescalar)
-
void failures(uint32_t *_fails, uint32_t *_ok)
-
bool sleepNode(unsigned int cycles, int interruptPin, uint8_t INTERRUPT_MODE=0)
-
uint8_t update(void)
Definition: RF24Network.cpp:120
-
bool multicastRelay
Definition: RF24Network.h:543
-
bool returnSysMsgs
Definition: RF24Network.h:794
-
Definition: RF24Network.h:309
-
RF24NetworkFrame(RF24NetworkHeader &_header, uint16_t _message_size)
Definition: RF24Network.h:362
-
RF24NetworkFrame(RF24NetworkHeader &_header, const void *_message=NULL, uint16_t _len=0)
Definition: RF24Network.h:344
-
uint8_t * message_buffer
Definition: RF24Network.h:323
-
RF24NetworkHeader header
Definition: RF24Network.h:311
-
uint16_t message_size
Definition: RF24Network.h:314
-
RF24NetworkFrame()
Definition: RF24Network.h:331
-
Definition: RF24Network.h:226
-
const char * toString(void) const
Definition: RF24Network.cpp:992
-
unsigned char reserved
Definition: RF24Network.h:251
-
RF24NetworkHeader(uint16_t _to, unsigned char _type=0)
Definition: RF24Network.h:284
-
RF24NetworkHeader()
Definition: RF24Network.h:261
-
unsigned char type
Definition: RF24Network.h:243
-
uint16_t id
Definition: RF24Network.h:234
-
uint16_t to_node
Definition: RF24Network.h:231
-
static uint16_t next_id
Definition: RF24Network.h:254
-
uint16_t from_node
Definition: RF24Network.h:228
+
Definition: RF24Network.h:384
+
std::queue< RF24NetworkFrame > external_queue
Definition: RF24Network.h:774
+
bool sleepNode(unsigned int cycles, int interruptPin, uint8_t INTERRUPT_MODE=0)
+
bool returnSysMsgs
Definition: RF24Network.h:815
+
void multicastLevel(uint8_t level)
Definition: RF24Network.cpp:1154
+
uint16_t node_address
Definition: RF24Network.h:847
+
bool multicast(RF24NetworkHeader &header, const void *message, uint16_t len, uint8_t level=7)
Definition: RF24Network.cpp:670
+
bool available(void)
Definition: RF24Network.cpp:544
+
void begin(uint16_t _node_address)
Definition: RF24Network.h:433
+
uint16_t routeTimeout
Timeout for routed payloads.
Definition: RF24Network.h:595
+
void setup_watchdog(uint8_t prescalar)
+
void failures(uint32_t *_fails, uint32_t *_ok)
+
uint8_t update(void)
Definition: RF24Network.cpp:127
+
uint32_t txTimeout
Network timeout value.
Definition: RF24Network.h:585
+
uint8_t networkFlags
Definition: RF24Network.h:831
+
RF24NetworkFrame * frag_ptr
Definition: RF24Network.h:796
+
uint16_t peek(RF24NetworkHeader &header)
Definition: RF24Network.cpp:568
+
uint8_t _multicast_level
Definition: RF24Network.h:839
+
uint16_t addressOfPipe(uint16_t node, uint8_t pipeNo)
Definition: RF24Network.cpp:1094
+
bool is_valid_address(uint16_t node)
Definition: RF24Network.cpp:1122
+
uint8_t frame_buffer[MAX_FRAME_SIZE]
The raw system frame buffer.
Definition: RF24Network.h:753
+
uint16_t read(RF24NetworkHeader &header, void *message, uint16_t maxlen=MAX_PAYLOAD_SIZE)
Definition: RF24Network.cpp:614
+
bool multicastRelay
Definition: RF24Network.h:564
+
uint16_t parent() const
Definition: RF24Network.cpp:557
+
bool write(RF24NetworkHeader &header, const void *message, uint16_t len)
Definition: RF24Network.cpp:682
+
Definition: RF24Network.h:312
+
RF24NetworkFrame(RF24NetworkHeader &_header, uint16_t _message_size)
Definition: RF24Network.h:365
+
RF24NetworkFrame(RF24NetworkHeader &_header, const void *_message=NULL, uint16_t _len=0)
Definition: RF24Network.h:347
+
uint8_t * message_buffer
Definition: RF24Network.h:326
+
RF24NetworkHeader header
Definition: RF24Network.h:314
+
uint16_t message_size
Definition: RF24Network.h:317
+
RF24NetworkFrame()
Definition: RF24Network.h:334
+
Definition: RF24Network.h:229
+
const char * toString(void) const
Definition: RF24Network.cpp:1014
+
unsigned char reserved
Definition: RF24Network.h:254
+
RF24NetworkHeader(uint16_t _to, unsigned char _type=0)
Definition: RF24Network.h:287
+
RF24NetworkHeader()
Definition: RF24Network.h:264
+
unsigned char type
Definition: RF24Network.h:246
+
uint16_t id
Definition: RF24Network.h:237
+
uint16_t to_node
Definition: RF24Network.h:234
+
static uint16_t next_id
Definition: RF24Network.h:257
+
uint16_t from_node
Definition: RF24Network.h:231
diff --git a/RF24Network__config_8h.html b/RF24Network__config_8h.html index ba46d41c..dcb8bf9d 100644 --- a/RF24Network__config_8h.html +++ b/RF24Network__config_8h.html @@ -23,7 +23,7 @@ -
Newly Optimized RF24Network Layer v1.0.19 +
Newly Optimized RF24Network Layer v2.0.0
2020 - Optimized RF24 Network Layer for NRF24L01 radios
@@ -246,7 +246,7 @@

diff --git a/RF24Network__config_8h_source.html b/RF24Network__config_8h_source.html index 9d23f67d..437167d2 100644 --- a/RF24Network__config_8h_source.html +++ b/RF24Network__config_8h_source.html @@ -23,7 +23,7 @@ -
Newly Optimized RF24Network Layer v1.0.19 +
Newly Optimized RF24Network Layer v2.0.0
2020 - Optimized RF24 Network Layer for NRF24L01 radios
@@ -201,7 +201,7 @@

diff --git a/addressing_8md.html b/addressing_8md.html index dc191b7b..0eaf18e5 100644 --- a/addressing_8md.html +++ b/addressing_8md.html @@ -23,7 +23,7 @@ -
Newly Optimized RF24Network Layer v1.0.19 +
Newly Optimized RF24Network Layer v2.0.0
2020 - Optimized RF24 Network Layer for NRF24L01 radios
@@ -78,7 +78,7 @@
diff --git a/advanced__config_8md.html b/advanced__config_8md.html index 6bffc120..3d7e0cff 100644 --- a/advanced__config_8md.html +++ b/advanced__config_8md.html @@ -23,7 +23,7 @@ -
Newly Optimized RF24Network Layer v1.0.19 +
Newly Optimized RF24Network Layer v2.0.0
2020 - Optimized RF24 Network Layer for NRF24L01 radios
@@ -78,7 +78,7 @@
diff --git a/annotated.html b/annotated.html index 467dfb81..0a13687f 100644 --- a/annotated.html +++ b/annotated.html @@ -23,7 +23,7 @@ -
Newly Optimized RF24Network Layer v1.0.19 +
Newly Optimized RF24Network Layer v2.0.0
2020 - Optimized RF24 Network Layer for NRF24L01 radios
@@ -77,7 +77,7 @@
Here are the classes, structs, unions and interfaces with brief descriptions:
- +
 CRF24Network
 CESBNetwork
 CRF24NetworkFrame
 CRF24NetworkHeader
@@ -85,7 +85,7 @@
diff --git a/classESBNetwork-members.html b/classESBNetwork-members.html new file mode 100644 index 00000000..b3f1c59f --- /dev/null +++ b/classESBNetwork-members.html @@ -0,0 +1,115 @@ + + + + + + + +Newly Optimized RF24Network Layer: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
Newly Optimized RF24Network Layer v2.0.0 +
+
2020 - Optimized RF24 Network Layer for NRF24L01 radios
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+
ESBNetwork< radio_t > Member List
+
+
+ +

This is the complete list of members for ESBNetwork< radio_t >, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
_multicast_levelESBNetwork< radio_t >protected
addressOfPipe(uint16_t node, uint8_t pipeNo)ESBNetwork< radio_t >
available(void)ESBNetwork< radio_t >
begin(uint16_t _node_address)ESBNetwork< radio_t >inline
begin(uint8_t _channel, uint16_t _node_address)ESBNetwork< radio_t >
ESBNetwork(radio_t &_radio)ESBNetwork< radio_t >
external_queueESBNetwork< radio_t >
failures(uint32_t *_fails, uint32_t *_ok)ESBNetwork< radio_t >
frag_ptrESBNetwork< radio_t >
frame_bufferESBNetwork< radio_t >
is_valid_address(uint16_t node)ESBNetwork< radio_t >
multicast(RF24NetworkHeader &header, const void *message, uint16_t len, uint8_t level=7)ESBNetwork< radio_t >
multicastLevel(uint8_t level)ESBNetwork< radio_t >
multicastRelayESBNetwork< radio_t >
networkFlagsESBNetwork< radio_t >
node_addressESBNetwork< radio_t >protected
parent() constESBNetwork< radio_t >
peek(RF24NetworkHeader &header)ESBNetwork< radio_t >
peek(RF24NetworkHeader &header, void *message, uint16_t maxlen=MAX_PAYLOAD_SIZE)ESBNetwork< radio_t >
read(RF24NetworkHeader &header, void *message, uint16_t maxlen=MAX_PAYLOAD_SIZE)ESBNetwork< radio_t >
returnSysMsgsESBNetwork< radio_t >
routeTimeoutESBNetwork< radio_t >
setup_watchdog(uint8_t prescalar)ESBNetwork< radio_t >
sleepNode(unsigned int cycles, int interruptPin, uint8_t INTERRUPT_MODE=0)ESBNetwork< radio_t >
txTimeoutESBNetwork< radio_t >
update(void)ESBNetwork< radio_t >
write(RF24NetworkHeader &header, const void *message, uint16_t len)ESBNetwork< radio_t >
write(RF24NetworkHeader &header, const void *message, uint16_t len, uint16_t writeDirect)ESBNetwork< radio_t >
+ + + + diff --git a/classRF24Network.html b/classESBNetwork.html similarity index 64% rename from classRF24Network.html rename to classESBNetwork.html index 3457c467..e13fbcc8 100644 --- a/classRF24Network.html +++ b/classESBNetwork.html @@ -5,7 +5,7 @@ -Newly Optimized RF24Network Layer: RF24Network Class Reference +Newly Optimized RF24Network Layer: ESBNetwork< radio_t > Class Template Reference @@ -23,7 +23,7 @@ -
Newly Optimized RF24Network Layer v1.0.19 +
Newly Optimized RF24Network Layer v2.0.0
2020 - Optimized RF24 Network Layer for NRF24L01 radios
@@ -74,8 +74,8 @@
-
RF24Network Class Reference
+List of all members
+
ESBNetwork< radio_t > Class Template Reference
@@ -86,102 +86,118 @@
Primary Interface

These are the main methods you need to operate the network

RF24Network (RF24 &_radio) -  -void begin (uint16_t _node_address) -  -uint8_t update (void) -  -bool available (void) -  -uint16_t peek (RF24NetworkHeader &header) -  -void peek (RF24NetworkHeader &header, void *message, uint16_t maxlen=MAX_PAYLOAD_SIZE) -  -uint16_t read (RF24NetworkHeader &header, void *message, uint16_t maxlen=MAX_PAYLOAD_SIZE) -  -bool write (RF24NetworkHeader &header, const void *message, uint16_t len) -  + ESBNetwork (radio_t &_radio) +  +void begin (uint16_t _node_address) +  +uint8_t update (void) +  +bool available (void) +  +uint16_t peek (RF24NetworkHeader &header) +  +void peek (RF24NetworkHeader &header, void *message, uint16_t maxlen=MAX_PAYLOAD_SIZE) +  +uint16_t read (RF24NetworkHeader &header, void *message, uint16_t maxlen=MAX_PAYLOAD_SIZE) +  +bool write (RF24NetworkHeader &header, const void *message, uint16_t len) + 
Advanced Operation

For advanced operation of the network

-void failures (uint32_t *_fails, uint32_t *_ok) -  -bool multicast (RF24NetworkHeader &header, const void *message, uint16_t len, uint8_t level=7) -  -bool write (RF24NetworkHeader &header, const void *message, uint16_t len, uint16_t writeDirect) -  -bool sleepNode (unsigned int cycles, int interruptPin, uint8_t INTERRUPT_MODE=0) -  -uint16_t parent () const -  -uint16_t addressOfPipe (uint16_t node, uint8_t pipeNo) -  -bool is_valid_address (uint16_t node) -  +void failures (uint32_t *_fails, uint32_t *_ok) +  +bool multicast (RF24NetworkHeader &header, const void *message, uint16_t len, uint8_t level=7) +  +bool write (RF24NetworkHeader &header, const void *message, uint16_t len, uint16_t writeDirect) +  +bool sleepNode (unsigned int cycles, int interruptPin, uint8_t INTERRUPT_MODE=0) +  +uint16_t parent () const +  +uint16_t addressOfPipe (uint16_t node, uint8_t pipeNo) +  +bool is_valid_address (uint16_t node) + 
Deprecated

Maintained for backwards compatibility

-void begin (uint8_t _channel, uint16_t _node_address) -  +void begin (uint8_t _channel, uint16_t _node_address) +  - - - - - - - - - - - - + + + + + + + + + + + +

Advanced Configuration

For advanced configuration of the network

bool multicastRelay
 
uint32_t txTimeout
 Network timeout value.
 
uint16_t routeTimeout
 Timeout for routed payloads.
 
void multicastLevel (uint8_t level)
 
void setup_watchdog (uint8_t prescalar)
 
bool multicastRelay
 
uint32_t txTimeout
 Network timeout value.
 
uint16_t routeTimeout
 Timeout for routed payloads.
 
void multicastLevel (uint8_t level)
 
void setup_watchdog (uint8_t prescalar)
 
- - - - - - - - - - - - - - - + + + + + + + + + + + + + + +

External Applications/Systems

Interface for External Applications and Systems ( RF24Mesh, RF24Ethernet )

uint8_t frame_buffer [MAX_FRAME_SIZE]
 The raw system frame buffer.
 
std::queue< RF24NetworkFrameexternal_queue
 
RF24NetworkFramefrag_ptr
 
bool returnSysMsgs
 
uint8_t networkFlags
 
uint8_t _multicast_level
 
uint16_t node_address
 
uint8_t frame_buffer [MAX_FRAME_SIZE]
 The raw system frame buffer.
 
std::queue< RF24NetworkFrameexternal_queue
 
RF24NetworkFramefrag_ptr
 
bool returnSysMsgs
 
uint8_t networkFlags
 
uint8_t _multicast_level
 
uint16_t node_address
 

Detailed Description

-

2014-2021 - Optimized Network Layer for RF24 Radios

-

This class implements an OSI Network Layer using nRF24L01(+) radios driven by RF24 library.

+
template<class radio_t = RF24>
+class ESBNetwork< radio_t >

2014-2021 - Optimized Network Layer for RF24 Radios

+

This class implements an OSI Network Layer using nRF24L01(+) radios driven by RF24 library.

+
Template Parameters
+ + +
radio_tThe radio object's type. Defaults to RF24 for legacy behavior. This new abstraction is really meant for using the nRF52840 SoC as a drop-in replacement for the nRF24L01 radio. For more detail, see the nrf_to_nrf Arduino library.
+
+
Examples
Network_Ping.ino, Network_Ping_Sleep.ino, Network_Priority_RX.ino, Network_Priority_TX.ino, helloworld_rx.ino, helloworld_rx_advanced.ino, helloworld_tx.ino, and helloworld_tx_advanced.ino.

Constructor & Destructor Documentation

- -

◆ RF24Network()

+ +

◆ ESBNetwork()

+
+template<class radio_t >
- + - +
RF24Network::RF24Network ESBNetwork< radio_t >::ESBNetwork (RF24 & radio_t &  _radio)

Construct the network

+

v2.0 supports a backward compatible constructor:

RF24 radio(7, 8);
+
RF24Network network(radio); // for nRF24L01
+
+
nrf_to_nrf radio1;
+
RF52Network network(radio1); // for nRF52xxx family
+
Definition: RF24Network.h:384
+
See also
v2.0 supports nrf_to_nrf Arduino library for nrf52 chips' internal radio.
Parameters
@@ -192,17 +208,19 @@

Member Function Documentation

- -

◆ begin() [1/2]

+ +

◆ begin() [1/2]

+
+template<class radio_t = RF24>
_radioThe underlying radio driver instance
@@ -75,16 +75,19 @@
Class Index
diff --git a/deprecated.html b/deprecated.html index 70293003..5ba3dc7c 100644 --- a/deprecated.html +++ b/deprecated.html @@ -23,7 +23,7 @@ @@ -76,14 +76,14 @@
-
Member RF24Network::begin (uint8_t _channel, uint16_t _node_address)
-
Use RF24::setChannel() to configure the radio channel. Use RF24Network::begin(uint16_t _node_address) to set the node address.
+
Member ESBNetwork< radio_t >::begin (uint8_t _channel, uint16_t _node_address)
+
Use RF24::setChannel() to configure the radio channel. Use ESBNetwork::begin(uint16_t _node_address) to set the node address.
diff --git a/dir_49e56c817e5e54854c35e136979f97ca.html b/dir_49e56c817e5e54854c35e136979f97ca.html index 53b49a02..b160d131 100644 --- a/dir_49e56c817e5e54854c35e136979f97ca.html +++ b/dir_49e56c817e5e54854c35e136979f97ca.html @@ -23,7 +23,7 @@ @@ -82,7 +82,7 @@ diff --git a/examples.html b/examples.html index bb467968..e8639ac7 100644 --- a/examples.html +++ b/examples.html @@ -23,7 +23,7 @@ @@ -88,7 +88,7 @@ diff --git a/files.html b/files.html index ca3c2f8d..620dc832 100644 --- a/files.html +++ b/files.html @@ -23,7 +23,7 @@ @@ -86,7 +86,7 @@ diff --git a/functions.html b/functions.html index 454c36d6..013d2770 100644 --- a/functions.html +++ b/functions.html @@ -23,7 +23,7 @@ @@ -75,30 +75,31 @@
Here is a list of all class members with links to the classes they belong to:

- _ -

- a -

- b -

- e -

- f -

@@ -110,69 +111,68 @@

- h -

@@ -73,29 +73,29 @@
 
diff --git a/functions_vars.html b/functions_vars.html index 5a2a0a22..8315b444 100644 --- a/functions_vars.html +++ b/functions_vars.html @@ -23,7 +23,7 @@ @@ -73,30 +73,30 @@
 
diff --git a/globals.html b/globals.html index c96d20d5..7f8c1afc 100644 --- a/globals.html +++ b/globals.html @@ -23,7 +23,7 @@ @@ -72,17 +72,31 @@
-
Here is a list of all file members with links to the files they belong to:
diff --git a/globals_defs.html b/globals_defs.html index c16f9b7c..004a3331 100644 --- a/globals_defs.html +++ b/globals_defs.html @@ -23,7 +23,7 @@ @@ -107,7 +107,7 @@ diff --git a/globals_type.html b/globals_type.html new file mode 100644 index 00000000..c7f09c9b --- /dev/null +++ b/globals_type.html @@ -0,0 +1,84 @@ + + + + + + + +Newly Optimized RF24Network Layer: File Members + + + + + + + + + + + +
+
+
- + @@ -221,7 +239,7 @@

network.begin(00);

Example 2: Begin with address 01 (child of master)

network.begin(01);

Example 3: Begin with address 011 (child of 01, grandchild of master)

network.begin(011);
-
See also
begin(uint8_t _channel, uint16_t _node_address)
+
See also
begin(uint8_t _channel, uint16_t _node_address)
Parameters

void RF24Network::begin void ESBNetwork< radio_t >::begin ( uint16_t  _node_address)
@@ -231,14 +249,16 @@

-

◆ update()

+ +

◆ update()

+
+template<class radio_t >

_node_addressThe logical address of this node.
- + @@ -252,14 +272,16 @@

-

◆ available()

+ +

◆ available()

+
+template<class radio_t >

uint8_t RF24Network::update uint8_t ESBNetwork< radio_t >::update ( void  )
- + @@ -272,14 +294,16 @@

-

◆ peek() [1/2]

+ +

◆ peek() [1/2]

+
+template<class radio_t >

bool RF24Network::available bool ESBNetwork< radio_t >::available ( void  )
- + @@ -299,14 +323,16 @@

-

◆ peek() [2/2]

+ +

◆ peek() [2/2]

+
+template<class radio_t >

uint16_t RF24Network::peek uint16_t ESBNetwork< radio_t >::peek ( RF24NetworkHeader header)
- + @@ -331,7 +357,7 @@

Read the next available payload

-

Reads the next available payload without advancing to the next incoming message. Useful for doing a transparent packet manipulation layer on top of RF24Network.

+

Reads the next available payload without advancing to the next incoming message. Useful for doing a transparent packet manipulation layer on top of RF24Network.

Parameters

void RF24Network::peek void ESBNetwork< radio_t >::peek ( RF24NetworkHeader header,
@@ -343,14 +369,16 @@

-

◆ read()

+ +

◆ read()

+
+template<class radio_t >

[out]headerThe RF24NetworkHeader (envelope) of this message
- + @@ -384,14 +412,14 @@

Serial.println(time);
}
}
-
Definition: RF24Network.h:226
-
unsigned char type
Definition: RF24Network.h:243
+
Definition: RF24Network.h:229
+
unsigned char type
Definition: RF24Network.h:246
Parameters

uint16_t RF24Network::read uint16_t ESBNetwork< radio_t >::read ( RF24NetworkHeader header,
- +
[out]headerThe RF24NetworkHeader (envelope) of this message
[out]messagePointer to memory where the message should be placed
maxlenThe largest message size which can be held in message . If this parameter is left unspecified, the entire length of the message is fetched. Hint: Use peek(RF24NetworkHeader &) to get the length of next available message in the queue.
maxlenThe largest message size which can be held in message . If this parameter is left unspecified, the entire length of the message is fetched. Hint: Use peek(RF24NetworkHeader &) to get the length of next available message in the queue.
@@ -399,14 +427,16 @@

-

◆ write() [1/2]

+ +

◆ write() [1/2]

+
+template<class radio_t >
- + @@ -431,7 +461,7 @@

Send a message

-
Note
RF24Network now supports fragmentation for very long messages, send as normal. Fragmentation may need to be enabled or configured by editing the RF24Network_config.h file. Default max payload size is 120 bytes.
+
Note
RF24Network now supports fragmentation for very long messages, send as normal. Fragmentation may need to be enabled or configured by editing the RF24Network_config.h file. Default max payload size is 120 bytes.
uint32_t time = millis();
uint16_t to = 00; // Send to master
RF24NetworkHeader header(to, 'T'); // Send header type 'T'
@@ -448,14 +478,16 @@

-

◆ multicastLevel()

+ +

◆ multicastLevel()

+
+template<class radio_t >

bool RF24Network::write bool ESBNetwork< radio_t >::write ( RF24NetworkHeader header,
- + @@ -472,8 +504,8 @@

This optional function is used to override the default level set when a node's logical address changes, and it can be used to create custom multicast groups that all share a single address.

See also
@@ -486,14 +518,16 @@

-

◆ setup_watchdog()

+ +

◆ setup_watchdog()

+
+template<class radio_t = RF24>

void RF24Network::multicastLevel void ESBNetwork< radio_t >::multicastLevel ( uint8_t  level)
- + @@ -502,8 +536,8 @@

Set up the watchdog timer for sleep mode using the number 0 through 10 to represent the following time periods:
- wdt_16ms = 0, wdt_32ms, wdt_64ms, wdt_128ms, wdt_250ms, wdt_500ms, wdt_1s, wdt_2s, wdt_4s, wdt_8s

setup_watchdog(7); // Sets the WDT to trigger every second
-
void setup_watchdog(uint8_t prescalar)
+ wdt_16ms = 0, wdt_32ms, wdt_64ms, wdt_128ms, wdt_250ms, wdt_500ms, wdt_1s, wdt_2s, wdt_4s, wdt_8s

setup_watchdog(7); // Sets the WDT to trigger every second
+
void setup_watchdog(uint8_t prescalar)
Parameters

void RF24Network::setup_watchdog void ESBNetwork< radio_t >::setup_watchdog ( uint8_t  prescalar)
@@ -513,14 +547,16 @@

-

◆ failures()

+ +

◆ failures()

+
+template<class radio_t = RF24>

prescalarThe WDT prescaler to define how often the node will wake up. When defining sleep mode cycles, this time period is 1 cycle.
- + @@ -544,14 +580,16 @@

-

◆ multicast()

+ +

◆ multicast()

+
+template<class radio_t >

void RF24Network::failures void ESBNetwork< radio_t >::failures ( uint32_t *  _fails,
- + @@ -583,8 +621,8 @@

Send a multicast message to multiple nodes at once Allows messages to be rapidly broadcast through the network

Multicasting is arranged in levels, with all nodes on the same level listening to the same address Levels are assigned by network level ie: nodes 01-05: Level 1, nodes 011-055: Level 2

See also
Parameters
@@ -592,7 +630,7 @@

header

- +
bool RF24Network::multicast bool ESBNetwork< radio_t >::multicast ( RF24NetworkHeader header, reference to the RF24NetworkHeader object used for this message
messagePointer to memory where the message is located
lenThe size of the message
levelMulticast level to broadcast to. If this parameter is unspecified, then the node's current multicastLevel() is used.
levelMulticast level to broadcast to. If this parameter is unspecified, then the node's current multicastLevel() is used.
@@ -600,14 +638,16 @@

-

◆ write() [2/2]

+ +

◆ write() [2/2]

+
+template<class radio_t >
- + @@ -641,14 +681,16 @@

-

◆ sleepNode()

+ +

◆ sleepNode()

+
+template<class radio_t = RF24>

bool RF24Network::write bool ESBNetwork< radio_t >::write ( RF24NetworkHeader header,
- + @@ -674,7 +716,7 @@

Sleep this node - For AVR devices only

Note
NEW - Nodes can now be slept while the radio is not actively transmitting. This must be manually enabled by uncommenting the #define ENABLE_SLEEP_MODE in RF24Network_config.h
-The watchdog timer should be configured in the sketch's setup() if using sleep mode. This function will sleep the node, with the radio still active in receive mode. See setup_watchdog().
+The watchdog timer should be configured in the sketch's setup() if using sleep mode. This function will sleep the node, with the radio still active in receive mode. See setup_watchdog().

The node can be awoken in two ways, both of which can be enabled simultaneously:

  1. An interrupt - usually triggered by the radio receiving a payload. Must use pin 2 (interrupt 0) or 3 (interrupt 1) on Uno, Nano, etc.
  2. The watchdog timer waking the MCU after a designated period of time, can also be used instead of delays to control transmission intervals.
  3. @@ -709,17 +751,16 @@

    -

    ◆ parent()

    + +

    ◆ parent()

    +
    +template<class radio_t >

bool RF24Network::sleepNode bool ESBNetwork< radio_t >::sleepNode ( unsigned int  cycles,
- - - - +
uint16_t RF24Network::parent () constuint16_t ESBNetwork< radio_t >::parent
@@ -728,14 +769,16 @@

-

◆ addressOfPipe()

+ +

◆ addressOfPipe()

+
+template<class radio_t >
- + @@ -753,18 +796,20 @@

-

Provided a node address and a pipe number, will return the RF24Network address of that child pipe for that node.

+

Provided a node address and a pipe number, will return the RF24Network address of that child pipe for that node.

- -

◆ is_valid_address()

+ +

◆ is_valid_address()

+
+template<class radio_t >

uint16_t RF24Network::addressOfPipe uint16_t ESBNetwork< radio_t >::addressOfPipe ( uint16_t  node,
- + @@ -784,14 +829,16 @@

-

◆ begin() [2/2]

+ +

◆ begin() [2/2]

+
+template<class radio_t >

bool RF24Network::is_valid_address bool ESBNetwork< radio_t >::is_valid_address ( uint16_t  node)
- + @@ -809,7 +856,7 @@

-

Bring up the network on a specific radio frequency/channel.

Deprecated:
Use RF24::setChannel() to configure the radio channel. Use RF24Network::begin(uint16_t _node_address) to set the node address.
+

Bring up the network on a specific radio frequency/channel.

Deprecated:
Use RF24::setChannel() to configure the radio channel. Use ESBNetwork::begin(uint16_t _node_address) to set the node address.

Example 1: Begin on channel 90 with address 0 (master node)

network.begin(90, 0);

Example 2: Begin on channel 90 with address 01 (child of master)

network.begin(90, 01);

Example 3: Begin on channel 90 with address 011 (child of 01, grandchild of master)

network.begin(90, 011);
@@ -824,30 +871,34 @@

Member Data Documentation

- -

◆ multicastRelay

+ +

◆ multicastRelay

+
+template<class radio_t = RF24>

void RF24Network::begin void ESBNetwork< radio_t >::begin ( uint8_t  _channel,
- +
bool RF24Network::multicastRelaybool ESBNetwork< radio_t >::multicastRelay

Enabling this will allow this node to automatically forward received multicast frames to the next highest multicast level. Forwarded frames will also be enqueued on the forwarding node as a received frame.

-

This is disabled by default.

See also
multicastLevel()
+

This is disabled by default.

See also
multicastLevel()
- -

◆ txTimeout

+ +

◆ txTimeout

+
+template<class radio_t = RF24>
- +
uint32_t RF24Network::txTimeoutuint32_t ESBNetwork< radio_t >::txTimeout
@@ -858,14 +909,16 @@

-

◆ routeTimeout

+ +

◆ routeTimeout

+
+template<class radio_t = RF24>
- +
uint16_t RF24Network::routeTimeoutuint16_t ESBNetwork< radio_t >::routeTimeout
@@ -875,14 +928,16 @@

-

◆ frame_buffer

+ +

◆ frame_buffer

+
+template<class radio_t = RF24>
- +
uint8_t RF24Network::frame_buffer[MAX_FRAME_SIZE]uint8_t ESBNetwork< radio_t >::frame_buffer[MAX_FRAME_SIZE]
@@ -893,14 +948,16 @@

-

◆ external_queue

+ +

◆ external_queue

+
+template<class radio_t = RF24>
- +
std::queue<RF24NetworkFrame> RF24Network::external_queuestd::queue<RF24NetworkFrame> ESBNetwork< radio_t >::external_queue
@@ -914,25 +971,27 @@

memcpy(&myBuffer, &f.message_buffer, dataSize);

network.external_queue.pop();
}
-
Definition: RF24Network.h:309
-
uint8_t * message_buffer
Definition: RF24Network.h:323
-
uint16_t message_size
Definition: RF24Network.h:314
+
Definition: RF24Network.h:312
+
uint8_t * message_buffer
Definition: RF24Network.h:326
+
uint16_t message_size
Definition: RF24Network.h:317

- -

◆ frag_ptr

+ +

◆ frag_ptr

+
+template<class radio_t = RF24>
- +
RF24NetworkFrame* RF24Network::frag_ptrRF24NetworkFrame* ESBNetwork< radio_t >::frag_ptr

ARDUINO platforms only

-

The frag_ptr is only used with Arduino (not RPi/Linux) and is mainly used for external data systems like RF24Ethernet. When a payload of type EXTERNAL_DATA_TYPE is received, and returned from update(), the frag_ptr will always point to the starting memory location of the received frame. This is used by external data systems (RF24Ethernet) to immediately copy the received data to a buffer, without using the user-cache.

+

The frag_ptr is only used with Arduino (not RPi/Linux) and is mainly used for external data systems like RF24Ethernet. When a payload of type EXTERNAL_DATA_TYPE is received, and returned from update(), the frag_ptr will always point to the starting memory location of the received frame. This is used by external data systems (RF24Ethernet) to immediately copy the received data to a buffer, without using the user-cache.

See also
RF24NetworkFrame
uint8_t return_type = network.update();
if(return_type == EXTERNAL_DATA_TYPE) {
@@ -943,18 +1002,20 @@

-

◆ returnSysMsgs

+ +

◆ returnSysMsgs

+
+template<class radio_t = RF24>
- +
bool RF24Network::returnSysMsgsbool ESBNetwork< radio_t >::returnSysMsgs
-

Variable to determine whether update() will return after the radio buffers have been emptied (DEFAULT), or whether to return immediately when (most) system types are received.

+

Variable to determine whether update() will return after the radio buffers have been emptied (DEFAULT), or whether to return immediately when (most) system types are received.

As an example, this is used with RF24Mesh to catch and handle system messages without loading them into the user cache.

The following reserved/system message types are handled automatically, and not returned.

@@ -974,14 +1035,16 @@

-

◆ networkFlags

+ +

◆ networkFlags

+
+template<class radio_t = RF24>

- +
uint8_t RF24Network::networkFlagsuint8_t ESBNetwork< radio_t >::networkFlags
@@ -999,17 +1062,19 @@

-

◆ _multicast_level

+ +

◆ _multicast_level

+
+template<class radio_t = RF24>
@@ -1018,21 +1083,23 @@

-

The current node's network level (used for multicast TX/RX-ing).

See also
Use multicastLevel() to adjust this when needed.
+

The current node's network level (used for multicast TX/RX-ing).

See also
Use multicastLevel() to adjust this when needed.
- -

◆ node_address

+ +

◆ node_address

+
+template<class radio_t = RF24>

- +
uint8_t RF24Network::_multicast_leveluint8_t ESBNetwork< radio_t >::_multicast_level
@@ -1048,7 +1115,7 @@

diff --git a/classRF24Network-members.html b/classRF24Network-members.html deleted file mode 100644 index 6e45931f..00000000 --- a/classRF24Network-members.html +++ /dev/null @@ -1,115 +0,0 @@ - - - - - - - -Newly Optimized RF24Network Layer: Member List - - - - - - - - - - - -
-
-

- +
uint16_t RF24Network::node_addressuint16_t ESBNetwork< radio_t >::node_address
- - - - - -
-
Newly Optimized RF24Network Layer v1.0.19 -
-
2020 - Optimized RF24 Network Layer for NRF24L01 radios
-
-
- - - - - - - - -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- -
-
-
RF24Network Member List
-
-
- -

This is the complete list of members for RF24Network, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
_multicast_levelRF24Networkprotected
addressOfPipe(uint16_t node, uint8_t pipeNo)RF24Network
available(void)RF24Network
begin(uint16_t _node_address)RF24Networkinline
begin(uint8_t _channel, uint16_t _node_address)RF24Network
external_queueRF24Network
failures(uint32_t *_fails, uint32_t *_ok)RF24Network
frag_ptrRF24Network
frame_bufferRF24Network
is_valid_address(uint16_t node)RF24Network
multicast(RF24NetworkHeader &header, const void *message, uint16_t len, uint8_t level=7)RF24Network
multicastLevel(uint8_t level)RF24Network
multicastRelayRF24Network
networkFlagsRF24Network
node_addressRF24Networkprotected
parent() constRF24Network
peek(RF24NetworkHeader &header)RF24Network
peek(RF24NetworkHeader &header, void *message, uint16_t maxlen=MAX_PAYLOAD_SIZE)RF24Network
read(RF24NetworkHeader &header, void *message, uint16_t maxlen=MAX_PAYLOAD_SIZE)RF24Network
returnSysMsgsRF24Network
RF24Network(RF24 &_radio)RF24Network
routeTimeoutRF24Network
setup_watchdog(uint8_t prescalar)RF24Network
sleepNode(unsigned int cycles, int interruptPin, uint8_t INTERRUPT_MODE=0)RF24Network
txTimeoutRF24Network
update(void)RF24Network
write(RF24NetworkHeader &header, const void *message, uint16_t len)RF24Network
write(RF24NetworkHeader &header, const void *message, uint16_t len, uint16_t writeDirect)RF24Network
- - - - diff --git a/classes.html b/classes.html index 44153f36..8a90404c 100644 --- a/classes.html +++ b/classes.html @@ -23,7 +23,7 @@

-
Newly Optimized RF24Network Layer v1.0.19 +
Newly Optimized RF24Network Layer v2.0.0
2020 - Optimized RF24 Network Layer for NRF24L01 radios
-
Newly Optimized RF24Network Layer v1.0.19 +
Newly Optimized RF24Network Layer v2.0.0
2020 - Optimized RF24 Network Layer for NRF24L01 radios
-
Newly Optimized RF24Network Layer v1.0.19 +
Newly Optimized RF24Network Layer v2.0.0
2020 - Optimized RF24 Network Layer for NRF24L01 radios
-
Newly Optimized RF24Network Layer v1.0.19 +
Newly Optimized RF24Network Layer v2.0.0
2020 - Optimized RF24 Network Layer for NRF24L01 radios
-
Newly Optimized RF24Network Layer v1.0.19 +
Newly Optimized RF24Network Layer v2.0.0
2020 - Optimized RF24 Network Layer for NRF24L01 radios
-
Newly Optimized RF24Network Layer v1.0.19 +
Newly Optimized RF24Network Layer v2.0.0
2020 - Optimized RF24 Network Layer for NRF24L01 radios
-
Newly Optimized RF24Network Layer v1.0.19 +
Newly Optimized RF24Network Layer v2.0.0
2020 - Optimized RF24 Network Layer for NRF24L01 radios
-
Newly Optimized RF24Network Layer v1.0.19 +
Newly Optimized RF24Network Layer v2.0.0
2020 - Optimized RF24 Network Layer for NRF24L01 radios
-
Newly Optimized RF24Network Layer v1.0.19 +
Newly Optimized RF24Network Layer v2.0.0
2020 - Optimized RF24 Network Layer for NRF24L01 radios
-
Newly Optimized RF24Network Layer v1.0.19 +
Newly Optimized RF24Network Layer v2.0.0
2020 - Optimized RF24 Network Layer for NRF24L01 radios
+ + + + + +
+
Newly Optimized RF24Network Layer v2.0.0 +
+
2020 - Optimized RF24 Network Layer for NRF24L01 radios
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+ + + + diff --git a/group__DEFINED__TYPES.html b/group__DEFINED__TYPES.html index 691c078f..bcadfb03 100644 --- a/group__DEFINED__TYPES.html +++ b/group__DEFINED__TYPES.html @@ -23,7 +23,7 @@ -
Newly Optimized RF24Network Layer v1.0.19 +
Newly Optimized RF24Network Layer v2.0.0
2020 - Optimized RF24 Network Layer for NRF24L01 radios
@@ -119,7 +119,7 @@

-

A NETWORK_ADDR_RESPONSE type is utilized to manually route custom messages containing a single RF24Network address.

+

A NETWORK_ADDR_RESPONSE type is utilized to manually route custom messages containing a single RF24Network address.

Used by RF24Mesh

If a node receives a message of this type that is directly addressed to it, it will read the included message, and forward the payload on to the proper recipient.

This allows nodes to forward multicast messages to the master node, receive a response, and forward it back to the requester.

@@ -152,7 +152,7 @@

-

External data types are used to define messages that will be passed to an external data system. This allows RF24Network to route and pass any type of data, such as TCP/IP frames, while still being able to utilize standard RF24Network messages etc.

+

External data types are used to define messages that will be passed to an external data system. This allows RF24Network to route and pass any type of data, such as TCP/IP frames, while still being able to utilize standard RF24Network messages etc.

  • Linux

    Linux devices (defined with RF24_LINUX macro) will buffer all data types in the user cache.

    @@ -230,7 +230,7 @@

    Messages of this type signal the sender that a network-wide transmission has been completed.

      -
    • Not fool-proof
      RF24Network does not directly have a built-in transport layer protocol, so message delivery is not 100% guaranteed. Messages can be lost via corrupted dynamic payloads, or a NETWORK_ACK can fail (despite successful transmission of the message).
      +
    • Not fool-proof
      RF24Network does not directly have a built-in transport layer protocol, so message delivery is not 100% guaranteed. Messages can be lost via corrupted dynamic payloads, or a NETWORK_ACK can fail (despite successful transmission of the message).
    • Traffic analysis
      NETWORK_ACK messages can be utilized as a traffic/flow control mechanism. Transmitting nodes that emit NETWORK_ACK qualifying messages will be forced to wait, before sending additional data, until the payload is transmitted across the network and acknowledged.
    • @@ -278,7 +278,7 @@

      diff --git a/helloworld_rx_8ino-example.html b/helloworld_rx_8ino-example.html index ea5648cb..96c422e2 100644 --- a/helloworld_rx_8ino-example.html +++ b/helloworld_rx_8ino-example.html @@ -23,7 +23,7 @@ -
      Newly Optimized RF24Network Layer v1.0.19 +
      Newly Optimized RF24Network Layer v2.0.0
      2020 - Optimized RF24 Network Layer for NRF24L01 radios
      @@ -75,7 +75,7 @@
      helloworld_rx.ino
      -

      Simplest possible example of using RF24Network. Put this sketch on one node, and helloworld_tx.pde on the other. Tx will send Rx a nice message every 2 seconds which rx will print out for us.

      +

      Simplest possible example of using RF24Network. Put this sketch on one node, and helloworld_tx.pde on the other. Tx will send Rx a nice message every 2 seconds which rx will print out for us.

      #include <SPI.h>
      #include <RF24.h>
      @@ -84,7 +84,7 @@
      RF24 radio(7, 8); // nRF24L01(+) radio attached using Getting Started board
      -
      RF24Network network(radio); // Network uses that radio
      +
      RF24Network network(radio); // Network uses that radio
      const uint16_t this_node = 00; // Address of our node in Octal format (04, 031, etc)
      const uint16_t other_node = 01; // Address of the other node in Octal format
      @@ -127,12 +127,12 @@
      }
      }
      -
      Definition: RF24Network.h:375
      -
      Definition: RF24Network.h:226
      +
      Definition: RF24Network.h:384
      +
      Definition: RF24Network.h:229
      diff --git a/helloworld_rx_advanced_8ino-example.html b/helloworld_rx_advanced_8ino-example.html index be842d34..a1ca0b96 100644 --- a/helloworld_rx_advanced_8ino-example.html +++ b/helloworld_rx_advanced_8ino-example.html @@ -23,7 +23,7 @@ -
      Newly Optimized RF24Network Layer v1.0.19 +
      Newly Optimized RF24Network Layer v2.0.0
      2020 - Optimized RF24 Network Layer for NRF24L01 radios
      @@ -83,7 +83,7 @@
      RF24 radio(7, 8); // nRF24L01(+) radio attached using Getting Started board
      -
      RF24Network network(radio); // Network uses that radio
      +
      RF24Network network(radio); // Network uses that radio
      const uint16_t this_node = 00; // Address of our node in Octal format ( 04,031, etc)
      const uint16_t other_node = 01; // Address of the other node in Octal format
      @@ -150,12 +150,12 @@
      }
      #define MAX_PAYLOAD_SIZE
      Maximum size of fragmented network frames and fragmentation cache.
      Definition: RF24Network_config.h:61
      -
      Definition: RF24Network.h:375
      -
      Definition: RF24Network.h:226
      +
      Definition: RF24Network.h:384
      +
      Definition: RF24Network.h:229

diff --git a/helloworld_tx_8ino-example.html b/helloworld_tx_8ino-example.html index edabc917..a2ed6922 100644 --- a/helloworld_tx_8ino-example.html +++ b/helloworld_tx_8ino-example.html @@ -23,7 +23,7 @@ -
Newly Optimized RF24Network Layer v1.0.19 +
Newly Optimized RF24Network Layer v2.0.0
2020 - Optimized RF24 Network Layer for NRF24L01 radios
@@ -75,7 +75,7 @@
helloworld_tx.ino
-

Simplest possible example of using RF24Network. Put this sketch on one node, and helloworld_rx.pde on the other. Tx will send Rx a nice message every 2 seconds which rx will print out for us.

+

Simplest possible example of using RF24Network. Put this sketch on one node, and helloworld_rx.pde on the other. Tx will send Rx a nice message every 2 seconds which rx will print out for us.

#include <SPI.h>
#include <RF24.h>
@@ -83,7 +83,7 @@
RF24 radio(7, 8); // nRF24L01(+) radio attached using Getting Started board
-
RF24Network network(radio); // Network uses that radio
+
RF24Network network(radio); // Network uses that radio
const uint16_t this_node = 01; // Address of our node in Octal format
const uint16_t other_node = 00; // Address of the other node in Octal format
@@ -134,12 +134,12 @@
}
}
-
Definition: RF24Network.h:375
-
Definition: RF24Network.h:226
+
Definition: RF24Network.h:384
+
Definition: RF24Network.h:229
diff --git a/helloworld_tx_advanced_8ino-example.html b/helloworld_tx_advanced_8ino-example.html index b3d79bd5..7917ef07 100644 --- a/helloworld_tx_advanced_8ino-example.html +++ b/helloworld_tx_advanced_8ino-example.html @@ -23,7 +23,7 @@ -
Newly Optimized RF24Network Layer v1.0.19 +
Newly Optimized RF24Network Layer v2.0.0
2020 - Optimized RF24 Network Layer for NRF24L01 radios
@@ -83,7 +83,7 @@
RF24 radio(7, 8); // nRF24L01(+) radio attached using Getting Started board
-
RF24Network network(radio); // Network uses that radio
+
RF24Network network(radio); // Network uses that radio
const uint16_t this_node = 01; // Address of our node in Octal format
const uint16_t other_node = 00; // Address of the other node in Octal format
@@ -155,12 +155,12 @@
}
#define MAX_PAYLOAD_SIZE
Maximum size of fragmented network frames and fragmentation cache.
Definition: RF24Network_config.h:61
-
Definition: RF24Network.h:375
-
Definition: RF24Network.h:226
+
Definition: RF24Network.h:384
+
Definition: RF24Network.h:229
diff --git a/index.html b/index.html index 935abaa3..714c9f0b 100644 --- a/index.html +++ b/index.html @@ -23,7 +23,7 @@ -
Newly Optimized RF24Network Layer v1.0.19 +
Newly Optimized RF24Network Layer v2.0.0
2020 - Optimized RF24 Network Layer for NRF24L01 radios
@@ -77,7 +77,7 @@

Table of Contents

  • Purpose/Goal
  • -
  • News
  • +
  • News - 2023 API Changes
  • Features @@ -103,10 +103,32 @@

    Original: Create an alternative to ZigBee radios for Arduino communication.

    New: Enhance the current functionality for maximum efficiency, reliability, and speed

    Xbees are excellent little radios, backed up by a mature and robust standard protocol stack. They are also expensive.

    -

    For many Arduino uses, they seem like overkill. So I am working to improve the current standard for nRF24L01 radios. The best RF24 modules are available for less than $6 from many sources. With the RF24Network layer, I hope to cover many common communication scenarios.

    +

    For many Arduino uses, they seem like overkill. So I am working to improve the current standard for nRF24L01 radios. The best RF24 modules are available for less than $6 from many sources. With the RF24Network layer, I hope to cover many common communication scenarios.

    Please see TMRh20's blog post for a comparison against the ZigBee protocols

    -News

    +News - 2023 API Changes

+

Introducing RF24Network & RF24Mesh v2.0 with some significant API changes, adding the use of C++ Templates in order to support a range of ESB enabled radios, most recently NRF52x radios.

+

Important Notes:

Please see the recent changes listed in the github releases page

Features

@@ -135,13 +157,12 @@

  • Advanced Configuration Options
  • Addressing format
  • Topology and Overview
  • -
  • Download Current Development Package
  • Examples Page. Start with helloworld_* examples.
  • Additional Information & Add-ons

    -

    An overview of addressing in RF24Network

    +

    An overview of addressing in RF24Network

    Overview

    The nrf24 radio modules typically use a 40-bit address format, requiring 5-bytes of storage space per address, and allowing a wide array of addresses to be utilized. In addition, the radios are limited to direct communication with 6 other nodes while using the Enhanced-Shock-Burst (ESB) functionality of the radios.

    -

    RF24Network uses a simple method of data compression to store the addresses using only 2 bytes, in a format designed to represent the network topology in an intuitive way. See the Topology and Overview page for more info regarding topology.

    +

    RF24Network uses a simple method of data compression to store the addresses using only 2 bytes, in a format designed to represent the network topology in an intuitive way. See the Topology and Overview page for more info regarding topology.

    Decimal, Octal and Binary formats

    Say we want to designate a logical address to a node, using a tree topology as defined by the manufacturer. In the simplest format, we could assign the first node the address of 1, the second 2, and so on. Since a single node can only connect to 6 other nodes (1 parent and 5 children) subnets need to be created if using more than 6 nodes. In this case, the

    @@ -95,7 +95,7 @@

  • children of node 1 could simply be designated as 11, 21, 31, 41, and 51
  • children of node 2 could be designated as 12, 22, 32, 42, and 52
  • -

    The above example is exactly how RF24Network manages the addresses, but they are represented in Octal format.

    +

    The above example is exactly how RF24Network manages the addresses, but they are represented in Octal format.

    Decimal, Octal and Binary

    @@ -130,7 +130,7 @@

    diff --git a/md_docs_advanced_config.html b/md_docs_advanced_config.html index 88279206..cef4fcb6 100644 --- a/md_docs_advanced_config.html +++ b/md_docs_advanced_config.html @@ -23,7 +23,7 @@

    @@ -75,14 +75,14 @@
    Advanced Configuration
    -

    RF24Network offers many features, some of which can be configured by editing the RF24Network_config.h file

    +

    RF24Network offers many features, some of which can be configured by editing the RF24Network_config.h file

    -
    Newly Optimized RF24Network Layer v1.0.19 +
    Newly Optimized RF24Network Layer v2.0.0
    2020 - Optimized RF24 Network Layer for NRF24L01 radios
    +See ESBNetwork::multicastRelay @@ -98,7 +98,7 @@ diff --git a/md_docs_tuning.html b/md_docs_tuning.html index 40d41ca4..7d1278c4 100644 --- a/md_docs_tuning.html +++ b/md_docs_tuning.html @@ -23,7 +23,7 @@ @@ -101,7 +101,7 @@

    Radios in this network are linked by addresses assigned to pipes. Each radio can listen to 6 addresses on 6 pipes, therefore each radio has a parent pipe and 4-5 child pipes, which are used to form a tree structure. Nodes communicate directly with their parent and children nodes. Any other traffic to or from a node must be routed through the network.

    Topology of RF24Network

    -

    Anybody who is familiar at all with IP networking should be able to easily understand RF24Network topology. The master node can be seen as the gateway, with up to 4 directly connected nodes. Each of those nodes creates a subnet below it, with up to 4 additional child nodes. The numbering scheme can also be related to IP addresses, for purposes of understanding the topology via subnetting. Nodes can have 5 children if multicast is disabled.

    +

    Anybody who is familiar at all with IP networking should be able to easily understand RF24Network topology. The master node can be seen as the gateway, with up to 4 directly connected nodes. Each of those nodes creates a subnet below it, with up to 4 additional child nodes. The numbering scheme can also be related to IP addresses, for purposes of understanding the topology via subnetting. Nodes can have 5 children if multicast is disabled.

    Expressing RF24Network addresses in IP format

    As an example, we could designate the master node in theory, as Address 10.10.10.10

    @@ -109,7 +109,7 @@

  • The children nodes of the master would be 10.10.10.1, 10.10.10.2, 10.10.10.3, 10.10.10.4 and 10.10.10.5
  • The children nodes of 10.10.10.1 would be 10.10.1.1, 10.10.2.1, 10.10.3.1, 10.10.4.1 and 10.10.5.1
  • -

    In RF24Network, the master is just 00

    +

    In RF24Network, the master is just 00

    • Children of master are 01, 02, 03, 04, 05
    • Children of 01 are 011, 021, 031, 041, 051
    • @@ -166,7 +166,7 @@

      diff --git a/md_docs_zigabee.html b/md_docs_zigabee.html index 8c7d005a..cd4f5d56 100644 --- a/md_docs_zigabee.html +++ b/md_docs_zigabee.html @@ -23,7 +23,7 @@

    @@ -85,10 +85,10 @@

    Which is better?

    ZigBee is a much more robust, feature-rich set of protocols, with many different vendors providing compatible chips.

    -

    RF24Network is cheap. While ZigBee radios are well over $20, nRF24L01 modules can be found for under $2.

    +

    RF24Network is cheap. While ZigBee radios are well over $20, nRF24L01 modules can be found for under $2.

    Similiarities & Differences

    -

    Here are some comparisons between RF24Network and ZigBee.

    +

    Here are some comparisons between RF24Network and ZigBee.

    • Both networks support Star and Tree topologies. Only Zigbee supports a true mesh.
    • In ZigBee networks, only leaf nodes can sleep
    • @@ -106,7 +106,7 @@

      diff --git a/menudata.js b/menudata.js index b158472e..7b665912 100644 --- a/menudata.js +++ b/menudata.js @@ -51,6 +51,15 @@ var menudata={children:[ {text:"Files",url:"files.html",children:[ {text:"File List",url:"files.html"}, {text:"File Members",url:"globals.html",children:[ -{text:"All",url:"globals.html"}, +{text:"All",url:"globals.html",children:[ +{text:"e",url:"globals.html#index_e"}, +{text:"f",url:"globals.html#index_f"}, +{text:"m",url:"globals.html#index_m"}, +{text:"n",url:"globals.html#index_n"}, +{text:"r",url:"globals.html#index_r"}, +{text:"s",url:"globals.html#index_s"}, +{text:"t",url:"globals.html#index_t"}, +{text:"u",url:"globals.html#index_u"}]}, +{text:"Typedefs",url:"globals_type.html"}, {text:"Macros",url:"globals_defs.html"}]}]}, {text:"Examples",url:"examples.html"}]} diff --git a/modules.html b/modules.html index 1cb856ec..4adce6ba 100644 --- a/modules.html +++ b/modules.html @@ -23,7 +23,7 @@

    @@ -83,7 +83,7 @@ diff --git a/pages.html b/pages.html index f5263804..52a32771 100644 --- a/pages.html +++ b/pages.html @@ -23,7 +23,7 @@ @@ -88,7 +88,7 @@ diff --git a/search/all_0.js b/search/all_0.js index bac3e1f6..5730c80e 100644 --- a/search/all_0.js +++ b/search/all_0.js @@ -1,4 +1,4 @@ var searchData= [ - ['_5fmulticast_5flevel_0',['_multicast_level',['../classRF24Network.html#a5b89e48e46eebb615b2ef152f057aca7',1,'RF24Network']]] + ['_5fmulticast_5flevel_0',['_multicast_level',['../classESBNetwork.html#aab52703c149001e4d3e1ae7c8311f8e0',1,'ESBNetwork']]] ]; diff --git a/search/all_1.js b/search/all_1.js index f3a55d81..58427adc 100644 --- a/search/all_1.js +++ b/search/all_1.js @@ -2,8 +2,8 @@ var searchData= [ ['addressing_20format_3a_20understanding_20addressing_20and_20topology_0',['Addressing Format: Understanding Addressing and Topology',['../md_docs_addressing.html',1,'']]], ['addressing_2emd_1',['addressing.md',['../addressing_8md.html',1,'']]], - ['addressofpipe_2',['addressOfPipe',['../classRF24Network.html#aa4a11edb3860f4a0e3808bccad36a5dc',1,'RF24Network']]], + ['addressofpipe_2',['addressOfPipe',['../classESBNetwork.html#aac2bef365c0cf9e4b12492f36d163ed8',1,'ESBNetwork']]], ['advanced_20configuration_3',['Advanced Configuration',['../md_docs_advanced_config.html',1,'']]], ['advanced_5fconfig_2emd_4',['advanced_config.md',['../advanced__config_8md.html',1,'']]], - ['available_5',['available',['../classRF24Network.html#a0e111e70bb7b95d885983ce92c89159e',1,'RF24Network']]] + ['available_5',['available',['../classESBNetwork.html#a40bcc2562b1faf1c72eccf52efa1f5cd',1,'ESBNetwork']]] ]; diff --git a/search/all_10.js b/search/all_10.js index 66679aad..d60df9f4 100644 --- a/search/all_10.js +++ b/search/all_10.js @@ -1,4 +1,4 @@ var searchData= [ - ['write_0',['write',['../classRF24Network.html#ac8e9571bb3d2c20d00955b8f5c15b541',1,'RF24Network::write(RF24NetworkHeader &header, const void *message, uint16_t len)'],['../classRF24Network.html#a3d99643014071fef706c0320c8011648',1,'RF24Network::write(RF24NetworkHeader &header, const void *message, uint16_t len, uint16_t writeDirect)']]] + ['write_0',['write',['../classESBNetwork.html#af53965174dcc8f7bdbec70046f5e72bf',1,'ESBNetwork::write(RF24NetworkHeader &header, const void *message, uint16_t len)'],['../classESBNetwork.html#a1170b3e9e3c606daf17d1be45c9497db',1,'ESBNetwork::write(RF24NetworkHeader &header, const void *message, uint16_t len, uint16_t writeDirect)']]] ]; diff --git a/search/all_2.js b/search/all_2.js index 65b80bf8..a72c1f89 100644 --- a/search/all_2.js +++ b/search/all_2.js @@ -1,4 +1,4 @@ var searchData= [ - ['begin_0',['begin',['../classRF24Network.html#aad6a74b55514a26e95e20eaa6a093a0b',1,'RF24Network::begin(uint16_t _node_address)'],['../classRF24Network.html#abf0da46b2e78b2010171c9f20cba8bae',1,'RF24Network::begin(uint8_t _channel, uint16_t _node_address)']]] + ['begin_0',['begin',['../classESBNetwork.html#a48195ce31a771672723628579c6c80f5',1,'ESBNetwork::begin(uint16_t _node_address)'],['../classESBNetwork.html#ab2bf0e2d6c4e5b976f7d0f10c5789f2b',1,'ESBNetwork::begin(uint8_t _channel, uint16_t _node_address)']]] ]; diff --git a/search/all_5.js b/search/all_5.js index fd14a09c..bd590905 100644 --- a/search/all_5.js +++ b/search/all_5.js @@ -1,6 +1,7 @@ var searchData= [ ['enable_5fdynamic_5fpayloads_0',['ENABLE_DYNAMIC_PAYLOADS',['../RF24Network__config_8h.html#ad899459e243820796dd98c2afb044218',1,'RF24Network_config.h']]], - ['external_5fdata_5ftype_1',['EXTERNAL_DATA_TYPE',['../group__DEFINED__TYPES.html#gac6bbd2772e776d10ca7c5f3c7eddf982',1,'RF24Network.h']]], - ['external_5fqueue_2',['external_queue',['../classRF24Network.html#ab387a2137dc1b62c1bf5cc783e34e2c0',1,'RF24Network']]] + ['esbnetwork_1',['ESBNetwork',['../classESBNetwork.html',1,'ESBNetwork< radio_t >'],['../classESBNetwork.html#a0ac71a8989fe3d7cdc86b1bb538a8251',1,'ESBNetwork::ESBNetwork()']]], + ['external_5fdata_5ftype_2',['EXTERNAL_DATA_TYPE',['../group__DEFINED__TYPES.html#gac6bbd2772e776d10ca7c5f3c7eddf982',1,'RF24Network.h']]], + ['external_5fqueue_3',['external_queue',['../classESBNetwork.html#a1af1d7e26417c772adb897122d4368f1',1,'ESBNetwork']]] ]; diff --git a/search/all_6.js b/search/all_6.js index 175248c0..26e8fc37 100644 --- a/search/all_6.js +++ b/search/all_6.js @@ -1,10 +1,10 @@ var searchData= [ - ['failures_0',['failures',['../classRF24Network.html#acb84d7556df00c933208ecf44b227a4f',1,'RF24Network']]], + ['failures_0',['failures',['../classESBNetwork.html#a7b4a446024163631477abf6bb641d759',1,'ESBNetwork']]], ['flag_5ffast_5ffrag_1',['FLAG_FAST_FRAG',['../RF24Network_8h.html#a00fc52e4f9f6e4716c365bf201163b7e',1,'RF24Network.h']]], ['flag_5fno_5fpoll_2',['FLAG_NO_POLL',['../RF24Network_8h.html#a4b3df085f3e9afddfa6d9647cd142c44',1,'RF24Network.h']]], - ['frag_5fptr_3',['frag_ptr',['../classRF24Network.html#a1c994c5fdcb2173b187c52b641aaeae0',1,'RF24Network']]], - ['frame_5fbuffer_4',['frame_buffer',['../classRF24Network.html#aa06f1fdd0fd986d427c2c5193b47b212',1,'RF24Network']]], + ['frag_5fptr_3',['frag_ptr',['../classESBNetwork.html#aa68d02f91212108906bac54f6d141e7e',1,'ESBNetwork']]], + ['frame_5fbuffer_4',['frame_buffer',['../classESBNetwork.html#ac31a18d03d70371890d16d242a341631',1,'ESBNetwork']]], ['frame_5fheader_5fsize_5',['FRAME_HEADER_SIZE',['../RF24Network_8h.html#a6a4e3b4099bd5e93bfec5835b2379eb8',1,'RF24Network.h']]], ['from_5fnode_6',['from_node',['../structRF24NetworkHeader.html#aff9461f6546b5b7c87465809eb4f9f56',1,'RF24NetworkHeader']]] ]; diff --git a/search/all_8.js b/search/all_8.js index b3fd54a6..919b4359 100644 --- a/search/all_8.js +++ b/search/all_8.js @@ -1,5 +1,5 @@ var searchData= [ ['id_0',['id',['../structRF24NetworkHeader.html#ad05daaac28b7d1e7a7ef749f7f0ce317',1,'RF24NetworkHeader']]], - ['is_5fvalid_5faddress_1',['is_valid_address',['../classRF24Network.html#ab41da035bd7f469ea4364a06ab4efd1b',1,'RF24Network']]] + ['is_5fvalid_5faddress_1',['is_valid_address',['../classESBNetwork.html#ab09e06857bfa68fdbd93f31e27ac07d7',1,'ESBNetwork']]] ]; diff --git a/search/all_9.js b/search/all_9.js index dd6aaf45..a49c703c 100644 --- a/search/all_9.js +++ b/search/all_9.js @@ -8,7 +8,7 @@ var searchData= ['message_5fbuffer_5',['message_buffer',['../structRF24NetworkFrame.html#a2ca805d90caa7aef8005fafd2c55fbc6',1,'RF24NetworkFrame']]], ['message_5fsize_6',['message_size',['../structRF24NetworkFrame.html#a6d44701fc5ef58ed6f674fde132bedff',1,'RF24NetworkFrame']]], ['min_5fuser_5fdefined_5fheader_5ftype_7',['MIN_USER_DEFINED_HEADER_TYPE',['../RF24Network_8h.html#a09198484bcfa0f13c7499304ce8bb6a7',1,'RF24Network.h']]], - ['multicast_8',['multicast',['../classRF24Network.html#a96a66907061c54ee1fea6ea7f78d6827',1,'RF24Network']]], - ['multicastlevel_9',['multicastLevel',['../classRF24Network.html#a4fb7c61eee75d708a4ba20bb1caec54f',1,'RF24Network']]], - ['multicastrelay_10',['multicastRelay',['../classRF24Network.html#add7408ca2b2f9ab15331ba77a747f7bb',1,'RF24Network']]] + ['multicast_8',['multicast',['../classESBNetwork.html#a3e6e9e74461290d6f648e972ee4aaf91',1,'ESBNetwork']]], + ['multicastlevel_9',['multicastLevel',['../classESBNetwork.html#a3c2b5449bd374c0d5a6ae11e3b4f1c02',1,'ESBNetwork']]], + ['multicastrelay_10',['multicastRelay',['../classESBNetwork.html#ad9b7bd82837e7a92f4dde9754fb4d03f',1,'ESBNetwork']]] ]; diff --git a/search/all_a.js b/search/all_a.js index 917b71dd..62a0eeb5 100644 --- a/search/all_a.js +++ b/search/all_a.js @@ -13,7 +13,7 @@ var searchData= ['network_5fping_10',['NETWORK_PING',['../group__DEFINED__TYPES.html#gae678555396e5ea61506a0484cb2e0260',1,'RF24Network.h']]], ['network_5fpoll_11',['NETWORK_POLL',['../group__DEFINED__TYPES.html#ga8cbda56553334074392866d4b8359388',1,'RF24Network.h']]], ['network_5freq_5faddress_12',['NETWORK_REQ_ADDRESS',['../group__DEFINED__TYPES.html#gadb43d169421055bc8a3e7da428da1c30',1,'RF24Network.h']]], - ['networkflags_13',['networkFlags',['../classRF24Network.html#a476806538919b167465181ab872e0cad',1,'RF24Network']]], + ['networkflags_13',['networkFlags',['../classESBNetwork.html#a9d4ab7fc671cdb2573535bfd0c9e2050',1,'ESBNetwork']]], ['next_5fid_14',['next_id',['../structRF24NetworkHeader.html#af02a00fa410f6c34bb395f7d0afe2bfd',1,'RF24NetworkHeader']]], - ['node_5faddress_15',['node_address',['../classRF24Network.html#a17017b584633bb969d004c4c43ca5c82',1,'RF24Network']]] + ['node_5faddress_15',['node_address',['../classESBNetwork.html#a3e5aa077d46a74acd31ca5242bb0c0a4',1,'ESBNetwork']]] ]; diff --git a/search/all_b.js b/search/all_b.js index 262ac968..75e7f965 100644 --- a/search/all_b.js +++ b/search/all_b.js @@ -1,6 +1,6 @@ var searchData= [ - ['parent_0',['parent',['../classRF24Network.html#aa6919435695051d522dfcce4e8395f5e',1,'RF24Network']]], - ['peek_1',['peek',['../classRF24Network.html#abac371cf064c23d181c5dd56f528bd08',1,'RF24Network::peek(RF24NetworkHeader &header)'],['../classRF24Network.html#a11b612ccb5e1fcc547b7984f9cff37a5',1,'RF24Network::peek(RF24NetworkHeader &header, void *message, uint16_t maxlen=MAX_PAYLOAD_SIZE)']]], + ['parent_0',['parent',['../classESBNetwork.html#aee407cd116e3157f6e81a191e8e46a0a',1,'ESBNetwork']]], + ['peek_1',['peek',['../classESBNetwork.html#aaab290edc4485315a36de4c9e17a4134',1,'ESBNetwork::peek(RF24NetworkHeader &header)'],['../classESBNetwork.html#a583d2e7096d502e97b5e9b12d935f711',1,'ESBNetwork::peek(RF24NetworkHeader &header, void *message, uint16_t maxlen=MAX_PAYLOAD_SIZE)']]], ['performance_20and_20data_20loss_3a_20tuning_20the_20network_2',['Performance and Data Loss: Tuning the Network',['../md_docs_tuning.html',1,'']]] ]; diff --git a/search/all_c.js b/search/all_c.js index 448e648c..43e00fee 100644 --- a/search/all_c.js +++ b/search/all_c.js @@ -1,15 +1,15 @@ var searchData= [ - ['read_0',['read',['../classRF24Network.html#a6630ab36b8a42cc376c925721f39188d',1,'RF24Network']]], + ['read_0',['read',['../classESBNetwork.html#ad3959000f609c598f9b98106f3f85f7b',1,'ESBNetwork']]], ['reserved_1',['reserved',['../structRF24NetworkHeader.html#a80672a22cedcf24db8abbcef2eea9cfd',1,'RF24NetworkHeader']]], ['reserved_20system_20message_20types_2',['Reserved System Message Types',['../group__DEFINED__TYPES.html',1,'']]], - ['returnsysmsgs_3',['returnSysMsgs',['../classRF24Network.html#afb6b1d5c0fa3d982425f7a1f4fb48d13',1,'RF24Network']]], - ['rf24network_4',['RF24Network',['../classRF24Network.html#a814229a5a4e8e30f88a4bdce05807e50',1,'RF24Network::RF24Network()'],['../classRF24Network.html',1,'RF24Network']]], + ['returnsysmsgs_3',['returnSysMsgs',['../classESBNetwork.html#a38f2b8e2665e9512e6953992cf08888f',1,'ESBNetwork']]], + ['rf24network_4',['RF24Network',['../RF24Network_8h.html#a014b0acbf07d381d57645ae9153288b6',1,'RF24Network.h']]], ['rf24network_2ecpp_5',['RF24Network.cpp',['../RF24Network_8cpp.html',1,'']]], ['rf24network_2eh_6',['RF24Network.h',['../RF24Network_8h.html',1,'']]], ['rf24network_5fconfig_2eh_7',['RF24Network_config.h',['../RF24Network__config_8h.html',1,'']]], - ['rf24networkframe_8',['RF24NetworkFrame',['../structRF24NetworkFrame.html#af6598f176be18e6c64173627674672f2',1,'RF24NetworkFrame::RF24NetworkFrame()'],['../structRF24NetworkFrame.html#a184eb90d3503111aada5f54f66ed88fb',1,'RF24NetworkFrame::RF24NetworkFrame(RF24NetworkHeader &_header, const void *_message=NULL, uint16_t _len=0)'],['../structRF24NetworkFrame.html#a057d001f6896cb43d55619f73c8f43b6',1,'RF24NetworkFrame::RF24NetworkFrame(RF24NetworkHeader &_header, uint16_t _message_size)'],['../structRF24NetworkFrame.html',1,'RF24NetworkFrame']]], - ['rf24networkheader_9',['RF24NetworkHeader',['../structRF24NetworkHeader.html',1,'RF24NetworkHeader'],['../structRF24NetworkHeader.html#aacf67806892c3bbcacfbff2554b64fd5',1,'RF24NetworkHeader::RF24NetworkHeader()'],['../structRF24NetworkHeader.html#a99e675f31589d72cf2fe036e77988026',1,'RF24NetworkHeader::RF24NetworkHeader(uint16_t _to, unsigned char _type=0)']]], + ['rf24networkframe_8',['RF24NetworkFrame',['../structRF24NetworkFrame.html#af6598f176be18e6c64173627674672f2',1,'RF24NetworkFrame::RF24NetworkFrame()'],['../structRF24NetworkFrame.html#a057d001f6896cb43d55619f73c8f43b6',1,'RF24NetworkFrame::RF24NetworkFrame(RF24NetworkHeader &_header, uint16_t _message_size)'],['../structRF24NetworkFrame.html#a184eb90d3503111aada5f54f66ed88fb',1,'RF24NetworkFrame::RF24NetworkFrame(RF24NetworkHeader &_header, const void *_message=NULL, uint16_t _len=0)'],['../structRF24NetworkFrame.html',1,'RF24NetworkFrame']]], + ['rf24networkheader_9',['RF24NetworkHeader',['../structRF24NetworkHeader.html#aacf67806892c3bbcacfbff2554b64fd5',1,'RF24NetworkHeader::RF24NetworkHeader()'],['../structRF24NetworkHeader.html#a99e675f31589d72cf2fe036e77988026',1,'RF24NetworkHeader::RF24NetworkHeader(uint16_t _to, unsigned char _type=0)'],['../structRF24NetworkHeader.html',1,'RF24NetworkHeader']]], ['rf24networkmulticast_10',['RF24NetworkMulticast',['../RF24Network__config_8h.html#afa838938e02d347e06289d76ed8f2bf0',1,'RF24Network_config.h']]], - ['routetimeout_11',['routeTimeout',['../classRF24Network.html#a657fd03730b6c9084cc440b4fe0177c3',1,'RF24Network']]] + ['routetimeout_11',['routeTimeout',['../classESBNetwork.html#a657d583b2f6ae0ec61a6fa771431470a',1,'ESBNetwork']]] ]; diff --git a/search/all_d.js b/search/all_d.js index 07a03005..603e8c1a 100644 --- a/search/all_d.js +++ b/search/all_d.js @@ -1,6 +1,6 @@ var searchData= [ - ['setup_5fwatchdog_0',['setup_watchdog',['../classRF24Network.html#acb09129760ac9b171833af3055b2b6f5',1,'RF24Network']]], - ['sleepnode_1',['sleepNode',['../classRF24Network.html#acc3e7809ffc7ff48579811d2e063142a',1,'RF24Network']]], + ['setup_5fwatchdog_0',['setup_watchdog',['../classESBNetwork.html#a77a3c8cc72b0c5e073501ef5f3744591',1,'ESBNetwork']]], + ['sleepnode_1',['sleepNode',['../classESBNetwork.html#a2d92a9ed0c845df12dc4180356955ad8',1,'ESBNetwork']]], ['slow_5faddr_5fpoll_5fresponse_2',['SLOW_ADDR_POLL_RESPONSE',['../RF24Network__config_8h.html#aff1e5ff5e11dd91d16cc45b8f73d2e94',1,'RF24Network_config.h']]] ]; diff --git a/search/all_e.js b/search/all_e.js index 23821a67..4c1bc84e 100644 --- a/search/all_e.js +++ b/search/all_e.js @@ -5,6 +5,6 @@ var searchData= ['tuning_2emd_2',['tuning.md',['../tuning_8md.html',1,'']]], ['tx_5fnormal_3',['TX_NORMAL',['../RF24Network_8h.html#ad0da85e1332b474b17de9b77d580bd73',1,'RF24Network.h']]], ['tx_5frouted_4',['TX_ROUTED',['../RF24Network_8h.html#aea221535d8326d4ea6a483c9715a5d0c',1,'RF24Network.h']]], - ['txtimeout_5',['txTimeout',['../classRF24Network.html#a8838b42717e7c9da37213b020db1f88c',1,'RF24Network']]], + ['txtimeout_5',['txTimeout',['../classESBNetwork.html#a93188f3c0600e0b5f0e3d5e57eb86513',1,'ESBNetwork']]], ['type_6',['type',['../structRF24NetworkHeader.html#ac99ab14e561670f4445d1fea7775e2db',1,'RF24NetworkHeader']]] ]; diff --git a/search/all_f.js b/search/all_f.js index 6b11e74b..1114166e 100644 --- a/search/all_f.js +++ b/search/all_f.js @@ -1,6 +1,6 @@ var searchData= [ - ['update_0',['update',['../classRF24Network.html#ad59983f89b09d17d7d9b0581f658a41c',1,'RF24Network']]], + ['update_0',['update',['../classESBNetwork.html#a828adf45c3b8a82b08644510f29a32d3',1,'ESBNetwork']]], ['use_5fcurrent_5fchannel_1',['USE_CURRENT_CHANNEL',['../RF24Network_8h.html#a3701f6ea99dcf399641f2ad29303f8cc',1,'RF24Network.h']]], ['user_5ftx_5fmulticast_2',['USER_TX_MULTICAST',['../RF24Network_8h.html#ae2f8b695f040aa6f1e8ec92b438aa303',1,'RF24Network.h']]], ['user_5ftx_5fto_5flogical_5faddress_3',['USER_TX_TO_LOGICAL_ADDRESS',['../RF24Network_8h.html#a4726586dd8fbf75bbfffffd18ebdbeb3',1,'RF24Network.h']]], diff --git a/search/classes_0.js b/search/classes_0.js index bd52449b..a7f0a29e 100644 --- a/search/classes_0.js +++ b/search/classes_0.js @@ -1,6 +1,4 @@ var searchData= [ - ['rf24network_0',['RF24Network',['../classRF24Network.html',1,'']]], - ['rf24networkframe_1',['RF24NetworkFrame',['../structRF24NetworkFrame.html',1,'']]], - ['rf24networkheader_2',['RF24NetworkHeader',['../structRF24NetworkHeader.html',1,'']]] + ['esbnetwork_0',['ESBNetwork',['../classESBNetwork.html',1,'']]] ]; diff --git a/search/classes_1.js b/search/classes_1.js new file mode 100644 index 00000000..bb0ab9ac --- /dev/null +++ b/search/classes_1.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['rf24networkframe_0',['RF24NetworkFrame',['../structRF24NetworkFrame.html',1,'']]], + ['rf24networkheader_1',['RF24NetworkHeader',['../structRF24NetworkHeader.html',1,'']]] +]; diff --git a/search/functions_0.js b/search/functions_0.js index c7fd1338..cf921f61 100644 --- a/search/functions_0.js +++ b/search/functions_0.js @@ -1,5 +1,5 @@ var searchData= [ - ['addressofpipe_0',['addressOfPipe',['../classRF24Network.html#aa4a11edb3860f4a0e3808bccad36a5dc',1,'RF24Network']]], - ['available_1',['available',['../classRF24Network.html#a0e111e70bb7b95d885983ce92c89159e',1,'RF24Network']]] + ['addressofpipe_0',['addressOfPipe',['../classESBNetwork.html#aac2bef365c0cf9e4b12492f36d163ed8',1,'ESBNetwork']]], + ['available_1',['available',['../classESBNetwork.html#a40bcc2562b1faf1c72eccf52efa1f5cd',1,'ESBNetwork']]] ]; diff --git a/search/functions_1.js b/search/functions_1.js index 65b80bf8..a72c1f89 100644 --- a/search/functions_1.js +++ b/search/functions_1.js @@ -1,4 +1,4 @@ var searchData= [ - ['begin_0',['begin',['../classRF24Network.html#aad6a74b55514a26e95e20eaa6a093a0b',1,'RF24Network::begin(uint16_t _node_address)'],['../classRF24Network.html#abf0da46b2e78b2010171c9f20cba8bae',1,'RF24Network::begin(uint8_t _channel, uint16_t _node_address)']]] + ['begin_0',['begin',['../classESBNetwork.html#a48195ce31a771672723628579c6c80f5',1,'ESBNetwork::begin(uint16_t _node_address)'],['../classESBNetwork.html#ab2bf0e2d6c4e5b976f7d0f10c5789f2b',1,'ESBNetwork::begin(uint8_t _channel, uint16_t _node_address)']]] ]; diff --git a/search/functions_2.js b/search/functions_2.js index 91ec1c46..dc265a53 100644 --- a/search/functions_2.js +++ b/search/functions_2.js @@ -1,4 +1,4 @@ var searchData= [ - ['failures_0',['failures',['../classRF24Network.html#acb84d7556df00c933208ecf44b227a4f',1,'RF24Network']]] + ['esbnetwork_0',['ESBNetwork',['../classESBNetwork.html#a0ac71a8989fe3d7cdc86b1bb538a8251',1,'ESBNetwork']]] ]; diff --git a/search/functions_3.js b/search/functions_3.js index 4be0ddec..2bc19450 100644 --- a/search/functions_3.js +++ b/search/functions_3.js @@ -1,4 +1,4 @@ var searchData= [ - ['is_5fvalid_5faddress_0',['is_valid_address',['../classRF24Network.html#ab41da035bd7f469ea4364a06ab4efd1b',1,'RF24Network']]] + ['failures_0',['failures',['../classESBNetwork.html#a7b4a446024163631477abf6bb641d759',1,'ESBNetwork']]] ]; diff --git a/search/functions_4.js b/search/functions_4.js index 2a2e2c3e..b3c84acf 100644 --- a/search/functions_4.js +++ b/search/functions_4.js @@ -1,5 +1,4 @@ var searchData= [ - ['multicast_0',['multicast',['../classRF24Network.html#a96a66907061c54ee1fea6ea7f78d6827',1,'RF24Network']]], - ['multicastlevel_1',['multicastLevel',['../classRF24Network.html#a4fb7c61eee75d708a4ba20bb1caec54f',1,'RF24Network']]] + ['is_5fvalid_5faddress_0',['is_valid_address',['../classESBNetwork.html#ab09e06857bfa68fdbd93f31e27ac07d7',1,'ESBNetwork']]] ]; diff --git a/search/functions_5.js b/search/functions_5.js index b45ef74a..70cf40b7 100644 --- a/search/functions_5.js +++ b/search/functions_5.js @@ -1,5 +1,5 @@ var searchData= [ - ['parent_0',['parent',['../classRF24Network.html#aa6919435695051d522dfcce4e8395f5e',1,'RF24Network']]], - ['peek_1',['peek',['../classRF24Network.html#abac371cf064c23d181c5dd56f528bd08',1,'RF24Network::peek(RF24NetworkHeader &header)'],['../classRF24Network.html#a11b612ccb5e1fcc547b7984f9cff37a5',1,'RF24Network::peek(RF24NetworkHeader &header, void *message, uint16_t maxlen=MAX_PAYLOAD_SIZE)']]] + ['multicast_0',['multicast',['../classESBNetwork.html#a3e6e9e74461290d6f648e972ee4aaf91',1,'ESBNetwork']]], + ['multicastlevel_1',['multicastLevel',['../classESBNetwork.html#a3c2b5449bd374c0d5a6ae11e3b4f1c02',1,'ESBNetwork']]] ]; diff --git a/search/functions_6.js b/search/functions_6.js index 78f8d255..a5475e70 100644 --- a/search/functions_6.js +++ b/search/functions_6.js @@ -1,7 +1,5 @@ var searchData= [ - ['read_0',['read',['../classRF24Network.html#a6630ab36b8a42cc376c925721f39188d',1,'RF24Network']]], - ['rf24network_1',['RF24Network',['../classRF24Network.html#a814229a5a4e8e30f88a4bdce05807e50',1,'RF24Network']]], - ['rf24networkframe_2',['RF24NetworkFrame',['../structRF24NetworkFrame.html#af6598f176be18e6c64173627674672f2',1,'RF24NetworkFrame::RF24NetworkFrame()'],['../structRF24NetworkFrame.html#a184eb90d3503111aada5f54f66ed88fb',1,'RF24NetworkFrame::RF24NetworkFrame(RF24NetworkHeader &_header, const void *_message=NULL, uint16_t _len=0)'],['../structRF24NetworkFrame.html#a057d001f6896cb43d55619f73c8f43b6',1,'RF24NetworkFrame::RF24NetworkFrame(RF24NetworkHeader &_header, uint16_t _message_size)']]], - ['rf24networkheader_3',['RF24NetworkHeader',['../structRF24NetworkHeader.html#aacf67806892c3bbcacfbff2554b64fd5',1,'RF24NetworkHeader::RF24NetworkHeader()'],['../structRF24NetworkHeader.html#a99e675f31589d72cf2fe036e77988026',1,'RF24NetworkHeader::RF24NetworkHeader(uint16_t _to, unsigned char _type=0)']]] + ['parent_0',['parent',['../classESBNetwork.html#aee407cd116e3157f6e81a191e8e46a0a',1,'ESBNetwork']]], + ['peek_1',['peek',['../classESBNetwork.html#aaab290edc4485315a36de4c9e17a4134',1,'ESBNetwork::peek(RF24NetworkHeader &header)'],['../classESBNetwork.html#a583d2e7096d502e97b5e9b12d935f711',1,'ESBNetwork::peek(RF24NetworkHeader &header, void *message, uint16_t maxlen=MAX_PAYLOAD_SIZE)']]] ]; diff --git a/search/functions_7.js b/search/functions_7.js index 4fd36411..83652c0b 100644 --- a/search/functions_7.js +++ b/search/functions_7.js @@ -1,5 +1,6 @@ var searchData= [ - ['setup_5fwatchdog_0',['setup_watchdog',['../classRF24Network.html#acb09129760ac9b171833af3055b2b6f5',1,'RF24Network']]], - ['sleepnode_1',['sleepNode',['../classRF24Network.html#acc3e7809ffc7ff48579811d2e063142a',1,'RF24Network']]] + ['read_0',['read',['../classESBNetwork.html#ad3959000f609c598f9b98106f3f85f7b',1,'ESBNetwork']]], + ['rf24networkframe_1',['RF24NetworkFrame',['../structRF24NetworkFrame.html#af6598f176be18e6c64173627674672f2',1,'RF24NetworkFrame::RF24NetworkFrame()'],['../structRF24NetworkFrame.html#a184eb90d3503111aada5f54f66ed88fb',1,'RF24NetworkFrame::RF24NetworkFrame(RF24NetworkHeader &_header, const void *_message=NULL, uint16_t _len=0)'],['../structRF24NetworkFrame.html#a057d001f6896cb43d55619f73c8f43b6',1,'RF24NetworkFrame::RF24NetworkFrame(RF24NetworkHeader &_header, uint16_t _message_size)']]], + ['rf24networkheader_2',['RF24NetworkHeader',['../structRF24NetworkHeader.html#aacf67806892c3bbcacfbff2554b64fd5',1,'RF24NetworkHeader::RF24NetworkHeader()'],['../structRF24NetworkHeader.html#a99e675f31589d72cf2fe036e77988026',1,'RF24NetworkHeader::RF24NetworkHeader(uint16_t _to, unsigned char _type=0)']]] ]; diff --git a/search/functions_8.js b/search/functions_8.js index 83e32cf4..444a2000 100644 --- a/search/functions_8.js +++ b/search/functions_8.js @@ -1,4 +1,5 @@ var searchData= [ - ['tostring_0',['toString',['../structRF24NetworkHeader.html#a70efc9fd32fd3f73a98d96f57c04c815',1,'RF24NetworkHeader']]] + ['setup_5fwatchdog_0',['setup_watchdog',['../classESBNetwork.html#a77a3c8cc72b0c5e073501ef5f3744591',1,'ESBNetwork']]], + ['sleepnode_1',['sleepNode',['../classESBNetwork.html#a2d92a9ed0c845df12dc4180356955ad8',1,'ESBNetwork']]] ]; diff --git a/search/functions_9.js b/search/functions_9.js index ce03a469..83e32cf4 100644 --- a/search/functions_9.js +++ b/search/functions_9.js @@ -1,4 +1,4 @@ var searchData= [ - ['update_0',['update',['../classRF24Network.html#ad59983f89b09d17d7d9b0581f658a41c',1,'RF24Network']]] + ['tostring_0',['toString',['../structRF24NetworkHeader.html#a70efc9fd32fd3f73a98d96f57c04c815',1,'RF24NetworkHeader']]] ]; diff --git a/search/functions_a.js b/search/functions_a.js index 66679aad..361661e4 100644 --- a/search/functions_a.js +++ b/search/functions_a.js @@ -1,4 +1,4 @@ var searchData= [ - ['write_0',['write',['../classRF24Network.html#ac8e9571bb3d2c20d00955b8f5c15b541',1,'RF24Network::write(RF24NetworkHeader &header, const void *message, uint16_t len)'],['../classRF24Network.html#a3d99643014071fef706c0320c8011648',1,'RF24Network::write(RF24NetworkHeader &header, const void *message, uint16_t len, uint16_t writeDirect)']]] + ['update_0',['update',['../classESBNetwork.html#a828adf45c3b8a82b08644510f29a32d3',1,'ESBNetwork']]] ]; diff --git a/search/functions_b.js b/search/functions_b.js new file mode 100644 index 00000000..d60df9f4 --- /dev/null +++ b/search/functions_b.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['write_0',['write',['../classESBNetwork.html#af53965174dcc8f7bdbec70046f5e72bf',1,'ESBNetwork::write(RF24NetworkHeader &header, const void *message, uint16_t len)'],['../classESBNetwork.html#a1170b3e9e3c606daf17d1be45c9497db',1,'ESBNetwork::write(RF24NetworkHeader &header, const void *message, uint16_t len, uint16_t writeDirect)']]] +]; diff --git a/search/searchdata.js b/search/searchdata.js index 0c7194bb..8f31f2f3 100644 --- a/search/searchdata.js +++ b/search/searchdata.js @@ -1,13 +1,14 @@ var indexSectionsWithContent = { 0: "_abcdefhimnprstuwz", - 1: "r", + 1: "er", 2: "acmrtz", - 3: "abfimprstuw", + 3: "abefimprstuw", 4: "_efhimnrt", - 5: "efmnrstu", - 6: "r", - 7: "acdnp" + 5: "r", + 6: "efmnrstu", + 7: "r", + 8: "acdnp" }; var indexSectionNames = @@ -17,9 +18,10 @@ var indexSectionNames = 2: "files", 3: "functions", 4: "variables", - 5: "defines", - 6: "groups", - 7: "pages" + 5: "typedefs", + 6: "defines", + 7: "groups", + 8: "pages" }; var indexSectionLabels = @@ -29,8 +31,9 @@ var indexSectionLabels = 2: "Files", 3: "Functions", 4: "Variables", - 5: "Macros", - 6: "Modules", - 7: "Pages" + 5: "Typedefs", + 6: "Macros", + 7: "Modules", + 8: "Pages" }; diff --git a/search/typedefs_0.js b/search/typedefs_0.js new file mode 100644 index 00000000..ad531398 --- /dev/null +++ b/search/typedefs_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['rf24network_0',['RF24Network',['../RF24Network_8h.html#a014b0acbf07d381d57645ae9153288b6',1,'RF24Network.h']]] +]; diff --git a/search/variables_0.js b/search/variables_0.js index bac3e1f6..5730c80e 100644 --- a/search/variables_0.js +++ b/search/variables_0.js @@ -1,4 +1,4 @@ var searchData= [ - ['_5fmulticast_5flevel_0',['_multicast_level',['../classRF24Network.html#a5b89e48e46eebb615b2ef152f057aca7',1,'RF24Network']]] + ['_5fmulticast_5flevel_0',['_multicast_level',['../classESBNetwork.html#aab52703c149001e4d3e1ae7c8311f8e0',1,'ESBNetwork']]] ]; diff --git a/search/variables_1.js b/search/variables_1.js index d4be47bb..32c4f56f 100644 --- a/search/variables_1.js +++ b/search/variables_1.js @@ -1,4 +1,4 @@ var searchData= [ - ['external_5fqueue_0',['external_queue',['../classRF24Network.html#ab387a2137dc1b62c1bf5cc783e34e2c0',1,'RF24Network']]] + ['external_5fqueue_0',['external_queue',['../classESBNetwork.html#a1af1d7e26417c772adb897122d4368f1',1,'ESBNetwork']]] ]; diff --git a/search/variables_2.js b/search/variables_2.js index 4bd61deb..637834b1 100644 --- a/search/variables_2.js +++ b/search/variables_2.js @@ -1,6 +1,6 @@ var searchData= [ - ['frag_5fptr_0',['frag_ptr',['../classRF24Network.html#a1c994c5fdcb2173b187c52b641aaeae0',1,'RF24Network']]], - ['frame_5fbuffer_1',['frame_buffer',['../classRF24Network.html#aa06f1fdd0fd986d427c2c5193b47b212',1,'RF24Network']]], + ['frag_5fptr_0',['frag_ptr',['../classESBNetwork.html#aa68d02f91212108906bac54f6d141e7e',1,'ESBNetwork']]], + ['frame_5fbuffer_1',['frame_buffer',['../classESBNetwork.html#ac31a18d03d70371890d16d242a341631',1,'ESBNetwork']]], ['from_5fnode_2',['from_node',['../structRF24NetworkHeader.html#aff9461f6546b5b7c87465809eb4f9f56',1,'RF24NetworkHeader']]] ]; diff --git a/search/variables_5.js b/search/variables_5.js index 18f2630b..485ac08f 100644 --- a/search/variables_5.js +++ b/search/variables_5.js @@ -2,5 +2,5 @@ var searchData= [ ['message_5fbuffer_0',['message_buffer',['../structRF24NetworkFrame.html#a2ca805d90caa7aef8005fafd2c55fbc6',1,'RF24NetworkFrame']]], ['message_5fsize_1',['message_size',['../structRF24NetworkFrame.html#a6d44701fc5ef58ed6f674fde132bedff',1,'RF24NetworkFrame']]], - ['multicastrelay_2',['multicastRelay',['../classRF24Network.html#add7408ca2b2f9ab15331ba77a747f7bb',1,'RF24Network']]] + ['multicastrelay_2',['multicastRelay',['../classESBNetwork.html#ad9b7bd82837e7a92f4dde9754fb4d03f',1,'ESBNetwork']]] ]; diff --git a/search/variables_6.js b/search/variables_6.js index 3c2d20e2..0972c0d2 100644 --- a/search/variables_6.js +++ b/search/variables_6.js @@ -1,6 +1,6 @@ var searchData= [ - ['networkflags_0',['networkFlags',['../classRF24Network.html#a476806538919b167465181ab872e0cad',1,'RF24Network']]], + ['networkflags_0',['networkFlags',['../classESBNetwork.html#a9d4ab7fc671cdb2573535bfd0c9e2050',1,'ESBNetwork']]], ['next_5fid_1',['next_id',['../structRF24NetworkHeader.html#af02a00fa410f6c34bb395f7d0afe2bfd',1,'RF24NetworkHeader']]], - ['node_5faddress_2',['node_address',['../classRF24Network.html#a17017b584633bb969d004c4c43ca5c82',1,'RF24Network']]] + ['node_5faddress_2',['node_address',['../classESBNetwork.html#a3e5aa077d46a74acd31ca5242bb0c0a4',1,'ESBNetwork']]] ]; diff --git a/search/variables_7.js b/search/variables_7.js index ec6c7e1b..8bb731a5 100644 --- a/search/variables_7.js +++ b/search/variables_7.js @@ -1,6 +1,6 @@ var searchData= [ ['reserved_0',['reserved',['../structRF24NetworkHeader.html#a80672a22cedcf24db8abbcef2eea9cfd',1,'RF24NetworkHeader']]], - ['returnsysmsgs_1',['returnSysMsgs',['../classRF24Network.html#afb6b1d5c0fa3d982425f7a1f4fb48d13',1,'RF24Network']]], - ['routetimeout_2',['routeTimeout',['../classRF24Network.html#a657fd03730b6c9084cc440b4fe0177c3',1,'RF24Network']]] + ['returnsysmsgs_1',['returnSysMsgs',['../classESBNetwork.html#a38f2b8e2665e9512e6953992cf08888f',1,'ESBNetwork']]], + ['routetimeout_2',['routeTimeout',['../classESBNetwork.html#a657d583b2f6ae0ec61a6fa771431470a',1,'ESBNetwork']]] ]; diff --git a/search/variables_8.js b/search/variables_8.js index 4596da00..8a3a33de 100644 --- a/search/variables_8.js +++ b/search/variables_8.js @@ -1,6 +1,6 @@ var searchData= [ ['to_5fnode_0',['to_node',['../structRF24NetworkHeader.html#adb8d6d05bb359b4b89322d15055e73a1',1,'RF24NetworkHeader']]], - ['txtimeout_1',['txTimeout',['../classRF24Network.html#a8838b42717e7c9da37213b020db1f88c',1,'RF24Network']]], + ['txtimeout_1',['txTimeout',['../classESBNetwork.html#a93188f3c0600e0b5f0e3d5e57eb86513',1,'ESBNetwork']]], ['type_2',['type',['../structRF24NetworkHeader.html#ac99ab14e561670f4445d1fea7775e2db',1,'RF24NetworkHeader']]] ]; diff --git a/structRF24NetworkFrame-members.html b/structRF24NetworkFrame-members.html index c5015841..49bb9a73 100644 --- a/structRF24NetworkFrame-members.html +++ b/structRF24NetworkFrame-members.html @@ -23,7 +23,7 @@ @@ -87,7 +87,7 @@
    Configuration Option Description
    #define RF24NetworkMulticast This option allows nodes to send and receive multicast payloads.
    Nodes with multicast enabled can also be configured to relay multicast payloads on to further multicast levels.
    -See RF24Network::multicastRelay
    #define DISABLE_FRAGMENTATION Fragmentation is enabled by default, and uses an additional 144 bytes of memory.
    -
    Newly Optimized RF24Network Layer v1.0.19 +
    Newly Optimized RF24Network Layer v2.0.0
    2020 - Optimized RF24 Network Layer for NRF24L01 radios
    -
    Newly Optimized RF24Network Layer v1.0.19 +
    Newly Optimized RF24Network Layer v2.0.0
    2020 - Optimized RF24 Network Layer for NRF24L01 radios
    -
    Newly Optimized RF24Network Layer v1.0.19 +
    Newly Optimized RF24Network Layer v2.0.0
    2020 - Optimized RF24 Network Layer for NRF24L01 radios
    -
    Newly Optimized RF24Network Layer v1.0.19 +
    Newly Optimized RF24Network Layer v2.0.0
    2020 - Optimized RF24 Network Layer for NRF24L01 radios
    -
    Newly Optimized RF24Network Layer v1.0.19 +
    Newly Optimized RF24Network Layer v2.0.0
    2020 - Optimized RF24 Network Layer for NRF24L01 radios
    diff --git a/structRF24NetworkFrame.html b/structRF24NetworkFrame.html index eeae18bf..98d43a90 100644 --- a/structRF24NetworkFrame.html +++ b/structRF24NetworkFrame.html @@ -23,7 +23,7 @@ -
    Newly Optimized RF24Network Layer v1.0.19 +
    Newly Optimized RF24Network Layer v2.0.0
    2020 - Optimized RF24 Network Layer for NRF24L01 radios
    @@ -177,7 +177,7 @@

    Parameters
    - +
    _headerThe RF24Network header to be stored in the frame
    _headerThe RF24Network header to be stored in the frame
    _messageThe 'message' or data.
    _lenThe size of the 'message' or data.
    @@ -221,10 +221,10 @@

    Constructor for Arduino/AVR/etc. platforms - create a network frame with data Frames are constructed and handled differently on Arduino/AVR and Linux devices (#if defined RF24_LINUX)

    -
    See also
    RF24Network.frag_ptr
    +
    See also
    ESBNetwork.frag_ptr
    Parameters
    - +
    _headerThe RF24Network header to be stored in the frame
    _headerThe RF24Network header to be stored in the frame
    _message_sizeThe size of the 'message' or data
    @@ -282,7 +282,7 @@

    diff --git a/structRF24NetworkHeader-members.html b/structRF24NetworkHeader-members.html index 182f64f9..3b9d9ee5 100644 --- a/structRF24NetworkHeader-members.html +++ b/structRF24NetworkHeader-members.html @@ -23,7 +23,7 @@ -
    Newly Optimized RF24Network Layer v1.0.19 +
    Newly Optimized RF24Network Layer v2.0.0
    2020 - Optimized RF24 Network Layer for NRF24L01 radios
    @@ -90,7 +90,7 @@
    diff --git a/structRF24NetworkHeader.html b/structRF24NetworkHeader.html index 33abb349..3b526302 100644 --- a/structRF24NetworkHeader.html +++ b/structRF24NetworkHeader.html @@ -23,7 +23,7 @@ -
    Newly Optimized RF24Network Layer v1.0.19 +
    Newly Optimized RF24Network Layer v2.0.0
    2020 - Optimized RF24 Network Layer for NRF24L01 radios
    @@ -185,7 +185,7 @@

    RF24NetworkHeader header(recipient_address, 't');

    network.write(header, &message, sizeof(message));
    -
    Definition: RF24Network.h:226
    +
    Definition: RF24Network.h:229

    Parameters
    @@ -326,7 +326,7 @@

    diff --git a/tuning_8md.html b/tuning_8md.html index fd701ba8..7172d3a1 100644 --- a/tuning_8md.html +++ b/tuning_8md.html @@ -23,7 +23,7 @@

    @@ -78,7 +78,7 @@ diff --git a/zigabee_8md.html b/zigabee_8md.html index 699dc727..5b9368de 100644 --- a/zigabee_8md.html +++ b/zigabee_8md.html @@ -23,7 +23,7 @@ @@ -78,7 +78,7 @@
    _toThe Octal format, logical node address where the message is going
    -
    Newly Optimized RF24Network Layer v1.0.19 +
    Newly Optimized RF24Network Layer v2.0.0
    2020 - Optimized RF24 Network Layer for NRF24L01 radios
    -
    Newly Optimized RF24Network Layer v1.0.19 +
    Newly Optimized RF24Network Layer v2.0.0
    2020 - Optimized RF24 Network Layer for NRF24L01 radios