5 Commits
Author SHA1 Message Date
wuchuyuan 01887c32b6 补上命令行编译和固件打包:一次出带 Key / 不带 Key 两套,USB 只烧选中的那套。
- Makefile 源文件列表对齐 CodeBlocks,命令行 make 能编过;编完自动打到 ../release/
- 新增 tools/pack_firmware:按版本打出烧录器 / APP UFW / 网关双备份包,带 Key 和不带 Key 各一套
- build.bat key 烧带 Key,默认或不带参数烧 nokey;另一套只生成不写 Flash
- 删掉未使用的 version.txt;release/ 不进仓库
2026-08-21 15:57:51 +08:00
wuchuyuan c0b5fcc4c5 加上模组 OTA:APP 用 55AA 的 0x30~0x39 升级,MCU 和模组分开升。
- MCU 升级:模组只原样转发,不存 MCU 固件
- 模组自己升级:写到备用区,校验通过后再切过去,成功回 0x34,等 APP 回 0x35 再重启
- 升模组时先通知 MCU 先别上报;升的过程中不跑心跳、不处理普通控制
- 关掉原来的 JSON OTA,改走这条协议
2026-08-20 16:12:08 +08:00
wuchuyuan 7b7583668b 补齐 MCU 桥 P1(管理/对时/版本),并接入硬件 RTC;网关侧发送改为等 GATT CCC 就绪,避免回连刚连上就 app_send_fail。
P1 业务:
- 管理:0x16 出厂复位(清配对+时区)、0x18 模组重启、0x1A 通知 MCU 重启(预留)
- 对时:网关 DEVICEINFO 下发 Unix 秒+时区,写入 RTC;MCU 0x1C/0x1D 读当前时间
- 版本:UART 0x40 拉 MCU 信息,SOC 0x41 上报网关;网关 ACK 等待 2s,最多 3 次
RTC:
- 新增 usr_periph,打开板级 "rtc";开发板无 32K 用 LRC,量产模组再改 CLK_SEL_32K
- 对时补偿 +1s;时区存 VM;出厂复位清除时区;硬件走时,软件只刷新 UTC 缓存
链路与 0x14:
- VM paired_flag 仍表示已绑定;CONFIGURED 改为绑定+已连接+CCC,否则保持 RECONNECTING
- 0x07/0x41 等 notify 未就绪不发送、不占重试,避免 MCU 过早上报
2026-08-14 19:22:41 +08:00
wuchuyuan c681db0590 重构 usr_mcu_bridge:拆成 protocol/business 分层,精简上报与 UART 超时逻辑
1、协议层迁入 protocol/,业务拆为 identity/pairing/link_status,mcu_bridge 收敛为薄门面
2、0x07 上报不再缓存重发,由 MCU 侧超时重发;模组只记 SN,网关 ACK 后回 0x08
3、APP 透传重试用尽后主动回 FAIL;UART ACK 等待统一为 MCU_UART_ACK_WAIT_MS=500ms
2026-08-13 12:23:41 +08:00
wuchuyuan 95973ec52d 1、修复APP控制回传栈溢出导致软复位,改为轻量打包路径
2、MCU ACK回传不再走大desc/encode,改用wrap_raw;otadata改为指针并增大mcu_bridge栈,避免soft_reset_exception。
2026-08-12 10:07:35 +08:00