- 将原有的 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)
37 lines
1.1 KiB
C++
37 lines
1.1 KiB
C++
#ifndef DEVICE_APP_SPI_COMMAND_DEFS_H
|
|
#define DEVICE_APP_SPI_COMMAND_DEFS_H
|
|
|
|
#include <cstdint>
|
|
|
|
/**
|
|
* @file app_spi_command_defs.h
|
|
* @brief SPI 命令总线公共协议常量。
|
|
*
|
|
* 将原来散落在 `app_spi_command.cpp` 中的帧类型与响应类型抽到公共头文件,
|
|
* 方便后续在不同命令处理器之间复用;当前仅服务于 APP 运行期 SPI 命令通道,
|
|
* 未来若 BOOT 与 APP 需要继续共享协议常量,也可从这里统一收敛。
|
|
*/
|
|
|
|
namespace SpiDefs {
|
|
|
|
static constexpr uint8_t kSof = 0xA5U;
|
|
|
|
/* 帧类型 */
|
|
static constexpr uint8_t kTypeOtaReq = 0x01U;
|
|
static constexpr uint8_t kTypeOtaData = 0x02U;
|
|
static constexpr uint8_t kTypeOtaCancel = 0x03U;
|
|
static constexpr uint8_t kTypeAppPing = 0xA1U;
|
|
static constexpr uint8_t kTypeBootReq = 0xB0U;
|
|
static constexpr uint8_t kTypeCanSend = 0xC0U;
|
|
|
|
/* 响应类型 */
|
|
static constexpr uint8_t kRspAck = 0x80U;
|
|
static constexpr uint8_t kRspWait = 0x81U;
|
|
static constexpr uint8_t kRspError = 0x82U;
|
|
|
|
static constexpr uint16_t kFrameOverhead = 5U;
|
|
|
|
} // namespace SpiDefs
|
|
|
|
#endif /* DEVICE_APP_SPI_COMMAND_DEFS_H */
|