Repository navigation
20260930 - Derive the RSPduo notch filters from the capture frequency - #46
Merged
Merged
Conversation
config-merger now sets capture.device.rfNotch and dabNotch from the final capture.fc and fs, after forced.yml. A notch is on unless the capture band overlaps its stopband (RF 77-115 MHz, DAB 155-235 MHz). The derived value overwrites every overlay, so the true/true each node persisted in its first-boot user.yml needs no migration. At the shipped 503 MHz both stay on. default.yml keeps both keys: blah2 aborts on a missing key, and standalone and staging build config.yml from default.yml without config-merger. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This was referenced Sep 30, 2026
Purple10101
added a commit
that referenced
this pull request
Oct 5, 2026
blah2 v0.6.2 -> v0.6.3 matches detections against where each
aircraft is rather than its last
reported position, which had collapsed
tagged tracks from about 230 a day to
almost none; plus the notch doc revert
config-merger v0.4.7.1 -> v0.4.7.2 self-referential, always the tag being
cut. Carries the revert of #46.
This is the corrective release for v0.4.7.1, which never went fleet-wide:
staged-first was rolled back to v0.4.7.0 on 2026-10-04 after nodes wedged
on NumDevs=0. Deriving the notches from fc turned dabNotch off at 213 MHz,
inside the DAB notch band, and a node that overloads at start-up trips a
deadlock in blah2's RspDuo path that leaves the SDRplay service hung
holding the device.
Worth being plain about: this removes the trigger, not the defect. The
deadlock has been present since blah2 v0.6.0 and is unfixed here, so a
node that overloads at start-up for any other reason can still wedge. It
is being addressed separately.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.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.
What
The RSPduo's DAB and RF notch filters (
capture.device.dabNotch,rfNotch) are now derived by config-merger from the finalcapture.fcandcapture.fson every merge, instead of being user settings.Why
default.ymlshipped both notches on, and the first-boot copy put thattrue/trueinto every node'suser.yml. A node tuned inside a notch's stopband has been filtering out its own illuminator. The notches are a function of the frequency, so they should follow it.Change
derive_notches()runs on the merged config afterforced.yml. A notch is on unless[fc - fs/2, fc + fs/2]overlaps its stopband: RF (FM) 77-115 MHz, DAB 155-235 MHz. The result always overwrites the merged value, so the persistedtrue/trueneeds noLEGACY_*migration.fc/fsleaves the merged values alone.default.ymlkeeps both keys, commented as derived. Standalone (cp default.yml config.yml) andstaging/merge-config.shdon't run the merger, and blah2 aborts on a missing key.Rollout note
A node whose
fcis inside a stopband (for example VHF-high DTV inside the DAB band) has that notch turned off, so its illuminator arrives 20-30 dB stronger. Gain set with the notch on may overload the front end. That node's gain needs lowering, or Auto-Calibrate run again, after this lands.Known limitation: blah2 applies the notches only at
sdrplay_api_Init(). A live retune (POST /capture/retune, used by Auto-Calibrate to probe candidate towers) changesfcbut not the notches. The applied result is correct because/calibrate/applyre-runs the merger and restarts blah2.Testing
config-merger/test/test_merge_config.py: UHF, FM band, DAB band, band edges usingfs,user.ymloverwritten,forced.ymlfc, missing and non-numericfc, no capture section.pytest config-merger/test/ scripts/test/: 85 passed.ruff check .and the vulture pre-commit hook pass.rfNotch=true, dabNotch=false. The value reachedconfig.ymland blah2 (its startup log printeddab_notch_fg: false).tar1090.envanduser.ymlwere unchanged. That node's gain was set for the notched signal, and it overloaded as described above. It was restored afterwards.Docs
README.md(new "RF notch filters" section, including the overload note and the live-retune limitation),STANDALONE.md,staging/README.md, thestaging/merge-config.shheader,default.ymlcomments and themerge_config.pydocstrings.After this
The retina-gui PR removes the two checkboxes from the Config page. The blah2-arm PR corrects the rspduo README.
🤖 Generated with Claude Code