nRF24 / RF24Mesh

OSI Layer 7 Mesh Networking for RF24Network & nrf24L01+ & nrf52x devices

Home Page:http://nrf24.github.io/RF24Mesh

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Linux build Arduino CLI build PlatformIO build Pico SDK build Documentation Status

RF24Mesh

Mesh Networking for RF24Network

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:

  • Any network layer that uses v2 needs to have RF24Network/RF24Mesh dependencies of v2 or newer. RF24 v1.x is an exception here.
  • General usage should remain backward compatible, see the included examples of the related libraries for more info
  • Any third party libs that extend the network/mesh layer may also need to be updated to incorporate the new templated class prototypes:
template<class radio_t>
class ESBNetwork;
  
template<class network_t, class radio_t>
class ESBMesh;
  • Third party libs should also be able to use the backward-compatible typedef in their template:
    • ESBGateway.h:
    template<typename network_t, typename mesh_t>
    class ESBGateway
    and inform the compiler what types they intend to support:
    • ESBGateway.cpp:
    template class ESBGateway<RF24Network, RF24Mesh>;
  • The auto installers do not perform a version check like package managers, so having the correct versions of the software is important.
  • We will be maintaining the v1.x versions with bugfixes etc for those who cannot or do not wish to migrate to the newer template approach.

https://nRF24.github.io/RF24Mesh

About

OSI Layer 7 Mesh Networking for RF24Network & nrf24L01+ & nrf52x devices

http://nrf24.github.io/RF24Mesh

License:GNU General Public License v2.0


Languages

Language:C++ 53.4%Language:CMake 34.3%Language:Python 4.2%Language:C 4.1%Language:Makefile 4.0%