Files
ESP32_COMM/main/monitor/can_feedback_task.h
T
小龙虾 1b50ce1657 feat(can): 新增CAN通道收发器Silent模式功能
- 新增SPI 0xC8命令用于切换CAN通道收发器Silent模式(只听不发)
- 在canFdSetTxSilent函数中实现静默模式控制逻辑
- 在HTTP API中添加POST /can/silent端点
- 更新CAN协议文档,记录新命令和错误码E6
- 修改bus_state位图,添加bit5表示静默状态

fix(can): 优化CAN反馈任务内存使用和链路离线处理

- 将任务栈上的临时缓冲区改为静态分配,防止栈溢出
- 添加链路在线检测,在离线状态下进入休眠退避
- 修复queryMotorStatePages和queryAdcFeedback函数返回值类型
- 优化UDP日志发送的冷却退避机制

chore(config): 更新调试日志配置和版本信息

- 在VSCode设置中添加ESP-IDF串口配置
- 添加SPI调试日志级别编译期开关CONFIG_SPI_DEBUG_LOG_LEVEL
- 更新固件版本至0.5.2,记录相关变更内容
- 调整SPI和CAN反馈任务的栈大小配置
2026-10-10 02:25:12 +08:00

35 lines
1.0 KiB
C

/*
* can_feedback_task.h - GD32 周期查询 + 事件消费任务
*
* 2026-08 架构改造:0xC1 CAN 反馈请求驱动(canFdQueryFeedback);
* 0xC4 ADC / 0xC5 电机状态改为本任务周期查询(250ms/1s);
* 0xC6 电机版本 / 0xD2 电机 OTA 进度保留事件推送,由本任务 takeEvent 消费。
*/
#ifndef CAN_FEEDBACK_TASK_H
#define CAN_FEEDBACK_TASK_H
/** @brief 暂停/恢复周期查询与事件消费(OTA 期间调用 pause=true)。 */
void pauseCanFeedbackTask(bool pause);
/** @brief 查询是否处于暂停(OTA / send_batch / 电机 OTA 期间为 true)。
* 请求驱动的 SPI 查询(canFdQueryFeedback)在暂停期间应跳过。 */
bool canFeedbackPaused();
/** @brief 获取 can_fb 任务句柄(用于栈水位监控)。 */
TaskHandle_t getCanFeedbackTaskHandle();
#ifdef __cplusplus
extern "C" {
#endif
/**
* @brief 启动事件监听任务(幂等)。
* @return true 表示任务已存在或创建成功。
*/
bool startCanFeedbackTask();
#ifdef __cplusplus
}
#endif
#endif // CAN_FEEDBACK_TASK_H