mirror of
https://github.com/ruvnet/RuView
synced 2026-06-26 13:03:19 +00:00
fix(#505,#506): bump firmware to v0.6.4 + no-signal UI indicator
Fixes #505 — version string mismatch: - firmware/esp32-csi-node/version.txt: 0.6.2 → 0.6.4 - .github/workflows/firmware-ci.yml: add verify-embedded-version step that extracts the esp_app_desc version string from the built binary and fails CI if it doesn't match version.txt. Prevents the v0.6.3 regression (tagged without bumping version.txt) from recurring. Fixes #506 — stale skeleton shown after ESP32 unplugged: - csi_pipeline.rs: add CsiPipelineState::last_csi_received (Instant), stamped on every process_frame() call; PipelineOutput gains csi_live:bool (true iff a real frame arrived within the last 5 s). - stream.rs: /api/splats now includes csi_live in the JSON response. - viewer.html: add #no-signal banner (red, centered overlay) shown when the server reports csi_live=false in live/remote transport mode. Skeleton is cleared while the banner is visible so stale pose data is not presented as live activity. Co-Authored-By: claude-flow <ruv@ruv.net>
This commit is contained in:
@@ -98,6 +98,32 @@ jobs:
|
||||
echo "Flash image integrity verified"
|
||||
fi
|
||||
|
||||
- name: Verify embedded version string matches version.txt (fixes #505)
|
||||
working-directory: firmware/esp32-csi-node
|
||||
run: |
|
||||
EXPECTED=$(cat version.txt | tr -d '[:space:]')
|
||||
BIN=build/esp32-csi-node.bin
|
||||
# Extract version from ESP-IDF app_desc: magic 0xABCD5432 at offset 0
|
||||
# followed by version string at offset 16, null-terminated, max 32 chars.
|
||||
EMBEDDED=$(python3 -c "
|
||||
import struct, sys
|
||||
data = open('$BIN','rb').read()
|
||||
magic = struct.pack('<I', 0xABCD5432)
|
||||
i = data.find(magic)
|
||||
if i < 0:
|
||||
sys.exit('app_desc magic not found')
|
||||
ver = data[i+16:i+48].split(b'\\x00',1)[0].decode('ascii','replace')
|
||||
print(ver)
|
||||
" 2>&1)
|
||||
echo "Expected version: $EXPECTED"
|
||||
echo "Embedded version: $EMBEDDED"
|
||||
if [ "$EMBEDDED" != "$EXPECTED" ]; then
|
||||
echo "::error::Version string mismatch! version.txt='$EXPECTED' but binary reports '$EMBEDDED'."
|
||||
echo "::error::Ensure version.txt is updated before building and tagging."
|
||||
exit 1
|
||||
fi
|
||||
echo "Version string verified: $EMBEDDED"
|
||||
|
||||
- name: Stage release binaries with variant-specific names
|
||||
working-directory: firmware/esp32-csi-node
|
||||
run: |
|
||||
|
||||
Reference in New Issue
Block a user