* Fix reported issue with TX not occurring.
* AI-proposed fix for failing tests.
* Revert TxRxThread changes from #1567, implement minimum TX FIFO fill differently.
* Revert main.cpp changes too.
* Add PR #1568 to changelog.
* Update tests, further unnecessary file cleanup.
* Only fail sanitizer test runs on sanitizer reports; fix TxRxThreadTest file playback race.
In sanitizer builds every ctest (including the unit tests) now passes
unless a sanitizer reports something, crashes or times out; the tests'
own checks only decide pass/fail in non-sanitizer builds.
TxRxThreadTest's "files" round trips gave the file playback thread only
1 ms per turn to keep up with a loop running faster than real time, so
slow or busy machines (e.g. sanitizer CI runners) saw spurious late
underruns. Once a transmission is going, give that thread the time it
would have had before the radio's sound card takes its block.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013G7dQDriDiWypo4B3J83gx
* Windows: only fail sanitizer unit test runs on sanitizer reports, crashes or timeouts.
Matches what ctest now does for sanitizer builds on Linux and macOS:
RunUnitTests.ps1 gains -SanitizerMode, which the UBSAN/ASAN unit-tests
jobs pass, so a test whose own (timing-dependent) checks fail under
sanitizer overhead no longer fails the job.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013G7dQDriDiWypo4B3J83gx
---------
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>