Skip to content

Add TinyFast and TinySlow presets to modem configuration#10597

Merged
NomDeTom merged 1 commit into
developfrom
tinyfast
Jun 3, 2026
Merged

Add TinyFast and TinySlow presets to modem configuration#10597
NomDeTom merged 1 commit into
developfrom
tinyfast

Conversation

@vidplace7

@vidplace7 vidplace7 commented May 31, 2026

Copy link
Copy Markdown
Member

This pull request adds support for new "Tiny" (15.625 kHz) modem presets and introduces a new region profile for ham radio operation with a 20kHz bandwidth. The changes include updates to display formatting, menu actions, preset parameter handling, and the addition of the new region profile.

This does not add new regions that consume these presets. Simply the presets themselves.

Support for Tiny Modem Presets:

  • Added new modem presets TINY_FAST and TINY_SLOW to the preset parameter mapping logic, including their bandwidth, coding rate, and spreading factor values in modemPresetToParams (src/mesh/MeshRadio.h).
  • Added display names for the new TINY_FAST and TINY_SLOW presets in DisplayFormatters::getModemPresetDisplayName (src/DisplayFormatters.cpp).
  • Added new menu actions for selecting the Tiny presets in the system menu (src/graphics/niche/InkHUD/Applets/System/Menu/MenuAction.h).
  • Defined a new preset array PRESETS_TINY containing the Tiny presets (src/mesh/RadioInterface.cpp).

New Ham 20kHz Region Profile:

  • Introduced a new region profile PROFILE_HAM_20KHZ that uses the Tiny presets and is intended for ham radio operation with a 20kHz bandwidth (src/mesh/RadioInterface.cpp, src/mesh/MeshRadio.h). [1] [2]

✅ Depends on:

@vidplace7 vidplace7 added enhancement New feature or request requires-protos Requires changes to protobufs to work requires-docs Documentation must be updated labels May 31, 2026
@github-actions github-actions Bot added the needs-review Needs human review label May 31, 2026
@vidplace7

Copy link
Copy Markdown
Member Author

DRAFT pending meshtastic/protobufs#934 merge and protobuf regen.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

This PR adds the firmware-side definitions for new Tiny modem presets and a ham-oriented 20 kHz region profile, preparing the radio configuration stack to consume new protobuf enum values once available.

Changes:

  • Adds TINY_FAST and TINY_SLOW preset mappings, display names, and InkHUD menu enum entries.
  • Defines a PRESETS_TINY preset list and PROFILE_HAM_20KHZ region profile.
  • Exposes the new profile from MeshRadio.h.

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 3 comments.

File Description
src/mesh/RadioInterface.cpp Adds Tiny preset list and ham 20 kHz profile definition.
src/mesh/MeshRadio.h Declares the new profile and maps Tiny presets to LoRa parameters.
src/graphics/niche/InkHUD/Applets/System/Menu/MenuAction.h Adds menu action enum values for Tiny presets.
src/DisplayFormatters.cpp Adds display labels for Tiny presets.

Comment thread src/mesh/MeshRadio.h
Comment thread src/mesh/RadioInterface.cpp
Comment thread src/DisplayFormatters.cpp
@vidplace7 vidplace7 force-pushed the tinyfast branch 2 times, most recently from 4b46c15 to f660607 Compare June 1, 2026 23:18
@vidplace7 vidplace7 force-pushed the tinyfast branch 2 times, most recently from 331d01b to bcc35a6 Compare June 2, 2026 23:27
@vidplace7 vidplace7 removed the requires-protos Requires changes to protobufs to work label Jun 2, 2026
@vidplace7 vidplace7 requested a review from Copilot June 3, 2026 00:38

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 4 out of 4 changed files in this pull request and generated 3 comments.

Comment thread src/graphics/niche/InkHUD/Applets/System/Menu/MenuAction.h
Comment thread src/mesh/RadioInterface.cpp Outdated
Comment thread src/mesh/MeshRadio.h

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 5 out of 5 changed files in this pull request and generated 4 comments.

Comment thread src/mesh/MeshRadio.h
Comment thread src/graphics/niche/InkHUD/Applets/System/Menu/MenuAction.h
Comment thread src/graphics/niche/InkHUD/Applets/System/Menu/MenuApplet.cpp
Comment thread src/mesh/MeshRadio.h
@vidplace7 vidplace7 marked this pull request as ready for review June 3, 2026 01:09
const RegionProfile PROFILE_NARROW = {PRESETS_NARROW, 0, 0.0104f, true, false, 0, 1, 1};
// Ham '20kHz' profile. 15.625kHz bandwidth coerced to 20kHz via padding.
const RegionProfile PROFILE_HAM_20KHZ = {PRESETS_TINY, 0, 0.0021875f, false, true, 0, 2, 2};

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.

The actual region names stay ITU..something? this is jjust a profile?

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Hmm, this is limiting a region to only tiny presets. If you want ultra flexibility then you need a region profile with all the settings.

There is perhaps a better way to store this info, but my brain ain't.

@vidplace7 vidplace7 Jun 3, 2026

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Yeah this is just the RegionProfile. Once this PR is merged I'll be rebasing the work in #10558 to consume this RegionProfile (instead of the current NARROW profile). The new region additions themselves will be covered in the BPF PR.

@NomDeTom NomDeTom merged commit 3e873c5 into develop Jun 3, 2026
162 of 163 checks passed
@vidplace7 vidplace7 deleted the tinyfast branch June 3, 2026 15:43
raghumad pushed a commit to raghumad/mezulla-firmware that referenced this pull request Jun 25, 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 needs-review Needs human review requires-docs Documentation must be updated

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants