Skip to content

Hide 8000-series DSP filters (NRL, NRS, RNN, NRF) on 6000-series radios (#2177)#2184

Merged
ten9876 merged 1 commit into
mainfrom
aether/hide-extended-dsp-on-6000
Apr 30, 2026
Merged

Hide 8000-series DSP filters (NRL, NRS, RNN, NRF) on 6000-series radios (#2177)#2184
ten9876 merged 1 commit into
mainfrom
aether/hide-extended-dsp-on-6000

Conversation

@ten9876

@ten9876 ten9876 commented Apr 30, 2026

Copy link
Copy Markdown
Collaborator

Summary

Hides the four extended firmware DSP filters (NRL, NRS, RNN, NRF) when connected to a 6000-series radio, since those filters only exist on BigBend/DragonFire-platform hardware (8400, 8600, AU-/ML-/CL-/RT-series).

Provenance

Carve-out of PR #2178 (authored by AetherClaude bot, `maintainerCanModify: false`). The bot's branch was based on the moment PR #2155 (Customizable Slice Colors) landed but didn't include the new SliceColorManager source files, so rebasing showed those as −390 deletions — i.e., merging #2178 as-submitted would silently revert chibondking's slice-colors work that landed earlier today.

This branch contains just the substantive +47/-4 hide-filter change, applied cleanly on top of current main.

Implementation

  • `RadioModel::hasExtendedDspFilters()` — returns true for 8400, 8600, AU-, ML-, CL-, RT- model strings.
  • `SpectrumOverlayMenu::setHasExtendedDsp(bool)` — toggles visibility on the four DSP rows (indexes 4, 5, 6, 8 = NRL, NRS, RNN, NRF). Adjusts panel size after hiding.
  • `VfoWidget::setHasExtendedDsp(bool)` — stores the flag; both `setSlice()`'s mode-change lambda AND the `syncFromSlice()` path apply `&& m_hasExtendedDsp` to the four button visibility checks.
  • `MainWindow` — calls `setHasExtendedDsp` on each VfoWidget in `onSliceAdded` and on each SpectrumOverlayMenu in `wirePanadapter`.

Improvement over the original PR

The bot only added the gating to the `setSlice` mode-change lambda. This commit also adds it to `syncFromSlice` (line 2915 region) — a sibling code path — so subsequent mode changes re-apply the gating consistently. Without that, switching from FM → USB → FM on a 6000-series would re-show the four buttons.

Test plan

  • Build clean
  • CI green
  • Visual: connect to a FLEX-6600 → DSP panel and VfoWidget DSP buttons should not show NRL/NRS/RNN/NRF
  • Visual: connect to a FLEX-8600 / AU-520 → those four filters should still appear

🤖 Generated with Claude Code

6000-series radios (FLEX-6300/6400/6500/6600/6700) don't expose the
extended firmware DSP filters that 8000-class hardware does (NRL, NRS,
RNN, NRF).  Showing them in the UI when connected to a 6000-series is
confusing and clutters the DSP panel.

Adds RadioModel::hasExtendedDspFilters() — returns true for BigBend
(8400, 8600), DragonFire (AU-, ML-, CL-, RT-) platforms.  Both the
VfoWidget DSP buttons and the SpectrumOverlayMenu DSP rows hide
those four filters when this returns false.

Carved out of PR #2178 (bot, no maintainerCanModify) which had a
diff that included unrelated -390 lines reverting PR #2155
(Customizable Slice Colors) — its branch was based on the moment
#2155 landed but it didn't include the SliceColorManager source
files, so a rebase showed them as deletions.  This carve-out is just
the substantive +47/-4 hide-filter change.

Improvement over the original PR: the bot only gated the 4 buttons
in setSlice()'s mode-change lambda.  This commit also gates them in
the syncFromSlice() path (line 2915 region) so subsequent mode
changes re-apply the gating consistently.

Fixes #2177.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@ten9876 ten9876 requested a review from jensenpat as a code owner April 30, 2026 04:49
@ten9876 ten9876 merged commit 21ab019 into main Apr 30, 2026
4 checks passed
@ten9876 ten9876 deleted the aether/hide-extended-dsp-on-6000 branch April 30, 2026 05:01
ten9876 added a commit that referenced this pull request May 1, 2026
NRL was incorrectly grouped with the 8000-series-only firmware DSP
filters in #2184, but it's actually available on 6000-series radios
too — only NRS, RNN, and NRF are 8000/AU-platform-only.

Drop NRL from the hide-list in both `SpectrumOverlayMenu::setHasExtendedDsp`
and the two `VfoWidget` visibility paths (setSlice mode-change lambda +
syncFromSlice).  NRL now follows the same pattern as NB/NR/NR2 — visible
unless the mode hides it (FM).

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant