refactor(FOC): 添加Doxygen文档注释并优化SVPWM算法性能

添加了完整的Doxygen文档注释到FOC算法模块的所有函数、类和变量,提升了代码可读性和维护性。同时优化了SVPWM算法实现,将atan2f替换为符号法扇区判断,显著提升计算效率(约15周期vs atan2f 300周期),并改进了arm_sin_cos_f32替代sqrtf提高性能。

feat(FOC): 统一电气角度计算避免重复运算

重构代码以统一电气角度计算,在各个控制循环中只计算一次电气角度并传递给需要的函数,避免了多次重复的fmodf运算和角度归一化操作,提升了实时控制性能。

refactor(Filter): 改进α-β观测器角度处理精度

修改角度卡尔曼滤波器在归一化角度空间[0,360)内工作,避免大累积角度的浮点精度损失问题,确保静止状态下不会产生虚假速度,同时保持与下游代码的兼容性。

refactor: 为算法模块添加完整文档注释

为所有算法模块(FOC、Filter、pid、thermal)添加了详细的Doxygen文档注释,包括函数说明、参数描述、返回值说明等,便于代码理解和API文档生成。
This commit is contained in:
cbb
2026-05-23 22:46:32 +08:00
parent bec7c11b87
commit 4c4e47e9e3
62 changed files with 10367 additions and 126 deletions
@@ -0,0 +1,30 @@
file,sha256_16,total_lines,nonblank_code_lines,comment_lines_approx
Algorithm/FOC.cpp,bf24c35a8386ebef,842,507,241
Algorithm/FOC.h,90d7f21da9e4d751,268,121,121
Algorithm/Filter.cpp,90d298a82e3bc14d,283,97,94
Algorithm/Filter.h,80cadefec99079e3,304,115,105
Algorithm/pid.cpp,52d182f02a4359b7,103,46,44
Algorithm/pid.h,e6333f5571fdfefb,64,25,33
Algorithm/thermal.cpp,c7fc8d63d064ab62,5,0,5
Algorithm/thermal.h,5499445022c02c37,13,3,5
device/ADC.cpp,6e847c602dd61aed,330,193,96
device/Can.cpp,b4484d3cfdf023d2,1513,938,357
device/Can.h,1f807194e6745e2a,364,125,206
device/Timer.cpp,3d006216c96dd4f6,319,173,87
device/Timer.h,dfc4a4e688be439b,62,17,38
device/adc.h,a541fdcbd7f8dae4,97,38,49
device/ang_sensor.cpp,b2d8799eb1fb4851,310,175,96
device/ang_sensor.h,0d0da02eb2f85172,102,36,59
device/motor.cpp,69a1c4b5ef126a03,58,28,24
device/motor.h,74d08896b2e68e2d,39,10,25
main.cpp,24cc061dbaad56fc,205,145,36
main.h,57a31fca9ed82289,52,6,13
sys/config.h,7dfdd00046239393,434,179,220
sys/flash.cpp,705d6caf8fc8309c,1030,665,257
sys/flash.h,8cbfcfe7014cd773,179,57,107
sys/health.cpp,eeb413b91f26ff47,149,98,37
sys/health.h,395415726314f996,80,37,34
sys/initial.cpp,4dffaa8ab1614908,351,212,95
sys/initial.h,3631974693d368cb,182,61,100
sys/systick.cpp,1b82db28eb3681d6,298,143,66
sys/systick.h,95cbb9678989e9a4,123,22,67
1 file sha256_16 total_lines nonblank_code_lines comment_lines_approx
2 Algorithm/FOC.cpp bf24c35a8386ebef 842 507 241
3 Algorithm/FOC.h 90d7f21da9e4d751 268 121 121
4 Algorithm/Filter.cpp 90d298a82e3bc14d 283 97 94
5 Algorithm/Filter.h 80cadefec99079e3 304 115 105
6 Algorithm/pid.cpp 52d182f02a4359b7 103 46 44
7 Algorithm/pid.h e6333f5571fdfefb 64 25 33
8 Algorithm/thermal.cpp c7fc8d63d064ab62 5 0 5
9 Algorithm/thermal.h 5499445022c02c37 13 3 5
10 device/ADC.cpp 6e847c602dd61aed 330 193 96
11 device/Can.cpp b4484d3cfdf023d2 1513 938 357
12 device/Can.h 1f807194e6745e2a 364 125 206
13 device/Timer.cpp 3d006216c96dd4f6 319 173 87
14 device/Timer.h dfc4a4e688be439b 62 17 38
15 device/adc.h a541fdcbd7f8dae4 97 38 49
16 device/ang_sensor.cpp b2d8799eb1fb4851 310 175 96
17 device/ang_sensor.h 0d0da02eb2f85172 102 36 59
18 device/motor.cpp 69a1c4b5ef126a03 58 28 24
19 device/motor.h 74d08896b2e68e2d 39 10 25
20 main.cpp 24cc061dbaad56fc 205 145 36
21 main.h 57a31fca9ed82289 52 6 13
22 sys/config.h 7dfdd00046239393 434 179 220
23 sys/flash.cpp 705d6caf8fc8309c 1030 665 257
24 sys/flash.h 8cbfcfe7014cd773 179 57 107
25 sys/health.cpp eeb413b91f26ff47 149 98 37
26 sys/health.h 395415726314f996 80 37 34
27 sys/initial.cpp 4dffaa8ab1614908 351 212 95
28 sys/initial.h 3631974693d368cb 182 61 100
29 sys/systick.cpp 1b82db28eb3681d6 298 143 66
30 sys/systick.h 95cbb9678989e9a4 123 22 67