From 6dcd5f8ec3c9eb38ec738a42c81be1a86cbbb83d Mon Sep 17 00:00:00 2001 From: TMRh20 Date: Tue, 16 Nov 2021 18:54:22 -0600 Subject: [PATCH] Add multicast description Add description of multicasting and how it affects the available addresses on the network. --- docs/tuning.md | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/docs/tuning.md b/docs/tuning.md index 1e34a2bc..1a43725e 100644 --- a/docs/tuning.md +++ b/docs/tuning.md @@ -19,7 +19,7 @@ Retrying failed payloads over and over on a radio network can hinder communicati reduce throughput and errors on routing nodes. Radios in this network are linked by **addresses** assigned to **pipes**. Each radio can listen -to 6 addresses on 6 pipes, therefore each radio has a parent pipe and 5 child pipes, which are used +to 6 addresses on 6 pipes, therefore each radio has a parent pipe and 4-5 child pipes, which are used to form a tree structure. Nodes communicate directly with their parent and children nodes. Any other traffic to or from a node must be routed through the network. @@ -42,6 +42,15 @@ In RF24Network, the master is just `00` - Children of master are `01`, `02`, `03`, `04`, `05` - Children of `01` are `011`, `021`, `031`, `041`, `051` +## Multicast + +Multicast is enabled by default, which limits the master node to 5 child pipes and other nodes to 4. Nodes are +arranged in multicast 'levels' with the master node being level 0, nodes 01-05 are level 1, nodes n1-n5 are level 2, +and so on. The multicast level of each node can be configured as desired by the user, or multicast can be +disabled by editing RF24Network_config.h. For example, if all nodes are in range of the master node, all nodes can +be configured to use multicast level 1, allowing the master node to contact all of them by sending a single payload. +Multicasting is also used by the RF24Mesh layer for dynamic addressing requests. + ## Routing Routing of traffic is handled invisibly to the user, by the network layer. If the network addresses are