- 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
21 lines
589 B
C
21 lines
589 B
C
/**
|
|
* @file app_version.h
|
|
* @brief Firmware version string.
|
|
* Both macros may be overridden per Keil target (-DAPP_FW_VERSION=...):
|
|
* the "APP2" target builds the same sources one version up, linked at
|
|
* the APP2 bank base (see tools/make_dual_package.bat).
|
|
*/
|
|
#ifndef __APP_VERSION_H__
|
|
#define __APP_VERSION_H__
|
|
|
|
#ifndef APP_FW_VERSION
|
|
#define APP_FW_VERSION "V1.00.21"
|
|
#endif
|
|
|
|
/* Numeric form used by the BLE info query / OTA records: 0x00MMmmpp */
|
|
#ifndef APP_FW_VERSION_NUM
|
|
#define APP_FW_VERSION_NUM 0x00010015u
|
|
#endif
|
|
|
|
#endif /* __APP_VERSION_H__ */
|