cbb
|
9f84c85a28
|
feat(can): CAN休眠唤醒移动到BOOT以进行以支持40k硬件看门狗
- 更新深度睡眠实现,在跳转到bootloader前记录睡眠状态到Flash
- 添加gd32c10x_fmc.h头文件以支持Flash内存控制功能
- 将prepare_deep_sleep重命名为app_prepare_deep_sleep以提高命名清晰度
- 在CAN通信检测中添加应用层休眠准备功能
- 在接收OTA启动ID时解锁FMC、设置APP为非激活状态并锁定FMC
- 移除main.cpp中的看门狗复位休眠逻辑
- 在config.h中添加睡眠配置相关的常量定义
- 改进OTA_SET函数的Flash写入逻辑,优化数据更新流程
- 在OTA初始化和应用移动过程中添加FMC解锁锁定操作
|
2026-01-12 01:03:43 +08:00 |
|
cbb
|
72506ce87d
|
feat(FOC): 集成ARM数学库优化FOC算法实现
- 引入arm_math.h库以使用ARM优化的数学函数
- 将角度归一化从弧度制改为角度制,使用360.0f替代2*PI
- 使用arm_sin_cos_f32替代查找表实现正弦余弦计算
- 移除注释中的ARM Clark和Park变换函数调用
- 修正机械角度计算中的时间常量为TIMER2_FREQUENCY倒数
- 移除传感器角度到弧度的转换,保持原始角度值
- 激活电流环控制中的Iq/Id计算并发送CAN数据
|
2026-01-07 23:13:21 +08:00 |
|
cbb
|
d0198fdff7
|
更新OTA功能,config独立成文件统一定义
refactor(build): 更新项目配置和链接器设置
- 修改GD32C103CB的ROM基地址和大小配置
- 更新系统时钟向量表偏移量设置
- 在cproject.yml中添加BIN输出格式支持
- 增加-O3优化级别和代码移除选项
- 更新csolution版本依赖
feat(device): 优化ADC采样和配置管理
- 将DengFOC依赖替换为FOC模块
- 从config.h引入配置常量
- 重命名FILTER_SIZE为ADC_FILTER_SIZE以提高清晰度
- 优化温度和电流采样滤波实现
refactor(algorithm): 简化FOC控制函数接口
- 为angle_control、velocity_control等函数移除不必要的参数
- 统一函数指针类型定义
- 优化电流计算函数的代码格式
- 调整PID控制器初始化参数
|
2026-01-04 22:26:22 +08:00 |
|
cbb
|
8732174855
|
refactor(flash): 重构EEPROM数据存储逻辑以提升可靠性
- 修改FlashEEPROM类的数据读写流程,优化地址掩码和数据对齐方式
- 引入新的宏定义和常量用于数据校验及地址解析
- 调整系统配置保存函数,支持更精确的CRC校验机制
- 移除旧的角度保存接口,统一通过系统配置保存函数处理
- 在CAN通信检查中替换save_angle调用为format操作
- 增加调试开关EEPDEBUG控制打印信息输出
- 更新健康管理和系统休眠时的EEPROM保存策略
|
2025-12-22 02:20:25 +08:00 |
|
cbb
|
7354a71c51
|
feat(can): 增加CAN睡眠与唤醒功能并优化通信检查逻辑
- 在CAN通信类中添加了CAN_Sleep()和CAN_Wakeup()方法,支持设备进入低功耗模式
- 优化CAN通信检查逻辑,通过解析接收数据的首字节和末字节实现多种控制命令
- 支持远程复位电机、保存角度、清零角度、进入睡眠等操作
- 解决CAN发送邮箱满时可能导致的通信阻塞问题,增加重初始化机制
- 调整mailbox不可用计数逻辑,防止持续打印错误信息
refactor(flash): 移除软件CRC计算模块,改用硬件CRC外设
- 删除自定义CRC.cpp和CRC.h文件及其相关类实现
- 使用GD32硬件CRC模块替代软件算法,提高效率和可靠性
- 更新FlashEEPROM类中的CRC校验方式,调用crc_block_data_calculate进行计算
- 修正Flash地址遍历范围以适配新CRC逻辑及页面管理策略
- 修改save_angle接口签名,不再手动传入角度值,改为内部读取FOC实时角度
feat(timer): 新增RTC闹钟中断处理函数声明
- 在Timer.h中声明rtc_set_wakeup_interval和RTC_ALARM_IRQHandler
- 为后续实现基于RTC的定时唤醒功能做准备
chore(config): 同步csolution工具版本更新并调整组件配置
- 更新RTE_Components.h生成工具版本至2.12.0
- 启用BKP、CRC、RTC等标准外设组件宏定义
- 从项目配置文件中移除旧CRC源文件引用
- 添加SystemCoreClockUpdate调用确保系统时钟同步
refactor(main): 主循环任务调度重构并增强初始化流程
- 将主循环中的任务处理提取为独立do_task函数,提升代码可读性
- 提前执行电机初始化,并根据看门狗复位标志决定是否立即进入深度睡眠
- 调整EEPROM初始化顺序,保证依赖关系正确
- 添加sys/initial.h头文件包含以支持新增系统初始化逻辑
|
2025-12-20 19:53:52 +08:00 |
|
cbb
|
7c2860f302
|
feat(can): 增加EEPROM状态码和系统配置保存功能
- 在CAN通信中增加EEPROM状态码字段,并通过CAN FD发送
- 实现Flash EEPROM对系统配置参数的CRC校验与保存
- 改进目标角度、速度等关键参数的读写逻辑,支持掉电保存
- 调整EEPROM地址映射,优化错误处理和状态反馈机制
- 修复CRC计算相关问题,增强数据可靠性
|
2025-12-18 18:23:34 +08:00 |
|
cbb
|
59f161bd73
|
refactor(angle): 引入角度卡尔曼滤波器 EncoderAngleKalman
新增 EncoderAngleKalman 类以处理编码器角度噪声,改善角度反馈质量,并配合速度滤波器提供更准确的速度估算。
perf(CAN): 优化CAN数据打包与状态标识字段
改进 pack_u16_to_bytes 等函数实现方式,使用 reinterpret_cast 提高效率;
扩展 Status_code 为多个独立状态位,增强诊断能力。
feat(FOC): 添加电机锁止和停止功能
新增 drv_stop 和 drv_hold 方法用于控制电机占空比,支持紧急制动与角度保持。优化了FOC控制器的接口设计,提升安全性和可控性。
fix(filter): 修正中值滤波器数组大小动态分配问题
将 medium_filter 函数中的排序数组改为使用传入参数 size 动态定义,避免固定大小带来的资源浪费或越界风险,提高滤波精度和稳定性。
chore(project): 移除冗余文件及代码清理
移除了 thermal.cpp/h 文件及相关引用,调整项目结构,删除未使用的全局变量定义、注释和头文件包含,精简系统初始化流程。
|
2025-11-22 23:59:43 +08:00 |
|
cbb
|
34df732659
|
FOC开环速度调试
|
2025-10-16 21:56:15 +08:00 |
|
cbb
|
aaee40f36b
|
FOC开环调试成功
|
2025-10-16 21:43:34 +08:00 |
|
cbb
|
35801d6f48
|
FOC开环调试成功
|
2025-10-16 21:43:19 +08:00 |
|
cbb
|
a63a344f89
|
完成CANFD通信调试
|
2025-10-14 00:49:58 +08:00 |
|
cbb
|
20fbb30067
|
ADC已完成
|
2025-10-02 02:52:07 +08:00 |
|