feat(core): 升级固件至v0.4.1并增加GD32初始化状态监控功能

- 修复GD32 OTA中继全程ring抑制问题:handleIdle起点reset()曾立即解除
  taskEntry设置的suppressRingService(true),导致中继全程worker偷读OTA ACK/WAIT
- 增加reset(bool release_ring_suppress)参数控制ring抑制释放时机
- 新增GD32 APP初始化状态可视化功能(配套GD32 1.5.34+):
  * 通过SPI 0xA3查询模块位图/关键失败位图/复位源
  * /system/status接口新增gd32_init字段提供状态详情
 * 支持故障码数组显示,前端可直接显示中文失败原因
- 添加GD32模块级故障码支持(配套GD32 1.5.36):
  * 解析INIT_STATUS响应中的fault_codes数组
  * 每模块1B故障码,支持CANFD通道号显示
- 电机状态协议升级:STATUS DLC从32字节扩展到48字节,
  二进制协议版本升级到v2,entry大小从76字节变为92字节
- 修复SPI响应类型表,将0xA3加入短响应和APP ISR快速响应类型
This commit is contained in:
小龙虾
2026-09-09 03:23:06 +08:00
parent ebb3dcdf38
commit 5315f91475
9 changed files with 252 additions and 85 deletions
+4 -1
View File
@@ -144,8 +144,11 @@ public:
/**
* @brief 重置本端中继状态机到 IDLE(不主动通知 GD32)。
* 中继失败/中止时请优先用 abortRemoteAndReset()。
* @param release_ring_suppress true(默认)解除 SPI ring 抑制引用;
* 状态机起点(IDLE→HANDSHAKING)必须传 false——taskEntry 在调度时
* 取的抑制引用要覆盖整个中继,否则中继全程 worker 会偷读 OTA ACK/WAIT。
*/
void reset();
void reset(bool release_ring_suppress = true);
/**
* @brief 通知 GD32 取消 OTA 会话(SPI CANCEL),再复位本端到 IDLE。