You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Motivation: PR #1923 introduces SNR-driven per-hop CR adaptation for repeater direct forwarding, showing a path toward role/link-aware CR behavior without globally forcing one CR everywhere.
Background
From current upstream/dev behavior:
Docs already describe CR5 as default and suggest higher CR for weak/intermittent links (docs/faq.md, docs/cli_commands.md)
MeshCore has heavy airtime-aware timing:
retransmit delays are derived from estimated airtime (getEstAirtimeFor(...) * tx_delay_factor)
dispatcher send timeout is scaled from estimated airtime
airtime budget backoff is based on measured transmit time
Flood/direct/ACK/path/response behavior is tightly coupled:
unknown paths and group traffic rely on flood
direct traffic and ACK/path-return drive path convergence
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
-
The Proposal
Treat node roles as a mobility proxy and use coding rate (CR) asymmetrically:
non-mobile(fixed infrastructure, e.g., repeaters/room servers): start atCR5mobile(on-person/in-vehicle, low height, moving): start atCR6orCR7, up toCR8when neededBW/SF/frequencyaligned network-wide unless intentionally partitioning networksMotivation: PR #1923 introduces SNR-driven per-hop CR adaptation for repeater direct forwarding, showing a path toward role/link-aware CR behavior without globally forcing one CR everywhere.
Background
From current
upstream/devbehavior:CR5as default and suggest higher CR for weak/intermittent links (docs/faq.md,docs/cli_commands.md)getEstAirtimeFor(...) * tx_delay_factor)RF context:
Benefits / Drawbacks
Benefits
Drawbacks
Complexity To Implement
Low-to-medium for a first pass, medium-to-high for robust behavior.
mobileprofile uses higher CR;fixeduses CR5)PR #1923 already adds important plumbing (
_tx_cr, dispatcher CR switching per TX). Gaps for broader strategy include:ROI
Likely good ROI in mixed deployments (fixed backbone + mobile clients), but only if tuned carefully.
Other Things To Consider
Always CR8 for mobile: simplest, highest reliability bias, highest airtime costAlways CR7 for mobile: compromise optionCR8 only on retryfor mobile direct trafficSNR-based dynamic CRfor repeaters (PR Add SNR-driven dynamic coding rate selection for repeater retransmits #1923 direction), but keep floor/ceiling and hysteresisBeta Was this translation helpful? Give feedback.
All reactions