Kestrel: enable the 8852C frame-free NHM floor on 2.4 GHz#308
Merged
Conversation
The active NHM absolute noise floor (DEVOURER_RX_NOISE_FLOOR) was 8852B-only. On-air characterization shows the 8852C NHM is correct and stable on 2.4 GHz (cross-matches its passive floor within ~2 dB), so enable it there. It stays gated on 5 GHz: ~1.5 s after a channel tune the AGC drifts and locks the NHM ~24 dB high (a bimodal gain-state lock, not a fixed offset — the halbb SW path treats the 8852C identically to the 8852B and the physts RSSI is correct; only a full set_channel re-tune resets it, and RX traffic re-drives it). On 5 GHz the 8852C keeps falling back to the passive rssi-snr floor. On-air: 8852C 2.4G NHM -90 dBm (matches passive), 5G null; 8852B unchanged. tests/kestrel_nhm_2g_onair.sh validates the band gate. Co-Authored-By: Claude Opus 4.8 (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 active/frame-free NHM absolute noise floor (
DEVOURER_RX_NOISE_FLOOR→RxEnergy.abs_noise_floor_dbm) was 8852B-only. This enables it for the 8852C on 2.4 GHz, where on-air characterization shows it is correct and stable.Why band-gated
I characterized the 8852C NHM across 2.4 + 5 GHz (per-window time series vs the passive floor and the 8852B NHM):
set_channelre-tune resets it, and RX traffic re-drives it. → stays gated, the 8852C uses the passive rssi−snr floor on 5 GHz.The 8852B NHM is correct on both bands (unchanged).
Validation (on-air)
Plausibility guard (-60..-105) retained. Build clean,
ctest28/28. New harness:tests/kestrel_nhm_2g_onair.sh.Follows up the physts passive-floor work (#307); the 5 GHz NHM gain-lock is the remaining NHM half of #306.
🤖 Generated with Claude Code