Shared Networking API

Order of Inheritance

The RadioMixin and NetworkMixin classes are not documented directly. Instead, this documentation follows the OSI (Open Systems Interconnection) model. This is done to mimic how the TMRh20 C++ libraries and documentation are structured.

Consequentially, all functions and members inherited from the NetworkMixin class are documented here as part of the RF24Network class. Note that the RF24MeshNoMaster, RF24Mesh, and RF24NetworkRoutingOnly classes all share the same API inherited from the NetworkMixin class.

Accessible RF24 API

The purpose of the RadioMixin class is

  1. to provide a networking layer its own instantiated RF24 object

  2. to prevent applications from changing the radio’s configuration in a way that breaks the networking layer’s behavior

The following list of RF24 functions and attributes are exposed in the RF24Network API and RF24Mesh API.

External Systems API

The following attributes are exposed in the RF24Network and RF24Mesh API for extensibility via external applications or systems.

RF24Network.address_prefix = b"\xCC"

The base case for all pipes’ address’ bytes before mutating with address_suffix.

See Also

The usage of this attribute is more explained in the Topology page

RF24Network.address_suffix = b"\xC3\x3C\x33\xCE\x3E\xE3"

Each byte in this bytearray corresponds to the unique byte per pipe and child node.

See Also

The usage of this attribute is more explained in the Topology page

RF24Network.frame_buf

A buffer containing the last frame handled by the network node

RF24Network.queue : FrameQueueFrag | FrameQueue

The queue (FIFO) of received frames for this node

This attribute will be an instantiated FrameQueue or FrameQueueFrag object depending on the state of the fragmentation attribute.

RF24Network.ret_sys_msg : bool

Force update() to return on system message types.

This bool attribute is asserted on mesh network nodes.