Add back FEM LNA mode configuration for LoRa - #9809
Merged
Merged
Conversation
caveman99
approved these changes
Mar 4, 2026
Contributor
There was a problem hiding this comment.
Pull request overview
Reintroduces persisted configuration support for FEM LNA mode on LoRa devices, after prior work removed the setting along with UI elements. This ensures the radio/FEM layer re-applies the saved LNA mode at boot and when LoRa config updates are received.
Changes:
- Apply
config.lora.fem_lna_modeto the FEM interface during SX126x radio initialization. - Apply
config.lora.fem_lna_modewhen LoRa config is updated viaAdminModule::handleSetConfig. - Initialize a default
fem_lna_modevalue during default-config installation.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| src/modules/AdminModule.cpp | Applies FEM LNA mode after LoRa config updates are accepted. |
| src/mesh/SX126xInterface.cpp | Applies saved FEM LNA mode during SX126x init so it takes effect at boot. |
| src/mesh/NodeDB.cpp | Sets default fem_lna_mode value when installing default config. |
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
caveman99
requested changes
Mar 4, 2026
This was referenced Jun 21, 2026
Yeraze
added a commit
to Yeraze/meshmonitor
that referenced
this pull request
Jun 21, 2026
…in (#3599) (#3600) Adds support for Config.LoRaConfig.fem_lna_mode (FEM_LNA_Mode enum), a LoRa Front-End Module / Low Noise Amplifier mode option added in Meshtastic firmware v2.7.20 (meshtastic/firmware#9809). Users on amplified boards with an external LNA (e.g. certain RAK modules) can now configure it from the UI instead of the Python CLI. The protobuf field was already vendored (submodule at v2.7.25), so no submodule bump was needed. The enum (DISABLED=0, ENABLED=1, NOT_PRESENT=2, field tag 106) is added to shared constants in src/server/constants/meshtastic.ts. Surfaced on BOTH UI surfaces, end-to-end (read + display + write): - Device Configuration (LoRaConfigSection / ConfigurationTab): new "FEM LNA Mode" select; load, change-tracking, save payload, and config-import all carry femLnaMode. - Remote Admin (AdminCommandsTab): new "FEM LNA Mode" select; both remote-config read spots and the setLoRaConfig save payload carry femLnaMode. Both save paths funnel through protobufService.createSetLoRaConfigMessage, which now encodes femLnaMode for the local config-set and the remote admin message. proto3 elision (#3594): the zero enum value DISABLED is a real selectable mode, so it is read with a 0 default (never a non-zero ?? fallback) and the backend proto3-default block fills femLnaMode=0 when elided. Firmware gating: the control is shown unconditionally; writing 0 (DISABLED) is harmless on firmware that does not know field 106. Tests: protobufService.femLnaMode.test.ts round-trips the field (incl. the proto3-zero elision case); LoRaConfigSection.test.tsx covers the option constants and save payload. Full Vitest suite passes (7051 tests, 0 failures). Closes #3599 Claude-Session: https://claude.ai/code/session_011JEaCGwY9Wz8jeV4e22GW4 Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
jeek
pushed a commit
to jeek/Meshtastic-Exploiteers-Hacker-Pager
that referenced
this pull request
Jun 30, 2026
* Add back FEM LNA mode configuration for LoRa * Update src/mesh/NodeDB.cpp Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update src/modules/AdminModule.cpp Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * copilot garbage --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Itzdavid01
pushed a commit
to Itzdavid01/firmware
that referenced
this pull request
Sep 5, 2026
* Add back FEM LNA mode configuration for LoRa * Update src/mesh/NodeDB.cpp Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update src/modules/AdminModule.cpp Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * copilot garbage --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Was removed from #9753 but we just wanted the menu UI removed