Files
Motor_v2/static_test_automotive_business_20260523/metrics.csv
T
cbb 4c4e47e9e3 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文档生成。
2026-05-23 22:46:32 +08:00

10 KiB

1filefunctionstart_lineend_linecyclomatic_complexityrisk
2Algorithm/FOC.cppFOC_Controller::calibrate_cogging_tick7523833high
3device/Can.cppCAN_transmiter::communication_check1076130027high
4main.cppdo_task12020517high
5Algorithm/FOC.cppFOC_Controller::setSVPWM_PhaseVoltage39249015medium
6sys/flash.cppFlashEEPROM::writeFloat30838312medium
7sys/health.cppThermalController::update359412medium
8device/Can.cppcan_loopback_test59766511medium
9device/Can.cppCAN_transmiter::CANFD_AsyncSend1448150410low
10sys/flash.cppFlashEEPROM::read_saved_system_config9016110low
11sys/flash.cppFlashEEPROM::write23730010low
12sys/flash.cppFlashEEPROM::writeNodeId65771710low
13sys/flash.cppmove_app_data928103010low
14device/Can.cppcanfd_loopback_test5345899low
15sys/flash.cppFlashEEPROM::save_system_config4134829low
16sys/flash.cppOTA_SET7928799low
17sys/health.cpppower_manage1131499low
18device/ADC.cppsampler::get_current1942198low
19sys/flash.cppFlashEEPROM::writeCRC7247768low
20sys/systick.cppapp_prepare_deep_sleep2442988low
21device/Timer.cppTIMER2_IRQHandler1341847low
22sys/initial.cppget_reset_cause2562907low
23Algorithm/FOC.cppFOC_Controller::fast_voltage_check6036426low
24device/Can.cppCAN_transmiter::CAN_AsyncSend139914406low
25sys/flash.cppread_node_id_struct5215586low
26sys/initial.cppOTA_initial2963516low
27Algorithm/Filter.cppEncoderAngleKalman::update1622005low
28device/Can.cppCAN_RX_ReadMetadata8008245low
29device/Can.cppDMA0_Channel4_IRQHandler135513835low
30sys/flash.cppFlashEEPROM::read1691925low
31sys/flash.cppFlashEEPROM::readFloat2002295low
32Algorithm/FOC.cppFOC_Controller::get_cogging_compensation39594low
33Algorithm/FOC.cppFOC_Controller::angle_control_with_velocity_limit7537964low
34device/ADC.cppsampler::update_mcu_temp2382524low
35device/ADC.cppsampler::update_drv_temp2572724low
36device/ADC.cppsampler::update_vbus_voltage2973114low
37device/Can.cppCANFD_NormalizeLength7357444low
38device/Can.cppCAN_RX_QueuePushFromIsr7587734low
39device/Can.cppCAN_RX_PumpFifo08588754low
40device/Can.cppCAN_TX_ServiceQueue9759904low
41device/Can.cppCAN0_RX0_IRQHandler133013494low
42device/ang_sensor.cppangle_sensor::update2632884low
43main.cppmain60864low
44sys/flash.cppwrite_node_id_struct5675994low
45Algorithm/FOC.cppFOC_Controller::resume_from_thermal5175233low
46Algorithm/FOC.cppFOC_Controller::drv_hold5325413low
47Algorithm/FOC.cppFOC_Controller::current_control7257443low
48device/ADC.cppsampler::update_current2772923low
49device/Can.cppCAN_transmiter::load_node_id_from_flash1511753low
50device/Can.cppCAN_transmiter::save_node_id_to_flash1852003low
51device/Can.cppCAN_transmiter::check_silent_mode2702783low
52device/Can.cppcan_config3413953low
53device/Can.cppcan_loopback_init4805263low
54device/Can.cppCANFD_DlcToLength7257283low
55device/Can.cppCAN_TX_HasEmptyMailbox7897933low
56device/Can.cppCAN_RX_StartPayloadDma8318523low
57device/Can.cppCAN_TX_QueuePush9039223low
58device/ang_sensor.cppangle_sensor::read_sensorAngle2362573low
59sys/config.hnormalizeAngle3604264303low
60sys/flash.cppFlashEEPROM::format3904073low
61sys/flash.cppFlashEEPROM::readNodeId6276463low
62sys/systick.cppsystick_config1081203low
63Algorithm/FOC.cppFOC_Controller::update_power5685772low
64Algorithm/FOC.cppFOC_Controller::velocity_control6937192low
65Algorithm/FOC.cppFOC_Controller::MIT_Mode8058422low
66Algorithm/Filter.hupdate901052low
67Algorithm/pid.cppPIDController::operator23532low
68device/ADC.cppsampler::init1401662low
69device/Can.cppCAN_transmiter::is_message_for_me1151182low
70device/Can.cppCAN_transmiter::set_node_id1351402low
71device/Can.cppCAN_transmiter::dequeue_rx_message2362432low
72device/Can.cppCAN_RX_QueuePop8828962low
73device/Can.cppCAN_TX_QueuePeek9299382low
74device/Can.cppCAN_TX_QueuePop9459572low
75device/Can.cppCAN_TX_DisableTmeIfQueueEmpty9639692low
76device/Can.cppCAN_transmiter::CANFD_all_Send102510692low
77device/Can.cppCAN0_TX_IRQHandler150915132low
78device/Can.henqueue_rx_message_from_isr3513572low
79device/Timer.cppTIMER1_IRQHandler2812852low
80device/Timer.cppSet_Pwm2963032low
81sys/flash.cppFlashEEPROM::init68822low
82sys/flash.cppFlashEEPROM::read_angle4884942low
83sys/flash.cppFlashEEPROM::eraseNodeId6056202low
84sys/flash.cppjumpToBOOT8869212low
85sys/initial.cppfputc2242292low
86sys/systick.cppdelay_1s1561612low
87sys/systick.cppdelay_1ms1691742low
88sys/systick.cppdelay_decrement1821862low
89sys/systick.cppbusy_task_enter1982022low
90sys/systick.cppbusy_task_exit2072112low
91sys/systick.cppsystem_soft_reset2252362low
92Algorithm/FOC.cppcalibrate_zero_position2532741low
93Algorithm/FOC.cppFOC_Controller::init3223751low
94Algorithm/FOC.cppFOC_Controller::shut_down4965001low
95Algorithm/FOC.cppFOC_Controller::shut_down_thermal5065111low
96Algorithm/FOC.cppFOC_Controller::drv_stop5285281low
97Algorithm/FOC.cppFOC_Controller::PWM_out5475511low
98Algorithm/FOC.cppFOC_Controller::resume5585631low
99Algorithm/FOC.cppFOC_Controller::velocity_open_loop6506641low
100Algorithm/FOC.cppFOC_Controller::angle_control6726851low
101Algorithm/FOC.hupdate_pid_limits2262311low
102Algorithm/Filter.cppmedium_filter63721low
103Algorithm/Filter.cppkalman93931low
104Algorithm/Filter.cppEncoderVelocityKalman::update1011081low
105Algorithm/Filter.cppEncoderVelocityKalman::getVelocity1141141low
106Algorithm/Filter.cppEncoderVelocityKalman::setProcessNoise1211231low
107Algorithm/Filter.cppEncoderVelocityKalman::setMeasurementNoise1301321low
108Algorithm/Filter.cpplast_update_count1491531low
109Algorithm/Filter.cppEncoderAngleKalman::getAngle2062061low
110Algorithm/Filter.cppEncoderAngleKalman::getVelocity2112111low
111Algorithm/Filter.cppEncoderAngleKalman::setProcessNoise2182201low
112Algorithm/Filter.cppEncoderAngleKalman::setMeasurementNoise2272291low
113Algorithm/Filter.cppCurrentKalman::update2592611low
114Algorithm/Filter.cppCurrentKalman::getCurrent2672671low
115Algorithm/Filter.cppCurrentKalman::setProcessNoise2742741low
116Algorithm/Filter.cppCurrentKalman::setMeasurementNoise2812831low
117Algorithm/Filter.hR56561low
118Algorithm/Filter.hpredict63661low
119Algorithm/Filter.hupdate74831low
120Algorithm/Filter.hgetState1111111low
121Algorithm/Filter.hsetProcessNoise1181181low
122Algorithm/Filter.hsetMeasurementNoise1251251low
123Algorithm/Filter.hresetCovariance1321321low
124Algorithm/Filter.hgetCovariance1381381low
125Algorithm/Filter.hgetProcessNoise1441441low
126Algorithm/Filter.hinit1871911low
127Algorithm/Filter.hgetstate2392391low
128Algorithm/Filter.hinit2472541low
129Algorithm/Filter.hinit2963001low
130Algorithm/pid.cpperror_prev20201low
131Algorithm/pid.cppPIDController::set_PID63671low
132Algorithm/pid.cppPIDController::set_P75771low
133Algorithm/pid.cppPIDController::set_limit85851low
134Algorithm/pid.cppPIDController::reset92961low
135Algorithm/pid.cppPIDController::reset_integral1031031low
136device/ADC.cppcurrent_adc_to_ma40421low
137device/ADC.cppdma_config50751low
138device/ADC.cppadc_config831361low
139device/ADC.cppsampler::get_mcu_temp1721741low
140device/ADC.cppsampler::get_drv_temp1831851low
141device/ADC.cppsampler::get_vbus_voltage2282301low
142device/Can.cppCAN_transmiter::build_can_id1021041low
143device/Can.cppCAN_transmiter::get_node_id1261261low
144device/Can.cppCAN_transmiter::is_rx_buffer_full2122141low
145device/Can.cppCAN_transmiter::is_rx_buffer_empty2232251low
146device/Can.cppCAN_transmiter::enter_silent_mode2562601low
147device/Can.cppCAN_transmiter::is_in_silent_mode2652651low
148device/Can.cppcan_gpio_init2863021low
149device/Can.cppcan_dma_init3103331low
150device/Can.cppcanfd_config4034721low
151device/Can.cppCAN_transmiter::init6717011low
152device/Can.cppCAN_EnterCritical7077111low
153device/Can.cppCAN_ExitCritical7187181low
154device/Can.cppCANFD_WordCount7517511low
155device/Can.cppCAN_RX_ReleaseFifo07757751low
156device/Can.cppCAN_RX_Fifo0PendingCount7817831low
157device/Can.cppCAN_transmiter::update99510181low
158device/Can.cppCAN_transmiter::CAN_Sleep130713111low
159device/Can.cppCAN_transmiter::CAN_Wakeup131813241low
160device/Can.cppDMA0_Channel5_IRQHandler138913911low
161device/Can.hpack_u16_to_bytes36391low
162device/Can.hunpack_bytes_to_short64671low
163device/Can.hunpack_bytes_to_u1676791low
164device/Can.hunpack_bytes_to_float88951low
165device/Timer.cppnvic_config63701low
166device/Timer.cppTIMER2_config781111low
167device/Timer.cppUser_timer_init1171221low
168device/Timer.cpptimer1_gpio_config1892081low
169device/Timer.cpptimer1_pwm_config2132741low
170device/Timer.cppSet_3Pwm3143191low
171device/ang_sensor.cppspi_dma_init50951low
172device/ang_sensor.cppKTH7823_gpio_init1661841low
173device/ang_sensor.cppKTH7823_spi_init1912081low
174device/ang_sensor.cppangle_sensor::init2142191low
175device/ang_sensor.cppangle_sensor::angle_set2262301low
176device/ang_sensor.cppangle_sensor::getAngle2942961low
177device/ang_sensor.cppangle_sensor::getRawAngle3023021low
178device/ang_sensor.cppangle_sensor::getcurrent_sensorangle3083101low
179device/motor.cppmotor_init16311low
180device/motor.cppmotor_reset36401low
181device/motor.cppmotor_sleep45491low
182device/motor.cppmotor_resume54581low
183main.cpphardware_init921131low
184sys/flash.cppwrite_ADDRESS48571low
185sys/flash.cppcalculate_node_id_crc5065121low
186sys/health.cppangsens_MG_check991031low
187sys/health.hrecoveryRate53531low
188sys/health.hreset63661low
189sys/initial.cppVersionManager::getSoftwareVersion55571low
190sys/initial.cppVersionManager::getHardwareVersion63651low
191sys/initial.cppVersionManager::getBootVersion71731low
192sys/initial.cppVersionManager::sendVersionInfoViaCan1391791low
193sys/initial.cppVersionManager::printVersions1851971low
194sys/initial.cppUSART0_init2042071low
195sys/initial.cppwatchdog_init2152221low
196sys/initial.cppunused_pin_init2352481low
197sys/systick.cppdwt_init82901low
198sys/systick.cppget_systick_ms981001low
199sys/systick.cppidle_task_count1911931low
200sys/systick.cppget_cpu_usage2172171low