64template<
class mesh_t = ESBMesh<ESBNetwork<RF24>, RF24>,
class network_t = ESBNetwork<RF24>,
class radio_t = RF24>
85 ESBGateway(radio_t& _radio, network_t& _network, mesh_t& _mesh);
97 void begin(uint8_t nodeID = 0, uint8_t channel = 97, rf24_datarate_e data_rate = RF24_1MBPS);
112 void begin(uint16_t address, uint8_t channel = 97, rf24_datarate_e data_rate = RF24_1MBPS,
bool meshEnable = 0, uint8_t nodeID = 0);
122 int setIP(
char* ip_addr,
char* mask);
141 void poll(uint32_t waitDelay = 3);
168 return droppedIncoming;
171 void sendUDP(uint8_t nodeID, RF24NetworkFrame frame);
231 bool begin(
bool configTUN,
bool meshEnable, uint16_t address, uint8_t mesh_nodeID, rf24_datarate_e data_rate, uint8_t _channel);
234 uint32_t droppedIncoming;
237 rf24_datarate_e dataRate;
238 char tunName[IFNAMSIZ];
241 unsigned long packets_sent;
242 uint32_t interfaceInTimer;
244 void handleRadioOut();
245 void handleRadioIn();
246 void handleRX(uint32_t waitDelay = 0);
248 volatile bool gotInterrupt;
249 int configDevice(uint16_t address);
250 int allocateTunDevice(
char* dev,
int flags, uint16_t address);
254 std::uint8_t message[MAX_PAYLOAD_SIZE];
258 std::queue<msgStruct> rxQueue;
259 std::queue<msgStruct> txQueue;
266 struct sockaddr_in addr;
267 struct in_addr getLocalIP();
269 void loadRoutingTable();