- UART binary mode switch mechanism: enter handshake marker '[ota] binary mode ON', explicit exit via OTA_ABORT (immediate), 10s idle fallback (was 3s, must exceed the host retry window); host resync by CR probe - fix: otaIdleMs not re-armed on mode entry - every second 'ota' entry was kicked out by an instant idle timeout (leftover count from prior session) - lossy-link tolerance: device drops partial frames after a 100ms byte gap so host resends re-align; OTA session is now single-owner (second BEGIN on another channel gets BAD_STATE) - ble_ota_update.py: wait for the enter marker instead of blind sleeps, per-frame resend (2s x3), BAD_STATE+expected-offset treated as implicit ack for duplicate DATA/BEGIN (resync after ack loss), stage-labeled timeouts with raw-rx dump - verified on hardware: UART OTA full pass (55.7KB/41s, 4-5 lost frames auto-recovered) + BLE OTA regression pass; docs: dev log 44, ble_protocol.md 6.6 rework, AGENTS.md sync
7 lines
125 B
JSON
7 lines
125 B
JSON
{
|
|
"file": "caiic_ble_dual_ota_app2.bin",
|
|
"target_bank": 2,
|
|
"size": 55708,
|
|
"crc32": "0xDAAEED74",
|
|
"version": 65557
|
|
} |