feat(esp32): 添加多电机OTA中继功能并优化调试日志系统
- 新增多电机状态、版本和OTA中继监控模块(monitor/motor_state.cpp, monitor/motor_version.cpp, monitor/motor_ota_relay.cpp) - 在CAN反馈任务中添加0xC5/0xC6/0xD2类型消息处理,支持多电机状态推送 - 重构调试日志系统,将一次性JSON分配改为512B栈缓冲流式发送,降低内存峰值 - 调试UART波特率从115200提升至30000 - 修改版本管理方式,从自动生version.h改为手动维护 - 更新VSCode设置以支持ESP-IDF开发环境配置 - 在OTA协调器中添加电机OTA互斥机制,防止并发冲突 - 完善中继状态机异常处理,添加远程取消通知机制
This commit is contained in:
+14
-1
@@ -177,10 +177,18 @@ public:
|
||||
static TaskHandle_t getTaskHandle();
|
||||
|
||||
/**
|
||||
* @brief 重置状态机到 IDLE.
|
||||
* @brief 重置本端中继状态机到 IDLE(不主动通知 GD32)。
|
||||
* 中继失败/中止时请优先用 abortRemoteAndReset()。
|
||||
*/
|
||||
void reset();
|
||||
|
||||
/**
|
||||
* @brief 通知 GD32 取消 OTA 会话(SPI CANCEL),再复位本端到 IDLE。
|
||||
* 失败路径必须调用,否则 GD32 可能停在 WAITING_RANDOM/CONFIRM 等半会话。
|
||||
* @param notify_remote true 时尽力发送 CANCEL(默认 true)。
|
||||
*/
|
||||
void abortRemoteAndReset(bool notify_remote = true);
|
||||
|
||||
// ── 中继事件监听器 ──
|
||||
/**
|
||||
* @brief 注册中继事件监听器(由 OtaCoordinator 在 init 时调用)。
|
||||
@@ -313,6 +321,11 @@ private:
|
||||
* @return OTA_RESULT_OK 成功,OTA_RESULT_ERR_AUTH 认证失败。
|
||||
*/
|
||||
ota_result_t doChallengeAndAuth();
|
||||
/**
|
||||
* @brief 向 GD32 发送 OTA CANCEL(0x03),请求远端完整 resetToIdle。
|
||||
* @return ESP_OK 已发出并读到响应(或可忽略的链路错误已记录)。
|
||||
*/
|
||||
esp_err_t sendRemoteCancel();
|
||||
/**
|
||||
* @brief 发送固件总大小.
|
||||
* @param size 固件总大小(字节)。
|
||||
|
||||
Reference in New Issue
Block a user