cbb
|
dc91883f1e
|
refactor(device): 重构SPI命令处理为模块化架构
- 将原有的 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)
|
2026-06-23 01:49:33 +08:00 |
|
cbb
|
01382a3fc1
|
feat(canfd): 添加直接发送CANFD帧功能用于SPI桥接场景
- 新增 CanFd::transmitFrame() 方法,支持绕过软件队列直接调用
硬件发送CANFD扩展帧
- 实现参数验证,包括通道索引、数据指针和DLC长度检查
- 集成GD32E508特定的FD标志和波特率切换设置
- 更新诊断统计信息,记录发送计数、最后ID、通道和负载长度
feat(spi-command): 添加SPI到CAN总线桥接发送命令类型
- 引入 kTypeCanSend (0xC0) 命令类型用于SPI-CAN桥接
- 实现CAN_SEND命令处理逻辑,解析载荷中的通道、ID和数据
- 支持3个CAN通道(0/1/2),验证通道有效性防止越界访问
- 添加详细的错误处理和日志记录机制
refactor(config): 更新SPI命令ACK确认码和构建版本号
- 将CONFIG_SPI_APP_OTA_BOOT_ACK_OK从0xA5U改为0xB5U以避免冲突
- 提升APP_FW_VERSION_BUILD从1到2以反映新功能集成
|
2026-06-13 17:07:25 +08:00 |
|
cbb
|
d0b6d9537e
|
feat(device): 添加早期诊断功能并优化SPI通信实现
- 在startup_gd32e50x_cl.s中添加USART0早期诊断代码,在Reset_Handler中
发送'R'字符以确认启动过程
- 修改system_gd32e50x.c中的时钟初始化逻辑,支持动态检测当前时钟源
(PLL或IRC8M)并相应调整串口波特率设置
- 在系统时钟配置函数中添加HXTAL故障诊断输出,当外部晶振启动失败时
通过USART0输出"HXTAL FAIL"错误信息
- 在AppSpiCommand类中实现DMA传输机制,使用DMA0_CH2进行SPI0数据发送,
提升传输效率并与BOOT端保持一致
- 重构SPI命令处理逻辑,优化PING命令响应格式,包含APP和BOOT版本信息
以及运行时间统计
- 添加事务过滤机制,忽略全0xFF或全0x00的数据包以及短帧
- 更新配置文件定义APP固件版本号和OTA配置页面地址
- 修复region配置文件中的ROM大小数值精度问题
- 调整NVIC中断优先级设置,优化SPI中断处理
|
2026-06-03 03:13:49 +08:00 |
|
cbb
|
771d34398f
|
feat(core): OTA可用版本,添加看门狗功能并优化系统初始化日志
- 添加watchdog组件用于系统监控
- 在system_gd32e50x.c中增加USART0诊断输出,在IRC8M和PLL配置后
发送"APP"和"CLK"标识
- 优化AppSpiCommand类中的日志处理机制,使用临界区保护
- 添加对全0xFF数据包的过滤处理,避免无效命令处理
- 将OTA重启延时从滴答计数改为毫秒级延时,提高响应速度
- 移除温度传感器相关文件,添加看门狗相关文件到项目配置
- 更新FWDGT API调用方式,使用新的配置函数
- 增加详细的启动日志输出,便于调试和追踪初始化过程
|
2026-05-30 20:03:31 +08:00 |
|
cbb
|
f63114f5fd
|
feat(canfd): 切换 CANFD 接收为中断驱动和环形缓冲机制
- 将 CANFD 接收机制由轮询改为 FIFO0 的中断事件驱动处理
- 实现循环取空硬件 FIFO0,提高接收效率和响应速度
- 引入环形缓冲区缓存接收帧,支持多路通道多帧队列管理
- 置位解析任务标志位,实现接收数据的异步解析
- 增加接收中断统计,包括 FIFO 满和溢出计数
- 重构临界区代码,使用自定义函数保护中断状态
- 修改接收过滤器配置,支持按掩码匹配标准帧进入 FIFO0
- 使能 CAN FIFO0 多种中断标志,包括非空、满和溢出中断
|
2026-05-30 00:24:31 +08:00 |
|
cbb
|
078ea06317
|
refactor(device): 移除备份配置文件并完善ADC模块注释
移除不再需要的 .cproject.yml.bak_dma 和 README.md 备份文件,
同时为 ADC.cpp 添加完整的 Doxygen 风格函数注释,提升代码可读性。
|
2026-05-10 21:27:51 +08:00 |
|
cbb
|
4b8b47bc9b
|
feat: 添加GD32E508 DCU应用工程的初始结构
- 新增完整的CMSIS解决方案配置,包含AC6/GCC/IAR/CLANG编译器支持
- 添加项目配置文件,定义了设备层、系统层、应用层的模块结构
- 配置ARM::CMSIS和GigaDevice::GD32E50x_DFP软件包依赖
- 创建多层代码架构:应用入口(main)、系统层(sys)、设备层(device)
- 实现任务管理系统,包含任务调度器和任务执行器分离设计
- 集成ADC、CANFD、定时器、串口、温度采样等核心功能模块
- 添加详细的README文档说明项目结构和代码组织方式
- 配置AC6链接脚本和运行时环境文件
- 设置Git忽略规则以排除编译产物和临时文件
|
2026-05-10 17:28:14 +08:00 |
|