You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add autonomous TX-side sensing and hopset decisions as the final adaptive-FHSS stage. TX sensing supplements receiver delivery feedback and becomes a conservative failsafe when the return channel is unavailable; it must not introduce a second, incompatible schedule mutation path.
Follow-up to #153 / #262 and docs/fhss.md. Depends on the shared protocol in #263 and receiver-driven controller in #264.
Constraints
TX observes interference at the transmitter, not necessarily at the receiver. Hidden interferers and asymmetric links make local CCA disagree with end-to-end delivery. A single adapter also cannot continuously transmit and sense the same channel, and the measured follower jammer may activate only after detecting TX, making pre-transmission CCA insufficient.
All autonomous changes therefore use the same generation/commit mechanism from #263. No independent local mask or mutable RNG state is allowed.
Sensing modes
Use existing GetRxEnergy telemetry: CCA/false-alarm counters, IGI, and NHM. Add explicit observation opportunities:
retune -> settle -> quiet sense window -> read energy -> transmit remainder
Also evaluate post-burst sensing: briefly pause after TX and measure whether a reactive jammer lingers on the just-used channel. A second sensing adapter may serve as a measurement oracle during development but is not a final requirement.
Record per-channel sample count, quiet-window duration, CCA/FA/NHM evidence, and whether the observation was pre- or post-burst.
TX never applies an uncommitted mask and peers never maintain independent generations.
Default rx_plus_tx_veto does not regress receiver-driven parked-jammer delivery.
tx_failsafe maintains synchronization through a feedback outage and improves delivery in at least one hardware scenario where local TX evidence is valid.
Quiet/post-burst sensing overhead is quantified and bounded by configuration.
Summary
Add autonomous TX-side sensing and hopset decisions as the final adaptive-FHSS stage. TX sensing supplements receiver delivery feedback and becomes a conservative failsafe when the return channel is unavailable; it must not introduce a second, incompatible schedule mutation path.
Follow-up to #153 / #262 and
docs/fhss.md. Depends on the shared protocol in #263 and receiver-driven controller in #264.Constraints
TX observes interference at the transmitter, not necessarily at the receiver. Hidden interferers and asymmetric links make local CCA disagree with end-to-end delivery. A single adapter also cannot continuously transmit and sense the same channel, and the measured follower jammer may activate only after detecting TX, making pre-transmission CCA insufficient.
All autonomous changes therefore use the same generation/commit mechanism from #263. No independent local mask or mutable RNG state is allowed.
Sensing modes
Use existing
GetRxEnergytelemetry: CCA/false-alarm counters, IGI, and NHM. Add explicit observation opportunities:Also evaluate post-burst sensing: briefly pause after TX and measure whether a reactive jammer lingers on the just-used channel. A second sensing adapter may serve as a measurement oracle during development but is not a final requirement.
Record per-channel sample count, quiet-window duration, CCA/FA/NHM evidence, and whether the observation was pre- or post-burst.
Decision authority
Expose explicit fusion policies:
rx_authoritative: TX never originates exclusion.rx_plus_tx_veto(recommended default): RX proposes; strong contradictory TX evidence can delay/reject.either_endpoint: either endpoint may originate a proposal, TX still commits one serialized generation.tx_failsafe: TX-only proposals are allowed only after feedback absence exceeds a configured timeout.TX-only exclusion requires stronger evidence than RX-driven exclusion:
When feedback returns, receiver delivery evidence regains authority. Conflicting evidence must be surfaced, not silently averaged away.
Implementation
rx,tx,fused,failsafe) and evidence summary.docs/fhss.md.Hardware validation
tx_failsafemay adapt without causing RX split-brain; RX must reacquire the committed generation.Acceptance criteria
rx_plus_tx_vetodoes not regress receiver-driven parked-jammer delivery.tx_failsafemaintains synchronization through a feedback outage and improves delivery in at least one hardware scenario where local TX evidence is valid.