- 实现BLE OTA数据路径分离:添加ble_ota_data.cpp处理重排序/工作线程/DATA_IN, 和ble_ota_host.cpp处理GATT/GAP/广播/主机功能 - 将滑动ACK窗口从32增大到64,实测Windows WebBT环境下固件传输速度提升约10% (从40KB/s提升到44KB/s),内存消耗约30KB重排序缓冲区 - 优化调试日志级别,将OTA相关信息从INFO调整为DBG以减少日志冗余 refactor(can): 改进CAN反馈监听机制 - 将CAN反馈任务从1Hz主动轮询模式改为被动事件监听模式, 使用SpiMaster::takeEvent()替代主动发送0xC1轮询请求 - 更新相关头文件注释说明架构变更,将"周期性轮询"改为"被动接收推送" - 修改调试日志级别,将暂停/恢复状态日志从INFO调整为DBG
38 lines
980 B
C
38 lines
980 B
C
/*
|
|
* can_feedback_task.h - 被动接收 GD32 主动推送的 CAN 反馈快照
|
|
*
|
|
* ESP32 侧不主动 1Hz 轮询 0xC1;由 GD32 按铃推送,本任务 takeEvent 接收。
|
|
*/
|
|
#ifndef CAN_FEEDBACK_TASK_H
|
|
#define CAN_FEEDBACK_TASK_H
|
|
|
|
#include <stdint.h>
|
|
#include "transport/canfd_bridge.h"
|
|
|
|
/** @brief 暂停/恢复 CAN 反馈监听(OTA 期间调用 pause=true)。 */
|
|
void pauseCanFeedbackTask(bool pause);
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
/**
|
|
* @brief 启动 CAN 反馈被动监听任务(幂等)。
|
|
* @return true 表示任务已存在或创建成功。
|
|
*/
|
|
bool startCanFeedbackTask();
|
|
|
|
/**
|
|
* @brief 拷贝某通道的最新反馈快照(线程安全)。
|
|
* @param channel 0/1/2。
|
|
* @param out 输出缓冲。
|
|
* @return true 表示拿到一份有效数据,false 表示通道无效或尚未拿到第一份。
|
|
*/
|
|
bool getLatestCanFeedback(uint8_t channel, can_feedback_result_t *out);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif // CAN_FEEDBACK_TASK_H
|