From da48d4c0dcaf1d74831f84bc334db892038096ad Mon Sep 17 00:00:00 2001 From: Ben Meadors Date: Sun, 14 Jul 2024 07:25:35 -0500 Subject: [PATCH] Explain regular broadcasts and new traffic scaling algorithm --- docs/about/overview/mesh-alg.mdx | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/docs/about/overview/mesh-alg.mdx b/docs/about/overview/mesh-alg.mdx index 73e1e42a..01a9fac9 100644 --- a/docs/about/overview/mesh-alg.mdx +++ b/docs/about/overview/mesh-alg.mdx @@ -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.