• Stars
    star
    423
  • Rank 102,544 (Top 3 %)
  • Language
    C++
  • License
    GNU General Publi...
  • Created about 10 years ago
  • Updated about 1 month ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

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

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