Repository navigation
Conversation
#3637 hid the multimodule "Disable telemetry" option on non-FrSky radios, but a stored disableTelemetry bit is still sent to the module. A model created on a FrSky radio therefore kept telemetry disabled with no way to clear it. Show the option on non-FrSky radios only while it is set, so it can be cleared but not enabled again. Also hide it for MPM receiver protocols on colour radios, as the B&W UIs already did. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… radio - hide bind on channel and disable telemetry for MPM receiver protocols - only show disable telemetry on FrSky radios, or while it is set (#3637) - hide the subtype selector for protocols without subtypes - drop stale FrSky failsafe special case, use the protocol table only - fix fall-through that ignored the OLRS/BUGS receiver number limits Closes #1400 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…adios The B&W UIs and Companion hide "Bind on channel" for the MPM receiver protocols (AFHDS2A_RX, FrSky_RX, Bayang_RX, DSM_RX), as OpenTX did on every UI when they were added. The colorlcd rewrite lost the check, so colour radios still offered it. These protocols are only meant to bind on a manual request. MPM honours the flag, but with WAIT_FOR_BIND (on by default) it holds the receiver protocol until a bind is requested. Companion now also clears the flag when switching to a receiver protocol, as the radio already resets it on any protocol change, so a hidden flag can't be left set. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The Range button was only created when the module window was built, so changing the MPM protocol didn't update it: it stayed visible after switching to a receiver protocol, which isModuleRangeAvailable() rules out, and stayed missing after switching away from one until the page was reopened. It is now always created and shown or hidden in updateSubType(), which runs on every protocol change. The channel range row is also hidden for MPM receiver protocols, as the B&W UIs do (MODULE_CHANNELS_ROWS), since no channels are sent to the module with these protocols. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
pfeerick
force-pushed
the
pfeerick/cpn-mpm-relevant-options
branch
from
October 25, 2026 11:19
6c2435e to
a45dec5
Compare
pfeerick
marked this pull request as ready for review
October 25, 2026 23:33
This branch has not been deployed
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.
Closes #1400
Summary of changes:
Companion now only shows multimodule options that apply to the selected protocol and radio, using the same offline rules as the radio. The protocol table has already been shared with the firmware (
radio/src/MultiSubtypeDefs.h), so failsafe and disable-channel-map were already gated (the DSM failsafe case from the issue was fixed that way). This PR covers the rest. Companion can't read the module's live protocol list, so it follows the radio's static fallback.Companion (
setup_module.cpp,multiprotocols.{h,cpp})IS_RX_MULTI.Boards::getManufacturer()reads the same hw_defs field that generatesMANUFACTURER_FRSKY), following Remove MPM no telemetry GUI on non FrSky radio #3637. On other radios it is only shown while it is set, so it can be cleared.NO_SUBTYPE), matchingMULTIMODULE_HAS_SUBTYPE. Protocols with a single named subtype still show it, as on the radio.MULTI_FRSKYhad D16 subtypes, and the protocol table already handles failsafe.breaks that made the OLRS / BUGS / BUGS_MINI receiver-number limits fall through to 63.Radio (
gui_common.h, 128x64 / 212x64model_setup.cpp, colorlcdmpm_settings)disableTelemetrybit is still sent to the module, so a model coming from a FrSky radio kept telemetry off with no way to clear it. The option now shows on non-FrSky radios only while it is set: it can be cleared but not set again. FrSky radios are unchanged.WAIT_FOR_BIND(enabled by default) it keeps the receiver protocol from starting until a bind is requested, and its docs only describe binding them with the Bind button.Testing (in
edgetx-dev:pr-42):tools/build-gh.shfirmware builds for tx16s, zorro, x10, x9dp2019 and t12max all pass.gtests-radiopasses for TX16S and X9D+, andgtests-companionpasses.tools/build-gh.sh, and Companion rebuilt withgtests-companionpassing (44 tests). tx16s rebuilt again after the Range button and channel range change.🤖 Generated with Claude Code