- 将原有的 monolithic app_spi_command.cpp 拆分为多个专门的命令处理器文件 - 新增 spi_command_handler.h 定义命令处理器接口和上下文结构 - 新增 app_spi_command_defs.h 提取公共协议常量定义 - 新增多个具体命令处理器实现文件: - app_spi_cmd_boot_request.cpp (进入Bootloader命令) - app_spi_cmd_ota_wait.cpp (OTA等待响应命令) - app_spi_cmd_ping.cpp (APP心跳ping命令) - app_spi_cmd_can_bridge.cpp (SPI到CAN桥接命令) - 修改 app_spi_command.cpp 仅负责SPI链路管理和命令路由逻辑 - 更新配置文件添加新源文件到项目编译列表 - 调整全局实例为对象实例(AppSpiCommandBus),移除静态方法依赖 - 更新README文档说明新的SPI命令总线拆分架构 - 微调版本号(patch: 0 -> 1, build: 2 -> 0)
26 lines
546 B
C++
26 lines
546 B
C++
#ifndef DEVICE_SPI_COMMAND_HANDLER_H
|
|
#define DEVICE_SPI_COMMAND_HANDLER_H
|
|
|
|
#include <cstdint>
|
|
|
|
class AppSpiCommand;
|
|
|
|
struct SpiCommandContext {
|
|
uint8_t frame_type;
|
|
const uint8_t *payload;
|
|
uint16_t payload_len;
|
|
uint8_t *tx_buf;
|
|
uint16_t tx_buf_size;
|
|
uint16_t *tx_len;
|
|
};
|
|
|
|
class ISpiCommandHandler {
|
|
public:
|
|
~ISpiCommandHandler() {}
|
|
|
|
virtual bool canHandle(uint8_t frame_type) const = 0;
|
|
virtual void handle(AppSpiCommand &bus, const SpiCommandContext &ctx) = 0;
|
|
};
|
|
|
|
#endif /* DEVICE_SPI_COMMAND_HANDLER_H */
|