Bluetooth command reliability update for the STM32F103C8Tx robot-car firmware.
What changed
- Publish only complete two-byte UART commands to the control loop.
- Take an interrupt-protected snapshot before dispatch.
- Validate every action/value pair before changing motor direction or PWM.
- Safe-stop unknown values and the still-unimplemented fast-avoidance command.
- Pass validated speed levels into motor functions instead of rereading a UART-owned buffer.
Verification
- Exhaustive host test covers all 65,536 possible byte pairs.
- CI cross-compiled and linked the full firmware, checked the vector table and flash/RAM bounds, recorded toolchain versions and SHA-256 hashes, and produced GitHub build-provenance attestations.
- Publicly downloaded release assets were independently rehashed; the public BIN passed the repository validator again.
Hardware boundary
This release was not newly flashed onto physical hardware. Motor, sensor, Bluetooth-link, wiring, voltage, and board-specific behavior remain unverified in this release cycle. Link loss still has no backwards-compatible timeout; follow issue #6. Repository-wide licensing remains unresolved in issue #4.