RF24Mesh - Automated Networking for nrf24L01 & nrf52x radios v2.0.2
2024 - A user friendly mesh overlay for sensor neworks using RF24Network
Loading...
Searching...
No Matches
RF24Mesh_config.h
Go to the documentation of this file.
1
7#ifndef __RF24MESH_CONFIG_H__
8#define __RF24MESH_CONFIG_H__
9
10/*** User Configuration ***/
16#ifndef MESH_MAX_CHILDREN
17 #define MESH_MAX_CHILDREN 4
18#endif // MESH_MAX_CHILDREN
19#if defined(RF24_TINY)
20 #define MESH_NOMASTER
21#endif
22
23// un-comment for non-master nodes not running on ATTiny MCUs
24//#define MESH_NOMASTER
25
26/***Advanced User Config***/
32#ifndef MESH_DEFAULT_CHANNEL
33 #define MESH_DEFAULT_CHANNEL 97
34#endif // MESH_DEFAULT_CHANNEL
35
40#ifndef MESH_RENEWAL_TIMEOUT
41 #define MESH_RENEWAL_TIMEOUT 7500
42#endif // MESH_RENEWAL_TIMEOUT
43
53#ifndef MESH_MEM_ALLOC_SIZE
54 #define MESH_MEM_ALLOC_SIZE 10
55#endif // MESH_MEM_ALLOC_SIZE
56
63#ifndef MESH_CONNECTION_CHECK_ATTEMPTS
64 #define MESH_CONNECTION_CHECK_ATTEMPTS 3
65#endif
66
67#define RF24MESH_CONN_CHECK_PARENT 1
68#define RF24MESH_CONN_CHECK_MASTER 0
80#ifndef RF24MESH_CONN_CHECK_TYPE
81 #define RF24MESH_CONN_CHECK_TYPE RF24MESH_CONN_CHECK_PARENT
82 // To use old behavior:
83 // #define RF24MESH_CONN_CHECK_TYPE RF24MESH_CONN_CHECK_MASTER
84#endif
85
86/**************************/
87/*** Debug ***/
88//#define RF24MESH_DEBUG_MINIMAL /** Uncomment for the Master Node to print out address assignments as they are assigned */
89//#define RF24MESH_DEBUG /** Uncomment to enable debug output to serial **/
90/**************************/
91
92/*** Other Configuration ***/
93//#define MESH_MIN_SAVE_TIME 30000 /** UNUSED Minimum time required before changing nodeID. Prevents excessive writing to EEPROM */
94
102#ifndef MESH_LOOKUP_TIMEOUT
103 #define MESH_LOOKUP_TIMEOUT 135
104#endif // MESH_LOOKUP_TIMEOUT
105
107#ifndef MESH_WRITE_TIMEOUT
108 #define MESH_WRITE_TIMEOUT 115
109#endif // MESH_WRITE_TIMEOUT
110
111#ifndef MESH_DEFAULT_ADDRESS
112 #define MESH_DEFAULT_ADDRESS NETWORK_DEFAULT_ADDRESS
113#endif // MESH_DEFAULT_ADDRESS
114
115#define MESH_MULTICAST_ADDRESS NETWORK_MULTICAST_ADDRESS
116
117//#define MESH_MAX_ADDRESSES 255 /* UNUSED Determines the max size of the array used for storing addresses on the Master Node */
118//#define MESH_ADDRESS_HOLD_TIME 30000 /* UNUSED How long before a released address becomes available */
119
120#if (defined(__linux) || defined(linux)) && !defined(__ARDUINO_X86__) && !defined(USE_RF24_LIB_SRC)
121 #include <RF24/RF24_config.h>
122
123//ATXMega
124#elif defined(XMEGA)
125 #include "../../rf24lib/rf24lib/RF24_config.h"
126#else
127 #include <RF24_config.h>
128#endif
129
130#if defined(RF24MESH_DEBUG_MINIMAL)
131 #define IF_RF24MESH_DEBUG_MINIMAL(x) ({ x; })
132#else
133 #define IF_RF24MESH_DEBUG_MINIMAL(x)
134#endif
135
136#if defined(RF24MESH_DEBUG)
137 #define IF_RF24MESH_DEBUG(x) ({ x; })
138#else
139 #define IF_RF24MESH_DEBUG(x)
140#endif
141
142#endif // __RF24MESH_CONFIG_H__