Repository navigation
Conversation
…ent-receive to restore the grace Moves virtual-sx1262 to strict receive (ABI 1.7) and turns it on: this build's clock is the engine's, so the chip can tell when a frame began and refuse one its receiver was in standby, in CAD or transmitting for, as silicon does. --lenient-receive brings the inbox grace back, for reproducing an earlier run.
…tion flags under strict receive Moves virtual-sx1262 to the head of strict receive, where the detection flags stay latched past the carrier and failure 3 withdraws a header the receiver never locked onto. Stats byte 47 bit 1 tells the engine this chip reads failure 3, because an older one reads it as a CRC error.
A13xB0
force-pushed
the
strict-receive
branch
from
October 17, 2026 04:04
f3c151e to
be0e883
Compare
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.
Moves
vendor/virtual-sx1262to strict receive (MeshBench/virtual-sx1262#7, ABI 1.7) and turns it on in the bridge.This build's clock is the engine's, so the chip can work out when a frame began. It refuses any frame its receiver was not listening for, from a detectable preamble through to the end: in standby, in CAD or transmitting part-way through. Its detection flags also stay set after the carrier ends until the firmware clears them. Silicon behaves the same way. The inbox grace delivered such frames anyway, and the flags were cleared with the carrier, which hid any firmware that re-arms mid-frame or times out a stale flag.
Stats byte 47 bit 1 (
kCapNoLock) tells the engine that this chip reads failed-frame code 3, "detected and never locked onto". A chip older than ABI 1.7 reads 3 as a CRC error, which is why the engine needs to be told.--lenient-receivebrings the old behaviour back, for reproducing a run made before this change. Older builds ignore the flag, so the simulator can pass it to any build.Stacked on #29, whose capability byte this extends. Depends on MeshBench/virtual-sx1262#7 being merged; the submodule points at that branch's head until then.