Conversation
|
DRAFT pending meshtastic/protobufs#934 merge and protobuf regen. |
There was a problem hiding this comment.
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_FASTandTINY_SLOWpreset mappings, display names, and InkHUD menu enum entries. - Defines a
PRESETS_TINYpreset list andPROFILE_HAM_20KHZregion 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. |
4b46c15 to
f660607
Compare
331d01b to
bcc35a6
Compare
| 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}; | ||
|
|
There was a problem hiding this comment.
The actual region names stay ITU..something? this is jjust a profile?
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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.
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:
TINY_FASTandTINY_SLOWto the preset parameter mapping logic, including their bandwidth, coding rate, and spreading factor values inmodemPresetToParams(src/mesh/MeshRadio.h).TINY_FASTandTINY_SLOWpresets inDisplayFormatters::getModemPresetDisplayName(src/DisplayFormatters.cpp).src/graphics/niche/InkHUD/Applets/System/Menu/MenuAction.h).PRESETS_TINYcontaining the Tiny presets (src/mesh/RadioInterface.cpp).New Ham 20kHz Region Profile:
PROFILE_HAM_20KHZthat 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: