Explain regular broadcasts and new traffic scaling algorithm

This commit is contained in:
Ben Meadors 2024-07-14 07:25:35 -05:00 committed by GitHub
parent 2c3f7592f6
commit da48d4c0dc
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -91,3 +91,17 @@ After node 0 received this rebroadcast, its message is acknowledged. Note that a
Since node 1 heard the rebroadcast by 2, it will not rebroadcast again. Node 3 heard the message for the first time and the HopLimit is not yet zero, so it starts a rebroadcast for potential other receivers.
![Mesh algorithm example](/img/SNR_based_flooding.webp)
### Regular Broadcast Intervals
Without additional modules configured, nodes will produce 3 different types of regularly intervaled traffic as a part of the mesh:
- Device Telemetry (`telemetry.device_update_interval` default 30 minutes)
- Position (`position.position_broadcast_secs` default 15 minutes* with [smart broadcast](https://meshtastic.org/docs/configuration/radio/position/#smart-broadcast))
- NodeInfo user (`device.node_info_broadcast_secs` default 3 hours).
As meshes grow larger and more contentious with traffic, the firmware will back off of these intervals, in addition to duty cycle, channel and air-time utilization throttling. Starting with version 2.4.0, the firmware will back off of Telemetry, Position, and other anciliary port traffic for a mesh larger than 40 online (seen in past 2 hours) nodes using the following algorithm:
`ScaledInterval = Interval * (1.0 + ((NumberOfOnlineNodes - 40) * 0.075)))`
For example an active mesh of 62 nodes would scale back `telemetry.device_update_interval` to 79.5 minutes instead of the 30 minute default.