Skip to content

Allow using Spreading Factors 5 and 6#9363

Closed
derpyspike wants to merge 4 commits into
meshtastic:developfrom
derpyspike:spreadingfactors-5and6
Closed

Allow using Spreading Factors 5 and 6#9363
derpyspike wants to merge 4 commits into
meshtastic:developfrom
derpyspike:spreadingfactors-5and6

Conversation

@derpyspike

@derpyspike derpyspike commented Jan 19, 2026

Copy link
Copy Markdown
Contributor

Modified AdminModule.cpp to allow setting Spreading Factor 5 and 6 in custom presets.
In modern LoRa chips like the SX1262 or LR1110 these seem to work without issues and I have tested both SF5 and SF6 extensively with Meshtastic (with this AdminModule change) even with 30 km links and everything seems to work fine.

🤝 Attestations

  • I have tested that my proposed changes behave as described.
  • I have tested that my proposed changes do not cause any obvious regressions on the following devices:
    • Heltec (Lora32) V3
    • LilyGo T-Deck
    • LilyGo T-Beam
    • RAK WisBlock 4631
    • Seeed Studio T-1000E tracker card
    • Other (please specify below)
    • Heltec V4
    • Heltec E290
    • Station G2

@github-actions

Copy link
Copy Markdown
Contributor

@derpyspike, Welcome to Meshtastic!

Thanks for opening your first pull request. We really appreciate it.

We discuss work as a team in discord, please join us in the #firmware channel.
There's a big backlog of patches at the moment. If you have time,
please help us with some code review and testing of other PRs!

Welcome to the team 😄

@thebentern thebentern added the enhancement New feature or request label Jan 27, 2026
@caveman99 caveman99 added the requires-docs Documentation must be updated label Feb 17, 2026
@caveman99

caveman99 commented Feb 17, 2026

Copy link
Copy Markdown
Member

@derpyspike can you please create a PR against documentation, detailing the 2 new spread factors and that they don't work in 1st gen chips.

@caveman99 caveman99 force-pushed the spreadingfactors-5and6 branch from 2a59b9e to ea66b40 Compare February 17, 2026 09:29
Comment thread src/modules/AdminModule.cpp Outdated
}

if (validatedLora.spread_factor < 7 || validatedLora.spread_factor > 12) {
if (validatedLora.spread_factor < 5 || validatedLora.spread_factor > 12) {

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can you check for a 1st gen radio (SX127x, RF95) and refuse 5 and 6 in that case?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@caveman99 I've updated the check to check for these, I've also included the detect/LoRaRadioType.h in the includes to use the radioType for this check.

@derpyspike derpyspike marked this pull request as draft March 1, 2026 22:35
@derpyspike

Copy link
Copy Markdown
Contributor Author

@caveman99 OK, change made and docs PR opened.

meshtastic/meshtastic#2294

@derpyspike

Copy link
Copy Markdown
Contributor Author

@thebentern Hi, I see you added conflicting logic to check for the Spreading Factor in your #9808 PR, should I integrate my check into that one? Or modify the LORA_SF_MIN on yours and leave mine as a separate check?

@derpyspike

Copy link
Copy Markdown
Contributor Author

Closed, and reopened in #10160

@derpyspike derpyspike closed this Apr 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request first-contribution requires-docs Documentation must be updated

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants