From 42c9f2f6694fd128f6793f5534e6f8873f6bb6ed Mon Sep 17 00:00:00 2001 From: cbb <2625274797@qq.com> Date: Thu, 13 Aug 2026 01:14:07 +0800 Subject: [PATCH] =?UTF-8?q?feat(can):=20=E6=B7=BB=E5=8A=A0=E8=8A=82?= =?UTF-8?q?=E7=82=B9ID=E8=AE=BE=E7=BD=AE=E5=91=BD=E4=BB=A4=E7=9A=84?= =?UTF-8?q?=E5=AE=89=E5=85=A8=E9=98=B2=E6=8A=A4=E5=92=8C=E6=94=B9=E8=BF=9B?= =?UTF-8?q?=E9=97=AA=E5=AD=98=E5=86=99=E5=85=A5=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 添加目标节点验证机制,防止SET_NODE_ID命令被错误处理 - 修改节点ID范围验证逻辑,限制为1到0xFF - 调整闪存写入顺序,在确认写入成功后再发送响应 - 修复SET_NODE_ID消息处理中的边界条件检查 fix(can): 启用自动总线离线恢复功能 - 将CAN参数auto_bus_off_recovery从DISABLE改为ENABLE - 提高CAN通信的稳定性和自动恢复能力 chore(config): 更新软件版本号并添加编译时间信息 - 将软件补丁版本从24更新到25 - 添加APP_BUILD_DATE和APP_BUILD_TIME宏定义 - 新增getAppBuildTime函数获取编译时间信息 - 添加Flash页大小相关注释说明 perf(debug): 调整ST-Link调试器时钟频率 - 将调试器时钟从10MHz降低到4MHz - 提高调试连接的稳定性 refactor(static_test): 移除静态测试文件列表 - 删除static_test_automotive_business_20260523/files.csv文件内容 --- Robot_V2.csolution.yml | 2 +- Robot_V2/device/Can.cpp | 23 +- Robot_V2/sys/config.h | 13 +- Robot_V2/sys/initial.cpp | 8 +- Robot_V2/sys/initial.h | 7 +- .../files.csv | 30 - .../findings.csv | 554 ---- .../metrics.csv | 200 -- .../priority_review_list.md | 46 - .../report.html | 2781 ----------------- .../report.md | 143 - .../report_checklist.html | 2781 ----------------- ...t_v2_app_static_report_check_progress.json | 262 -- .../supplement_findings.csv | 728 ----- .../supplement_report.md | 509 --- 15 files changed, 37 insertions(+), 8050 deletions(-) delete mode 100644 static_test_automotive_business_20260523/files.csv delete mode 100644 static_test_automotive_business_20260523/findings.csv delete mode 100644 static_test_automotive_business_20260523/metrics.csv delete mode 100644 static_test_automotive_business_20260523/priority_review_list.md delete mode 100644 static_test_automotive_business_20260523/report.html delete mode 100644 static_test_automotive_business_20260523/report.md delete mode 100644 static_test_automotive_business_20260523/report_checklist.html delete mode 100644 static_test_automotive_business_20260523/robot_v2_app_static_report_check_progress.json delete mode 100644 static_test_automotive_business_20260523/supplement_findings.csv delete mode 100644 static_test_automotive_business_20260523/supplement_report.md diff --git a/Robot_V2.csolution.yml b/Robot_V2.csolution.yml index 54608ea..9f87c3d 100644 --- a/Robot_V2.csolution.yml +++ b/Robot_V2.csolution.yml @@ -33,7 +33,7 @@ solution: - project-context: Robot_V2.Release debugger: name: ST-Link@pyOCD - clock: 10000000 + clock: 4000000 protocol: swd # List of different build configurations. diff --git a/Robot_V2/device/Can.cpp b/Robot_V2/device/Can.cpp index 2b75bb6..30eb6c2 100644 --- a/Robot_V2/device/Can.cpp +++ b/Robot_V2/device/Can.cpp @@ -418,7 +418,7 @@ void canfd_config(void) { /* initialize CAN */ can_parameter.time_triggered = DISABLE; - can_parameter.auto_bus_off_recovery = DISABLE; + can_parameter.auto_bus_off_recovery = ENABLE; can_parameter.auto_wake_up = DISABLE; can_parameter.auto_retrans = ENABLE; can_parameter.rec_fifo_overwrite = ENABLE; @@ -1155,6 +1155,12 @@ void CAN_transmiter::handle_boot_message(u16 sender_node_id) { } void CAN_transmiter::handle_set_node_id_message(can_receive_message_struct ¤t_message) { + // ── 防护:只处理发给本节点(或广播)的 SET_NODE_ID ── + u16 target_node = (u16)((current_message.rx_efid >> 16) & 0xFFFF); + if (target_node != node_id && target_node != BROADCAST_NODE_ID) { + return; + } + // 支持 1 字节和 2 字节节点 ID 命令,兼容旧上位机。 CAN_DEBUG_PRINT( "SET_NODE_ID: rx_dlen=%d, data[0]=%02X data[1]=%02X\r\n", @@ -1173,23 +1179,22 @@ void CAN_transmiter::handle_set_node_id_message(can_receive_message_struct &curr // 响应帧使用旧节点 ID 构造,确保上位机能收到确认。 node_id = old_node_id; - if (new_node_id > MAX_NODE_ID || new_node_id == BROADCAST_NODE_ID) { - CAN_DEBUG_PRINT("SET_NODE_ID: invalid new_id=%d (max=%d)\r\n", - new_node_id, MAX_NODE_ID); + if (new_node_id < 1 || new_node_id > SETTABLE_NODE_ID_MAX) { + CAN_DEBUG_PRINT("SET_NODE_ID: invalid new_id=%d (range 1~%d)\r\n", + new_node_id, SETTABLE_NODE_ID_MAX); transmit_data[0] = 0x00; CANFD_AsyncSend(build_can_id(CANFD_SET_NODE_ID), 3, transmit_data); return; } - transmit_data[0] = 0x01; - u8 send_result = CANFD_AsyncSend(build_can_id(CANFD_SET_NODE_ID), 3, - transmit_data); + // 先写 Flash,成功后再回确认,避免 Flash 失败时上位机已收到 OK。 u8 save_status = save_node_id_to_flash(new_node_id); - CAN_DEBUG_PRINT("SET_NODE_ID: save_status=%d, send_result=%d\r\n", - save_status, send_result); + CAN_DEBUG_PRINT("SET_NODE_ID: save_status=%d\r\n", save_status); if (save_status == FLASH_EEPROM_OK) { + transmit_data[0] = 0x01; + CANFD_AsyncSend(build_can_id(CANFD_SET_NODE_ID), 3, transmit_data); CAN_DEBUG_PRINT("SET_NODE_ID: SUCCESS, node_id updated from %d to %d\r\n", old_node_id, new_node_id); return; diff --git a/Robot_V2/sys/config.h b/Robot_V2/sys/config.h index d48346b..a60b8c6 100644 --- a/Robot_V2/sys/config.h +++ b/Robot_V2/sys/config.h @@ -1,4 +1,4 @@ -/** +/** * @file sys/config.h * @brief 系统服务与平台支持源文件 * @note 本文件仅补充 Doxygen 文档注释,不改变代码逻辑。 @@ -23,7 +23,7 @@ // 版本号定义 - 可根据实际项目进行调整 constexpr u16 SOFTWARE_VERSION_MAJOR = 26; constexpr u16 SOFTWARE_VERSION_MINOR = 5; -constexpr u16 SOFTWARE_VERSION_PATCH = 24; +constexpr u16 SOFTWARE_VERSION_PATCH = 25; constexpr u16 SOFTWARE_VERSION_BUILD = 2; constexpr u16 HARDWARE_VERSION_MAJOR = 25; @@ -35,6 +35,9 @@ constexpr u16 BOOT_VERSION_MAJOR = 26; constexpr u16 BOOT_VERSION_MINOR = 1; constexpr u16 BOOT_VERSION_PATCH = 12; constexpr u16 BOOT_VERSION_BUILD = 0; +// 编译时间(AC6 编译器自动生成) +#define APP_BUILD_DATE __DATE__ +#define APP_BUILD_TIME __TIME__ // Flash 分区配置 constexpr u32 BOOTLOADER_SIZE = 0x6000; // 24KB @@ -65,6 +68,7 @@ constexpr u32 NODE_ID_MAGIC = 0x4E4F4445; // 魔数 'NODE' 用于验证数据 constexpr u16 DEFAULT_NODE_ID = 1; // 默认节点 ID constexpr u16 BROADCAST_NODE_ID = 0x1FFF; // 广播 ID (所有节点响应) constexpr u16 MAX_NODE_ID = 0x1FFE; // 最大有效节点 ID (0~0x1FFE) +constexpr u16 SETTABLE_NODE_ID_MAX = 0x00FF; // SET_NODE_ID 命令允许设置的上限 (1~0xFF) // 节点 ID 存储结构 (存储在Flash中的格式) // 地址偏移 0x00: 魔数 (0x4E4F4445 = 'NODE') @@ -79,6 +83,10 @@ constexpr u8 NODE_ID_COUNTER_OFFSET = 0x08; // 写入计数器偏移 constexpr u8 NODE_ID_CRC_OFFSET = 0x0C; // CRC偏移 // BOOT 相关 +// 版图/页大小核验:以下 6 个 OTA 标志位共处 0x0801E000 所在的 1KB Flash 页。 +// OTA_SET 会整页擦除该页,故必须保证 FMC 页大小为 1KB(0x400),否则会连带擦除 +// 相邻的 SLEEP_CONFIG(0x0801E400)/NODE_ID(0x0801E800)。GD32C103CB 实测页大小为 +// 1KB(睡眠/节点 ID/EEPROM 分居相邻 1KB 页且互不影响即为佐证),与 FMC_PAGE_SIZE 一致。 constexpr u32 OTA_CONFIG_NUM = 6; constexpr u32 n_APP_LATEST_AVAL_ADDR = 0x0801E000; // 最新 APP 可用地址 constexpr u32 n_APP_BACKUP_AVAL_ADDR = 0x0801E004; // 备份 APP 可用地址 @@ -290,3 +298,4 @@ constexpr float VBUS_RECOVERY_RATIO = 0.9f; // 恢复比例(基准电压 #endif + diff --git a/Robot_V2/sys/initial.cpp b/Robot_V2/sys/initial.cpp index 0f43f67..a09de1d 100644 --- a/Robot_V2/sys/initial.cpp +++ b/Robot_V2/sys/initial.cpp @@ -1,4 +1,4 @@ -/** +/** * @file sys/initial.cpp * @brief 系统服务与平台支持源文件 * @note 本文件仅补充 Doxygen 文档注释,不改变代码逻辑。 @@ -231,6 +231,10 @@ void VersionManager::printVersions() const { versionToString(getBootVersion(), versionStr, sizeof(versionStr))); } +const char* VersionManager::getAppBuildTime() const { + return APP_BUILD_DATE " " APP_BUILD_TIME; +} + /* retarget the C library printf function to the USART */ /** * @brief 初始化 USART0 调试串口 @@ -383,4 +387,4 @@ void OTA_initial(void) { } else { EEP_DEBUG_PRINT("check\r\n"); } -} \ No newline at end of file +} diff --git a/Robot_V2/sys/initial.h b/Robot_V2/sys/initial.h index bd597e0..285ce91 100644 --- a/Robot_V2/sys/initial.h +++ b/Robot_V2/sys/initial.h @@ -1,4 +1,4 @@ -/** +/** * @file sys/initial.h * @brief 系统服务与平台支持源文件 * @note 本文件仅补充 Doxygen 文档注释,不改变代码逻辑。 @@ -155,6 +155,9 @@ class VersionManager { char *versionToString(const VersionInfo &version, char *buffer, size_t bufSize) const; + // 获取编译时间 + const char* getAppBuildTime() const; + // 打印所有版本信息 /** * @brief printVersions 函数 @@ -179,4 +182,4 @@ class VersionManager { } #endif -#endif \ No newline at end of file +#endif diff --git a/static_test_automotive_business_20260523/files.csv b/static_test_automotive_business_20260523/files.csv deleted file mode 100644 index 2470e8f..0000000 --- a/static_test_automotive_business_20260523/files.csv +++ /dev/null @@ -1,30 +0,0 @@ -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 diff --git a/static_test_automotive_business_20260523/findings.csv b/static_test_automotive_business_20260523/findings.csv deleted file mode 100644 index d7f1ba5..0000000 --- a/static_test_automotive_business_20260523/findings.csv +++ /dev/null @@ -1,554 +0,0 @@ -severity,rule_id,rule_level,standard_ref,file,line,description,evidence,disposition,recommendation -warning,AUTO-CTRL-002,Advisory,MISRA C:2012 Rule 15.5 advisory / structured control flow,device/Can.cpp,1124,continue 需避免或说明偏离,continue;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -warning,AUTO-CTRL-002,Advisory,MISRA C:2012 Rule 15.5 advisory / structured control flow,device/Can.cpp,1194,continue 需避免或说明偏离,continue;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -warning,AUTO-CTRL-002,Advisory,MISRA C:2012 Rule 15.5 advisory / structured control flow,device/Can.cpp,1199,continue 需避免或说明偏离,continue;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -warning,AUTO-CTRL-002,Advisory,MISRA C:2012 Rule 15.5 advisory / structured control flow,main.cpp,80,continue 需避免或说明偏离,continue;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -warning,AUTO-CTRL-002,Advisory,MISRA C:2012 Rule 15.5 advisory / structured control flow,sys/flash.cpp,693,continue 需避免或说明偏离,continue;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -warning,AUTO-CTRL-002,Advisory,MISRA C:2012 Rule 15.5 advisory / structured control flow,sys/systick.cpp,264,continue 需避免或说明偏离,continue;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -warning,AUTO-FUNC-002,Advisory,MISRA Dir 4.12 / project safety rule,Algorithm/FOC.cpp,100,printf/格式化输出需确认调试隔离和实时性影响,"printf("""");",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -warning,AUTO-FUNC-002,Advisory,MISRA Dir 4.12 / project safety rule,Algorithm/FOC.cpp,161,printf/格式化输出需确认调试隔离和实时性影响,"printf("""",",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -warning,AUTO-FUNC-002,Advisory,MISRA Dir 4.12 / project safety rule,Algorithm/FOC.cpp,195,printf/格式化输出需确认调试隔离和实时性影响,"printf("""");",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -warning,AUTO-FUNC-002,Advisory,MISRA Dir 4.12 / project safety rule,Algorithm/FOC.cpp,198,printf/格式化输出需确认调试隔离和实时性影响,"printf("""", angle_deg, cogging_table[i]);",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -warning,AUTO-FUNC-002,Advisory,MISRA Dir 4.12 / project safety rule,Algorithm/FOC.cpp,203,printf/格式化输出需确认调试隔离和实时性影响,"printf("""");",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -warning,AUTO-FUNC-002,Advisory,MISRA Dir 4.12 / project safety rule,Algorithm/FOC.cpp,206,printf/格式化输出需确认调试隔离和实时性影响,"printf("""", angle_deg, cogging_table_rev[i]);",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -warning,AUTO-FUNC-002,Advisory,MISRA Dir 4.12 / project safety rule,Algorithm/FOC.cpp,211,printf/格式化输出需确认调试隔离和实时性影响,"printf("""");",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -warning,AUTO-FUNC-002,Advisory,MISRA Dir 4.12 / project safety rule,Algorithm/FOC.cpp,212,printf/格式化输出需确认调试隔离和实时性影响,"printf("""");",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -warning,AUTO-FUNC-002,Advisory,MISRA Dir 4.12 / project safety rule,Algorithm/FOC.cpp,214,printf/格式化输出需确认调试隔离和实时性影响,"if (i % 8 == 0) printf("""");",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -warning,AUTO-FUNC-002,Advisory,MISRA Dir 4.12 / project safety rule,Algorithm/FOC.cpp,215,printf/格式化输出需确认调试隔离和实时性影响,"printf("""", cogging_table[i]);",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -warning,AUTO-FUNC-002,Advisory,MISRA Dir 4.12 / project safety rule,Algorithm/FOC.cpp,216,printf/格式化输出需确认调试隔离和实时性影响,"if (i < COGGING_TABLE_SIZE - 1) printf("""");",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -warning,AUTO-FUNC-002,Advisory,MISRA Dir 4.12 / project safety rule,Algorithm/FOC.cpp,217,printf/格式化输出需确认调试隔离和实时性影响,"if (i % 8 == 7 || i == COGGING_TABLE_SIZE - 1) printf("""");",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -warning,AUTO-FUNC-002,Advisory,MISRA Dir 4.12 / project safety rule,Algorithm/FOC.cpp,220,printf/格式化输出需确认调试隔离和实时性影响,"printf("""");",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -warning,AUTO-FUNC-002,Advisory,MISRA Dir 4.12 / project safety rule,Algorithm/FOC.cpp,223,printf/格式化输出需确认调试隔离和实时性影响,"printf("""");",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -warning,AUTO-FUNC-002,Advisory,MISRA Dir 4.12 / project safety rule,Algorithm/FOC.cpp,224,printf/格式化输出需确认调试隔离和实时性影响,"printf("""");",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -warning,AUTO-FUNC-002,Advisory,MISRA Dir 4.12 / project safety rule,Algorithm/FOC.cpp,226,printf/格式化输出需确认调试隔离和实时性影响,"if (i % 8 == 0) printf("""");",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -warning,AUTO-FUNC-002,Advisory,MISRA Dir 4.12 / project safety rule,Algorithm/FOC.cpp,227,printf/格式化输出需确认调试隔离和实时性影响,"printf("""", cogging_table_rev[i]);",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -warning,AUTO-FUNC-002,Advisory,MISRA Dir 4.12 / project safety rule,Algorithm/FOC.cpp,228,printf/格式化输出需确认调试隔离和实时性影响,"if (i < COGGING_TABLE_SIZE - 1) printf("""");",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -warning,AUTO-FUNC-002,Advisory,MISRA Dir 4.12 / project safety rule,Algorithm/FOC.cpp,229,printf/格式化输出需确认调试隔离和实时性影响,"if (i % 8 == 7 || i == COGGING_TABLE_SIZE - 1) printf("""");",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -warning,AUTO-FUNC-002,Advisory,MISRA Dir 4.12 / project safety rule,Algorithm/FOC.cpp,232,printf/格式化输出需确认调试隔离和实时性影响,"printf("""");",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -warning,AUTO-FUNC-002,Advisory,MISRA Dir 4.12 / project safety rule,Algorithm/FOC.cpp,234,printf/格式化输出需确认调试隔离和实时性影响,"printf("""");",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -warning,AUTO-FUNC-002,Advisory,MISRA Dir 4.12 / project safety rule,device/Can.cpp,30,printf/格式化输出需确认调试隔离和实时性影响,"#define CAN_DEBUG_PRINT(fmt, ...) printf(fmt, ##__VA_ARGS__)",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -warning,AUTO-FUNC-002,Advisory,MISRA Dir 4.12 / project safety rule,device/ang_sensor.cpp,22,printf/格式化输出需确认调试隔离和实时性影响,"#define ANG_SENS_DEBUG_PRINT(fmt, ...) printf(fmt, ##__VA_ARGS__)",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -warning,AUTO-FUNC-002,Advisory,MISRA Dir 4.12 / project safety rule,device/motor.cpp,38,printf/格式化输出需确认调试隔离和实时性影响,"printf("""");",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -warning,AUTO-FUNC-002,Advisory,MISRA Dir 4.12 / project safety rule,main.cpp,22,printf/格式化输出需确认调试隔离和实时性影响,"#define MAIN_DEBUG_PRINT(fmt, ...) printf(fmt, ##__VA_ARGS__)",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -warning,AUTO-FUNC-002,Advisory,MISRA Dir 4.12 / project safety rule,sys/flash.cpp,22,printf/格式化输出需确认调试隔离和实时性影响,"#define EEP_DEBUG_PRINT(fmt, ...) printf(fmt, ##__VA_ARGS__)",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -warning,AUTO-FUNC-002,Advisory,MISRA Dir 4.12 / project safety rule,sys/flash.cpp,31,printf/格式化输出需确认调试隔离和实时性影响,"#define OTA_DEBUG_PRINT(fmt, ...) printf(fmt, ##__VA_ARGS__)",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -warning,AUTO-FUNC-002,Advisory,MISRA Dir 4.12 / project safety rule,sys/initial.cpp,23,printf/格式化输出需确认调试隔离和实时性影响,"#define OTA_DEBUG_PRINT(fmt, ...) printf(fmt, ##__VA_ARGS__)",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -warning,AUTO-FUNC-002,Advisory,MISRA Dir 4.12 / project safety rule,sys/initial.cpp,32,printf/格式化输出需确认调试隔离和实时性影响,"#define EEP_DEBUG_PRINT(fmt, ...) printf(fmt, ##__VA_ARGS__)",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -warning,AUTO-FUNC-002,Advisory,MISRA Dir 4.12 / project safety rule,sys/initial.cpp,129,printf/格式化输出需确认调试隔离和实时性影响,"snprintf(buffer, bufSize, """", version.major, version.minor,",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -warning,AUTO-FUNC-002,Advisory,MISRA Dir 4.12 / project safety rule,sys/systick.cpp,47,printf/格式化输出需确认调试隔离和实时性影响,"#define SLEEP_DEBUG_PRINT(fmt, ...) printf(fmt, ##__VA_ARGS__)",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -warning,AUTO-MET-001,Advisory,Project metric threshold CC <= 15,Algorithm/FOC.cpp,75,圈复杂度 33 超过建议阈值 15,FOC_Controller::calibrate_cogging_tick,open_review,建议人工评审分支完整性;后续允许时再考虑拆分或增加单元测试覆盖。 -warning,AUTO-MET-001,Advisory,Project metric threshold CC <= 15,device/Can.cpp,1076,圈复杂度 27 超过建议阈值 15,CAN_transmiter::communication_check,open_review,建议人工评审分支完整性;后续允许时再考虑拆分或增加单元测试覆盖。 -warning,AUTO-MET-001,Advisory,Project metric threshold CC <= 15,main.cpp,120,圈复杂度 17 超过建议阈值 15,do_task,open_review,建议人工评审分支完整性;后续允许时再考虑拆分或增加单元测试覆盖。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,Algorithm/FOC.cpp,29,数组下标访问需审查边界保护,extern u16 adc_value[3];,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,Algorithm/FOC.cpp,56,数组下标访问需审查边界保护,float comp = table[idx0] * (1.0f - frac) + table[idx1] * frac;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,Algorithm/FOC.cpp,66,数组下标访问需审查边界保护,float FOC_Controller::cog_calib_run_data[6][COGGING_TABLE_SIZE] = {};,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,Algorithm/FOC.cpp,67,数组下标访问需审查边界保护,float FOC_Controller::cog_calib_accum[COGGING_TABLE_SIZE] = {};,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,Algorithm/FOC.cpp,68,数组下标访问需审查边界保护,u32 FOC_Controller::cog_calib_count[COGGING_TABLE_SIZE] = {};,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,Algorithm/FOC.cpp,134,数组下标访问需审查边界保护,cog_calib_accum[idx] += iq;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,Algorithm/FOC.cpp,135,数组下标访问需审查边界保护,cog_calib_count[idx]++;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,Algorithm/FOC.cpp,152,数组下标访问需审查边界保护,cog_calib_run_data[cog_calib_run][i] =,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,Algorithm/FOC.cpp,153,数组下标访问需审查边界保护,(cog_calib_count[i] > 0) ? cog_calib_accum[i] / (float)cog_calib_count[i] : 0.0f;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,Algorithm/FOC.cpp,154,数组下标访问需审查边界保护,dc += cog_calib_run_data[cog_calib_run][i];,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,Algorithm/FOC.cpp,158,数组下标访问需审查边界保护,cog_calib_run_data[cog_calib_run][i] -= dc;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,Algorithm/FOC.cpp,180,数组下标访问需审查边界保护,cogging_table[i] = (cog_calib_run_data[0][i] +,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,Algorithm/FOC.cpp,181,数组下标访问需审查边界保护,cog_calib_run_data[1][i] +,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,Algorithm/FOC.cpp,182,数组下标访问需审查边界保护,cog_calib_run_data[2][i]) / 3.0f;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,Algorithm/FOC.cpp,186,数组下标访问需审查边界保护,cogging_table_rev[i] = (cog_calib_run_data[3][i] +,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,Algorithm/FOC.cpp,187,数组下标访问需审查边界保护,cog_calib_run_data[4][i] +,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,Algorithm/FOC.cpp,188,数组下标访问需审查边界保护,cog_calib_run_data[5][i]) / 3.0f;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,Algorithm/FOC.cpp,198,数组下标访问需审查边界保护,"printf("""", angle_deg, cogging_table[i]);",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,Algorithm/FOC.cpp,206,数组下标访问需审查边界保护,"printf("""", angle_deg, cogging_table_rev[i]);",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,Algorithm/FOC.cpp,215,数组下标访问需审查边界保护,"printf("""", cogging_table[i]);",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,Algorithm/FOC.cpp,227,数组下标访问需审查边界保护,"printf("""", cogging_table_rev[i]);",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,Algorithm/FOC.cpp,326,数组下标访问需审查边界保护,static const float COGGING_TABLE_FWD[COGGING_TABLE_SIZE] = {,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,Algorithm/FOC.cpp,344,数组下标访问需审查边界保护,static const float COGGING_TABLE_REV[COGGING_TABLE_SIZE] = {,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,Algorithm/FOC.cpp,409,数组下标访问需审查边界保护,"static const u8 sector_lut[8] = {0, 2, 6, 1, 4, 3, 5, 0};",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,Algorithm/FOC.cpp,410,数组下标访问需审查边界保护,u8 sector = sector_lut[sector_code];,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,Algorithm/FOC.cpp,431,数组下标访问需审查边界保护,static const float svpwm_coeff[6][4] = {,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,Algorithm/FOC.cpp,440,数组下标访问需审查边界保护,float T1 = (svpwm_coeff[sector-1][0] * Ualpha + svpwm_coeff[sector-1][1] * Ubeta) * inv_Udc;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,Algorithm/FOC.cpp,441,数组下标访问需审查边界保护,float T2 = (svpwm_coeff[sector-1][2] * Ualpha + svpwm_coeff[sector-1][3] * Ubeta) * inv_Udc;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,Algorithm/FOC.cpp,605,数组下标访问需审查边界保护,float current_vbus = adc_value[2] * (3.3f / 4096.0f) * 11.0f;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,Algorithm/FOC.h,156,数组下标访问需审查边界保护,float cogging_table[COGGING_TABLE_SIZE] = {0};,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,Algorithm/FOC.h,157,数组下标访问需审查边界保护,float cogging_table_rev[COGGING_TABLE_SIZE] = {0};,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,Algorithm/FOC.h,191,数组下标访问需审查边界保护,static float cog_calib_run_data[6][COGGING_TABLE_SIZE];,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,Algorithm/FOC.h,192,数组下标访问需审查边界保护,static float cog_calib_accum[COGGING_TABLE_SIZE];,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,Algorithm/FOC.h,193,数组下标访问需审查边界保护,static u32 cog_calib_count[COGGING_TABLE_SIZE];,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,Algorithm/Filter.cpp,65,数组下标访问需审查边界保护,float sorted[size];,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,Algorithm/Filter.cpp,71,数组下标访问需审查边界保护,return sorted[size / 2];,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,device/ADC.cpp,31,数组下标访问需审查边界保护,u16 adc_value[3] = {0};,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,device/ADC.cpp,32,数组下标访问需审查边界保护,static volatile u16 adc_current_value[3] = {0};,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,device/ADC.cpp,151,数组下标访问需审查边界保护,mcu_temp_samples[i] =,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,device/ADC.cpp,152,数组下标访问需审查边界保护,(1.43f - adc_value[0] * ADC_SCALE) * TEMP_FACTOR + 35.0f;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,device/ADC.cpp,154,数组下标访问需审查边界保护,currU_samples[i] = current_init;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,device/ADC.cpp,155,数组下标访问需审查边界保护,currV_samples[i] = current_init;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,device/ADC.cpp,156,数组下标访问需审查边界保护,currW_samples[i] = current_init;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,device/ADC.cpp,158,数组下标访问需审查边界保护,vbus_samples[i] = adc_value[2] * ADC_SCALE * VCC_FACTOR;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,device/ADC.cpp,160,数组下标访问需审查边界保护,float R_now = (float)adc_value[1] / (4096 - (float)adc_value[1]) * 4700;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,device/ADC.cpp,161,数组下标访问需审查边界保护,drv_temp_samples[i] =,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,device/ADC.cpp,199,数组下标访问需审查边界保护,tempora_sample = currU_samples[idx];,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,device/ADC.cpp,203,数组下标访问需审查边界保护,tempora_sample = currV_samples[idx];,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,device/ADC.cpp,207,数组下标访问需审查边界保护,tempora_sample = currW_samples[idx];,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,device/ADC.cpp,240,数组下标访问需审查边界保护,mcu_temp_samples[mcu_temp_head] =,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,device/ADC.cpp,241,数组下标访问需审查边界保护,(1.43f - adc_value[0] * ADC_SCALE) * TEMP_FACTOR + 35.0f;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,device/ADC.cpp,259,数组下标访问需审查边界保护,float R_now = (float)adc_value[1] / (4096 - (float)adc_value[1]) * 4700;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,device/ADC.cpp,260,数组下标访问需审查边界保护,drv_temp_samples[drv_temp_head] =,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,device/ADC.cpp,283,数组下标访问需审查边界保护,currU_samples[idx] = current_adc_to_ma(adc_current_value[0]);,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,device/ADC.cpp,284,数组下标访问需审查边界保护,currV_samples[idx] = current_adc_to_ma(adc_current_value[1]);,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,device/ADC.cpp,285,数组下标访问需审查边界保护,currW_samples[idx] = current_adc_to_ma(adc_current_value[2]);,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,device/ADC.cpp,299,数组下标访问需审查边界保护,vbus_samples[temp_vbus_head] = adc_value[2] * ADC_SCALE * VCC_FACTOR;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,device/ADC.cpp,306,数组下标访问需审查边界保护,if (vbus_samples[mid] > MAX_VCC || vbus_samples[mid] < MIN_VCC) {,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,device/ADC.cpp,321,数组下标访问需审查边界保护,"adc_current_value[0] = adc_inserted_data_read(ADC0, ADC_INSERTED_CHANNEL_1);",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,device/ADC.cpp,322,数组下标访问需审查边界保护,"adc_current_value[1] = adc_inserted_data_read(ADC0, ADC_INSERTED_CHANNEL_2);",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,device/ADC.cpp,323,数组下标访问需审查边界保护,"adc_current_value[2] = adc_inserted_data_read(ADC0, ADC_INSERTED_CHANNEL_3);",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,device/Can.cpp,49,数组下标访问需审查边界保护,uint8_t can_rx_buffer[64];,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,device/Can.cpp,50,数组下标访问需审查边界保护,static uint32_t can_rx_dma_words[16];,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,device/Can.cpp,63,数组下标访问需审查边界保护,u8 data[64];,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,device/Can.cpp,71,数组下标访问需审查边界保护,static can_rx_queue_item_t rx_queue[CAN_RX_QUEUE_SIZE];,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,device/Can.cpp,76,数组下标访问需审查边界保护,static can_tx_queue_item_t tx_queue[CAN_TX_QUEUE_SIZE];,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,device/Can.cpp,82,数组下标访问需审查边界保护,"static constexpr u8 CANFD_DLC_LENGTH_TABLE[7] = {12, 16, 20, 24, 32, 48, 64};",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,device/Can.cpp,238,数组下标访问需审查边界保护,message = rx_message_buffer[rx_buffer_tail];,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,device/Can.cpp,559,数组下标访问需审查边界保护,transmit_message.tx_data[i] = dis(gen);,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,device/Can.cpp,560,数组下标访问需审查边界保护,"CAN_DEBUG_PRINT("""", transmit_message.tx_data[i]);",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,device/Can.cpp,625,数组下标访问需审查边界保护,transmit_message.tx_data[i] = i;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,device/Can.cpp,650,数组下标访问需审查边界保护,"CAN_DEBUG_PRINT("""", i, transmit_message.tx_data[i],",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,device/Can.cpp,651,数组下标访问需审查边界保护,receive_message.rx_data[i]);,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,device/Can.cpp,727,数组下标访问需审查边界保护,: ((dlc <= 15U) ? CANFD_DLC_LENGTH_TABLE[dlc - 9U] : 0U);,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,device/Can.cpp,739,数组下标访问需审查边界保护,if (length <= CANFD_DLC_LENGTH_TABLE[i]) {,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,device/Can.cpp,740,数组下标访问需审查边界保护,return CANFD_DLC_LENGTH_TABLE[i];,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,device/Can.cpp,760,数组下标访问需审查边界保护,rx_queue[rx_queue_tail].id = message.rx_efid;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,device/Can.cpp,761,数组下标访问需审查边界保护,rx_queue[rx_queue_tail].length = message.rx_dlen;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,device/Can.cpp,762,数组下标访问需审查边界保护,if (rx_queue[rx_queue_tail].length > 64) {,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,device/Can.cpp,763,数组下标访问需审查边界保护,rx_queue[rx_queue_tail].length = 64;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,device/Can.cpp,765,数组下标访问需审查边界保护,for (int i = 0; i < rx_queue[rx_queue_tail].length; i++) {,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,device/Can.cpp,766,数组下标访问需审查边界保护,rx_queue[rx_queue_tail].data[i] = message.rx_data[i];,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,device/Can.cpp,889,数组下标访问需审查边界保护,*item = rx_queue[rx_queue_head];,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,device/Can.cpp,907,数组下标访问需审查边界保护,tx_queue[tx_queue_tail].message = message;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,device/Can.cpp,908,数组下标访问需审查边界保护,tx_queue[tx_queue_tail].valid = 1U;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,device/Can.cpp,933,数组下标访问需审查边界保护,*message = tx_queue[tx_queue_head].message;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,device/Can.cpp,949,数组下标访问需审查边界保护,*message = tx_queue[tx_queue_head].message;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,device/Can.cpp,950,数组下标访问需审查边界保护,tx_queue[tx_queue_head].valid = 0U;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,device/Can.cpp,1041,数组下标访问需审查边界保护,transmit_data[10] =,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,device/Can.cpp,1042,数组下标访问需审查边界保护,(transmit_data[10] & ~0x07) |,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,device/Can.cpp,1050,数组下标访问需审查边界保护,transmit_data[29] = test_u16 & 0xFF;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,device/Can.cpp,1051,数组下标访问需审查边界保护,transmit_data[30] = (test_u16 >> 8) & 0xFF;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,device/Can.cpp,1052,数组下标访问需审查边界保护,transmit_data[31] = cpu_usage;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,device/Can.cpp,1059,数组下标访问需审查边界保护,transmit_data[0] = controller_Mode;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,device/Can.cpp,1134,数组下标访问需审查边界保护,"current_message.rx_dlen, current_message.rx_data[0],",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,device/Can.cpp,1135,数组下标访问需审查边界保护,current_message.rx_data[1]);,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,device/Can.cpp,1141,数组下标访问需审查边界保护,new_node_id = current_message.rx_data[0];,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,device/Can.cpp,1151,数组下标访问需审查边界保护,transmit_data[0] = 0x01;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,device/Can.cpp,1152,数组下标访问需审查边界保护,transmit_data[1] = (u8)(new_node_id & 0xFF);,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,device/Can.cpp,1153,数组下标访问需审查边界保护,transmit_data[2] =,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,device/Can.cpp,1177,数组下标访问需审查边界保护,transmit_data[0] = 0x00;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,device/Can.cpp,1186,数组下标访问需审查边界保护,transmit_data[0] = 0x00;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,device/Can.cpp,1187,数组下标访问需审查边界保护,transmit_data[1] = (u8)(new_node_id & 0xFF);,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,device/Can.cpp,1188,数组下标访问需审查边界保护,transmit_data[2] = (u8)((new_node_id >> 8) & 0xFF);,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,device/Can.cpp,1204,数组下标访问需审查边界保护,FOC.control_mode = current_message.rx_data[0];,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,device/Can.cpp,1243,数组下标访问需审查边界保护,u8 first_byte = current_message.rx_data[0];,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,device/Can.cpp,1244,数组下标访问需审查边界保护,u8 eigth_byte = current_message.rx_data[7];,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,device/Can.cpp,1283,数组下标访问需审查边界保护,transmit_data[0] = 0x0A;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,device/Can.cpp,1284,数组下标访问需审查边界保护,transmit_data[1] = 0xAC;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,device/Can.cpp,1420,数组下标访问需审查边界保护,transmit_message.tx_data[i] = *(data + i);,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,device/Can.cpp,1487,数组下标访问需审查边界保护,transmit_message.tx_data[i] = *(data + i);,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,device/Can.h,25,数组下标访问需审查边界保护,u8 b[4];,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,device/Can.h,37,数组下标访问需审查边界保护,buffer[offset] = (u8)(value & 0xFF);,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,device/Can.h,38,数组下标访问需审查边界保护,buffer[offset + 1] = (u8)((value >> 8) & 0xFF);,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,device/Can.h,51,数组下标访问需审查边界保护,buffer[offset] = float_union.b[0];,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,device/Can.h,52,数组下标访问需审查边界保护,buffer[offset + 1] = float_union.b[1];,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,device/Can.h,53,数组下标访问需审查边界保护,buffer[offset + 2] = float_union.b[2];,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,device/Can.h,54,数组下标访问需审查边界保护,buffer[offset + 3] = float_union.b[3];,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,device/Can.h,65,数组下标访问需审查边界保护,short value = (short)(buffer[offset] | (buffer[offset + 1] << 8));,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,device/Can.h,77,数组下标访问需审查边界保护,u16 value = (u16)(buffer[offset] | (buffer[offset + 1] << 8));,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,device/Can.h,90,数组下标访问需审查边界保护,float_union.b[0] = buffer[offset];,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,device/Can.h,91,数组下标访问需审查边界保护,float_union.b[1] = buffer[offset + 1];,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,device/Can.h,92,数组下标访问需审查边界保护,float_union.b[2] = buffer[offset + 2];,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,device/Can.h,93,数组下标访问需审查边界保护,float_union.b[3] = buffer[offset + 3];,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,device/Can.h,195,数组下标访问需审查边界保护,u8 transmit_data[64];,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,device/Can.h,198,数组下标访问需审查边界保护,can_receive_message_struct rx_message_buffer[CAN_RX_BUFFER_SIZE];,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,device/Can.h,353,数组下标访问需审查边界保护,rx_message_buffer[rx_buffer_head] = message;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,device/Timer.cpp,19,数组下标访问需审查边界保护,extern u16 adc_value[3];,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,device/Timer.cpp,27,数组下标访问需审查边界保护,static const u32 task_schedule_100us[10] = {,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,device/Timer.cpp,41,数组下标访问需审查边界保护,static const u32 task_schedule_1ms[10] = {,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,device/Timer.cpp,48,数组下标访问需审查边界保护,static const u32 task_schedule_10ms[10] = {,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,device/Timer.cpp,53,数组下标访问需审查边界保护,static const u32 task_schedule_100ms[10] = {,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,device/Timer.cpp,152,数组下标访问需审查边界保护,scheduler.taskFlags |= task_schedule_100us[total_us100_counter];,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,device/Timer.cpp,177,数组下标访问需审查边界保护,scheduler.taskFlags |= task_schedule_100ms[ms100_counter];,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,device/Timer.cpp,179,数组下标访问需审查边界保护,scheduler.taskFlags |= task_schedule_10ms[ms10_counter];,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,device/Timer.cpp,181,数组下标访问需审查边界保护,scheduler.taskFlags |= task_schedule_1ms[ms1_counter];,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,device/adc.h,21,数组下标访问需审查边界保护,float vbus_samples[ADC_FILTER_SIZE];,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,device/adc.h,22,数组下标访问需审查边界保护,float currU_samples[ADC_FILTER_SIZE];,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,device/adc.h,23,数组下标访问需审查边界保护,float currV_samples[ADC_FILTER_SIZE];,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,device/adc.h,24,数组下标访问需审查边界保护,float currW_samples[ADC_FILTER_SIZE];,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,device/adc.h,25,数组下标访问需审查边界保护,float mcu_temp_samples[ADC_FILTER_SIZE];,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,device/adc.h,26,数组下标访问需审查边界保护,float drv_temp_samples[ADC_FILTER_SIZE];,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,device/ang_sensor.h,95,数组下标访问需审查边界保护,float velocity[VEL_FILTER_SIZE] = {0.0f};,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,main.cpp,169,数组下标访问需审查边界保护,(FOC.*control_functions[FOC.control_mode])();,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,sys/flash.cpp,93,数组下标访问需审查边界保护,FlashEepromStatus status_read[CONFIG_SAVED_NUM + 1] = {FLASH_EEPROM_OK};,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,sys/flash.cpp,94,数组下标访问需审查边界保护,float data[CONFIG_SAVED_NUM] = {0.0f};,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,sys/flash.cpp,96,数组下标访问需审查边界保护,"status_read[1] = readFloat(ADDR_CONTROL_MODE, &data[0]);",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,sys/flash.cpp,97,数组下标访问需审查边界保护,"status_read[2] = readFloat(ADDR_VOLTAGE_LIMIT, &data[1]);",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,sys/flash.cpp,98,数组下标访问需审查边界保护,"status_read[3] = readFloat(ADDR_VEL_LIMIT, &data[2]);",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,sys/flash.cpp,99,数组下标访问需审查边界保护,"status_read[4] = readFloat(ADDR_ANGLE, &data[3]);",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,sys/flash.cpp,100,数组下标访问需审查边界保护,"status_read[5] = readFloat(ADDR_TARGET_ANGLE, &data[4]);",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,sys/flash.cpp,101,数组下标访问需审查边界保护,"status_read[6] = readFloat(ADDR_TARGET_VEL, &data[5]);",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,sys/flash.cpp,105,数组下标访问需审查边界保护,if (status_read[i] ==,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,sys/flash.cpp,107,数组下标访问需审查边界保护,data[i - 1] = DEFAULT_VALUE;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,sys/flash.cpp,108,数组下标访问需审查边界保护,} else if (status_read[i] != FLASH_EEPROM_OK) {,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,sys/flash.cpp,109,数组下标访问需审查边界保护,data[i - 1] = DEFAULT_VALUE;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,sys/flash.cpp,110,数组下标访问需审查边界保护,status_read[0] = status_read[i];,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,sys/flash.cpp,114,数组下标访问需审查边界保护,if (status_read[0] == FLASH_EEPROM_OK) {,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,sys/flash.cpp,141,数组下标访问需审查边界保护,data[i] = DEFAULT_VALUE;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,sys/flash.cpp,149,数组下标访问需审查边界保护,EEPROMStatus = status_read[0];,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,sys/flash.cpp,154,数组下标访问需审查边界保护,FOC.control_mode = (u8)data[0];,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,sys/flash.cpp,155,数组下标访问需审查边界保护,FOC.limit_voltage = data[1];,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,sys/flash.cpp,156,数组下标访问需审查边界保护,FOC.target_current = data[2];,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,sys/flash.cpp,157,数组下标访问需审查边界保护,KTH7823.angle_set(data[3]);,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,sys/flash.cpp,158,数组下标访问需审查边界保护,FOC.target_angle = data[4];,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,sys/flash.cpp,159,数组下标访问需审查边界保护,FOC.target_velocity = data[5];,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,sys/flash.cpp,415,数组下标访问需审查边界保护,float data[CONFIG_SAVED_NUM] = {,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,sys/flash.cpp,429,数组下标访问需审查边界保护,"status = writeFloat(ADDR_CONTROL_MODE, data[0]);",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,sys/flash.cpp,435,数组下标访问需审查边界保护,"status = writeFloat(ADDR_VOLTAGE_LIMIT, data[1]);",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,sys/flash.cpp,441,数组下标访问需审查边界保护,"status = writeFloat(ADDR_VEL_LIMIT, data[2]);",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,sys/flash.cpp,447,数组下标访问需审查边界保护,"status = writeFloat(ADDR_ANGLE, data[3]);",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,sys/flash.cpp,453,数组下标访问需审查边界保护,"status = writeFloat(ADDR_TARGET_ANGLE, data[4]);",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,sys/flash.cpp,459,数组下标访问需审查边界保护,"status = writeFloat(ADDR_TARGET_VEL, data[5]);",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,sys/flash.cpp,466,数组下标访问需审查边界保护,u32 crc_data_words[CONFIG_SAVED_NUM];,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,sys/flash.cpp,471,数组下标访问需审查边界保护,"memcpy(&crc_data_words[i], &data[i], SIZE_FLOAT);",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,sys/flash.cpp,473,数组下标访问需审查边界保护,crc_data_words[i] = crc_data_words[i] & DATA_FLOAT_MASK;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,sys/flash.cpp,507,数组下标访问需审查边界保护,u32 crc_data[2];,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,sys/flash.cpp,508,数组下标访问需审查边界保护,crc_data[0] = (u32)node_id;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,sys/flash.cpp,509,数组下标访问需审查边界保护,crc_data[1] = counter;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,sys/flash.cpp,530,数组下标访问需审查边界保护,u32 magic = flash_ptr[NODE_ID_MAGIC_OFFSET / sizeof(u32)];,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,sys/flash.cpp,537,数组下标访问需审查边界保护,u16 id_value = (u16)flash_ptr[NODE_ID_VALUE_OFFSET / sizeof(u32)];,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,sys/flash.cpp,544,数组下标访问需审查边界保护,u32 write_counter = flash_ptr[NODE_ID_COUNTER_OFFSET / sizeof(u32)];,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,sys/flash.cpp,547,数组下标访问需审查边界保护,u32 stored_crc = flash_ptr[NODE_ID_CRC_OFFSET / sizeof(u32)];,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,sys/flash.cpp,577,数组下标访问需审查边界保护,u32 write_data[4];,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,sys/flash.cpp,578,数组下标访问需审查边界保护,write_data[0] = NODE_ID_MAGIC;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,sys/flash.cpp,579,数组下标访问需审查边界保护,write_data[1] = (u32)node_id;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,sys/flash.cpp,580,数组下标访问需审查边界保护,write_data[2] = counter;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,sys/flash.cpp,581,数组下标访问需审查边界保护,write_data[3] = crc;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,sys/flash.cpp,589,数组下标访问需审查边界保护,"fmc_status = fmc_word_program(addr + i * sizeof(u32), write_data[i]);",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,sys/flash.cpp,795,数组下标访问需审查边界保护,u32 temp_val[OTA_CONFIG_NUM];,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,sys/flash.cpp,799,数组下标访问需审查边界保护,temp_val[0] = *flash_ptr;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,sys/flash.cpp,800,数组下标访问需审查边界保护,if (temp_val[0] == data) {,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,sys/flash.cpp,816,数组下标访问需审查边界保护,temp_val[0] = *flash_ptr;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,sys/flash.cpp,818,数组下标访问需审查边界保护,temp_val[1] = *flash_ptr;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,sys/flash.cpp,820,数组下标访问需审查边界保护,temp_val[2] = *flash_ptr;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,sys/flash.cpp,822,数组下标访问需审查边界保护,temp_val[3] = *flash_ptr;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,sys/flash.cpp,824,数组下标访问需审查边界保护,temp_val[4] = *flash_ptr;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,sys/flash.cpp,826,数组下标访问需审查边界保护,temp_val[5] = *flash_ptr;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,sys/flash.cpp,832,数组下标访问需审查边界保护,"temp_val[0], temp_val[1], temp_val[2], temp_val[3],",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,sys/flash.cpp,833,数组下标访问需审查边界保护,"temp_val[4], temp_val[5]);",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,sys/flash.cpp,846,数组下标访问需审查边界保护,if (current_addr != addr and temp_val[i] != OTA_NOT_AVAL) {,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,sys/flash.cpp,847,数组下标访问需审查边界保护,"fmc_status = write_ADDRESS(current_addr, temp_val[i]);",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,sys/flash.cpp,851,数组下标访问需审查边界保护,"temp_val[i], current_addr, fmc_status);",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,sys/flash.cpp,860,数组下标访问需审查边界保护,temp_val[0] = *flash_ptr;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,sys/flash.cpp,862,数组下标访问需审查边界保护,temp_val[1] = *flash_ptr;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,sys/flash.cpp,864,数组下标访问需审查边界保护,temp_val[2] = *flash_ptr;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,sys/flash.cpp,866,数组下标访问需审查边界保护,temp_val[3] = *flash_ptr;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,sys/flash.cpp,868,数组下标访问需审查边界保护,temp_val[4] = *flash_ptr;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,sys/flash.cpp,870,数组下标访问需审查边界保护,temp_val[5] = *flash_ptr;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,sys/flash.cpp,874,数组下标访问需审查边界保护,"temp_val[0], temp_val[1], temp_val[2], temp_val[3],",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,sys/flash.cpp,875,数组下标访问需审查边界保护,"temp_val[4], temp_val[5]);",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,sys/flash.cpp,890,数组下标访问需审查边界保护,NVIC->ICER[i] = 0xFFFFFFFF;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,sys/flash.cpp,972,数组下标访问需审查边界保护,uint32_t src_data = src_ptr[offset / 4];,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,sys/health.cpp,63,数组下标访问需审查边界保护,"u32 currents[3] = {(u32)(sampler.get_current('') * 1000),",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,sys/health.cpp,68,数组下标访问需审查边界保护,"current_max = max(currents[0], currents[1], currents[2]);",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,sys/initial.cpp,142,数组下标访问需审查边界保护,u8 versionData[24] = {0};,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,sys/initial.cpp,146,数组下标访问需审查边界保护,versionData[0] = softwareVersion.major & 0xFF;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,sys/initial.cpp,147,数组下标访问需审查边界保护,versionData[1] = (softwareVersion.major >> 8) & 0xFF;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,sys/initial.cpp,148,数组下标访问需审查边界保护,versionData[2] = softwareVersion.minor & 0xFF;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,sys/initial.cpp,149,数组下标访问需审查边界保护,versionData[3] = (softwareVersion.minor >> 8) & 0xFF;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,sys/initial.cpp,150,数组下标访问需审查边界保护,versionData[4] = softwareVersion.patch & 0xFF;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,sys/initial.cpp,151,数组下标访问需审查边界保护,versionData[5] = (softwareVersion.patch >> 8) & 0xFF;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,sys/initial.cpp,152,数组下标访问需审查边界保护,versionData[6] = softwareVersion.build & 0xFF;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,sys/initial.cpp,153,数组下标访问需审查边界保护,versionData[7] = (softwareVersion.build >> 8) & 0xFF;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,sys/initial.cpp,156,数组下标访问需审查边界保护,versionData[8] = hardwareVersion.major & 0xFF;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,sys/initial.cpp,157,数组下标访问需审查边界保护,versionData[9] = (hardwareVersion.major >> 8) & 0xFF;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,sys/initial.cpp,158,数组下标访问需审查边界保护,versionData[10] = hardwareVersion.minor & 0xFF;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,sys/initial.cpp,159,数组下标访问需审查边界保护,versionData[11] = (hardwareVersion.minor >> 8) & 0xFF;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,sys/initial.cpp,160,数组下标访问需审查边界保护,versionData[12] = hardwareVersion.patch & 0xFF;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,sys/initial.cpp,161,数组下标访问需审查边界保护,versionData[13] = (hardwareVersion.patch >> 8) & 0xFF;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,sys/initial.cpp,162,数组下标访问需审查边界保护,versionData[14] = hardwareVersion.build & 0xFF;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,sys/initial.cpp,163,数组下标访问需审查边界保护,versionData[15] = (hardwareVersion.build >> 8) & 0xFF;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,sys/initial.cpp,166,数组下标访问需审查边界保护,versionData[16] = bootVersion.major & 0xFF;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,sys/initial.cpp,167,数组下标访问需审查边界保护,versionData[17] = (bootVersion.major >> 8) & 0xFF;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,sys/initial.cpp,168,数组下标访问需审查边界保护,versionData[18] = bootVersion.minor & 0xFF;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,sys/initial.cpp,169,数组下标访问需审查边界保护,versionData[19] = (bootVersion.minor >> 8) & 0xFF;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,sys/initial.cpp,170,数组下标访问需审查边界保护,versionData[20] = bootVersion.patch & 0xFF;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,sys/initial.cpp,171,数组下标访问需审查边界保护,versionData[21] = (bootVersion.patch >> 8) & 0xFF;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,sys/initial.cpp,172,数组下标访问需审查边界保护,versionData[22] = bootVersion.build & 0xFF;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,sys/initial.cpp,173,数组下标访问需审查边界保护,versionData[23] = (bootVersion.build >> 8) & 0xFF;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,sys/initial.cpp,186,数组下标访问需审查边界保护,char versionStr[32];,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,sys/initial.cpp,298,数组下标访问需审查边界保护,u32 temp_val[6];,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,sys/initial.cpp,301,数组下标访问需审查边界保护,temp_val[0] = *flash_ptr1;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,sys/initial.cpp,303,数组下标访问需审查边界保护,temp_val[1] = *flash_ptr1;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,sys/initial.cpp,305,数组下标访问需审查边界保护,temp_val[2] = *flash_ptr1;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,sys/initial.cpp,307,数组下标访问需审查边界保护,temp_val[3] = *flash_ptr1;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,sys/initial.cpp,309,数组下标访问需审查边界保护,temp_val[4] = *flash_ptr1;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,sys/initial.cpp,311,数组下标访问需审查边界保护,temp_val[5] = *flash_ptr1;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,sys/initial.cpp,316,数组下标访问需审查边界保护,"temp_val[0], temp_val[1], temp_val[2], temp_val[3], temp_val[4],",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,sys/initial.cpp,317,数组下标访问需审查边界保护,temp_val[5]);,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ARRAY-001,Advisory,MISRA C:2012 Rule 18.x,sys/initial.cpp,332,数组下标访问需审查边界保护,"u8 transmit_data[2] = {0x0A, 0xAC};",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ASM-001,Required,MISRA C:2012 Dir 4.3 / project safety rule,device/Can.cpp,709,关中断/低功耗/内联汇编等平台相关指令需审查,__disable_irq();,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ASM-001,Required,MISRA C:2012 Dir 4.3 / project safety rule,main.cpp,72,关中断/低功耗/内联汇编等平台相关指令需审查,__disable_irq();,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ASM-001,Required,MISRA C:2012 Dir 4.3 / project safety rule,main.cpp,76,关中断/低功耗/内联汇编等平台相关指令需审查,__enable_irq();,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ASM-001,Required,MISRA C:2012 Dir 4.3 / project safety rule,main.cpp,93,关中断/低功耗/内联汇编等平台相关指令需审查,__enable_irq();,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ASM-001,Required,MISRA C:2012 Dir 4.3 / project safety rule,sys/flash.cpp,888,关中断/低功耗/内联汇编等平台相关指令需审查,__disable_irq();,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ASM-001,Required,MISRA C:2012 Dir 4.3 / project safety rule,sys/flash.cpp,936,关中断/低功耗/内联汇编等平台相关指令需审查,__disable_irq();,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ASM-001,Required,MISRA C:2012 Dir 4.3 / project safety rule,sys/flash.cpp,954,关中断/低功耗/内联汇编等平台相关指令需审查,__enable_irq();,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ASM-001,Required,MISRA C:2012 Dir 4.3 / project safety rule,sys/flash.cpp,992,关中断/低功耗/内联汇编等平台相关指令需审查,__enable_irq();,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ASM-001,Required,MISRA C:2012 Dir 4.3 / project safety rule,sys/flash.cpp,1008,关中断/低功耗/内联汇编等平台相关指令需审查,__enable_irq();,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-ASM-001,Required,MISRA C:2012 Dir 4.3 / project safety rule,sys/systick.cpp,256,关中断/低功耗/内联汇编等平台相关指令需审查,__disable_irq();,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,Algorithm/FOC.cpp,40,C 风格强制类型转换需审查必要性和范围,if (!cogging_comp_enabled) return 0.0f;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,Algorithm/FOC.cpp,46,C 风格强制类型转换需审查必要性和范围,float index_f = angle / 360.0f * (float)COGGING_TABLE_SIZE;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,Algorithm/FOC.cpp,47,C 风格强制类型转换需审查必要性和范围,u16 idx0 = (u16)index_f;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,Algorithm/FOC.cpp,49,C 风格强制类型转换需审查必要性和范围,float frac = index_f - (float)idx0;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,Algorithm/FOC.cpp,53,C 风格强制类型转换需审查必要性和范围,if (rt_velocity < -0.5f) last_table = cogging_table_rev;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,Algorithm/FOC.cpp,54,C 风格强制类型转换需审查必要性和范围,else if (rt_velocity > 0.5f) last_table = cogging_table;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,Algorithm/FOC.cpp,91,C 风格强制类型转换需审查必要性和范围,if (!cogging_calib_request) return;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,Algorithm/FOC.cpp,122,C 风格强制类型转换需审查必要性和范围,if (sample_div < SAMPLE_DIV) return;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,Algorithm/FOC.cpp,132,C 风格强制类型转换需审查必要性和范围,u16 idx = (u16)(angle_el / 360.0f * (float)COGGING_TABLE_SIZE);,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,Algorithm/FOC.cpp,133,C 风格强制类型转换需审查必要性和范围,if (idx >= COGGING_TABLE_SIZE) idx = COGGING_TABLE_SIZE - 1;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,Algorithm/FOC.cpp,153,C 风格强制类型转换需审查必要性和范围,(cog_calib_count[i] > 0) ? cog_calib_accum[i] / (float)cog_calib_count[i] : 0.0f;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,Algorithm/FOC.cpp,156,C 风格强制类型转换需审查必要性和范围,dc /= (float)COGGING_TABLE_SIZE;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,Algorithm/FOC.cpp,197,C 风格强制类型转换需审查必要性和范围,float angle_deg = (float)i / (float)COGGING_TABLE_SIZE * 360.0f;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,Algorithm/FOC.cpp,205,C 风格强制类型转换需审查必要性和范围,float angle_deg = (float)i / (float)COGGING_TABLE_SIZE * 360.0f;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,Algorithm/FOC.cpp,214,C 风格强制类型转换需审查必要性和范围,"if (i % 8 == 0) printf("""");",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,Algorithm/FOC.cpp,216,C 风格强制类型转换需审查必要性和范围,"if (i < COGGING_TABLE_SIZE - 1) printf("""");",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,Algorithm/FOC.cpp,217,C 风格强制类型转换需审查必要性和范围,"if (i % 8 == 7 || i == COGGING_TABLE_SIZE - 1) printf("""");",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,Algorithm/FOC.cpp,226,C 风格强制类型转换需审查必要性和范围,"if (i % 8 == 0) printf("""");",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,Algorithm/FOC.cpp,228,C 风格强制类型转换需审查必要性和范围,"if (i < COGGING_TABLE_SIZE - 1) printf("""");",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,Algorithm/FOC.cpp,229,C 风格强制类型转换需审查必要性和范围,"if (i % 8 == 7 || i == COGGING_TABLE_SIZE - 1) printf("""");",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,Algorithm/FOC.cpp,246,C 风格强制类型转换需审查必要性和范围,((value - min) / (max - min) * (target_max - target_min)),open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,Algorithm/FOC.cpp,301,C 风格强制类型转换需审查必要性和范围,I_alpha = (2.0f / 3.0f) * current_a - (1.0f / 3.0f) * current_b -,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,Algorithm/FOC.cpp,302,C 风格强制类型转换需审查必要性和范围,(1.0f / 3.0f) * current_c;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,Algorithm/FOC.cpp,605,C 风格强制类型转换需审查必要性和范围,float current_vbus = adc_value[2] * (3.3f / 4096.0f) * 11.0f;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,Algorithm/FOC.cpp,626,C 风格强制类型转换需审查必要性和范围,if ((drop_exceeded || below_absolute) && (!is_shut_down)) {,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,Algorithm/FOC.cpp,695,C 风格强制类型转换需审查必要性和范围,float velocity_error = (target_velocity - rt_velocity) * DIR * REDUCTION_RATIO;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,Algorithm/FOC.cpp,782,C 风格强制类型转换需审查必要性和范围,float Uq = vel_inVelAngloop(velocity_error)* DIR;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,Algorithm/FOC.cpp,813,C 风格强制类型转换需审查必要性和范围,float velocity_error = (target_velocity - rt_velocity)* DIR;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,Algorithm/FOC.h,260,C 风格强制类型转换需审查必要性和范围,typedef float (FOC_Controller::*FOCFunctionPtr)(void);,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,Algorithm/Filter.cpp,150,C 风格强制类型转换需审查必要性和范围,(void)initial_error_covariance;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,Algorithm/Filter.cpp,151,C 风格强制类型转换需审查必要性和范围,(void)process_noise;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,Algorithm/Filter.cpp,152,C 风格强制类型转换需审查必要性和范围,(void)measurement_noise;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,Algorithm/Filter.cpp,190,C 风格强制类型转换需审查必要性和范围,if (error > 180.0f) error -= 360.0f;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,Algorithm/Filter.cpp,191,C 风格强制类型转换需审查必要性和范围,else if (error < -180.0f) error += 360.0f;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,Algorithm/Filter.cpp,196,C 风格强制类型转换需审查必要性和范围,velocity_estimate = velocity_pred + (beta_gain / dt) * error;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,Algorithm/Filter.h,80,C 风格强制类型转换需审查必要性和范围,P = (1 - K) * P;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,Algorithm/Filter.h,96,C 风格强制类型转换需审查必要性和范围,P = (1 - K) * P;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,Algorithm/Filter.h,248,C 风格强制类型转换需审查必要性和范围,(void)initial_error_covariance;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,device/ADC.cpp,41,C 风格强制类型转换需审查必要性和范围,return (raw_adc * ADC_SCALE + CURRENT_OFFSET) * CURRENT_FACTOR;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,device/ADC.cpp,60,C 风格强制类型转换需审查必要性和范围,dma_data_parameter.periph_addr = (uint32_t)(&ADC_RDATA(ADC0));,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,device/ADC.cpp,62,C 风格强制类型转换需审查必要性和范围,dma_data_parameter.memory_addr = (uint32_t)(adc_value);,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,device/ADC.cpp,152,C 风格强制类型转换需审查必要性和范围,(1.43f - adc_value[0] * ADC_SCALE) * TEMP_FACTOR + 35.0f;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,device/ADC.cpp,160,C 风格强制类型转换需审查必要性和范围,float R_now = (float)adc_value[1] / (4096 - (float)adc_value[1]) * 4700;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,device/ADC.cpp,241,C 风格强制类型转换需审查必要性和范围,(1.43f - adc_value[0] * ADC_SCALE) * TEMP_FACTOR + 35.0f;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,device/ADC.cpp,243,C 风格强制类型转换需审查必要性和范围,if (mcu_temp_head >= ADC_FILTER_SIZE) mcu_temp_head = 0;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,device/ADC.cpp,259,C 风格强制类型转换需审查必要性和范围,float R_now = (float)adc_value[1] / (4096 - (float)adc_value[1]) * 4700;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,device/ADC.cpp,263,C 风格强制类型转换需审查必要性和范围,if (drv_temp_head >= ADC_FILTER_SIZE) drv_temp_head = 0;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,device/ADC.cpp,301,C 风格强制类型转换需审查必要性和范围,if (temp_vbus_head >= ADC_FILTER_SIZE) temp_vbus_head = 0;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,device/ADC.cpp,320,C 风格强制类型转换需审查必要性和范围,"(void)adc_inserted_data_read(ADC0, ADC_INSERTED_CHANNEL_0);",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,device/Can.cpp,30,C 风格强制类型转换需审查必要性和范围,"#define CAN_DEBUG_PRINT(fmt, ...) printf(fmt, ##__VA_ARGS__)",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,device/Can.cpp,33,C 风格强制类型转换需审查必要性和范围,"#define CAN_DEBUG_PRINT(fmt, ...) ((void)0)",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,device/Can.cpp,103,C 风格强制类型转换需审查必要性和范围,return ((u32)node_id << 16) | (base_id & 0xFFFF);,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,device/Can.cpp,116,C 风格强制类型转换需审查必要性和范围,u16 rx_node_id = (u16)((received_id >> 16) & 0xFFFF);,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,device/Can.cpp,198,C 风格强制类型转换需审查必要性和范围,return (u8)status;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,device/Can.cpp,317,C 风格强制类型转换需审查必要性和范围,"(uint32_t)(&CAN_RFIFOMDATA0(CAN0, CAN_FIFO0));",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,device/Can.cpp,318,C 风格强制类型转换需审查必要性和范围,dma_rx_parameter.memory_addr = (uint32_t)can_rx_dma_words;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,device/Can.cpp,514,C 风格强制类型转换需审查必要性和范围,can_filter.filter_list_high = (uint16_t)(DEV_CAN_LOOPBACK_ID >> 13U);,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,device/Can.cpp,516,C 风格强制类型转换需审查必要性和范围,((uint16_t)(DEV_CAN_LOOPBACK_ID)) << 3U | (1U << 2);,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,device/Can.cpp,646,C 风格强制类型转换需审查必要性和范围,(CAN_FF_STANDARD == receive_message.rx_ff) &&,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,device/Can.cpp,804,C 风格强制类型转换需审查必要性和范围,uint32_t canfd_en = CAN_FDCTL(CAN0) & CAN_FDCTL_FDEN;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,device/Can.cpp,807,C 风格强制类型转换需审查必要性和范围,message->rx_ff = (uint8_t)(CAN_RFIFOMI_FF & rfifomi);,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,device/Can.cpp,809,C 风格强制类型转换需审查必要性和范围,message->rx_sfid = (uint32_t)(GET_RFIFOMI_SFID(rfifomi));,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,device/Can.cpp,811,C 风格强制类型转换需审查必要性和范围,message->rx_efid = (uint32_t)(GET_RFIFOMI_EFID(rfifomi));,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,device/Can.cpp,813,C 风格强制类型转换需审查必要性和范围,message->rx_ft = (uint8_t)(CAN_RFIFOMI_FT & rfifomi);,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,device/Can.cpp,814,C 风格强制类型转换需审查必要性和范围,message->rx_fi = (uint8_t)(GET_RFIFOMP_FI(rfifomp));,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,device/Can.cpp,815,C 风格强制类型转换需审查必要性和范围,message->fd_flag = (uint8_t)((CAN_RFIFOMP_FDF & rfifomp) >> 7);,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,device/Can.cpp,816,C 风格强制类型转换需审查必要性和范围,dlc = (uint8_t)(GET_RFIFOMP_DLENC(rfifomp));,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,device/Can.cpp,817,C 风格强制类型转换需审查必要性和范围,if ((canfd_en != 0U) && (message->fd_flag != CAN_FDF_CLASSIC)) {,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,device/Can.cpp,819,C 风格强制类型转换需审查必要性和范围,message->fd_brs = (uint8_t)((rfifomp & CAN_RFIFOMP_BRS) >> 5);,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,device/Can.cpp,820,C 风格强制类型转换需审查必要性和范围,message->fd_esi = (uint8_t)((rfifomp & CAN_RFIFOMP_ESI) >> 4);,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,device/Can.cpp,848,C 风格强制类型转换需审查必要性和范围,"(uint32_t)(&CAN_RFIFOMDATA0(CAN0, CAN_FIFO0)));",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,device/Can.cpp,849,C 风格强制类型转换需审查必要性和范围,"dma_memory_address_config(DMA0, DMA_CH4, (uint32_t)can_rx_dma_words);",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,device/Can.cpp,1015,C 风格强制类型转换需审查必要性和范围,u_current_union.f = sampler.get_current('') * 1000;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,device/Can.cpp,1016,C 风格强制类型转换需审查必要性和范围,w_current_union.f = sampler.get_current('') * 1000;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,device/Can.cpp,1017,C 风格强制类型转换需审查必要性和范围,v_current_union.f = sampler.get_current('') * 1000;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,device/Can.cpp,1051,C 风格强制类型转换需审查必要性和范围,transmit_data[30] = (test_u16 >> 8) & 0xFF;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,device/Can.cpp,1102,C 风格强制类型转换需审查必要性和范围,u16 sender_node_id = (u16)((current_message.rx_efid >> 16) & 0xFFFF);,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,device/Can.cpp,1152,C 风格强制类型转换需审查必要性和范围,transmit_data[1] = (u8)(new_node_id & 0xFF);,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,device/Can.cpp,1154,C 风格强制类型转换需审查必要性和范围,(u8)((new_node_id >> 8) & 0xFF);,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,device/Can.cpp,1187,C 风格强制类型转换需审查必要性和范围,transmit_data[1] = (u8)(new_node_id & 0xFF);,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,device/Can.cpp,1188,C 风格强制类型转换需审查必要性和范围,transmit_data[2] = (u8)((new_node_id >> 8) & 0xFF);,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,device/Can.cpp,1279,C 风格强制类型转换需审查必要性和范围,volatile u32 *flash_ptr = (volatile u32 *)n_APP_LATEST_EN_ADDR;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,device/Can.cpp,1281,C 风格强制类型转换需审查必要性和范围,flash_ptr = (volatile u32 *)n_APP_LATEST_CHECK_ADDR;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,device/Can.cpp,1451,C 风格强制类型转换需审查必要性和范围,if ((CAN_FDCTL(CAN0) & CAN_FDCTL_FDEN) == 0U) {,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,device/Can.cpp,1468,C 风格强制类型转换需审查必要性和范围,if ((length != 0U) && (valid_length == 0U)) {,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,device/Can.h,37,C 风格强制类型转换需审查必要性和范围,buffer[offset] = (u8)(value & 0xFF);,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,device/Can.h,38,C 风格强制类型转换需审查必要性和范围,buffer[offset + 1] = (u8)((value >> 8) & 0xFF);,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,device/Can.h,65,C 风格强制类型转换需审查必要性和范围,short value = (short)(buffer[offset] | (buffer[offset + 1] << 8));,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,device/Can.h,77,C 风格强制类型转换需审查必要性和范围,u16 value = (u16)(buffer[offset] | (buffer[offset + 1] << 8));,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,device/Timer.cpp,316,C 风格强制类型转换需审查必要性和范围,TIMER_CH0CV(TIMER1) = (uint32_t)(duty_cycle0 * TIMER1_PERIOD);,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,device/Timer.cpp,317,C 风格强制类型转换需审查必要性和范围,TIMER_CH1CV(TIMER1) = (uint32_t)(duty_cycle1 * TIMER1_PERIOD);,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,device/Timer.cpp,318,C 风格强制类型转换需审查必要性和范围,TIMER_CH2CV(TIMER1) = (uint32_t)(duty_cycle2 * TIMER1_PERIOD);,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,device/ang_sensor.cpp,22,C 风格强制类型转换需审查必要性和范围,"#define ANG_SENS_DEBUG_PRINT(fmt, ...) printf(fmt, ##__VA_ARGS__)",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,device/ang_sensor.cpp,25,C 风格强制类型转换需审查必要性和范围,"#define ANG_SENS_DEBUG_PRINT(fmt, ...) ((void)0)",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,device/ang_sensor.cpp,60,C 风格强制类型转换需审查必要性和范围,dma_init_struct.memory_addr = (uint32_t)0;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,device/ang_sensor.cpp,64,C 风格强制类型转换需审查必要性和范围,dma_init_struct.periph_addr = (uint32_t)(&SPI_DATA(SPI0));,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,device/ang_sensor.cpp,74,C 风格强制类型转换需审查必要性和范围,dma_init_struct.memory_addr = (uint32_t)0;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,device/ang_sensor.cpp,78,C 风格强制类型转换需审查必要性和范围,dma_init_struct.periph_addr = (uint32_t)(&SPI_DATA(SPI0));,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,device/ang_sensor.cpp,113,C 风格强制类型转换需审查必要性和范围,"dma_memory_address_config(DMA0, DMA_CH2, (uint32_t)&tx_data);",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,device/ang_sensor.cpp,119,C 风格强制类型转换需审查必要性和范围,"dma_memory_address_config(DMA0, DMA_CH1, (uint32_t)rx_data);",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,device/ang_sensor.cpp,125,C 风格强制类型转换需审查必要性和范围,while ((!spi_dma_tx_complete || !spi_dma_rx_complete) && --timeout) {,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,device/ang_sensor.cpp,245,C 风格强制类型转换需审查必要性和范围,float angle_deg = -(float)raw_data * ANGLESENS_FACTOR + ANGLESENS_OFFSET;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,device/ang_sensor.cpp,256,C 风格强制类型转换需审查必要性和范围,return (float)FAULT_RECEIVE;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,device/ang_sensor.cpp,294,C 风格强制类型转换需审查必要性和范围,float angle_sensor::getAngle(void) const {,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,device/ang_sensor.cpp,302,C 风格强制类型转换需审查必要性和范围,float angle_sensor::getRawAngle(void) const { return m_cumulativeAngle; },open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,device/ang_sensor.cpp,308,C 风格强制类型转换需审查必要性和范围,float angle_sensor::getcurrent_sensorangle(void) const{,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,device/ang_sensor.h,64,C 风格强制类型转换需审查必要性和范围,float getAngle(void) const;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,device/ang_sensor.h,69,C 风格强制类型转换需审查必要性和范围,float getRawAngle(void) const;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,device/ang_sensor.h,74,C 风格强制类型转换需审查必要性和范围,float getcurrent_sensorangle(void) const;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,main.cpp,22,C 风格强制类型转换需审查必要性和范围,"#define MAIN_DEBUG_PRINT(fmt, ...) printf(fmt, ##__VA_ARGS__)",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,main.cpp,25,C 风格强制类型转换需审查必要性和范围,"#define MAIN_DEBUG_PRINT(fmt, ...) ((void)0)",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,main.cpp,169,C 风格强制类型转换需审查必要性和范围,(FOC.*control_functions[FOC.control_mode])();,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,sys/config.h,381,C 风格强制类型转换需审查必要性和范围,(TIMER2_PERIOD + 1) * (TIMER2_PRESCALER + 1) / 120000000.0f;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,sys/config.h,396,C 风格强制类型转换需审查必要性和范围,(TIMER1_PERIOD + 1) * 0.41 - 1;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,sys/config.h,427,C 风格强制类型转换需审查必要性和范围,while (angle >= 360.0f) angle -= 360.0f;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,sys/config.h,428,C 风格强制类型转换需审查必要性和范围,while (angle < 0.0f) angle += 360.0f;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,sys/flash.cpp,22,C 风格强制类型转换需审查必要性和范围,"#define EEP_DEBUG_PRINT(fmt, ...) printf(fmt, ##__VA_ARGS__)",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,sys/flash.cpp,25,C 风格强制类型转换需审查必要性和范围,"#define EEP_DEBUG_PRINT(fmt, ...) ((void)0)",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,sys/flash.cpp,31,C 风格强制类型转换需审查必要性和范围,"#define OTA_DEBUG_PRINT(fmt, ...) printf(fmt, ##__VA_ARGS__)",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,sys/flash.cpp,34,C 风格强制类型转换需审查必要性和范围,"#define OTA_DEBUG_PRINT(fmt, ...) ((void)0)",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,sys/flash.cpp,120,C 风格强制类型转换需审查必要性和范围,volatile u32 *flash_ptr = (volatile u32 *)address;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,sys/flash.cpp,136,C 风格强制类型转换需审查必要性和范围,"CRC_NUM = crc_block_data_calculate((uint32_t *)data, CONFIG_SAVED_NUM);",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,sys/flash.cpp,138,C 风格强制类型转换需审查必要性和范围,*((u32 *)next_address));,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,sys/flash.cpp,139,C 风格强制类型转换需审查必要性和范围,if (CRC_NUM != *((u32 *)next_address)) {,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,sys/flash.cpp,154,C 风格强制类型转换需审查必要性和范围,FOC.control_mode = (u8)data[0];,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,sys/flash.cpp,169,C 风格强制类型转换需审查必要性和范围,"FlashEepromStatus FlashEEPROM::read(u8 virtualAddr, u16 *data) const {",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,sys/flash.cpp,178,C 风格强制类型转换需审查必要性和范围,u32 data_word = *((u32 *)address);,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,sys/flash.cpp,181,C 风格强制类型转换需审查必要性和范围,u8 addr = (u8)(data_word & DATA_ADDR_MASK);,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,sys/flash.cpp,185,C 风格强制类型转换需审查必要性和范围,*data = (u16)((data_word & DATA_U16_MASK) >> 16);,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,sys/flash.cpp,200,C 风格强制类型转换需审查必要性和范围,"FlashEepromStatus FlashEEPROM::readFloat(u8 virtualAddr, float *data) const {",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,sys/flash.cpp,210,C 风格强制类型转换需审查必要性和范围,volatile u32 *flash_ptr = (volatile u32 *)address;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,sys/flash.cpp,215,C 风格强制类型转换需审查必要性和范围,u8 addr = (u8)(data_word & DATA_ADDR_MASK);,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,sys/flash.cpp,242,C 风格强制类型转换需审查必要性和范围,u32 data_word_to_write = ((u32)data << 16) | (u32)virtualAddr;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,sys/flash.cpp,247,C 风格强制类型转换需审查必要性和范围,volatile u32 *flash_ptr = (volatile u32 *)address;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,sys/flash.cpp,250,C 风格强制类型转换需审查必要性和范围,if ((data_read & DATA_ADDR_MASK) == (u32)virtualAddr) {,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,sys/flash.cpp,255,C 风格强制类型转换需审查必要性和范围,u16 float_data_read = *((u16 *)&data_read);,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,sys/flash.cpp,270,C 风格强制类型转换需审查必要性和范围,volatile u32 *flash_ptr = (volatile u32 *)address;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,sys/flash.cpp,316,C 风格强制类型转换需审查必要性和范围,data_word = (data_word & DATA_FLOAT_MASK) | (u32)virtualAddr;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,sys/flash.cpp,322,C 风格强制类型转换需审查必要性和范围,volatile u32 *flash_ptr = (volatile u32 *)address;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,sys/flash.cpp,326,C 风格强制类型转换需审查必要性和范围,(u32)virtualAddr) {,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,sys/flash.cpp,331,C 风格强制类型转换需审查必要性和范围,float float_data_read = *((float *)&data_word_read);,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,sys/flash.cpp,346,C 风格强制类型转换需审查必要性和范围,volatile u32 *flash_ptr = (volatile u32 *)address;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,sys/flash.cpp,361,C 风格强制类型转换需审查必要性和范围,u32 data_word_c = *((u32 *)next_address);,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,sys/flash.cpp,363,C 风格强制类型转换需审查必要性和范围,float float_data = *((float *)&data_word_c);,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,sys/flash.cpp,416,C 风格强制类型转换需审查必要性和范围,"(float)FOC.control_mode, FOC.limit_voltage,",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,sys/flash.cpp,508,C 风格强制类型转换需审查必要性和范围,crc_data[0] = (u32)node_id;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,sys/flash.cpp,527,C 风格强制类型转换需审查必要性和范围,volatile u32 *flash_ptr = (volatile u32 *)addr;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,sys/flash.cpp,537,C 风格强制类型转换需审查必要性和范围,u16 id_value = (u16)flash_ptr[NODE_ID_VALUE_OFFSET / sizeof(u32)];,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,sys/flash.cpp,579,C 风格强制类型转换需审查必要性和范围,write_data[1] = (u32)node_id;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,sys/flash.cpp,627,C 风格强制类型转换需审查必要性和范围,FlashEepromStatus FlashEEPROM::readNodeId(u16 *node_id) const {,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,sys/flash.cpp,730,C 风格强制类型转换需审查必要性和范围,volatile u32 *flash_ptr = (volatile u32 *)address;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,sys/flash.cpp,742,C 风格强制类型转换需审查必要性和范围,if (*((u32 *)next_address) != CRC_NUM) {,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,sys/flash.cpp,747,C 风格强制类型转换需审查必要性和范围,*((u32 *)next_address));,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,sys/flash.cpp,768,C 风格强制类型转换需审查必要性和范围,if (CRC_NUM == *((u32 *)next_address)) {,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,sys/flash.cpp,796,C 风格强制类型转换需审查必要性和范围,volatile u32 *flash_ptr = (volatile u32 *)addr;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,sys/flash.cpp,815,C 风格强制类型转换需审查必要性和范围,flash_ptr = (volatile u32 *)n_APP_LATEST_AVAL_ADDR;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,sys/flash.cpp,817,C 风格强制类型转换需审查必要性和范围,flash_ptr = (volatile u32 *)n_APP_BACKUP_AVAL_ADDR;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,sys/flash.cpp,819,C 风格强制类型转换需审查必要性和范围,flash_ptr = (volatile u32 *)n_APP_LATEST_EN_ADDR;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,sys/flash.cpp,821,C 风格强制类型转换需审查必要性和范围,flash_ptr = (volatile u32 *)n_APP_BACKUP_EN_ADDR;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,sys/flash.cpp,823,C 风格强制类型转换需审查必要性和范围,flash_ptr = (volatile u32 *)n_APP_LATEST_CHECK_ADDR;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,sys/flash.cpp,825,C 风格强制类型转换需审查必要性和范围,flash_ptr = (volatile u32 *)n_APP_BACKUP_CHECK_ADDR;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,sys/flash.cpp,859,C 风格强制类型转换需审查必要性和范围,flash_ptr = (volatile u32 *)n_APP_LATEST_AVAL_ADDR;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,sys/flash.cpp,861,C 风格强制类型转换需审查必要性和范围,flash_ptr = (volatile u32 *)n_APP_BACKUP_AVAL_ADDR;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,sys/flash.cpp,863,C 风格强制类型转换需审查必要性和范围,flash_ptr = (volatile u32 *)n_APP_LATEST_EN_ADDR;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,sys/flash.cpp,865,C 风格强制类型转换需审查必要性和范围,flash_ptr = (volatile u32 *)n_APP_BACKUP_EN_ADDR;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,sys/flash.cpp,867,C 风格强制类型转换需审查必要性和范围,flash_ptr = (volatile u32 *)n_APP_LATEST_CHECK_ADDR;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,sys/flash.cpp,869,C 风格强制类型转换需审查必要性和范围,flash_ptr = (volatile u32 *)n_APP_BACKUP_CHECK_ADDR;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,sys/flash.cpp,911,C 风格强制类型转换需审查必要性和范围,uint32_t msp_value = *(__IO uint32_t *)BOOTLOADER_START_ADDR;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,sys/flash.cpp,912,C 风格强制类型转换需审查必要性和范围,uint32_t reset_handler = *(__IO uint32_t *)(BOOTLOADER_START_ADDR + 4);,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,sys/flash.cpp,913,C 风格强制类型转换需审查必要性和范围,typedef void (*AppEntryFunc)(void);,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,sys/flash.cpp,914,C 风格强制类型转换需审查必要性和范围,AppEntryFunc app_entry = (AppEntryFunc)reset_handler;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,sys/flash.cpp,962,C 风格强制类型转换需审查必要性和范围,const uint32_t *src_ptr = (const uint32_t *)APPLATEST_START_ADDR;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,sys/flash.cpp,963,C 风格强制类型转换需审查必要性和范围,uint32_t *dst_ptr = (uint32_t *)APPBACK_START_ADDR;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,sys/flash.cpp,969,C 风格强制类型转换需审查必要性和范围,"(uint32_t *)APPLATEST_START_ADDR, APP_MAX_SIZE / 4);",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,sys/flash.cpp,1012,C 风格强制类型转换需审查必要性和范围,"uint32_t dst_crc = crc_block_data_calculate((uint32_t *)APPBACK_START_ADDR,",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,sys/flash.cpp,1020,C 风格强制类型转换需审查必要性和范围,return (fmc_state_enum)0xFF;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,sys/flash.h,15,C 风格强制类型转换需审查必要性和范围,#define ALIGN_4BYTE(addr) ((addr) & 0xFFFFFFFC),open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,sys/flash.h,78,C 风格强制类型转换需审查必要性和范围,"FlashEepromStatus read(u8 virtualAddr, u16 *data) const;",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,sys/flash.h,94,C 风格强制类型转换需审查必要性和范围,"FlashEepromStatus readFloat(u8 virtualAddr, float *data) const;",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,sys/flash.h,135,C 风格强制类型转换需审查必要性和范围,FlashEepromStatus readNodeId(u16 *node_id) const;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,sys/health.cpp,38,C 风格强制类型转换需审查必要性和范围,int drv_temp = (int)sampler.get_drv_temp();,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,sys/health.cpp,39,C 风格强制类型转换需审查必要性和范围,int mcu_temp = (int)sampler.get_mcu_temp();,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,sys/health.cpp,63,C 风格强制类型转换需审查必要性和范围,"u32 currents[3] = {(u32)(sampler.get_current('') * 1000),",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,sys/health.cpp,64,C 风格强制类型转换需审查必要性和范围,"(u32)(sampler.get_current('') * 1000),",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,sys/health.cpp,65,C 风格强制类型转换需审查必要性和范围,(u32)(sampler.get_current('') * 1000)};,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,sys/health.h,16,C 风格强制类型转换需审查必要性和范围,#define FLOAT_TO_Q16_16(x) ((q16_16_t)((x) * Q16_16_ONE)),open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,sys/health.h,18,C 风格强制类型转换需审查必要性和范围,#define Q16_16_TO_FLOAT(x) ((float)(x) / Q16_16_ONE),open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,sys/health.h,20,C 风格强制类型转换需审查必要性和范围,"#define Q16_16_MUL(a, b) ((q16_16_t)(((int64_t)(a) * (b)) >> 16))",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,sys/health.h,22,C 风格强制类型转换需审查必要性和范围,"#define Q16_16_SQUARE(x) Q16_16_MUL((x), (x))",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,sys/initial.cpp,23,C 风格强制类型转换需审查必要性和范围,"#define OTA_DEBUG_PRINT(fmt, ...) printf(fmt, ##__VA_ARGS__)",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,sys/initial.cpp,26,C 风格强制类型转换需审查必要性和范围,"#define OTA_DEBUG_PRINT(fmt, ...) ((void)0)",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,sys/initial.cpp,32,C 风格强制类型转换需审查必要性和范围,"#define EEP_DEBUG_PRINT(fmt, ...) printf(fmt, ##__VA_ARGS__)",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,sys/initial.cpp,35,C 风格强制类型转换需审查必要性和范围,"#define EEP_DEBUG_PRINT(fmt, ...) ((void)0)",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,sys/initial.cpp,147,C 风格强制类型转换需审查必要性和范围,versionData[1] = (softwareVersion.major >> 8) & 0xFF;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,sys/initial.cpp,149,C 风格强制类型转换需审查必要性和范围,versionData[3] = (softwareVersion.minor >> 8) & 0xFF;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,sys/initial.cpp,151,C 风格强制类型转换需审查必要性和范围,versionData[5] = (softwareVersion.patch >> 8) & 0xFF;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,sys/initial.cpp,153,C 风格强制类型转换需审查必要性和范围,versionData[7] = (softwareVersion.build >> 8) & 0xFF;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,sys/initial.cpp,157,C 风格强制类型转换需审查必要性和范围,versionData[9] = (hardwareVersion.major >> 8) & 0xFF;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,sys/initial.cpp,159,C 风格强制类型转换需审查必要性和范围,versionData[11] = (hardwareVersion.minor >> 8) & 0xFF;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,sys/initial.cpp,161,C 风格强制类型转换需审查必要性和范围,versionData[13] = (hardwareVersion.patch >> 8) & 0xFF;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,sys/initial.cpp,163,C 风格强制类型转换需审查必要性和范围,versionData[15] = (hardwareVersion.build >> 8) & 0xFF;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,sys/initial.cpp,167,C 风格强制类型转换需审查必要性和范围,versionData[17] = (bootVersion.major >> 8) & 0xFF;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,sys/initial.cpp,169,C 风格强制类型转换需审查必要性和范围,versionData[19] = (bootVersion.minor >> 8) & 0xFF;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,sys/initial.cpp,171,C 风格强制类型转换需审查必要性和范围,versionData[21] = (bootVersion.patch >> 8) & 0xFF;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,sys/initial.cpp,173,C 风格强制类型转换需审查必要性和范围,versionData[23] = (bootVersion.build >> 8) & 0xFF;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,sys/initial.cpp,224,C 风格强制类型转换需审查必要性和范围,"int fputc(int ch, FILE *f) throw() {",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,sys/initial.cpp,225,C 风格强制类型转换需审查必要性和范围,"usart_data_transmit(EVAL_COM0, (u8)ch);",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,sys/initial.cpp,300,C 风格强制类型转换需审查必要性和范围,volatile u32 *flash_ptr1 = (volatile u32 *)n_APP_LATEST_AVAL_ADDR;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,sys/initial.cpp,302,C 风格强制类型转换需审查必要性和范围,flash_ptr1 = (volatile u32 *)n_APP_BACKUP_AVAL_ADDR;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,sys/initial.cpp,304,C 风格强制类型转换需审查必要性和范围,flash_ptr1 = (volatile u32 *)n_APP_LATEST_EN_ADDR;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,sys/initial.cpp,306,C 风格强制类型转换需审查必要性和范围,flash_ptr1 = (volatile u32 *)n_APP_BACKUP_EN_ADDR;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,sys/initial.cpp,308,C 风格强制类型转换需审查必要性和范围,flash_ptr1 = (volatile u32 *)n_APP_LATEST_CHECK_ADDR;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,sys/initial.cpp,310,C 风格强制类型转换需审查必要性和范围,flash_ptr1 = (volatile u32 *)n_APP_BACKUP_CHECK_ADDR;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,sys/initial.cpp,321,C 风格强制类型转换需审查必要性和范围,volatile u32 *flash_ptr = (volatile u32 *)n_APP_LATEST_CHECK_ADDR;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,sys/initial.cpp,336,C 风格强制类型转换需审查必要性和范围,flash_ptr = (volatile u32 *)n_APP_BACKUP_AVAL_ADDR;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,sys/initial.cpp,338,C 风格强制类型转换需审查必要性和范围,flash_ptr = (volatile u32 *)n_APP_BACKUP_CHECK_ADDR;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,sys/systick.cpp,47,C 风格强制类型转换需审查必要性和范围,"#define SLEEP_DEBUG_PRINT(fmt, ...) printf(fmt, ##__VA_ARGS__)",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,sys/systick.cpp,50,C 风格强制类型转换需审查必要性和范围,"#define SLEEP_DEBUG_PRINT(fmt, ...) ((void)0)",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,sys/systick.cpp,138,C 风格强制类型转换需审查必要性和范围,uint64_t busy_64 = (uint64_t)busy_cycles_accum * 100U;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,sys/systick.cpp,139,C 风格强制类型转换需审查必要性和范围,uint32_t busy_percent = (uint32_t)(busy_64 / SystemCoreClock);,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,sys/systick.cpp,143,C 风格强制类型转换需审查必要性和范围,cpu_usage = (uint8_t)busy_percent;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,sys/systick.cpp,260,C 风格强制类型转换需审查必要性和范围,volatile u32 *flash_ptr = (volatile u32 *)address;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-CAST-001,Required,MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x,sys/systick.cpp,284,C 风格强制类型转换需审查必要性和范围,volatile u32 *flash_ptr = (volatile u32 *)address;,open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-MACRO-001,Advisory,MISRA C:2012 Rule 20.x,Algorithm/FOC.cpp,242,函数式宏需审查括号、副作用和类型安全,"#define _constrain(amt, low, high) \",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-MACRO-001,Advisory,MISRA C:2012 Rule 20.x,Algorithm/FOC.cpp,245,函数式宏需审查括号、副作用和类型安全,"#define constrain(value, min, max, target_min, target_max) \",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-MACRO-001,Advisory,MISRA C:2012 Rule 20.x,Algorithm/pid.cpp,8,函数式宏需审查括号、副作用和类型安全,"#define _constrain(amt, low, high) \",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-MACRO-001,Advisory,MISRA C:2012 Rule 20.x,device/Can.cpp,30,函数式宏需审查括号、副作用和类型安全,"#define CAN_DEBUG_PRINT(fmt, ...) printf(fmt, ##__VA_ARGS__)",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-MACRO-001,Advisory,MISRA C:2012 Rule 20.x,device/Can.cpp,33,函数式宏需审查括号、副作用和类型安全,"#define CAN_DEBUG_PRINT(fmt, ...) ((void)0)",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-MACRO-001,Advisory,MISRA C:2012 Rule 20.x,device/ang_sensor.cpp,22,函数式宏需审查括号、副作用和类型安全,"#define ANG_SENS_DEBUG_PRINT(fmt, ...) printf(fmt, ##__VA_ARGS__)",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-MACRO-001,Advisory,MISRA C:2012 Rule 20.x,device/ang_sensor.cpp,25,函数式宏需审查括号、副作用和类型安全,"#define ANG_SENS_DEBUG_PRINT(fmt, ...) ((void)0)",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-MACRO-001,Advisory,MISRA C:2012 Rule 20.x,device/ang_sensor.cpp,29,函数式宏需审查括号、副作用和类型安全,"#define ANG_SPI_CS_ENABLE() gpio_bit_reset(GPIOA, GPIO_PIN_15)",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-MACRO-001,Advisory,MISRA C:2012 Rule 20.x,device/ang_sensor.cpp,31,函数式宏需审查括号、副作用和类型安全,"#define ANG_SPI_CS_DISABLE() gpio_bit_set(GPIOA, GPIO_PIN_15)",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-MACRO-001,Advisory,MISRA C:2012 Rule 20.x,device/ang_sensor.cpp,33,函数式宏需审查括号、副作用和类型安全,"#define DRV_SPI_CS_ENABLE() gpio_bit_reset(GPIOB, GPIO_PIN_14)",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-MACRO-001,Advisory,MISRA C:2012 Rule 20.x,device/ang_sensor.cpp,35,函数式宏需审查括号、副作用和类型安全,"#define DRV_SPI_CS_DISABLE() gpio_bit_set(GPIOB, GPIO_PIN_14)",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-MACRO-001,Advisory,MISRA C:2012 Rule 20.x,main.cpp,22,函数式宏需审查括号、副作用和类型安全,"#define MAIN_DEBUG_PRINT(fmt, ...) printf(fmt, ##__VA_ARGS__)",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-MACRO-001,Advisory,MISRA C:2012 Rule 20.x,main.cpp,25,函数式宏需审查括号、副作用和类型安全,"#define MAIN_DEBUG_PRINT(fmt, ...) ((void)0)",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-MACRO-001,Advisory,MISRA C:2012 Rule 20.x,sys/flash.cpp,22,函数式宏需审查括号、副作用和类型安全,"#define EEP_DEBUG_PRINT(fmt, ...) printf(fmt, ##__VA_ARGS__)",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-MACRO-001,Advisory,MISRA C:2012 Rule 20.x,sys/flash.cpp,25,函数式宏需审查括号、副作用和类型安全,"#define EEP_DEBUG_PRINT(fmt, ...) ((void)0)",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-MACRO-001,Advisory,MISRA C:2012 Rule 20.x,sys/flash.cpp,31,函数式宏需审查括号、副作用和类型安全,"#define OTA_DEBUG_PRINT(fmt, ...) printf(fmt, ##__VA_ARGS__)",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-MACRO-001,Advisory,MISRA C:2012 Rule 20.x,sys/flash.cpp,34,函数式宏需审查括号、副作用和类型安全,"#define OTA_DEBUG_PRINT(fmt, ...) ((void)0)",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-MACRO-001,Advisory,MISRA C:2012 Rule 20.x,sys/flash.h,15,函数式宏需审查括号、副作用和类型安全,#define ALIGN_4BYTE(addr) ((addr) & 0xFFFFFFFC),open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-MACRO-001,Advisory,MISRA C:2012 Rule 20.x,sys/health.cpp,22,函数式宏需审查括号、副作用和类型安全,"#define max(a, b, c) \",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-MACRO-001,Advisory,MISRA C:2012 Rule 20.x,sys/health.h,16,函数式宏需审查括号、副作用和类型安全,#define FLOAT_TO_Q16_16(x) ((q16_16_t)((x) * Q16_16_ONE)),open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-MACRO-001,Advisory,MISRA C:2012 Rule 20.x,sys/health.h,18,函数式宏需审查括号、副作用和类型安全,#define Q16_16_TO_FLOAT(x) ((float)(x) / Q16_16_ONE),open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-MACRO-001,Advisory,MISRA C:2012 Rule 20.x,sys/health.h,20,函数式宏需审查括号、副作用和类型安全,"#define Q16_16_MUL(a, b) ((q16_16_t)(((int64_t)(a) * (b)) >> 16))",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-MACRO-001,Advisory,MISRA C:2012 Rule 20.x,sys/health.h,22,函数式宏需审查括号、副作用和类型安全,"#define Q16_16_SQUARE(x) Q16_16_MUL((x), (x))",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-MACRO-001,Advisory,MISRA C:2012 Rule 20.x,sys/initial.cpp,23,函数式宏需审查括号、副作用和类型安全,"#define OTA_DEBUG_PRINT(fmt, ...) printf(fmt, ##__VA_ARGS__)",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-MACRO-001,Advisory,MISRA C:2012 Rule 20.x,sys/initial.cpp,26,函数式宏需审查括号、副作用和类型安全,"#define OTA_DEBUG_PRINT(fmt, ...) ((void)0)",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-MACRO-001,Advisory,MISRA C:2012 Rule 20.x,sys/initial.cpp,32,函数式宏需审查括号、副作用和类型安全,"#define EEP_DEBUG_PRINT(fmt, ...) printf(fmt, ##__VA_ARGS__)",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-MACRO-001,Advisory,MISRA C:2012 Rule 20.x,sys/initial.cpp,35,函数式宏需审查括号、副作用和类型安全,"#define EEP_DEBUG_PRINT(fmt, ...) ((void)0)",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-MACRO-001,Advisory,MISRA C:2012 Rule 20.x,sys/systick.cpp,47,函数式宏需审查括号、副作用和类型安全,"#define SLEEP_DEBUG_PRINT(fmt, ...) printf(fmt, ##__VA_ARGS__)",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 -info,AUTO-MACRO-001,Advisory,MISRA C:2012 Rule 20.x,sys/systick.cpp,50,函数式宏需审查括号、副作用和类型安全,"#define SLEEP_DEBUG_PRINT(fmt, ...) ((void)0)",open_review,人工确认是否符合项目编码规范;如合理则记录偏离说明。 diff --git a/static_test_automotive_business_20260523/metrics.csv b/static_test_automotive_business_20260523/metrics.csv deleted file mode 100644 index 0491fcd..0000000 --- a/static_test_automotive_business_20260523/metrics.csv +++ /dev/null @@ -1,200 +0,0 @@ -file,function,start_line,end_line,cyclomatic_complexity,risk -Algorithm/FOC.cpp,FOC_Controller::calibrate_cogging_tick,75,238,33,high -device/Can.cpp,CAN_transmiter::communication_check,1076,1300,27,high -main.cpp,do_task,120,205,17,high -Algorithm/FOC.cpp,FOC_Controller::setSVPWM_PhaseVoltage,392,490,15,medium -sys/flash.cpp,FlashEEPROM::writeFloat,308,383,12,medium -sys/health.cpp,ThermalController::update,35,94,12,medium -device/Can.cpp,can_loopback_test,597,665,11,medium -device/Can.cpp,CAN_transmiter::CANFD_AsyncSend,1448,1504,10,low -sys/flash.cpp,FlashEEPROM::read_saved_system_config,90,161,10,low -sys/flash.cpp,FlashEEPROM::write,237,300,10,low -sys/flash.cpp,FlashEEPROM::writeNodeId,657,717,10,low -sys/flash.cpp,move_app_data,928,1030,10,low -device/Can.cpp,canfd_loopback_test,534,589,9,low -sys/flash.cpp,FlashEEPROM::save_system_config,413,482,9,low -sys/flash.cpp,OTA_SET,792,879,9,low -sys/health.cpp,power_manage,113,149,9,low -device/ADC.cpp,sampler::get_current,194,219,8,low -sys/flash.cpp,FlashEEPROM::writeCRC,724,776,8,low -sys/systick.cpp,app_prepare_deep_sleep,244,298,8,low -device/Timer.cpp,TIMER2_IRQHandler,134,184,7,low -sys/initial.cpp,get_reset_cause,256,290,7,low -Algorithm/FOC.cpp,FOC_Controller::fast_voltage_check,603,642,6,low -device/Can.cpp,CAN_transmiter::CAN_AsyncSend,1399,1440,6,low -sys/flash.cpp,read_node_id_struct,521,558,6,low -sys/initial.cpp,OTA_initial,296,351,6,low -Algorithm/Filter.cpp,EncoderAngleKalman::update,162,200,5,low -device/Can.cpp,CAN_RX_ReadMetadata,800,824,5,low -device/Can.cpp,DMA0_Channel4_IRQHandler,1355,1383,5,low -sys/flash.cpp,FlashEEPROM::read,169,192,5,low -sys/flash.cpp,FlashEEPROM::readFloat,200,229,5,low -Algorithm/FOC.cpp,FOC_Controller::get_cogging_compensation,39,59,4,low -Algorithm/FOC.cpp,FOC_Controller::angle_control_with_velocity_limit,753,796,4,low -device/ADC.cpp,sampler::update_mcu_temp,238,252,4,low -device/ADC.cpp,sampler::update_drv_temp,257,272,4,low -device/ADC.cpp,sampler::update_vbus_voltage,297,311,4,low -device/Can.cpp,CANFD_NormalizeLength,735,744,4,low -device/Can.cpp,CAN_RX_QueuePushFromIsr,758,773,4,low -device/Can.cpp,CAN_RX_PumpFifo0,858,875,4,low -device/Can.cpp,CAN_TX_ServiceQueue,975,990,4,low -device/Can.cpp,CAN0_RX0_IRQHandler,1330,1349,4,low -device/ang_sensor.cpp,angle_sensor::update,263,288,4,low -main.cpp,main,60,86,4,low -sys/flash.cpp,write_node_id_struct,567,599,4,low -Algorithm/FOC.cpp,FOC_Controller::resume_from_thermal,517,523,3,low -Algorithm/FOC.cpp,FOC_Controller::drv_hold,532,541,3,low -Algorithm/FOC.cpp,FOC_Controller::current_control,725,744,3,low -device/ADC.cpp,sampler::update_current,277,292,3,low -device/Can.cpp,CAN_transmiter::load_node_id_from_flash,151,175,3,low -device/Can.cpp,CAN_transmiter::save_node_id_to_flash,185,200,3,low -device/Can.cpp,CAN_transmiter::check_silent_mode,270,278,3,low -device/Can.cpp,can_config,341,395,3,low -device/Can.cpp,can_loopback_init,480,526,3,low -device/Can.cpp,CANFD_DlcToLength,725,728,3,low -device/Can.cpp,CAN_TX_HasEmptyMailbox,789,793,3,low -device/Can.cpp,CAN_RX_StartPayloadDma,831,852,3,low -device/Can.cpp,CAN_TX_QueuePush,903,922,3,low -device/ang_sensor.cpp,angle_sensor::read_sensorAngle,236,257,3,low -sys/config.h,normalizeAngle360,426,430,3,low -sys/flash.cpp,FlashEEPROM::format,390,407,3,low -sys/flash.cpp,FlashEEPROM::readNodeId,627,646,3,low -sys/systick.cpp,systick_config,108,120,3,low -Algorithm/FOC.cpp,FOC_Controller::update_power,568,577,2,low -Algorithm/FOC.cpp,FOC_Controller::velocity_control,693,719,2,low -Algorithm/FOC.cpp,FOC_Controller::MIT_Mode,805,842,2,low -Algorithm/Filter.h,update,90,105,2,low -Algorithm/pid.cpp,PIDController::operator,23,53,2,low -device/ADC.cpp,sampler::init,140,166,2,low -device/Can.cpp,CAN_transmiter::is_message_for_me,115,118,2,low -device/Can.cpp,CAN_transmiter::set_node_id,135,140,2,low -device/Can.cpp,CAN_transmiter::dequeue_rx_message,236,243,2,low -device/Can.cpp,CAN_RX_QueuePop,882,896,2,low -device/Can.cpp,CAN_TX_QueuePeek,929,938,2,low -device/Can.cpp,CAN_TX_QueuePop,945,957,2,low -device/Can.cpp,CAN_TX_DisableTmeIfQueueEmpty,963,969,2,low -device/Can.cpp,CAN_transmiter::CANFD_all_Send,1025,1069,2,low -device/Can.cpp,CAN0_TX_IRQHandler,1509,1513,2,low -device/Can.h,enqueue_rx_message_from_isr,351,357,2,low -device/Timer.cpp,TIMER1_IRQHandler,281,285,2,low -device/Timer.cpp,Set_Pwm,296,303,2,low -sys/flash.cpp,FlashEEPROM::init,68,82,2,low -sys/flash.cpp,FlashEEPROM::read_angle,488,494,2,low -sys/flash.cpp,FlashEEPROM::eraseNodeId,605,620,2,low -sys/flash.cpp,jumpToBOOT,886,921,2,low -sys/initial.cpp,fputc,224,229,2,low -sys/systick.cpp,delay_1s,156,161,2,low -sys/systick.cpp,delay_1ms,169,174,2,low -sys/systick.cpp,delay_decrement,182,186,2,low -sys/systick.cpp,busy_task_enter,198,202,2,low -sys/systick.cpp,busy_task_exit,207,211,2,low -sys/systick.cpp,system_soft_reset,225,236,2,low -Algorithm/FOC.cpp,calibrate_zero_position,253,274,1,low -Algorithm/FOC.cpp,FOC_Controller::init,322,375,1,low -Algorithm/FOC.cpp,FOC_Controller::shut_down,496,500,1,low -Algorithm/FOC.cpp,FOC_Controller::shut_down_thermal,506,511,1,low -Algorithm/FOC.cpp,FOC_Controller::drv_stop,528,528,1,low -Algorithm/FOC.cpp,FOC_Controller::PWM_out,547,551,1,low -Algorithm/FOC.cpp,FOC_Controller::resume,558,563,1,low -Algorithm/FOC.cpp,FOC_Controller::velocity_open_loop,650,664,1,low -Algorithm/FOC.cpp,FOC_Controller::angle_control,672,685,1,low -Algorithm/FOC.h,update_pid_limits,226,231,1,low -Algorithm/Filter.cpp,medium_filter,63,72,1,low -Algorithm/Filter.cpp,kalman,93,93,1,low -Algorithm/Filter.cpp,EncoderVelocityKalman::update,101,108,1,low -Algorithm/Filter.cpp,EncoderVelocityKalman::getVelocity,114,114,1,low -Algorithm/Filter.cpp,EncoderVelocityKalman::setProcessNoise,121,123,1,low -Algorithm/Filter.cpp,EncoderVelocityKalman::setMeasurementNoise,130,132,1,low -Algorithm/Filter.cpp,last_update_count,149,153,1,low -Algorithm/Filter.cpp,EncoderAngleKalman::getAngle,206,206,1,low -Algorithm/Filter.cpp,EncoderAngleKalman::getVelocity,211,211,1,low -Algorithm/Filter.cpp,EncoderAngleKalman::setProcessNoise,218,220,1,low -Algorithm/Filter.cpp,EncoderAngleKalman::setMeasurementNoise,227,229,1,low -Algorithm/Filter.cpp,CurrentKalman::update,259,261,1,low -Algorithm/Filter.cpp,CurrentKalman::getCurrent,267,267,1,low -Algorithm/Filter.cpp,CurrentKalman::setProcessNoise,274,274,1,low -Algorithm/Filter.cpp,CurrentKalman::setMeasurementNoise,281,283,1,low -Algorithm/Filter.h,R,56,56,1,low -Algorithm/Filter.h,predict,63,66,1,low -Algorithm/Filter.h,update,74,83,1,low -Algorithm/Filter.h,getState,111,111,1,low -Algorithm/Filter.h,setProcessNoise,118,118,1,low -Algorithm/Filter.h,setMeasurementNoise,125,125,1,low -Algorithm/Filter.h,resetCovariance,132,132,1,low -Algorithm/Filter.h,getCovariance,138,138,1,low -Algorithm/Filter.h,getProcessNoise,144,144,1,low -Algorithm/Filter.h,init,187,191,1,low -Algorithm/Filter.h,getstate,239,239,1,low -Algorithm/Filter.h,init,247,254,1,low -Algorithm/Filter.h,init,296,300,1,low -Algorithm/pid.cpp,error_prev,20,20,1,low -Algorithm/pid.cpp,PIDController::set_PID,63,67,1,low -Algorithm/pid.cpp,PIDController::set_P,75,77,1,low -Algorithm/pid.cpp,PIDController::set_limit,85,85,1,low -Algorithm/pid.cpp,PIDController::reset,92,96,1,low -Algorithm/pid.cpp,PIDController::reset_integral,103,103,1,low -device/ADC.cpp,current_adc_to_ma,40,42,1,low -device/ADC.cpp,dma_config,50,75,1,low -device/ADC.cpp,adc_config,83,136,1,low -device/ADC.cpp,sampler::get_mcu_temp,172,174,1,low -device/ADC.cpp,sampler::get_drv_temp,183,185,1,low -device/ADC.cpp,sampler::get_vbus_voltage,228,230,1,low -device/Can.cpp,CAN_transmiter::build_can_id,102,104,1,low -device/Can.cpp,CAN_transmiter::get_node_id,126,126,1,low -device/Can.cpp,CAN_transmiter::is_rx_buffer_full,212,214,1,low -device/Can.cpp,CAN_transmiter::is_rx_buffer_empty,223,225,1,low -device/Can.cpp,CAN_transmiter::enter_silent_mode,256,260,1,low -device/Can.cpp,CAN_transmiter::is_in_silent_mode,265,265,1,low -device/Can.cpp,can_gpio_init,286,302,1,low -device/Can.cpp,can_dma_init,310,333,1,low -device/Can.cpp,canfd_config,403,472,1,low -device/Can.cpp,CAN_transmiter::init,671,701,1,low -device/Can.cpp,CAN_EnterCritical,707,711,1,low -device/Can.cpp,CAN_ExitCritical,718,718,1,low -device/Can.cpp,CANFD_WordCount,751,751,1,low -device/Can.cpp,CAN_RX_ReleaseFifo0,775,775,1,low -device/Can.cpp,CAN_RX_Fifo0PendingCount,781,783,1,low -device/Can.cpp,CAN_transmiter::update,995,1018,1,low -device/Can.cpp,CAN_transmiter::CAN_Sleep,1307,1311,1,low -device/Can.cpp,CAN_transmiter::CAN_Wakeup,1318,1324,1,low -device/Can.cpp,DMA0_Channel5_IRQHandler,1389,1391,1,low -device/Can.h,pack_u16_to_bytes,36,39,1,low -device/Can.h,unpack_bytes_to_short,64,67,1,low -device/Can.h,unpack_bytes_to_u16,76,79,1,low -device/Can.h,unpack_bytes_to_float,88,95,1,low -device/Timer.cpp,nvic_config,63,70,1,low -device/Timer.cpp,TIMER2_config,78,111,1,low -device/Timer.cpp,User_timer_init,117,122,1,low -device/Timer.cpp,timer1_gpio_config,189,208,1,low -device/Timer.cpp,timer1_pwm_config,213,274,1,low -device/Timer.cpp,Set_3Pwm,314,319,1,low -device/ang_sensor.cpp,spi_dma_init,50,95,1,low -device/ang_sensor.cpp,KTH7823_gpio_init,166,184,1,low -device/ang_sensor.cpp,KTH7823_spi_init,191,208,1,low -device/ang_sensor.cpp,angle_sensor::init,214,219,1,low -device/ang_sensor.cpp,angle_sensor::angle_set,226,230,1,low -device/ang_sensor.cpp,angle_sensor::getAngle,294,296,1,low -device/ang_sensor.cpp,angle_sensor::getRawAngle,302,302,1,low -device/ang_sensor.cpp,angle_sensor::getcurrent_sensorangle,308,310,1,low -device/motor.cpp,motor_init,16,31,1,low -device/motor.cpp,motor_reset,36,40,1,low -device/motor.cpp,motor_sleep,45,49,1,low -device/motor.cpp,motor_resume,54,58,1,low -main.cpp,hardware_init,92,113,1,low -sys/flash.cpp,write_ADDRESS,48,57,1,low -sys/flash.cpp,calculate_node_id_crc,506,512,1,low -sys/health.cpp,angsens_MG_check,99,103,1,low -sys/health.h,recoveryRate,53,53,1,low -sys/health.h,reset,63,66,1,low -sys/initial.cpp,VersionManager::getSoftwareVersion,55,57,1,low -sys/initial.cpp,VersionManager::getHardwareVersion,63,65,1,low -sys/initial.cpp,VersionManager::getBootVersion,71,73,1,low -sys/initial.cpp,VersionManager::sendVersionInfoViaCan,139,179,1,low -sys/initial.cpp,VersionManager::printVersions,185,197,1,low -sys/initial.cpp,USART0_init,204,207,1,low -sys/initial.cpp,watchdog_init,215,222,1,low -sys/initial.cpp,unused_pin_init,235,248,1,low -sys/systick.cpp,dwt_init,82,90,1,low -sys/systick.cpp,get_systick_ms,98,100,1,low -sys/systick.cpp,idle_task_count,191,193,1,low -sys/systick.cpp,get_cpu_usage,217,217,1,low diff --git a/static_test_automotive_business_20260523/priority_review_list.md b/static_test_automotive_business_20260523/priority_review_list.md deleted file mode 100644 index 2989f86..0000000 --- a/static_test_automotive_business_20260523/priority_review_list.md +++ /dev/null @@ -1,46 +0,0 @@ -# ROBOT_V2 APP 静态测试优先级清单 - -基于业务代码静态测试包生成;当前不要求改代码,因此以下是评审/偏离说明优先级。 - -- **P1 复杂度超阈值** `Algorithm/FOC.cpp:75` `FOC_Controller::calibrate_cogging_tick` - - CC=33,需人工评审分支/异常路径;后续可加单元测试或拆分。 -- **P1 复杂度超阈值** `device/Can.cpp:1076` `CAN_transmiter::communication_check` - - CC=27,需人工评审分支/异常路径;后续可加单元测试或拆分。 -- **P1 复杂度超阈值** `main.cpp:120` `do_task` - - CC=17,需人工评审分支/异常路径;后续可加单元测试或拆分。 -- **P2 continue 偏离候选** `device/Can.cpp:1124` - - 确认是否可重构;若暂不改逻辑,形成偏离说明。 -- **P2 continue 偏离候选** `device/Can.cpp:1194` - - 确认是否可重构;若暂不改逻辑,形成偏离说明。 -- **P2 continue 偏离候选** `device/Can.cpp:1199` - - 确认是否可重构;若暂不改逻辑,形成偏离说明。 -- **P2 continue 偏离候选** `main.cpp:80` - - 确认是否可重构;若暂不改逻辑,形成偏离说明。 -- **P2 continue 偏离候选** `sys/flash.cpp:693` - - 确认是否可重构;若暂不改逻辑,形成偏离说明。 -- **P2 continue 偏离候选** `sys/systick.cpp:264` - - 确认是否可重构;若暂不改逻辑,形成偏离说明。 -- **P2 调试输出隔离** `Algorithm/FOC.cpp` - - 21 处 printf/snprint 类调用;确认宏隔离、量产关闭、实时性影响。 -- **P2 调试输出隔离** `device/Can.cpp` - - 1 处 printf/snprint 类调用;确认宏隔离、量产关闭、实时性影响。 -- **P2 调试输出隔离** `device/ang_sensor.cpp` - - 1 处 printf/snprint 类调用;确认宏隔离、量产关闭、实时性影响。 -- **P2 调试输出隔离** `device/motor.cpp` - - 1 处 printf/snprint 类调用;确认宏隔离、量产关闭、实时性影响。 -- **P2 调试输出隔离** `main.cpp` - - 1 处 printf/snprint 类调用;确认宏隔离、量产关闭、实时性影响。 -- **P2 调试输出隔离** `sys/flash.cpp` - - 2 处 printf/snprint 类调用;确认宏隔离、量产关闭、实时性影响。 -- **P2 调试输出隔离** `sys/initial.cpp` - - 3 处 printf/snprint 类调用;确认宏隔离、量产关闭、实时性影响。 -- **P2 调试输出隔离** `sys/systick.cpp` - - 1 处 printf/snprint 类调用;确认宏隔离、量产关闭、实时性影响。 -- **P3 平台/中断指令偏离候选** `device/Can.cpp` - - 1 处关中断/开中断/WFI/汇编;确认临界区长度和安全机制。 -- **P3 平台/中断指令偏离候选** `main.cpp` - - 3 处关中断/开中断/WFI/汇编;确认临界区长度和安全机制。 -- **P3 平台/中断指令偏离候选** `sys/flash.cpp` - - 5 处关中断/开中断/WFI/汇编;确认临界区长度和安全机制。 -- **P3 平台/中断指令偏离候选** `sys/systick.cpp` - - 1 处关中断/开中断/WFI/汇编;确认临界区长度和安全机制。 diff --git a/static_test_automotive_business_20260523/report.html b/static_test_automotive_business_20260523/report.html deleted file mode 100644 index 3519bb1..0000000 --- a/static_test_automotive_business_20260523/report.html +++ /dev/null @@ -1,2781 +0,0 @@ -ROBOT_V2 APP 汽车电子静态测试报告 -
-

ROBOT_V2 APP 汽车电子静态测试报告

范围:业务代码 Algorithm/、device/、sys/、main.cpp、main.h;排除第三方 GD32 RTE。
本版本已加入补充筛查:Doxygen 覆盖、全局状态、switch default、无限循环、关中断成对性、ISR、magic number、浮点比较等。只生成报告,不修改源码逻辑。
未发现 Error 级硬性高风险项
-
扫描文件数
29
非空代码行估算
4272
主规则 Warning
40
补充 Warning
207
-

主规则命中分布

AUTO-ARRAY-001251
AUTO-CAST-001223
AUTO-FUNC-00231
AUTO-MACRO-00129
AUTO-ASM-00110
AUTO-CTRL-0026
AUTO-MET-0013

补充规则命中分布

SUP-MAG-001439
SUP-GLB-001189
SUP-GLB-00247
SUP-ISR-00118
SUP-CMP-00114
SUP-DOC-00112
SUP-LOOP-0014
SUP-IRQ-0013
SUP-SW-0011
-

高优先级结论

- - -
-

可保存修复确认清单

-
- 每条审查项都可以打勾。勾选状态会自动保存到当前浏览器的 localStorage。Chromium 浏览器还可以点“绑定进度 JSON 文件”,授权后每次勾选都会同步写入该 JSON;每次打开可点“读取绑定文件”恢复。为防止换电脑或清缓存丢失,也可以用“导出/导入进度 JSON”。 -
-
-
0 / 254
- - - - - - - - - - 文件同步:未绑定 -
-
本清单共 254 项:error 0,warning 250,info 4。保存键:robot_v2_app_static_report_checklist_v1
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
确认级别分组规则位置说明证据建议
warning主规则AUTO-CTRL-002device/Can.cpp:1124continue 需避免或说明偏离continue;人工确认是否符合项目编码规范;如合理则记录偏离说明。
warning主规则AUTO-CTRL-002device/Can.cpp:1194continue 需避免或说明偏离continue;人工确认是否符合项目编码规范;如合理则记录偏离说明。
warning主规则AUTO-CTRL-002device/Can.cpp:1199continue 需避免或说明偏离continue;人工确认是否符合项目编码规范;如合理则记录偏离说明。
warning主规则AUTO-CTRL-002main.cpp:80continue 需避免或说明偏离continue;人工确认是否符合项目编码规范;如合理则记录偏离说明。
warning主规则AUTO-CTRL-002sys/flash.cpp:693continue 需避免或说明偏离continue;人工确认是否符合项目编码规范;如合理则记录偏离说明。
warning主规则AUTO-CTRL-002sys/systick.cpp:264continue 需避免或说明偏离continue;人工确认是否符合项目编码规范;如合理则记录偏离说明。
warning主规则AUTO-FUNC-002Algorithm/FOC.cpp:100printf/格式化输出需确认调试隔离和实时性影响printf("");人工确认是否符合项目编码规范;如合理则记录偏离说明。
warning主规则AUTO-FUNC-002Algorithm/FOC.cpp:161printf/格式化输出需确认调试隔离和实时性影响printf("",人工确认是否符合项目编码规范;如合理则记录偏离说明。
warning主规则AUTO-FUNC-002Algorithm/FOC.cpp:195printf/格式化输出需确认调试隔离和实时性影响printf("");人工确认是否符合项目编码规范;如合理则记录偏离说明。
warning主规则AUTO-FUNC-002Algorithm/FOC.cpp:198printf/格式化输出需确认调试隔离和实时性影响printf("", angle_deg, cogging_table[i]);人工确认是否符合项目编码规范;如合理则记录偏离说明。
warning主规则AUTO-FUNC-002Algorithm/FOC.cpp:203printf/格式化输出需确认调试隔离和实时性影响printf("");人工确认是否符合项目编码规范;如合理则记录偏离说明。
warning主规则AUTO-FUNC-002Algorithm/FOC.cpp:206printf/格式化输出需确认调试隔离和实时性影响printf("", angle_deg, cogging_table_rev[i]);人工确认是否符合项目编码规范;如合理则记录偏离说明。
warning主规则AUTO-FUNC-002Algorithm/FOC.cpp:211printf/格式化输出需确认调试隔离和实时性影响printf("");人工确认是否符合项目编码规范;如合理则记录偏离说明。
warning主规则AUTO-FUNC-002Algorithm/FOC.cpp:212printf/格式化输出需确认调试隔离和实时性影响printf("");人工确认是否符合项目编码规范;如合理则记录偏离说明。
warning主规则AUTO-FUNC-002Algorithm/FOC.cpp:214printf/格式化输出需确认调试隔离和实时性影响if (i % 8 == 0) printf("");人工确认是否符合项目编码规范;如合理则记录偏离说明。
warning主规则AUTO-FUNC-002Algorithm/FOC.cpp:215printf/格式化输出需确认调试隔离和实时性影响printf("", cogging_table[i]);人工确认是否符合项目编码规范;如合理则记录偏离说明。
warning主规则AUTO-FUNC-002Algorithm/FOC.cpp:216printf/格式化输出需确认调试隔离和实时性影响if (i < COGGING_TABLE_SIZE - 1) printf("");人工确认是否符合项目编码规范;如合理则记录偏离说明。
warning主规则AUTO-FUNC-002Algorithm/FOC.cpp:217printf/格式化输出需确认调试隔离和实时性影响if (i % 8 == 7 || i == COGGING_TABLE_SIZE - 1) printf("");人工确认是否符合项目编码规范;如合理则记录偏离说明。
warning主规则AUTO-FUNC-002Algorithm/FOC.cpp:220printf/格式化输出需确认调试隔离和实时性影响printf("");人工确认是否符合项目编码规范;如合理则记录偏离说明。
warning主规则AUTO-FUNC-002Algorithm/FOC.cpp:223printf/格式化输出需确认调试隔离和实时性影响printf("");人工确认是否符合项目编码规范;如合理则记录偏离说明。
warning主规则AUTO-FUNC-002Algorithm/FOC.cpp:224printf/格式化输出需确认调试隔离和实时性影响printf("");人工确认是否符合项目编码规范;如合理则记录偏离说明。
warning主规则AUTO-FUNC-002Algorithm/FOC.cpp:226printf/格式化输出需确认调试隔离和实时性影响if (i % 8 == 0) printf("");人工确认是否符合项目编码规范;如合理则记录偏离说明。
warning主规则AUTO-FUNC-002Algorithm/FOC.cpp:227printf/格式化输出需确认调试隔离和实时性影响printf("", cogging_table_rev[i]);人工确认是否符合项目编码规范;如合理则记录偏离说明。
warning主规则AUTO-FUNC-002Algorithm/FOC.cpp:228printf/格式化输出需确认调试隔离和实时性影响if (i < COGGING_TABLE_SIZE - 1) printf("");人工确认是否符合项目编码规范;如合理则记录偏离说明。
warning主规则AUTO-FUNC-002Algorithm/FOC.cpp:229printf/格式化输出需确认调试隔离和实时性影响if (i % 8 == 7 || i == COGGING_TABLE_SIZE - 1) printf("");人工确认是否符合项目编码规范;如合理则记录偏离说明。
warning主规则AUTO-FUNC-002Algorithm/FOC.cpp:232printf/格式化输出需确认调试隔离和实时性影响printf("");人工确认是否符合项目编码规范;如合理则记录偏离说明。
warning主规则AUTO-FUNC-002Algorithm/FOC.cpp:234printf/格式化输出需确认调试隔离和实时性影响printf("");人工确认是否符合项目编码规范;如合理则记录偏离说明。
warning主规则AUTO-FUNC-002device/Can.cpp:30printf/格式化输出需确认调试隔离和实时性影响#define CAN_DEBUG_PRINT(fmt, ...) printf(fmt, ##__VA_ARGS__)人工确认是否符合项目编码规范;如合理则记录偏离说明。
warning主规则AUTO-FUNC-002device/ang_sensor.cpp:22printf/格式化输出需确认调试隔离和实时性影响#define ANG_SENS_DEBUG_PRINT(fmt, ...) printf(fmt, ##__VA_ARGS__)人工确认是否符合项目编码规范;如合理则记录偏离说明。
warning主规则AUTO-FUNC-002device/motor.cpp:38printf/格式化输出需确认调试隔离和实时性影响printf("");人工确认是否符合项目编码规范;如合理则记录偏离说明。
warning主规则AUTO-FUNC-002main.cpp:22printf/格式化输出需确认调试隔离和实时性影响#define MAIN_DEBUG_PRINT(fmt, ...) printf(fmt, ##__VA_ARGS__)人工确认是否符合项目编码规范;如合理则记录偏离说明。
warning主规则AUTO-FUNC-002sys/flash.cpp:22printf/格式化输出需确认调试隔离和实时性影响#define EEP_DEBUG_PRINT(fmt, ...) printf(fmt, ##__VA_ARGS__)人工确认是否符合项目编码规范;如合理则记录偏离说明。
warning主规则AUTO-FUNC-002sys/flash.cpp:31printf/格式化输出需确认调试隔离和实时性影响#define OTA_DEBUG_PRINT(fmt, ...) printf(fmt, ##__VA_ARGS__)人工确认是否符合项目编码规范;如合理则记录偏离说明。
warning主规则AUTO-FUNC-002sys/initial.cpp:23printf/格式化输出需确认调试隔离和实时性影响#define OTA_DEBUG_PRINT(fmt, ...) printf(fmt, ##__VA_ARGS__)人工确认是否符合项目编码规范;如合理则记录偏离说明。
warning主规则AUTO-FUNC-002sys/initial.cpp:32printf/格式化输出需确认调试隔离和实时性影响#define EEP_DEBUG_PRINT(fmt, ...) printf(fmt, ##__VA_ARGS__)人工确认是否符合项目编码规范;如合理则记录偏离说明。
warning主规则AUTO-FUNC-002sys/initial.cpp:129printf/格式化输出需确认调试隔离和实时性影响snprintf(buffer, bufSize, "", version.major, version.minor,人工确认是否符合项目编码规范;如合理则记录偏离说明。
warning主规则AUTO-FUNC-002sys/systick.cpp:47printf/格式化输出需确认调试隔离和实时性影响#define SLEEP_DEBUG_PRINT(fmt, ...) printf(fmt, ##__VA_ARGS__)人工确认是否符合项目编码规范;如合理则记录偏离说明。
warning主规则AUTO-MET-001Algorithm/FOC.cpp:75圈复杂度 33 超过建议阈值 15FOC_Controller::calibrate_cogging_tick建议人工评审分支完整性;后续允许时再考虑拆分或增加单元测试覆盖。
warning主规则AUTO-MET-001device/Can.cpp:1076圈复杂度 27 超过建议阈值 15CAN_transmiter::communication_check建议人工评审分支完整性;后续允许时再考虑拆分或增加单元测试覆盖。
warning主规则AUTO-MET-001main.cpp:120圈复杂度 17 超过建议阈值 15do_task建议人工评审分支完整性;后续允许时再考虑拆分或增加单元测试覆盖。
warning补充筛查SUP-CMP-001Algorithm/FOC.cpp:53浮点变量比较需确认容差或离散状态含义if (rt_velocity < -0.5f) last_table = cogging_table_rev;建议确认是否应使用阈值/容差比较。
warning补充筛查SUP-CMP-001Algorithm/FOC.cpp:54浮点变量比较需确认容差或离散状态含义else if (rt_velocity > 0.5f) last_table = cogging_table;建议确认是否应使用阈值/容差比较。
warning补充筛查SUP-CMP-001Algorithm/FOC.cpp:404浮点变量比较需确认容差或离散状态含义u8 sector_code = (X > 0.0f ? 1u : 0u)建议确认是否应使用阈值/容差比较。
warning补充筛查SUP-CMP-001Algorithm/FOC.cpp:405浮点变量比较需确认容差或离散状态含义+ (Y > 0.0f ? 2u : 0u)建议确认是否应使用阈值/容差比较。
warning补充筛查SUP-CMP-001Algorithm/FOC.cpp:406浮点变量比较需确认容差或离散状态含义+ (Z > 0.0f ? 4u : 0u);建议确认是否应使用阈值/容差比较。
warning补充筛查SUP-CMP-001Algorithm/FOC.cpp:534浮点变量比较需确认容差或离散状态含义if (HOLD_PWM_DUTY > 0.95f) {建议确认是否应使用阈值/容差比较。
warning补充筛查SUP-CMP-001Algorithm/FOC.cpp:536浮点变量比较需确认容差或离散状态含义} else if (HOLD_PWM_DUTY < 0.0f) {建议确认是否应使用阈值/容差比较。
warning补充筛查SUP-CMP-001Algorithm/FOC.cpp:569浮点变量比较需确认容差或离散状态含义if (voltage < 36.0f and voltage > 8.0f) {建议确认是否应使用阈值/容差比较。
warning补充筛查SUP-CMP-001Algorithm/FOC.cpp:763浮点变量比较需确认容差或离散状态含义if (target_velocity < -120.0f) {建议确认是否应使用阈值/容差比较。
warning补充筛查SUP-CMP-001Algorithm/FOC.cpp:765浮点变量比较需确认容差或离散状态含义} else if (target_velocity < -30.0f) {建议确认是否应使用阈值/容差比较。
warning补充筛查SUP-CMP-001Algorithm/Filter.cpp:190浮点变量比较需确认容差或离散状态含义if (error > 180.0f) error -= 360.0f;建议确认是否应使用阈值/容差比较。
warning补充筛查SUP-CMP-001Algorithm/Filter.cpp:191浮点变量比较需确认容差或离散状态含义else if (error < -180.0f) error += 360.0f;建议确认是否应使用阈值/容差比较。
warning补充筛查SUP-CMP-001sys/config.h:427浮点变量比较需确认容差或离散状态含义while (angle >= 360.0f) angle -= 360.0f;建议确认是否应使用阈值/容差比较。
warning补充筛查SUP-CMP-001sys/config.h:428浮点变量比较需确认容差或离散状态含义while (angle < 0.0f) angle += 360.0f;建议确认是否应使用阈值/容差比较。
warning补充筛查SUP-GLB-001Algorithm/FOC.cpp:23文件作用域可变全局对象,需确认封装、并发访问和初始化顺序FOC_Controller FOC;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001device/ADC.cpp:20文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float ADC_SCALE = 3.3f / 4096.0f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001device/ADC.cpp:22文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float TEMP_FACTOR = 1000.0f / 4.3f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001device/ADC.cpp:24文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float VCC_FACTOR = 11.0f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001device/ADC.cpp:26文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float CURRENT_FACTOR =建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001device/ADC.cpp:30文件作用域可变全局对象,需确认封装、并发访问和初始化顺序sampler sampler;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001device/ADC.cpp:33文件作用域可变全局对象,需确认封装、并发访问和初始化顺序static volatile u8 adc_current_frame_ready = 0;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001device/Can.cpp:37文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 CANX = CAN0;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001device/Can.cpp:48文件作用域可变全局对象,需确认封装、并发访问和初始化顺序dma_parameter_struct dma_rx_parameter;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001device/Can.cpp:51文件作用域可变全局对象,需确认封装、并发访问和初始化顺序static volatile bool can_rx_dma_busy = false;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001device/Can.cpp:52文件作用域可变全局对象,需确认封装、并发访问和初始化顺序static can_receive_message_struct can_rx_dma_message;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001device/Can.cpp:72文件作用域可变全局对象,需确认封装、并发访问和初始化顺序static volatile u8 rx_queue_head = 0;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001device/Can.cpp:73文件作用域可变全局对象,需确认封装、并发访问和初始化顺序static volatile u8 rx_queue_tail = 0;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001device/Can.cpp:74文件作用域可变全局对象,需确认封装、并发访问和初始化顺序static volatile u8 rx_queue_count = 0;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001device/Can.cpp:77文件作用域可变全局对象,需确认封装、并发访问和初始化顺序static volatile u8 tx_queue_head = 0;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001device/Can.cpp:78文件作用域可变全局对象,需确认封装、并发访问和初始化顺序static volatile u8 tx_queue_tail = 0;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001device/Can.cpp:79文件作用域可变全局对象,需确认封装、并发访问和初始化顺序static volatile u8 tx_queue_count = 0;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001device/Can.cpp:84文件作用域可变全局对象,需确认封装、并发访问和初始化顺序CAN_transmiter CAN0_transmiter;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001device/Timer.cpp:18文件作用域可变全局对象,需确认封装、并发访问和初始化顺序volatile u32 total_us100_counter = 0;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001device/ang_sensor.cpp:38文件作用域可变全局对象,需确认封装、并发访问和初始化顺序volatile bool spi_dma_tx_complete = false;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001device/ang_sensor.cpp:39文件作用域可变全局对象,需确认封装、并发访问和初始化顺序volatile bool spi_dma_rx_complete = false;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001device/ang_sensor.cpp:41文件作用域可变全局对象,需确认封装、并发访问和初始化顺序angle_sensor KTH7823;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001main.cpp:39文件作用域可变全局对象,需确认封装、并发访问和初始化顺序TaskScheduler scheduler = {0};建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001main.cpp:40文件作用域可变全局对象,需确认封装、并发访问和初始化顺序u32 motor_runtime_50us = 0;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001main.cpp:41文件作用域可变全局对象,需确认封装、并发访问和初始化顺序u32 cnt_test = 0;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:32文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 SOFTWARE_VERSION_MAJOR = 26;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:34文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 SOFTWARE_VERSION_MINOR = 5;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:36文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 SOFTWARE_VERSION_PATCH = 19;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:38文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 SOFTWARE_VERSION_BUILD = 2;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:41文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 HARDWARE_VERSION_MAJOR = 25;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:43文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 HARDWARE_VERSION_MINOR = 12;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:45文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 HARDWARE_VERSION_PATCH = 01;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:47文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 HARDWARE_VERSION_BUILD = 0;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:50文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 BOOT_VERSION_MAJOR = 26;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:52文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 BOOT_VERSION_MINOR = 1;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:54文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 BOOT_VERSION_PATCH = 12;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:56文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 BOOT_VERSION_BUILD = 0;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:60文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u32 BOOTLOADER_SIZE = 0x6000;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:62文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u32 BOOTLOADER_START_ADDR = 0x08000000;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:64文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u32 APPLATEST_START_ADDR = 0x08012000;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:66文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u32 APPBACK_START_ADDR = 0x08006000;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:68文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u32 APP_MAX_SIZE = 0xC000;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:70文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u32 FMC_PAGE_SIZE = 0x400;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:72文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u32 SLEEP_CONFIG_START = 0x0801E400;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:74文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u32 SLEEP_CONFIG_END = 0x0801E800;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:76文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u32 FLASH_EMPTY = 0xFFFFFFFF;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:78文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u32 SLEEP_ENABLE = 0x11111111;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:80文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u32 SLEEP_DISABLE = 0x00000000;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:92文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u32 NODE_ID_PAGE_ADDR = 0x0801E800;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:94文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u32 NODE_ID_PRIMARY_ADDR = 0x0801E800;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:96文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u32 NODE_ID_BACKUP_ADDR = 0x0801E840;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:98文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u32 NODE_ID_MAGIC = 0x4E4F4445;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:100文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 DEFAULT_NODE_ID = 1;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:102文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 BROADCAST_NODE_ID = 0x1FFF;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:104文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 MAX_NODE_ID = 0x1FFE;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:113文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u8 NODE_ID_STRUCT_SIZE = 0x10;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:115文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u8 NODE_ID_MAGIC_OFFSET = 0x00;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:117文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u8 NODE_ID_VALUE_OFFSET = 0x04;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:119文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u8 NODE_ID_COUNTER_OFFSET = 0x08;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:121文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u8 NODE_ID_CRC_OFFSET = 0x0C;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:125文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u32 OTA_CONFIG_NUM = 6;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:127文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u32 n_APP_LATEST_AVAL_ADDR = 0x0801E000;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:129文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u32 n_APP_BACKUP_AVAL_ADDR = 0x0801E004;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:131文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u32 n_APP_LATEST_EN_ADDR = 0x0801E008;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:133文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u32 n_APP_BACKUP_EN_ADDR = 0x0801E00C;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:135文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u32 n_APP_LATEST_CHECK_ADDR = 0x0801E010;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:137文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u32 n_APP_BACKUP_CHECK_ADDR = 0x0801E014;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:139文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u32 OTA_NOT_AVAL = 0xFFFFFFFF;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:141文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u32 OTA_AVAL = 0x00000000;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:145文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u8 PP = 11;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:147文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float DIR = 1.0f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:149文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 REDUCTION_RATIO = 25;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:151文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float CURRENT_OFFSET = -3.31f / 2.0f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:153文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float HOLD_PWM_DUTY = 0.1f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:155文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 ANGLESENS_OFFSET = 0;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:157文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float ANGLESENS_CALIBRATION_ANGLE = 83.0f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:159文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float KE_FACTOR = 0.0f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:163文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float ANGLE_KALMAN_INITIAL_STATE = 0.0f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:165文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float ANGLE_KALMAN_INITIAL_COVARIANCE = 0.0f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:167文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float ANGLE_KALMAN_PROCESS_NOISE_Q = 0.0f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:169文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float ANGLE_KALMAN_MEASUREMENT_NOISE_R = 0.0f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:171文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float ANGLE_OBSERVER_ALPHA = 0.75f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:173文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float ANGLE_OBSERVER_BETA = 0.002f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:177文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float VELOCITY_KALMAN_INITIAL_STATE = 0.0f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:179文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float VELOCITY_KALMAN_INITIAL_COVARIANCE = 1e-3f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:181文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float VELOCITY_KALMAN_PROCESS_NOISE_Q =建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:184文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float VELOCITY_KALMAN_MEASUREMENT_NOISE_R =建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:189文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float CURRENT_KALMAN_INITIAL_STATE = 0.0f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:191文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float CURRENT_KALMAN_INITIAL_COVARIANCE = 100.0f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:193文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float CURRENT_KALMAN_PROCESS_NOISE_Q = 10.0f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:195文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float CURRENT_KALMAN_MEASUREMENT_NOISE_R = 5e-5f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:199文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float DEFAULT_current_loop_p = 0.1f / 100 * 12;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:201文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float current_loop_Ki = 0.55f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:203文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float current_loop_Kd = 3e-4f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:206文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float DEFAULT_vel_loop_p = 0.018f / 100 * 12;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:208文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float vel_loop_Ku = 3.600000e-03 * 0.7 * 100 / 12;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:210文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float vel_loop_Tu = 17.0f * 1e-3f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:212文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float vel_loop_Ki = 1.2 * vel_loop_Ku / vel_loop_Tu;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:214文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float vel_loop_Kd = 0.075 * vel_loop_Ku * vel_loop_Tu * 2;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:217文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float DEFAULT_vel_angloop_p = 0.4f / 100;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:219文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float vel_angloop_Ki = 5.0f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:221文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float vel_angloop_Kd = 5e-05f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:224文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float DEFAULT_angle_angloop_p =建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:227文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float ang_angloop_Ki = 0.00f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:229文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float ang_angloop_Kd = 8e-04f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:232文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float DEFAULT_angle_loop_p = 60.0f / 100 * 12;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:235文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float DEFAULT_angle_MIT_p = 100.0f / 100 * 12;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:237文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float angle_MIT_Ki = 0.0f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:239文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float angle_MIT_Kd = 8e-04f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:242文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float DEFAULT_vel_MIT_p = 5.0f / 100;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:244文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float vel_MIT_Ki = 15.0f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:246文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float vel_MIT_Kd = 1e-04f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:249文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float DEFAULT_current_MIT_p = 0.2f / 100 * 12;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:251文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float current_MIT_Ki = 0.1f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:253文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float current_MIT_Kd = 3e-4f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:260文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float ADC_MAX = 65536.0f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:262文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float PI = 3.14159265358979323846f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:264文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float INV_PI_3 = 3.0f / PI;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:266文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float PI_3 = PI / 3.0f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:268文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float _1_SQRT3 = 0.57735026919f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:270文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float _3PI_2 = 4.71238898038f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:272文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float SQRT3 = 1.7320508075688772f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:274文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float SQRT3DV2 = 0.8660254037844386f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:276文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float COS_PI_3 = 0.5f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:278文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float ANGLE_FACTOR = 25.0f / 180.0f * PI;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:280文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float DEG2RAD = 1.0f / 180.0f * PI;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:282文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float RAD2DEG = 180.0f / PI;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:284文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u8 DEFAULT_VALUE = 0;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:286文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u8 CONFIG_SAVED_NUM = 6;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:290文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 LUT_SIZE = 1024;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:301文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 DEV_CAN0_ID = 0x0000;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:303文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 DEV_CAN0_MASK = 0x0000;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:305文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 DEV_CAN_LOOPBACK_ID = 0x0000;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:308文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 CANFD_STATUS_ID = 0x0100;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:310文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 CANFD_CONFIG_ID = 0x0101;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:312文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 CANFD_VERSION_ID = 0x00FF;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:315文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 CANFD_CMD_ID = 0x0200;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:317文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 CANFD_RESET_ID = 0x0301;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:320文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 CANFD_SET_NODE_ID = 0x0400;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:322文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 CANFD_GET_NODE_ID = 0x0401;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:326文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 CANFD_BOOT_ID = 0x0000;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:328文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 CANFD_OTA_REQ_ID = 0x0100;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:330文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 CANFD_OTA_DATA_ID = 0x0101;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:332文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 CANFD_OTA_ACK_ID = 0x0102;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:334文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 CANFD_OTA_WAIT_ID = 0x0103;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:338文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u8 ADC_FILTER_SIZE = 6;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:340文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u8 BLOCK_SIZE = ADC_FILTER_SIZE * SIZE_FLOAT;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:342文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float ERROR_ADC_VAL = 255.0f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:344文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float MAX_TEMP = 150.0f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:346文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float MIN_TEMP = -40.0f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:348文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float MAX_CURRENT = 40.0f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:350文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float MIN_CURRENT = -40.0f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:352文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float MAX_VCC = 65.0f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:354文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float MIN_VCC = -0.1f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:358文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 VEL_FILTER_SIZE = 4;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:360文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 DEFAULT_COMMAND = 0x0000;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:362文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 FAULT_RECEIVE = 0xFFFF;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:364文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float ANGLE_WRAP_THRESHOLD = 300.0f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:366文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float ANGLE_WRAP_VALUE = 360.0f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:368文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float RAD_FACTOR = 1.0f / ADC_MAX * 2.0f * PI;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:370文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float ANGLESENS_FACTOR = 1.0f / ADC_MAX * 360.0f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:374文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr int TIMER2_PRESCALER = 119;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:376文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr int TIMER2_PERIOD = 49;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:378文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr int MOTOR_PERIOD = 1;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:380文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float TIME_SLICE =建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:383文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float TIMER2_FREQUENCY = 1 / TIME_SLICE;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:385文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float MOTOR_FREQUENCY = 1 / TIME_SLICE / MOTOR_PERIOD;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:389文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr int TIMER1_PRESCALER = 0;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:391文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr int TIMER1_PERIOD = 2999;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:393文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr int TIMER1_DEFAULT_PULSE = 0;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:395文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr int TIMER1_CH3_COMPARE_VALUE =建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:400文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 COGGING_TABLE_SIZE = 128;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:402文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float COGGING_COMP_SCALE = 0.005f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:413文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float VBUS_DROP_THRESHOLD = 5.0f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:415文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float VBUS_ABSOLUTE_MIN = 12.0f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:417文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u32 VBUS_DEBOUNCE_COUNT = 5;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:419文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float VBUS_RECOVERY_RATIO = 0.9f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/health.cpp:19文件作用域可变全局对象,需确认封装、并发访问和初始化顺序ThermalController thermalController;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/health.cpp:25文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 PROTECT_TIME = 6000;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/health.cpp:28文件作用域可变全局对象,需确认封装、并发访问和初始化顺序static VoltageState voltage_state = VoltageState::NORMAL;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/health.cpp:29文件作用域可变全局对象,需确认封装、并发访问和初始化顺序static float last_vbus_slow = 0.0f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/initial.cpp:39文件作用域可变全局对象,需确认封装、并发访问和初始化顺序VersionManager Version;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/systick.cpp:53文件作用域可变全局对象,需确认封装、并发访问和初始化顺序volatile static uint32_t delay;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/systick.cpp:54文件作用域可变全局对象,需确认封装、并发访问和初始化顺序volatile static uint32_t systick_ms = 0;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/systick.cpp:70文件作用域可变全局对象,需确认封装、并发访问和初始化顺序volatile static uint32_t task_enter_cyccnt = 0;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/systick.cpp:71文件作用域可变全局对象,需确认封装、并发访问和初始化顺序volatile static uint32_t busy_cycles_accum = 0;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/systick.cpp:72文件作用域可变全局对象,需确认封装、并发访问和初始化顺序volatile static uint16_t sample_seconds = 0;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/systick.cpp:73文件作用域可变全局对象,需确认封装、并发访问和初始化顺序volatile static uint8_t cpu_usage = 0;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/systick.cpp:74文件作用域可变全局对象,需确认封装、并发访问和初始化顺序volatile static uint8_t dwt_initialized = 0;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-IRQ-001device/Can.cpp:709关中断后未在短窗口内看到开中断,需人工确认成对性__disable_irq();确认所有路径均恢复中断;避免临界区过长。
warning补充筛查SUP-IRQ-001sys/flash.cpp:888关中断后未在短窗口内看到开中断,需人工确认成对性__disable_irq();确认所有路径均恢复中断;避免临界区过长。
warning补充筛查SUP-IRQ-001sys/systick.cpp:256关中断后未在短窗口内看到开中断,需人工确认成对性__disable_irq();确认所有路径均恢复中断;避免临界区过长。
warning补充筛查SUP-SW-001Algorithm/FOC.cpp:89switch 语句疑似缺少 default 分支switch (cog_calib_state) {MISRA 通常要求 default;如枚举已全覆盖也建议显式说明。
warning复杂度评审METRIC-CCAlgorithm/FOC.cpp:75FOC_Controller::calibrate_cogging_tick 圈复杂度 33,risk=highAlgorithm/FOC.cpp:75-238 FOC_Controller::calibrate_cogging_tick人工评审分支完整性;必要时补单元测试或后续拆分。
warning复杂度评审METRIC-CCdevice/Can.cpp:1076CAN_transmiter::communication_check 圈复杂度 27,risk=highdevice/Can.cpp:1076-1300 CAN_transmiter::communication_check人工评审分支完整性;必要时补单元测试或后续拆分。
warning复杂度评审METRIC-CCmain.cpp:120do_task 圈复杂度 17,risk=highmain.cpp:120-205 do_task人工评审分支完整性;必要时补单元测试或后续拆分。
info复杂度评审METRIC-CCAlgorithm/FOC.cpp:392FOC_Controller::setSVPWM_PhaseVoltage 圈复杂度 15,risk=mediumAlgorithm/FOC.cpp:392-490 FOC_Controller::setSVPWM_PhaseVoltage人工评审分支完整性;必要时补单元测试或后续拆分。
info复杂度评审METRIC-CCsys/flash.cpp:308FlashEEPROM::writeFloat 圈复杂度 12,risk=mediumsys/flash.cpp:308-383 FlashEEPROM::writeFloat人工评审分支完整性;必要时补单元测试或后续拆分。
info复杂度评审METRIC-CCsys/health.cpp:35ThermalController::update 圈复杂度 12,risk=mediumsys/health.cpp:35-94 ThermalController::update人工评审分支完整性;必要时补单元测试或后续拆分。
info复杂度评审METRIC-CCdevice/Can.cpp:597can_loopback_test 圈复杂度 11,risk=mediumdevice/Can.cpp:597-665 can_loopback_test人工评审分支完整性;必要时补单元测试或后续拆分。
-
-
- -

Top 圈复杂度

风险复杂度位置函数
high33Algorithm/FOC.cpp:75-238FOC_Controller::calibrate_cogging_tick
high27device/Can.cpp:1076-1300CAN_transmiter::communication_check
high17main.cpp:120-205do_task
medium15Algorithm/FOC.cpp:392-490FOC_Controller::setSVPWM_PhaseVoltage
medium12sys/flash.cpp:308-383FlashEEPROM::writeFloat
medium12sys/health.cpp:35-94ThermalController::update
medium11device/Can.cpp:597-665can_loopback_test
low10device/Can.cpp:1448-1504CAN_transmiter::CANFD_AsyncSend
low10sys/flash.cpp:90-161FlashEEPROM::read_saved_system_config
low10sys/flash.cpp:237-300FlashEEPROM::write
low10sys/flash.cpp:657-717FlashEEPROM::writeNodeId
low10sys/flash.cpp:928-1030move_app_data
low9device/Can.cpp:534-589canfd_loopback_test
low9sys/flash.cpp:413-482FlashEEPROM::save_system_config
low9sys/flash.cpp:792-879OTA_SET
low9sys/health.cpp:113-149power_manage
low8device/ADC.cpp:194-219sampler::get_current
low8sys/flash.cpp:724-776FlashEEPROM::writeCRC
low8sys/systick.cpp:244-298app_prepare_deep_sleep
low7device/Timer.cpp:134-184TIMER2_IRQHandler
low7sys/initial.cpp:256-290get_reset_cause
low6Algorithm/FOC.cpp:603-642FOC_Controller::fast_voltage_check
low6device/Can.cpp:1399-1440CAN_transmiter::CAN_AsyncSend
low6sys/flash.cpp:521-558read_node_id_struct
low6sys/initial.cpp:296-351OTA_initial
low5Algorithm/Filter.cpp:162-200EncoderAngleKalman::update
low5device/Can.cpp:800-824CAN_RX_ReadMetadata
low5device/Can.cpp:1355-1383DMA0_Channel4_IRQHandler
low5sys/flash.cpp:169-192FlashEEPROM::read
low5sys/flash.cpp:200-229FlashEEPROM::readFloat
-

优先级评审清单

**P1 复杂度超阈值** `Algorithm/FOC.cpp:75` `FOC_Controller::calibrate_cogging_tick`
CC=33,需人工评审分支/异常路径;后续可加单元测试或拆分。
**P1 复杂度超阈值** `device/Can.cpp:1076` `CAN_transmiter::communication_check`
CC=27,需人工评审分支/异常路径;后续可加单元测试或拆分。
**P1 复杂度超阈值** `main.cpp:120` `do_task`
CC=17,需人工评审分支/异常路径;后续可加单元测试或拆分。
**P2 continue 偏离候选** `device/Can.cpp:1124`
确认是否可重构;若暂不改逻辑,形成偏离说明。
**P2 continue 偏离候选** `device/Can.cpp:1194`
确认是否可重构;若暂不改逻辑,形成偏离说明。
**P2 continue 偏离候选** `device/Can.cpp:1199`
确认是否可重构;若暂不改逻辑,形成偏离说明。
**P2 continue 偏离候选** `main.cpp:80`
确认是否可重构;若暂不改逻辑,形成偏离说明。
**P2 continue 偏离候选** `sys/flash.cpp:693`
确认是否可重构;若暂不改逻辑,形成偏离说明。
**P2 continue 偏离候选** `sys/systick.cpp:264`
确认是否可重构;若暂不改逻辑,形成偏离说明。
**P2 调试输出隔离** `Algorithm/FOC.cpp`
21 处 printf/snprint 类调用;确认宏隔离、量产关闭、实时性影响。
**P2 调试输出隔离** `device/Can.cpp`
1 处 printf/snprint 类调用;确认宏隔离、量产关闭、实时性影响。
**P2 调试输出隔离** `device/ang_sensor.cpp`
1 处 printf/snprint 类调用;确认宏隔离、量产关闭、实时性影响。
**P2 调试输出隔离** `device/motor.cpp`
1 处 printf/snprint 类调用;确认宏隔离、量产关闭、实时性影响。
**P2 调试输出隔离** `main.cpp`
1 处 printf/snprint 类调用;确认宏隔离、量产关闭、实时性影响。
**P2 调试输出隔离** `sys/flash.cpp`
2 处 printf/snprint 类调用;确认宏隔离、量产关闭、实时性影响。
**P2 调试输出隔离** `sys/initial.cpp`
3 处 printf/snprint 类调用;确认宏隔离、量产关闭、实时性影响。
**P2 调试输出隔离** `sys/systick.cpp`
1 处 printf/snprint 类调用;确认宏隔离、量产关闭、实时性影响。
**P3 平台/中断指令偏离候选** `device/Can.cpp`
1 处关中断/开中断/WFI/汇编;确认临界区长度和安全机制。
**P3 平台/中断指令偏离候选** `main.cpp`
3 处关中断/开中断/WFI/汇编;确认临界区长度和安全机制。
**P3 平台/中断指令偏离候选** `sys/flash.cpp`
5 处关中断/开中断/WFI/汇编;确认临界区长度和安全机制。
**P3 平台/中断指令偏离候选** `sys/systick.cpp`
1 处关中断/开中断/WFI/汇编;确认临界区长度和安全机制。
-

主规则清单

级别规则数量说明参考
infoAUTO-ARRAY-001251数组下标访问需审查边界保护MISRA C:2012 Rule 18.x
infoAUTO-ASM-00110关中断/低功耗/内联汇编等平台相关指令需审查MISRA C:2012 Dir 4.3 / project safety rule
infoAUTO-CAST-001223C 风格强制类型转换需审查必要性和范围MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x
warningAUTO-CTRL-0026continue 需避免或说明偏离MISRA C:2012 Rule 15.5 advisory / structured control flow
warningAUTO-FUNC-00231printf/格式化输出需确认调试隔离和实时性影响MISRA Dir 4.12 / project safety rule
infoAUTO-MACRO-00129函数式宏需审查括号、副作用和类型安全MISRA C:2012 Rule 20.x
warningAUTO-MET-0013圈复杂度 33 超过建议阈值 15Project metric threshold CC <= 15
-

补充规则清单

级别规则数量说明建议
warningSUP-CMP-00114浮点变量比较需确认容差或离散状态含义建议确认是否应使用阈值/容差比较。
infoSUP-DOC-00112接口/函数缺少紧邻 Doxygen 注释建议补充 @brief/@param/@return;内部小函数可按项目规范豁免。
warningSUP-GLB-001189文件作用域可变全局对象,需确认封装、并发访问和初始化顺序建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
infoSUP-GLB-00247extern 全局对象引用,需确认单一定义和共享访问保护确认是否跨 ISR/主循环共享;共享变量建议 volatile 或临界区保护。
warningSUP-IRQ-0013关中断后未在短窗口内看到开中断,需人工确认成对性确认所有路径均恢复中断;避免临界区过长。
infoSUP-ISR-00118中断处理函数需确认执行时间、共享数据保护和禁止阻塞调用人工确认 ISR 内无阻塞、无长耗时,并检查共享变量 volatile/临界区。
infoSUP-LOOP-0014无限循环需确认退出策略、看门狗喂狗和低功耗策略确认循环内任务调度、异常退出/复位策略和看门狗策略。
infoSUP-MAG-001439业务代码中存在裸数字常量,需确认是否应命名化安全相关阈值/时间/比例建议用具名常量或配置宏。
warningSUP-SW-0011switch 语句疑似缺少 default 分支MISRA 通常要求 default;如枚举已全覆盖也建议显式说明。
-

主规则 Warning 明细

规则位置说明证据建议
AUTO-CTRL-002device/Can.cpp:1124continue 需避免或说明偏离continue;人工确认是否符合项目编码规范;如合理则记录偏离说明。
AUTO-CTRL-002device/Can.cpp:1194continue 需避免或说明偏离continue;人工确认是否符合项目编码规范;如合理则记录偏离说明。
AUTO-CTRL-002device/Can.cpp:1199continue 需避免或说明偏离continue;人工确认是否符合项目编码规范;如合理则记录偏离说明。
AUTO-CTRL-002main.cpp:80continue 需避免或说明偏离continue;人工确认是否符合项目编码规范;如合理则记录偏离说明。
AUTO-CTRL-002sys/flash.cpp:693continue 需避免或说明偏离continue;人工确认是否符合项目编码规范;如合理则记录偏离说明。
AUTO-CTRL-002sys/systick.cpp:264continue 需避免或说明偏离continue;人工确认是否符合项目编码规范;如合理则记录偏离说明。
AUTO-FUNC-002Algorithm/FOC.cpp:100printf/格式化输出需确认调试隔离和实时性影响printf("");人工确认是否符合项目编码规范;如合理则记录偏离说明。
AUTO-FUNC-002Algorithm/FOC.cpp:161printf/格式化输出需确认调试隔离和实时性影响printf("",人工确认是否符合项目编码规范;如合理则记录偏离说明。
AUTO-FUNC-002Algorithm/FOC.cpp:195printf/格式化输出需确认调试隔离和实时性影响printf("");人工确认是否符合项目编码规范;如合理则记录偏离说明。
AUTO-FUNC-002Algorithm/FOC.cpp:198printf/格式化输出需确认调试隔离和实时性影响printf("", angle_deg, cogging_table[i]);人工确认是否符合项目编码规范;如合理则记录偏离说明。
AUTO-FUNC-002Algorithm/FOC.cpp:203printf/格式化输出需确认调试隔离和实时性影响printf("");人工确认是否符合项目编码规范;如合理则记录偏离说明。
AUTO-FUNC-002Algorithm/FOC.cpp:206printf/格式化输出需确认调试隔离和实时性影响printf("", angle_deg, cogging_table_rev[i]);人工确认是否符合项目编码规范;如合理则记录偏离说明。
AUTO-FUNC-002Algorithm/FOC.cpp:211printf/格式化输出需确认调试隔离和实时性影响printf("");人工确认是否符合项目编码规范;如合理则记录偏离说明。
AUTO-FUNC-002Algorithm/FOC.cpp:212printf/格式化输出需确认调试隔离和实时性影响printf("");人工确认是否符合项目编码规范;如合理则记录偏离说明。
AUTO-FUNC-002Algorithm/FOC.cpp:214printf/格式化输出需确认调试隔离和实时性影响if (i % 8 == 0) printf("");人工确认是否符合项目编码规范;如合理则记录偏离说明。
AUTO-FUNC-002Algorithm/FOC.cpp:215printf/格式化输出需确认调试隔离和实时性影响printf("", cogging_table[i]);人工确认是否符合项目编码规范;如合理则记录偏离说明。
AUTO-FUNC-002Algorithm/FOC.cpp:216printf/格式化输出需确认调试隔离和实时性影响if (i < COGGING_TABLE_SIZE - 1) printf("");人工确认是否符合项目编码规范;如合理则记录偏离说明。
AUTO-FUNC-002Algorithm/FOC.cpp:217printf/格式化输出需确认调试隔离和实时性影响if (i % 8 == 7 || i == COGGING_TABLE_SIZE - 1) printf("");人工确认是否符合项目编码规范;如合理则记录偏离说明。
AUTO-FUNC-002Algorithm/FOC.cpp:220printf/格式化输出需确认调试隔离和实时性影响printf("");人工确认是否符合项目编码规范;如合理则记录偏离说明。
AUTO-FUNC-002Algorithm/FOC.cpp:223printf/格式化输出需确认调试隔离和实时性影响printf("");人工确认是否符合项目编码规范;如合理则记录偏离说明。
AUTO-FUNC-002Algorithm/FOC.cpp:224printf/格式化输出需确认调试隔离和实时性影响printf("");人工确认是否符合项目编码规范;如合理则记录偏离说明。
AUTO-FUNC-002Algorithm/FOC.cpp:226printf/格式化输出需确认调试隔离和实时性影响if (i % 8 == 0) printf("");人工确认是否符合项目编码规范;如合理则记录偏离说明。
AUTO-FUNC-002Algorithm/FOC.cpp:227printf/格式化输出需确认调试隔离和实时性影响printf("", cogging_table_rev[i]);人工确认是否符合项目编码规范;如合理则记录偏离说明。
AUTO-FUNC-002Algorithm/FOC.cpp:228printf/格式化输出需确认调试隔离和实时性影响if (i < COGGING_TABLE_SIZE - 1) printf("");人工确认是否符合项目编码规范;如合理则记录偏离说明。
AUTO-FUNC-002Algorithm/FOC.cpp:229printf/格式化输出需确认调试隔离和实时性影响if (i % 8 == 7 || i == COGGING_TABLE_SIZE - 1) printf("");人工确认是否符合项目编码规范;如合理则记录偏离说明。
AUTO-FUNC-002Algorithm/FOC.cpp:232printf/格式化输出需确认调试隔离和实时性影响printf("");人工确认是否符合项目编码规范;如合理则记录偏离说明。
AUTO-FUNC-002Algorithm/FOC.cpp:234printf/格式化输出需确认调试隔离和实时性影响printf("");人工确认是否符合项目编码规范;如合理则记录偏离说明。
AUTO-FUNC-002device/Can.cpp:30printf/格式化输出需确认调试隔离和实时性影响#define CAN_DEBUG_PRINT(fmt, ...) printf(fmt, ##__VA_ARGS__)人工确认是否符合项目编码规范;如合理则记录偏离说明。
AUTO-FUNC-002device/ang_sensor.cpp:22printf/格式化输出需确认调试隔离和实时性影响#define ANG_SENS_DEBUG_PRINT(fmt, ...) printf(fmt, ##__VA_ARGS__)人工确认是否符合项目编码规范;如合理则记录偏离说明。
AUTO-FUNC-002device/motor.cpp:38printf/格式化输出需确认调试隔离和实时性影响printf("");人工确认是否符合项目编码规范;如合理则记录偏离说明。
AUTO-FUNC-002main.cpp:22printf/格式化输出需确认调试隔离和实时性影响#define MAIN_DEBUG_PRINT(fmt, ...) printf(fmt, ##__VA_ARGS__)人工确认是否符合项目编码规范;如合理则记录偏离说明。
AUTO-FUNC-002sys/flash.cpp:22printf/格式化输出需确认调试隔离和实时性影响#define EEP_DEBUG_PRINT(fmt, ...) printf(fmt, ##__VA_ARGS__)人工确认是否符合项目编码规范;如合理则记录偏离说明。
AUTO-FUNC-002sys/flash.cpp:31printf/格式化输出需确认调试隔离和实时性影响#define OTA_DEBUG_PRINT(fmt, ...) printf(fmt, ##__VA_ARGS__)人工确认是否符合项目编码规范;如合理则记录偏离说明。
AUTO-FUNC-002sys/initial.cpp:23printf/格式化输出需确认调试隔离和实时性影响#define OTA_DEBUG_PRINT(fmt, ...) printf(fmt, ##__VA_ARGS__)人工确认是否符合项目编码规范;如合理则记录偏离说明。
AUTO-FUNC-002sys/initial.cpp:32printf/格式化输出需确认调试隔离和实时性影响#define EEP_DEBUG_PRINT(fmt, ...) printf(fmt, ##__VA_ARGS__)人工确认是否符合项目编码规范;如合理则记录偏离说明。
AUTO-FUNC-002sys/initial.cpp:129printf/格式化输出需确认调试隔离和实时性影响snprintf(buffer, bufSize, "", version.major, version.minor,人工确认是否符合项目编码规范;如合理则记录偏离说明。
AUTO-FUNC-002sys/systick.cpp:47printf/格式化输出需确认调试隔离和实时性影响#define SLEEP_DEBUG_PRINT(fmt, ...) printf(fmt, ##__VA_ARGS__)人工确认是否符合项目编码规范;如合理则记录偏离说明。
AUTO-MET-001Algorithm/FOC.cpp:75圈复杂度 33 超过建议阈值 15FOC_Controller::calibrate_cogging_tick建议人工评审分支完整性;后续允许时再考虑拆分或增加单元测试覆盖。
AUTO-MET-001device/Can.cpp:1076圈复杂度 27 超过建议阈值 15CAN_transmiter::communication_check建议人工评审分支完整性;后续允许时再考虑拆分或增加单元测试覆盖。
AUTO-MET-001main.cpp:120圈复杂度 17 超过建议阈值 15do_task建议人工评审分支完整性;后续允许时再考虑拆分或增加单元测试覆盖。
-

补充筛查 Warning 明细

规则位置说明证据建议
SUP-CMP-001Algorithm/FOC.cpp:53浮点变量比较需确认容差或离散状态含义if (rt_velocity < -0.5f) last_table = cogging_table_rev;建议确认是否应使用阈值/容差比较。
SUP-CMP-001Algorithm/FOC.cpp:54浮点变量比较需确认容差或离散状态含义else if (rt_velocity > 0.5f) last_table = cogging_table;建议确认是否应使用阈值/容差比较。
SUP-CMP-001Algorithm/FOC.cpp:404浮点变量比较需确认容差或离散状态含义u8 sector_code = (X > 0.0f ? 1u : 0u)建议确认是否应使用阈值/容差比较。
SUP-CMP-001Algorithm/FOC.cpp:405浮点变量比较需确认容差或离散状态含义+ (Y > 0.0f ? 2u : 0u)建议确认是否应使用阈值/容差比较。
SUP-CMP-001Algorithm/FOC.cpp:406浮点变量比较需确认容差或离散状态含义+ (Z > 0.0f ? 4u : 0u);建议确认是否应使用阈值/容差比较。
SUP-CMP-001Algorithm/FOC.cpp:534浮点变量比较需确认容差或离散状态含义if (HOLD_PWM_DUTY > 0.95f) {建议确认是否应使用阈值/容差比较。
SUP-CMP-001Algorithm/FOC.cpp:536浮点变量比较需确认容差或离散状态含义} else if (HOLD_PWM_DUTY < 0.0f) {建议确认是否应使用阈值/容差比较。
SUP-CMP-001Algorithm/FOC.cpp:569浮点变量比较需确认容差或离散状态含义if (voltage < 36.0f and voltage > 8.0f) {建议确认是否应使用阈值/容差比较。
SUP-CMP-001Algorithm/FOC.cpp:763浮点变量比较需确认容差或离散状态含义if (target_velocity < -120.0f) {建议确认是否应使用阈值/容差比较。
SUP-CMP-001Algorithm/FOC.cpp:765浮点变量比较需确认容差或离散状态含义} else if (target_velocity < -30.0f) {建议确认是否应使用阈值/容差比较。
SUP-CMP-001Algorithm/Filter.cpp:190浮点变量比较需确认容差或离散状态含义if (error > 180.0f) error -= 360.0f;建议确认是否应使用阈值/容差比较。
SUP-CMP-001Algorithm/Filter.cpp:191浮点变量比较需确认容差或离散状态含义else if (error < -180.0f) error += 360.0f;建议确认是否应使用阈值/容差比较。
SUP-CMP-001sys/config.h:427浮点变量比较需确认容差或离散状态含义while (angle >= 360.0f) angle -= 360.0f;建议确认是否应使用阈值/容差比较。
SUP-CMP-001sys/config.h:428浮点变量比较需确认容差或离散状态含义while (angle < 0.0f) angle += 360.0f;建议确认是否应使用阈值/容差比较。
SUP-GLB-001Algorithm/FOC.cpp:23文件作用域可变全局对象,需确认封装、并发访问和初始化顺序FOC_Controller FOC;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001device/ADC.cpp:20文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float ADC_SCALE = 3.3f / 4096.0f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001device/ADC.cpp:22文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float TEMP_FACTOR = 1000.0f / 4.3f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001device/ADC.cpp:24文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float VCC_FACTOR = 11.0f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001device/ADC.cpp:26文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float CURRENT_FACTOR =建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001device/ADC.cpp:30文件作用域可变全局对象,需确认封装、并发访问和初始化顺序sampler sampler;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001device/ADC.cpp:33文件作用域可变全局对象,需确认封装、并发访问和初始化顺序static volatile u8 adc_current_frame_ready = 0;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001device/Can.cpp:37文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 CANX = CAN0;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001device/Can.cpp:48文件作用域可变全局对象,需确认封装、并发访问和初始化顺序dma_parameter_struct dma_rx_parameter;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001device/Can.cpp:51文件作用域可变全局对象,需确认封装、并发访问和初始化顺序static volatile bool can_rx_dma_busy = false;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001device/Can.cpp:52文件作用域可变全局对象,需确认封装、并发访问和初始化顺序static can_receive_message_struct can_rx_dma_message;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001device/Can.cpp:72文件作用域可变全局对象,需确认封装、并发访问和初始化顺序static volatile u8 rx_queue_head = 0;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001device/Can.cpp:73文件作用域可变全局对象,需确认封装、并发访问和初始化顺序static volatile u8 rx_queue_tail = 0;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001device/Can.cpp:74文件作用域可变全局对象,需确认封装、并发访问和初始化顺序static volatile u8 rx_queue_count = 0;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001device/Can.cpp:77文件作用域可变全局对象,需确认封装、并发访问和初始化顺序static volatile u8 tx_queue_head = 0;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001device/Can.cpp:78文件作用域可变全局对象,需确认封装、并发访问和初始化顺序static volatile u8 tx_queue_tail = 0;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001device/Can.cpp:79文件作用域可变全局对象,需确认封装、并发访问和初始化顺序static volatile u8 tx_queue_count = 0;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001device/Can.cpp:84文件作用域可变全局对象,需确认封装、并发访问和初始化顺序CAN_transmiter CAN0_transmiter;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001device/Timer.cpp:18文件作用域可变全局对象,需确认封装、并发访问和初始化顺序volatile u32 total_us100_counter = 0;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001device/ang_sensor.cpp:38文件作用域可变全局对象,需确认封装、并发访问和初始化顺序volatile bool spi_dma_tx_complete = false;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001device/ang_sensor.cpp:39文件作用域可变全局对象,需确认封装、并发访问和初始化顺序volatile bool spi_dma_rx_complete = false;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001device/ang_sensor.cpp:41文件作用域可变全局对象,需确认封装、并发访问和初始化顺序angle_sensor KTH7823;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001main.cpp:39文件作用域可变全局对象,需确认封装、并发访问和初始化顺序TaskScheduler scheduler = {0};建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001main.cpp:40文件作用域可变全局对象,需确认封装、并发访问和初始化顺序u32 motor_runtime_50us = 0;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001main.cpp:41文件作用域可变全局对象,需确认封装、并发访问和初始化顺序u32 cnt_test = 0;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:32文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 SOFTWARE_VERSION_MAJOR = 26;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:34文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 SOFTWARE_VERSION_MINOR = 5;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:36文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 SOFTWARE_VERSION_PATCH = 19;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:38文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 SOFTWARE_VERSION_BUILD = 2;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:41文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 HARDWARE_VERSION_MAJOR = 25;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:43文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 HARDWARE_VERSION_MINOR = 12;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:45文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 HARDWARE_VERSION_PATCH = 01;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:47文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 HARDWARE_VERSION_BUILD = 0;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:50文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 BOOT_VERSION_MAJOR = 26;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:52文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 BOOT_VERSION_MINOR = 1;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:54文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 BOOT_VERSION_PATCH = 12;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:56文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 BOOT_VERSION_BUILD = 0;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:60文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u32 BOOTLOADER_SIZE = 0x6000;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:62文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u32 BOOTLOADER_START_ADDR = 0x08000000;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:64文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u32 APPLATEST_START_ADDR = 0x08012000;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:66文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u32 APPBACK_START_ADDR = 0x08006000;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:68文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u32 APP_MAX_SIZE = 0xC000;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:70文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u32 FMC_PAGE_SIZE = 0x400;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:72文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u32 SLEEP_CONFIG_START = 0x0801E400;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:74文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u32 SLEEP_CONFIG_END = 0x0801E800;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:76文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u32 FLASH_EMPTY = 0xFFFFFFFF;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:78文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u32 SLEEP_ENABLE = 0x11111111;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:80文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u32 SLEEP_DISABLE = 0x00000000;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:92文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u32 NODE_ID_PAGE_ADDR = 0x0801E800;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:94文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u32 NODE_ID_PRIMARY_ADDR = 0x0801E800;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:96文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u32 NODE_ID_BACKUP_ADDR = 0x0801E840;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:98文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u32 NODE_ID_MAGIC = 0x4E4F4445;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:100文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 DEFAULT_NODE_ID = 1;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:102文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 BROADCAST_NODE_ID = 0x1FFF;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:104文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 MAX_NODE_ID = 0x1FFE;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:113文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u8 NODE_ID_STRUCT_SIZE = 0x10;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:115文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u8 NODE_ID_MAGIC_OFFSET = 0x00;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:117文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u8 NODE_ID_VALUE_OFFSET = 0x04;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:119文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u8 NODE_ID_COUNTER_OFFSET = 0x08;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:121文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u8 NODE_ID_CRC_OFFSET = 0x0C;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:125文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u32 OTA_CONFIG_NUM = 6;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:127文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u32 n_APP_LATEST_AVAL_ADDR = 0x0801E000;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:129文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u32 n_APP_BACKUP_AVAL_ADDR = 0x0801E004;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:131文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u32 n_APP_LATEST_EN_ADDR = 0x0801E008;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:133文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u32 n_APP_BACKUP_EN_ADDR = 0x0801E00C;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:135文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u32 n_APP_LATEST_CHECK_ADDR = 0x0801E010;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:137文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u32 n_APP_BACKUP_CHECK_ADDR = 0x0801E014;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:139文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u32 OTA_NOT_AVAL = 0xFFFFFFFF;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:141文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u32 OTA_AVAL = 0x00000000;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:145文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u8 PP = 11;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:147文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float DIR = 1.0f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:149文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 REDUCTION_RATIO = 25;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:151文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float CURRENT_OFFSET = -3.31f / 2.0f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:153文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float HOLD_PWM_DUTY = 0.1f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:155文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 ANGLESENS_OFFSET = 0;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:157文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float ANGLESENS_CALIBRATION_ANGLE = 83.0f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:159文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float KE_FACTOR = 0.0f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:163文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float ANGLE_KALMAN_INITIAL_STATE = 0.0f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:165文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float ANGLE_KALMAN_INITIAL_COVARIANCE = 0.0f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:167文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float ANGLE_KALMAN_PROCESS_NOISE_Q = 0.0f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:169文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float ANGLE_KALMAN_MEASUREMENT_NOISE_R = 0.0f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:171文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float ANGLE_OBSERVER_ALPHA = 0.75f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:173文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float ANGLE_OBSERVER_BETA = 0.002f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:177文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float VELOCITY_KALMAN_INITIAL_STATE = 0.0f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:179文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float VELOCITY_KALMAN_INITIAL_COVARIANCE = 1e-3f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:181文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float VELOCITY_KALMAN_PROCESS_NOISE_Q =建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:184文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float VELOCITY_KALMAN_MEASUREMENT_NOISE_R =建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:189文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float CURRENT_KALMAN_INITIAL_STATE = 0.0f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:191文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float CURRENT_KALMAN_INITIAL_COVARIANCE = 100.0f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:193文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float CURRENT_KALMAN_PROCESS_NOISE_Q = 10.0f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:195文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float CURRENT_KALMAN_MEASUREMENT_NOISE_R = 5e-5f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:199文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float DEFAULT_current_loop_p = 0.1f / 100 * 12;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:201文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float current_loop_Ki = 0.55f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:203文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float current_loop_Kd = 3e-4f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:206文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float DEFAULT_vel_loop_p = 0.018f / 100 * 12;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:208文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float vel_loop_Ku = 3.600000e-03 * 0.7 * 100 / 12;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:210文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float vel_loop_Tu = 17.0f * 1e-3f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:212文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float vel_loop_Ki = 1.2 * vel_loop_Ku / vel_loop_Tu;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:214文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float vel_loop_Kd = 0.075 * vel_loop_Ku * vel_loop_Tu * 2;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:217文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float DEFAULT_vel_angloop_p = 0.4f / 100;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:219文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float vel_angloop_Ki = 5.0f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:221文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float vel_angloop_Kd = 5e-05f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:224文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float DEFAULT_angle_angloop_p =建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:227文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float ang_angloop_Ki = 0.00f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:229文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float ang_angloop_Kd = 8e-04f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:232文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float DEFAULT_angle_loop_p = 60.0f / 100 * 12;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:235文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float DEFAULT_angle_MIT_p = 100.0f / 100 * 12;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:237文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float angle_MIT_Ki = 0.0f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:239文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float angle_MIT_Kd = 8e-04f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:242文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float DEFAULT_vel_MIT_p = 5.0f / 100;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:244文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float vel_MIT_Ki = 15.0f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:246文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float vel_MIT_Kd = 1e-04f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:249文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float DEFAULT_current_MIT_p = 0.2f / 100 * 12;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:251文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float current_MIT_Ki = 0.1f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:253文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float current_MIT_Kd = 3e-4f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:260文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float ADC_MAX = 65536.0f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:262文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float PI = 3.14159265358979323846f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:264文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float INV_PI_3 = 3.0f / PI;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:266文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float PI_3 = PI / 3.0f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:268文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float _1_SQRT3 = 0.57735026919f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:270文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float _3PI_2 = 4.71238898038f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:272文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float SQRT3 = 1.7320508075688772f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:274文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float SQRT3DV2 = 0.8660254037844386f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:276文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float COS_PI_3 = 0.5f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:278文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float ANGLE_FACTOR = 25.0f / 180.0f * PI;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:280文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float DEG2RAD = 1.0f / 180.0f * PI;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:282文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float RAD2DEG = 180.0f / PI;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:284文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u8 DEFAULT_VALUE = 0;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:286文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u8 CONFIG_SAVED_NUM = 6;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:290文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 LUT_SIZE = 1024;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:301文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 DEV_CAN0_ID = 0x0000;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:303文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 DEV_CAN0_MASK = 0x0000;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:305文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 DEV_CAN_LOOPBACK_ID = 0x0000;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:308文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 CANFD_STATUS_ID = 0x0100;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:310文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 CANFD_CONFIG_ID = 0x0101;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:312文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 CANFD_VERSION_ID = 0x00FF;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:315文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 CANFD_CMD_ID = 0x0200;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:317文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 CANFD_RESET_ID = 0x0301;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:320文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 CANFD_SET_NODE_ID = 0x0400;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:322文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 CANFD_GET_NODE_ID = 0x0401;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:326文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 CANFD_BOOT_ID = 0x0000;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:328文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 CANFD_OTA_REQ_ID = 0x0100;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:330文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 CANFD_OTA_DATA_ID = 0x0101;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:332文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 CANFD_OTA_ACK_ID = 0x0102;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:334文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 CANFD_OTA_WAIT_ID = 0x0103;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:338文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u8 ADC_FILTER_SIZE = 6;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:340文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u8 BLOCK_SIZE = ADC_FILTER_SIZE * SIZE_FLOAT;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:342文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float ERROR_ADC_VAL = 255.0f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:344文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float MAX_TEMP = 150.0f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:346文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float MIN_TEMP = -40.0f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:348文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float MAX_CURRENT = 40.0f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:350文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float MIN_CURRENT = -40.0f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:352文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float MAX_VCC = 65.0f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:354文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float MIN_VCC = -0.1f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:358文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 VEL_FILTER_SIZE = 4;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:360文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 DEFAULT_COMMAND = 0x0000;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:362文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 FAULT_RECEIVE = 0xFFFF;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:364文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float ANGLE_WRAP_THRESHOLD = 300.0f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:366文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float ANGLE_WRAP_VALUE = 360.0f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:368文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float RAD_FACTOR = 1.0f / ADC_MAX * 2.0f * PI;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:370文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float ANGLESENS_FACTOR = 1.0f / ADC_MAX * 360.0f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:374文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr int TIMER2_PRESCALER = 119;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:376文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr int TIMER2_PERIOD = 49;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:378文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr int MOTOR_PERIOD = 1;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:380文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float TIME_SLICE =建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:383文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float TIMER2_FREQUENCY = 1 / TIME_SLICE;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:385文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float MOTOR_FREQUENCY = 1 / TIME_SLICE / MOTOR_PERIOD;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:389文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr int TIMER1_PRESCALER = 0;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:391文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr int TIMER1_PERIOD = 2999;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:393文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr int TIMER1_DEFAULT_PULSE = 0;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:395文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr int TIMER1_CH3_COMPARE_VALUE =建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:400文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 COGGING_TABLE_SIZE = 128;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:402文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float COGGING_COMP_SCALE = 0.005f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:413文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float VBUS_DROP_THRESHOLD = 5.0f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:415文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float VBUS_ABSOLUTE_MIN = 12.0f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:417文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u32 VBUS_DEBOUNCE_COUNT = 5;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:419文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float VBUS_RECOVERY_RATIO = 0.9f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/health.cpp:19文件作用域可变全局对象,需确认封装、并发访问和初始化顺序ThermalController thermalController;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/health.cpp:25文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 PROTECT_TIME = 6000;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/health.cpp:28文件作用域可变全局对象,需确认封装、并发访问和初始化顺序static VoltageState voltage_state = VoltageState::NORMAL;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/health.cpp:29文件作用域可变全局对象,需确认封装、并发访问和初始化顺序static float last_vbus_slow = 0.0f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/initial.cpp:39文件作用域可变全局对象,需确认封装、并发访问和初始化顺序VersionManager Version;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/systick.cpp:53文件作用域可变全局对象,需确认封装、并发访问和初始化顺序volatile static uint32_t delay;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/systick.cpp:54文件作用域可变全局对象,需确认封装、并发访问和初始化顺序volatile static uint32_t systick_ms = 0;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/systick.cpp:70文件作用域可变全局对象,需确认封装、并发访问和初始化顺序volatile static uint32_t task_enter_cyccnt = 0;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/systick.cpp:71文件作用域可变全局对象,需确认封装、并发访问和初始化顺序volatile static uint32_t busy_cycles_accum = 0;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/systick.cpp:72文件作用域可变全局对象,需确认封装、并发访问和初始化顺序volatile static uint16_t sample_seconds = 0;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/systick.cpp:73文件作用域可变全局对象,需确认封装、并发访问和初始化顺序volatile static uint8_t cpu_usage = 0;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/systick.cpp:74文件作用域可变全局对象,需确认封装、并发访问和初始化顺序volatile static uint8_t dwt_initialized = 0;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-IRQ-001device/Can.cpp:709关中断后未在短窗口内看到开中断,需人工确认成对性__disable_irq();确认所有路径均恢复中断;避免临界区过长。
SUP-IRQ-001sys/flash.cpp:888关中断后未在短窗口内看到开中断,需人工确认成对性__disable_irq();确认所有路径均恢复中断;避免临界区过长。
SUP-IRQ-001sys/systick.cpp:256关中断后未在短窗口内看到开中断,需人工确认成对性__disable_irq();确认所有路径均恢复中断;避免临界区过长。
SUP-SW-001Algorithm/FOC.cpp:89switch 语句疑似缺少 default 分支switch (cog_calib_state) {MISRA 通常要求 default;如枚举已全覆盖也建议显式说明。
-

输出文件

- - - - \ No newline at end of file diff --git a/static_test_automotive_business_20260523/report.md b/static_test_automotive_business_20260523/report.md deleted file mode 100644 index febe4e6..0000000 --- a/static_test_automotive_business_20260523/report.md +++ /dev/null @@ -1,143 +0,0 @@ -# ROBOT_V2 APP 业务代码汽车电子静态测试包 - -## 范围 -- 根目录: `/workzone/ROBOT_V2/APP/Robot_V2` -- 包含: `Algorithm/`, `device/`, `sys/`, `main.cpp`, `main.h` -- 排除: `RTE/` 第三方 GD32 库、工程生成文件、临时目录 -- 方式: 只读扫描,不修改代码 - -## 工具环境限制 -- 当前环境未安装 QAC / Polyspace / Coverity / PC-lint / cppcheck / 交叉编译器。 -- 本报告为汽车电子规则初筛和评审入口,不等同正式 MISRA/AUTOSAR 合规报告。 - -## 总览 -- 扫描文件数: 29 -- 总行数: 8159 -- 非空代码行估算: 4272 -- error: 0 -- warning: 40 -- info: 513 - -## 规则命中统计 -- AUTO-ARRAY-001: 251 -- AUTO-ASM-001: 10 -- AUTO-CAST-001: 223 -- AUTO-CTRL-002: 6 -- AUTO-FUNC-002: 31 -- AUTO-MACRO-001: 29 -- AUTO-MET-001: 3 - -## 高优先级结论 -- 未发现动态内存、goto、高风险 C 字符串/输入函数等硬性高风险项。 -- 复杂度超过 15 的函数需要人工评审或后续单元测试加强。 -- `continue`、调试输出、关中断/开中断属于偏离说明候选。 - -## Top 圈复杂度 -- 33 `Algorithm/FOC.cpp:75-238` `FOC_Controller::calibrate_cogging_tick` risk=high -- 27 `device/Can.cpp:1076-1300` `CAN_transmiter::communication_check` risk=high -- 17 `main.cpp:120-205` `do_task` risk=high -- 15 `Algorithm/FOC.cpp:392-490` `FOC_Controller::setSVPWM_PhaseVoltage` risk=medium -- 12 `sys/flash.cpp:308-383` `FlashEEPROM::writeFloat` risk=medium -- 12 `sys/health.cpp:35-94` `ThermalController::update` risk=medium -- 11 `device/Can.cpp:597-665` `can_loopback_test` risk=medium -- 10 `device/Can.cpp:1448-1504` `CAN_transmiter::CANFD_AsyncSend` risk=low -- 10 `sys/flash.cpp:90-161` `FlashEEPROM::read_saved_system_config` risk=low -- 10 `sys/flash.cpp:237-300` `FlashEEPROM::write` risk=low -- 10 `sys/flash.cpp:657-717` `FlashEEPROM::writeNodeId` risk=low -- 10 `sys/flash.cpp:928-1030` `move_app_data` risk=low -- 9 `device/Can.cpp:534-589` `canfd_loopback_test` risk=low -- 9 `sys/flash.cpp:413-482` `FlashEEPROM::save_system_config` risk=low -- 9 `sys/flash.cpp:792-879` `OTA_SET` risk=low -- 9 `sys/health.cpp:113-149` `power_manage` risk=low -- 8 `device/ADC.cpp:194-219` `sampler::get_current` risk=low -- 8 `sys/flash.cpp:724-776` `FlashEEPROM::writeCRC` risk=low -- 8 `sys/systick.cpp:244-298` `app_prepare_deep_sleep` risk=low -- 7 `device/Timer.cpp:134-184` `TIMER2_IRQHandler` risk=low - -## Warning 明细 -- [AUTO-CTRL-002] `device/Can.cpp:1124` continue 需避免或说明偏离 - - `continue;` -- [AUTO-CTRL-002] `device/Can.cpp:1194` continue 需避免或说明偏离 - - `continue;` -- [AUTO-CTRL-002] `device/Can.cpp:1199` continue 需避免或说明偏离 - - `continue;` -- [AUTO-CTRL-002] `main.cpp:80` continue 需避免或说明偏离 - - `continue;` -- [AUTO-CTRL-002] `sys/flash.cpp:693` continue 需避免或说明偏离 - - `continue;` -- [AUTO-CTRL-002] `sys/systick.cpp:264` continue 需避免或说明偏离 - - `continue;` -- [AUTO-FUNC-002] `Algorithm/FOC.cpp:100` printf/格式化输出需确认调试隔离和实时性影响 - - `printf("");` -- [AUTO-FUNC-002] `Algorithm/FOC.cpp:161` printf/格式化输出需确认调试隔离和实时性影响 - - `printf("",` -- [AUTO-FUNC-002] `Algorithm/FOC.cpp:195` printf/格式化输出需确认调试隔离和实时性影响 - - `printf("");` -- [AUTO-FUNC-002] `Algorithm/FOC.cpp:198` printf/格式化输出需确认调试隔离和实时性影响 - - `printf("", angle_deg, cogging_table[i]);` -- [AUTO-FUNC-002] `Algorithm/FOC.cpp:203` printf/格式化输出需确认调试隔离和实时性影响 - - `printf("");` -- [AUTO-FUNC-002] `Algorithm/FOC.cpp:206` printf/格式化输出需确认调试隔离和实时性影响 - - `printf("", angle_deg, cogging_table_rev[i]);` -- [AUTO-FUNC-002] `Algorithm/FOC.cpp:211` printf/格式化输出需确认调试隔离和实时性影响 - - `printf("");` -- [AUTO-FUNC-002] `Algorithm/FOC.cpp:212` printf/格式化输出需确认调试隔离和实时性影响 - - `printf("");` -- [AUTO-FUNC-002] `Algorithm/FOC.cpp:214` printf/格式化输出需确认调试隔离和实时性影响 - - `if (i % 8 == 0) printf("");` -- [AUTO-FUNC-002] `Algorithm/FOC.cpp:215` printf/格式化输出需确认调试隔离和实时性影响 - - `printf("", cogging_table[i]);` -- [AUTO-FUNC-002] `Algorithm/FOC.cpp:216` printf/格式化输出需确认调试隔离和实时性影响 - - `if (i < COGGING_TABLE_SIZE - 1) printf("");` -- [AUTO-FUNC-002] `Algorithm/FOC.cpp:217` printf/格式化输出需确认调试隔离和实时性影响 - - `if (i % 8 == 7 || i == COGGING_TABLE_SIZE - 1) printf("");` -- [AUTO-FUNC-002] `Algorithm/FOC.cpp:220` printf/格式化输出需确认调试隔离和实时性影响 - - `printf("");` -- [AUTO-FUNC-002] `Algorithm/FOC.cpp:223` printf/格式化输出需确认调试隔离和实时性影响 - - `printf("");` -- [AUTO-FUNC-002] `Algorithm/FOC.cpp:224` printf/格式化输出需确认调试隔离和实时性影响 - - `printf("");` -- [AUTO-FUNC-002] `Algorithm/FOC.cpp:226` printf/格式化输出需确认调试隔离和实时性影响 - - `if (i % 8 == 0) printf("");` -- [AUTO-FUNC-002] `Algorithm/FOC.cpp:227` printf/格式化输出需确认调试隔离和实时性影响 - - `printf("", cogging_table_rev[i]);` -- [AUTO-FUNC-002] `Algorithm/FOC.cpp:228` printf/格式化输出需确认调试隔离和实时性影响 - - `if (i < COGGING_TABLE_SIZE - 1) printf("");` -- [AUTO-FUNC-002] `Algorithm/FOC.cpp:229` printf/格式化输出需确认调试隔离和实时性影响 - - `if (i % 8 == 7 || i == COGGING_TABLE_SIZE - 1) printf("");` -- [AUTO-FUNC-002] `Algorithm/FOC.cpp:232` printf/格式化输出需确认调试隔离和实时性影响 - - `printf("");` -- [AUTO-FUNC-002] `Algorithm/FOC.cpp:234` printf/格式化输出需确认调试隔离和实时性影响 - - `printf("");` -- [AUTO-FUNC-002] `device/Can.cpp:30` printf/格式化输出需确认调试隔离和实时性影响 - - `#define CAN_DEBUG_PRINT(fmt, ...) printf(fmt, ##__VA_ARGS__)` -- [AUTO-FUNC-002] `device/ang_sensor.cpp:22` printf/格式化输出需确认调试隔离和实时性影响 - - `#define ANG_SENS_DEBUG_PRINT(fmt, ...) printf(fmt, ##__VA_ARGS__)` -- [AUTO-FUNC-002] `device/motor.cpp:38` printf/格式化输出需确认调试隔离和实时性影响 - - `printf("");` -- [AUTO-FUNC-002] `main.cpp:22` printf/格式化输出需确认调试隔离和实时性影响 - - `#define MAIN_DEBUG_PRINT(fmt, ...) printf(fmt, ##__VA_ARGS__)` -- [AUTO-FUNC-002] `sys/flash.cpp:22` printf/格式化输出需确认调试隔离和实时性影响 - - `#define EEP_DEBUG_PRINT(fmt, ...) printf(fmt, ##__VA_ARGS__)` -- [AUTO-FUNC-002] `sys/flash.cpp:31` printf/格式化输出需确认调试隔离和实时性影响 - - `#define OTA_DEBUG_PRINT(fmt, ...) printf(fmt, ##__VA_ARGS__)` -- [AUTO-FUNC-002] `sys/initial.cpp:23` printf/格式化输出需确认调试隔离和实时性影响 - - `#define OTA_DEBUG_PRINT(fmt, ...) printf(fmt, ##__VA_ARGS__)` -- [AUTO-FUNC-002] `sys/initial.cpp:32` printf/格式化输出需确认调试隔离和实时性影响 - - `#define EEP_DEBUG_PRINT(fmt, ...) printf(fmt, ##__VA_ARGS__)` -- [AUTO-FUNC-002] `sys/initial.cpp:129` printf/格式化输出需确认调试隔离和实时性影响 - - `snprintf(buffer, bufSize, "", version.major, version.minor,` -- [AUTO-FUNC-002] `sys/systick.cpp:47` printf/格式化输出需确认调试隔离和实时性影响 - - `#define SLEEP_DEBUG_PRINT(fmt, ...) printf(fmt, ##__VA_ARGS__)` -- [AUTO-MET-001] `Algorithm/FOC.cpp:75` 圈复杂度 33 超过建议阈值 15 - - `FOC_Controller::calibrate_cogging_tick` -- [AUTO-MET-001] `device/Can.cpp:1076` 圈复杂度 27 超过建议阈值 15 - - `CAN_transmiter::communication_check` -- [AUTO-MET-001] `main.cpp:120` 圈复杂度 17 超过建议阈值 15 - - `do_task` - -## 输出文件 -- `report.md`: 本摘要 -- `findings.csv`: 规则命中明细 -- `metrics.csv`: 函数复杂度 -- `files.csv`: 文件范围与行数/hash diff --git a/static_test_automotive_business_20260523/report_checklist.html b/static_test_automotive_business_20260523/report_checklist.html deleted file mode 100644 index 3519bb1..0000000 --- a/static_test_automotive_business_20260523/report_checklist.html +++ /dev/null @@ -1,2781 +0,0 @@ -ROBOT_V2 APP 汽车电子静态测试报告 -
-

ROBOT_V2 APP 汽车电子静态测试报告

范围:业务代码 Algorithm/、device/、sys/、main.cpp、main.h;排除第三方 GD32 RTE。
本版本已加入补充筛查:Doxygen 覆盖、全局状态、switch default、无限循环、关中断成对性、ISR、magic number、浮点比较等。只生成报告,不修改源码逻辑。
未发现 Error 级硬性高风险项
-
扫描文件数
29
非空代码行估算
4272
主规则 Warning
40
补充 Warning
207
-

主规则命中分布

AUTO-ARRAY-001251
AUTO-CAST-001223
AUTO-FUNC-00231
AUTO-MACRO-00129
AUTO-ASM-00110
AUTO-CTRL-0026
AUTO-MET-0013

补充规则命中分布

SUP-MAG-001439
SUP-GLB-001189
SUP-GLB-00247
SUP-ISR-00118
SUP-CMP-00114
SUP-DOC-00112
SUP-LOOP-0014
SUP-IRQ-0013
SUP-SW-0011
-

高优先级结论

- - -
-

可保存修复确认清单

-
- 每条审查项都可以打勾。勾选状态会自动保存到当前浏览器的 localStorage。Chromium 浏览器还可以点“绑定进度 JSON 文件”,授权后每次勾选都会同步写入该 JSON;每次打开可点“读取绑定文件”恢复。为防止换电脑或清缓存丢失,也可以用“导出/导入进度 JSON”。 -
-
-
0 / 254
- - - - - - - - - - 文件同步:未绑定 -
-
本清单共 254 项:error 0,warning 250,info 4。保存键:robot_v2_app_static_report_checklist_v1
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
确认级别分组规则位置说明证据建议
warning主规则AUTO-CTRL-002device/Can.cpp:1124continue 需避免或说明偏离continue;人工确认是否符合项目编码规范;如合理则记录偏离说明。
warning主规则AUTO-CTRL-002device/Can.cpp:1194continue 需避免或说明偏离continue;人工确认是否符合项目编码规范;如合理则记录偏离说明。
warning主规则AUTO-CTRL-002device/Can.cpp:1199continue 需避免或说明偏离continue;人工确认是否符合项目编码规范;如合理则记录偏离说明。
warning主规则AUTO-CTRL-002main.cpp:80continue 需避免或说明偏离continue;人工确认是否符合项目编码规范;如合理则记录偏离说明。
warning主规则AUTO-CTRL-002sys/flash.cpp:693continue 需避免或说明偏离continue;人工确认是否符合项目编码规范;如合理则记录偏离说明。
warning主规则AUTO-CTRL-002sys/systick.cpp:264continue 需避免或说明偏离continue;人工确认是否符合项目编码规范;如合理则记录偏离说明。
warning主规则AUTO-FUNC-002Algorithm/FOC.cpp:100printf/格式化输出需确认调试隔离和实时性影响printf("");人工确认是否符合项目编码规范;如合理则记录偏离说明。
warning主规则AUTO-FUNC-002Algorithm/FOC.cpp:161printf/格式化输出需确认调试隔离和实时性影响printf("",人工确认是否符合项目编码规范;如合理则记录偏离说明。
warning主规则AUTO-FUNC-002Algorithm/FOC.cpp:195printf/格式化输出需确认调试隔离和实时性影响printf("");人工确认是否符合项目编码规范;如合理则记录偏离说明。
warning主规则AUTO-FUNC-002Algorithm/FOC.cpp:198printf/格式化输出需确认调试隔离和实时性影响printf("", angle_deg, cogging_table[i]);人工确认是否符合项目编码规范;如合理则记录偏离说明。
warning主规则AUTO-FUNC-002Algorithm/FOC.cpp:203printf/格式化输出需确认调试隔离和实时性影响printf("");人工确认是否符合项目编码规范;如合理则记录偏离说明。
warning主规则AUTO-FUNC-002Algorithm/FOC.cpp:206printf/格式化输出需确认调试隔离和实时性影响printf("", angle_deg, cogging_table_rev[i]);人工确认是否符合项目编码规范;如合理则记录偏离说明。
warning主规则AUTO-FUNC-002Algorithm/FOC.cpp:211printf/格式化输出需确认调试隔离和实时性影响printf("");人工确认是否符合项目编码规范;如合理则记录偏离说明。
warning主规则AUTO-FUNC-002Algorithm/FOC.cpp:212printf/格式化输出需确认调试隔离和实时性影响printf("");人工确认是否符合项目编码规范;如合理则记录偏离说明。
warning主规则AUTO-FUNC-002Algorithm/FOC.cpp:214printf/格式化输出需确认调试隔离和实时性影响if (i % 8 == 0) printf("");人工确认是否符合项目编码规范;如合理则记录偏离说明。
warning主规则AUTO-FUNC-002Algorithm/FOC.cpp:215printf/格式化输出需确认调试隔离和实时性影响printf("", cogging_table[i]);人工确认是否符合项目编码规范;如合理则记录偏离说明。
warning主规则AUTO-FUNC-002Algorithm/FOC.cpp:216printf/格式化输出需确认调试隔离和实时性影响if (i < COGGING_TABLE_SIZE - 1) printf("");人工确认是否符合项目编码规范;如合理则记录偏离说明。
warning主规则AUTO-FUNC-002Algorithm/FOC.cpp:217printf/格式化输出需确认调试隔离和实时性影响if (i % 8 == 7 || i == COGGING_TABLE_SIZE - 1) printf("");人工确认是否符合项目编码规范;如合理则记录偏离说明。
warning主规则AUTO-FUNC-002Algorithm/FOC.cpp:220printf/格式化输出需确认调试隔离和实时性影响printf("");人工确认是否符合项目编码规范;如合理则记录偏离说明。
warning主规则AUTO-FUNC-002Algorithm/FOC.cpp:223printf/格式化输出需确认调试隔离和实时性影响printf("");人工确认是否符合项目编码规范;如合理则记录偏离说明。
warning主规则AUTO-FUNC-002Algorithm/FOC.cpp:224printf/格式化输出需确认调试隔离和实时性影响printf("");人工确认是否符合项目编码规范;如合理则记录偏离说明。
warning主规则AUTO-FUNC-002Algorithm/FOC.cpp:226printf/格式化输出需确认调试隔离和实时性影响if (i % 8 == 0) printf("");人工确认是否符合项目编码规范;如合理则记录偏离说明。
warning主规则AUTO-FUNC-002Algorithm/FOC.cpp:227printf/格式化输出需确认调试隔离和实时性影响printf("", cogging_table_rev[i]);人工确认是否符合项目编码规范;如合理则记录偏离说明。
warning主规则AUTO-FUNC-002Algorithm/FOC.cpp:228printf/格式化输出需确认调试隔离和实时性影响if (i < COGGING_TABLE_SIZE - 1) printf("");人工确认是否符合项目编码规范;如合理则记录偏离说明。
warning主规则AUTO-FUNC-002Algorithm/FOC.cpp:229printf/格式化输出需确认调试隔离和实时性影响if (i % 8 == 7 || i == COGGING_TABLE_SIZE - 1) printf("");人工确认是否符合项目编码规范;如合理则记录偏离说明。
warning主规则AUTO-FUNC-002Algorithm/FOC.cpp:232printf/格式化输出需确认调试隔离和实时性影响printf("");人工确认是否符合项目编码规范;如合理则记录偏离说明。
warning主规则AUTO-FUNC-002Algorithm/FOC.cpp:234printf/格式化输出需确认调试隔离和实时性影响printf("");人工确认是否符合项目编码规范;如合理则记录偏离说明。
warning主规则AUTO-FUNC-002device/Can.cpp:30printf/格式化输出需确认调试隔离和实时性影响#define CAN_DEBUG_PRINT(fmt, ...) printf(fmt, ##__VA_ARGS__)人工确认是否符合项目编码规范;如合理则记录偏离说明。
warning主规则AUTO-FUNC-002device/ang_sensor.cpp:22printf/格式化输出需确认调试隔离和实时性影响#define ANG_SENS_DEBUG_PRINT(fmt, ...) printf(fmt, ##__VA_ARGS__)人工确认是否符合项目编码规范;如合理则记录偏离说明。
warning主规则AUTO-FUNC-002device/motor.cpp:38printf/格式化输出需确认调试隔离和实时性影响printf("");人工确认是否符合项目编码规范;如合理则记录偏离说明。
warning主规则AUTO-FUNC-002main.cpp:22printf/格式化输出需确认调试隔离和实时性影响#define MAIN_DEBUG_PRINT(fmt, ...) printf(fmt, ##__VA_ARGS__)人工确认是否符合项目编码规范;如合理则记录偏离说明。
warning主规则AUTO-FUNC-002sys/flash.cpp:22printf/格式化输出需确认调试隔离和实时性影响#define EEP_DEBUG_PRINT(fmt, ...) printf(fmt, ##__VA_ARGS__)人工确认是否符合项目编码规范;如合理则记录偏离说明。
warning主规则AUTO-FUNC-002sys/flash.cpp:31printf/格式化输出需确认调试隔离和实时性影响#define OTA_DEBUG_PRINT(fmt, ...) printf(fmt, ##__VA_ARGS__)人工确认是否符合项目编码规范;如合理则记录偏离说明。
warning主规则AUTO-FUNC-002sys/initial.cpp:23printf/格式化输出需确认调试隔离和实时性影响#define OTA_DEBUG_PRINT(fmt, ...) printf(fmt, ##__VA_ARGS__)人工确认是否符合项目编码规范;如合理则记录偏离说明。
warning主规则AUTO-FUNC-002sys/initial.cpp:32printf/格式化输出需确认调试隔离和实时性影响#define EEP_DEBUG_PRINT(fmt, ...) printf(fmt, ##__VA_ARGS__)人工确认是否符合项目编码规范;如合理则记录偏离说明。
warning主规则AUTO-FUNC-002sys/initial.cpp:129printf/格式化输出需确认调试隔离和实时性影响snprintf(buffer, bufSize, "", version.major, version.minor,人工确认是否符合项目编码规范;如合理则记录偏离说明。
warning主规则AUTO-FUNC-002sys/systick.cpp:47printf/格式化输出需确认调试隔离和实时性影响#define SLEEP_DEBUG_PRINT(fmt, ...) printf(fmt, ##__VA_ARGS__)人工确认是否符合项目编码规范;如合理则记录偏离说明。
warning主规则AUTO-MET-001Algorithm/FOC.cpp:75圈复杂度 33 超过建议阈值 15FOC_Controller::calibrate_cogging_tick建议人工评审分支完整性;后续允许时再考虑拆分或增加单元测试覆盖。
warning主规则AUTO-MET-001device/Can.cpp:1076圈复杂度 27 超过建议阈值 15CAN_transmiter::communication_check建议人工评审分支完整性;后续允许时再考虑拆分或增加单元测试覆盖。
warning主规则AUTO-MET-001main.cpp:120圈复杂度 17 超过建议阈值 15do_task建议人工评审分支完整性;后续允许时再考虑拆分或增加单元测试覆盖。
warning补充筛查SUP-CMP-001Algorithm/FOC.cpp:53浮点变量比较需确认容差或离散状态含义if (rt_velocity < -0.5f) last_table = cogging_table_rev;建议确认是否应使用阈值/容差比较。
warning补充筛查SUP-CMP-001Algorithm/FOC.cpp:54浮点变量比较需确认容差或离散状态含义else if (rt_velocity > 0.5f) last_table = cogging_table;建议确认是否应使用阈值/容差比较。
warning补充筛查SUP-CMP-001Algorithm/FOC.cpp:404浮点变量比较需确认容差或离散状态含义u8 sector_code = (X > 0.0f ? 1u : 0u)建议确认是否应使用阈值/容差比较。
warning补充筛查SUP-CMP-001Algorithm/FOC.cpp:405浮点变量比较需确认容差或离散状态含义+ (Y > 0.0f ? 2u : 0u)建议确认是否应使用阈值/容差比较。
warning补充筛查SUP-CMP-001Algorithm/FOC.cpp:406浮点变量比较需确认容差或离散状态含义+ (Z > 0.0f ? 4u : 0u);建议确认是否应使用阈值/容差比较。
warning补充筛查SUP-CMP-001Algorithm/FOC.cpp:534浮点变量比较需确认容差或离散状态含义if (HOLD_PWM_DUTY > 0.95f) {建议确认是否应使用阈值/容差比较。
warning补充筛查SUP-CMP-001Algorithm/FOC.cpp:536浮点变量比较需确认容差或离散状态含义} else if (HOLD_PWM_DUTY < 0.0f) {建议确认是否应使用阈值/容差比较。
warning补充筛查SUP-CMP-001Algorithm/FOC.cpp:569浮点变量比较需确认容差或离散状态含义if (voltage < 36.0f and voltage > 8.0f) {建议确认是否应使用阈值/容差比较。
warning补充筛查SUP-CMP-001Algorithm/FOC.cpp:763浮点变量比较需确认容差或离散状态含义if (target_velocity < -120.0f) {建议确认是否应使用阈值/容差比较。
warning补充筛查SUP-CMP-001Algorithm/FOC.cpp:765浮点变量比较需确认容差或离散状态含义} else if (target_velocity < -30.0f) {建议确认是否应使用阈值/容差比较。
warning补充筛查SUP-CMP-001Algorithm/Filter.cpp:190浮点变量比较需确认容差或离散状态含义if (error > 180.0f) error -= 360.0f;建议确认是否应使用阈值/容差比较。
warning补充筛查SUP-CMP-001Algorithm/Filter.cpp:191浮点变量比较需确认容差或离散状态含义else if (error < -180.0f) error += 360.0f;建议确认是否应使用阈值/容差比较。
warning补充筛查SUP-CMP-001sys/config.h:427浮点变量比较需确认容差或离散状态含义while (angle >= 360.0f) angle -= 360.0f;建议确认是否应使用阈值/容差比较。
warning补充筛查SUP-CMP-001sys/config.h:428浮点变量比较需确认容差或离散状态含义while (angle < 0.0f) angle += 360.0f;建议确认是否应使用阈值/容差比较。
warning补充筛查SUP-GLB-001Algorithm/FOC.cpp:23文件作用域可变全局对象,需确认封装、并发访问和初始化顺序FOC_Controller FOC;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001device/ADC.cpp:20文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float ADC_SCALE = 3.3f / 4096.0f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001device/ADC.cpp:22文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float TEMP_FACTOR = 1000.0f / 4.3f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001device/ADC.cpp:24文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float VCC_FACTOR = 11.0f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001device/ADC.cpp:26文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float CURRENT_FACTOR =建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001device/ADC.cpp:30文件作用域可变全局对象,需确认封装、并发访问和初始化顺序sampler sampler;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001device/ADC.cpp:33文件作用域可变全局对象,需确认封装、并发访问和初始化顺序static volatile u8 adc_current_frame_ready = 0;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001device/Can.cpp:37文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 CANX = CAN0;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001device/Can.cpp:48文件作用域可变全局对象,需确认封装、并发访问和初始化顺序dma_parameter_struct dma_rx_parameter;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001device/Can.cpp:51文件作用域可变全局对象,需确认封装、并发访问和初始化顺序static volatile bool can_rx_dma_busy = false;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001device/Can.cpp:52文件作用域可变全局对象,需确认封装、并发访问和初始化顺序static can_receive_message_struct can_rx_dma_message;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001device/Can.cpp:72文件作用域可变全局对象,需确认封装、并发访问和初始化顺序static volatile u8 rx_queue_head = 0;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001device/Can.cpp:73文件作用域可变全局对象,需确认封装、并发访问和初始化顺序static volatile u8 rx_queue_tail = 0;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001device/Can.cpp:74文件作用域可变全局对象,需确认封装、并发访问和初始化顺序static volatile u8 rx_queue_count = 0;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001device/Can.cpp:77文件作用域可变全局对象,需确认封装、并发访问和初始化顺序static volatile u8 tx_queue_head = 0;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001device/Can.cpp:78文件作用域可变全局对象,需确认封装、并发访问和初始化顺序static volatile u8 tx_queue_tail = 0;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001device/Can.cpp:79文件作用域可变全局对象,需确认封装、并发访问和初始化顺序static volatile u8 tx_queue_count = 0;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001device/Can.cpp:84文件作用域可变全局对象,需确认封装、并发访问和初始化顺序CAN_transmiter CAN0_transmiter;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001device/Timer.cpp:18文件作用域可变全局对象,需确认封装、并发访问和初始化顺序volatile u32 total_us100_counter = 0;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001device/ang_sensor.cpp:38文件作用域可变全局对象,需确认封装、并发访问和初始化顺序volatile bool spi_dma_tx_complete = false;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001device/ang_sensor.cpp:39文件作用域可变全局对象,需确认封装、并发访问和初始化顺序volatile bool spi_dma_rx_complete = false;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001device/ang_sensor.cpp:41文件作用域可变全局对象,需确认封装、并发访问和初始化顺序angle_sensor KTH7823;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001main.cpp:39文件作用域可变全局对象,需确认封装、并发访问和初始化顺序TaskScheduler scheduler = {0};建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001main.cpp:40文件作用域可变全局对象,需确认封装、并发访问和初始化顺序u32 motor_runtime_50us = 0;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001main.cpp:41文件作用域可变全局对象,需确认封装、并发访问和初始化顺序u32 cnt_test = 0;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:32文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 SOFTWARE_VERSION_MAJOR = 26;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:34文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 SOFTWARE_VERSION_MINOR = 5;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:36文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 SOFTWARE_VERSION_PATCH = 19;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:38文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 SOFTWARE_VERSION_BUILD = 2;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:41文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 HARDWARE_VERSION_MAJOR = 25;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:43文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 HARDWARE_VERSION_MINOR = 12;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:45文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 HARDWARE_VERSION_PATCH = 01;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:47文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 HARDWARE_VERSION_BUILD = 0;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:50文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 BOOT_VERSION_MAJOR = 26;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:52文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 BOOT_VERSION_MINOR = 1;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:54文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 BOOT_VERSION_PATCH = 12;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:56文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 BOOT_VERSION_BUILD = 0;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:60文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u32 BOOTLOADER_SIZE = 0x6000;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:62文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u32 BOOTLOADER_START_ADDR = 0x08000000;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:64文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u32 APPLATEST_START_ADDR = 0x08012000;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:66文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u32 APPBACK_START_ADDR = 0x08006000;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:68文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u32 APP_MAX_SIZE = 0xC000;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:70文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u32 FMC_PAGE_SIZE = 0x400;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:72文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u32 SLEEP_CONFIG_START = 0x0801E400;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:74文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u32 SLEEP_CONFIG_END = 0x0801E800;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:76文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u32 FLASH_EMPTY = 0xFFFFFFFF;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:78文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u32 SLEEP_ENABLE = 0x11111111;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:80文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u32 SLEEP_DISABLE = 0x00000000;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:92文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u32 NODE_ID_PAGE_ADDR = 0x0801E800;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:94文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u32 NODE_ID_PRIMARY_ADDR = 0x0801E800;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:96文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u32 NODE_ID_BACKUP_ADDR = 0x0801E840;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:98文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u32 NODE_ID_MAGIC = 0x4E4F4445;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:100文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 DEFAULT_NODE_ID = 1;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:102文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 BROADCAST_NODE_ID = 0x1FFF;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:104文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 MAX_NODE_ID = 0x1FFE;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:113文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u8 NODE_ID_STRUCT_SIZE = 0x10;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:115文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u8 NODE_ID_MAGIC_OFFSET = 0x00;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:117文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u8 NODE_ID_VALUE_OFFSET = 0x04;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:119文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u8 NODE_ID_COUNTER_OFFSET = 0x08;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:121文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u8 NODE_ID_CRC_OFFSET = 0x0C;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:125文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u32 OTA_CONFIG_NUM = 6;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:127文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u32 n_APP_LATEST_AVAL_ADDR = 0x0801E000;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:129文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u32 n_APP_BACKUP_AVAL_ADDR = 0x0801E004;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:131文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u32 n_APP_LATEST_EN_ADDR = 0x0801E008;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:133文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u32 n_APP_BACKUP_EN_ADDR = 0x0801E00C;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:135文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u32 n_APP_LATEST_CHECK_ADDR = 0x0801E010;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:137文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u32 n_APP_BACKUP_CHECK_ADDR = 0x0801E014;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:139文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u32 OTA_NOT_AVAL = 0xFFFFFFFF;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:141文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u32 OTA_AVAL = 0x00000000;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:145文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u8 PP = 11;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:147文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float DIR = 1.0f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:149文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 REDUCTION_RATIO = 25;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:151文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float CURRENT_OFFSET = -3.31f / 2.0f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:153文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float HOLD_PWM_DUTY = 0.1f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:155文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 ANGLESENS_OFFSET = 0;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:157文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float ANGLESENS_CALIBRATION_ANGLE = 83.0f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:159文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float KE_FACTOR = 0.0f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:163文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float ANGLE_KALMAN_INITIAL_STATE = 0.0f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:165文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float ANGLE_KALMAN_INITIAL_COVARIANCE = 0.0f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:167文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float ANGLE_KALMAN_PROCESS_NOISE_Q = 0.0f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:169文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float ANGLE_KALMAN_MEASUREMENT_NOISE_R = 0.0f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:171文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float ANGLE_OBSERVER_ALPHA = 0.75f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:173文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float ANGLE_OBSERVER_BETA = 0.002f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:177文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float VELOCITY_KALMAN_INITIAL_STATE = 0.0f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:179文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float VELOCITY_KALMAN_INITIAL_COVARIANCE = 1e-3f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:181文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float VELOCITY_KALMAN_PROCESS_NOISE_Q =建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:184文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float VELOCITY_KALMAN_MEASUREMENT_NOISE_R =建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:189文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float CURRENT_KALMAN_INITIAL_STATE = 0.0f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:191文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float CURRENT_KALMAN_INITIAL_COVARIANCE = 100.0f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:193文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float CURRENT_KALMAN_PROCESS_NOISE_Q = 10.0f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:195文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float CURRENT_KALMAN_MEASUREMENT_NOISE_R = 5e-5f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:199文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float DEFAULT_current_loop_p = 0.1f / 100 * 12;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:201文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float current_loop_Ki = 0.55f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:203文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float current_loop_Kd = 3e-4f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:206文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float DEFAULT_vel_loop_p = 0.018f / 100 * 12;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:208文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float vel_loop_Ku = 3.600000e-03 * 0.7 * 100 / 12;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:210文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float vel_loop_Tu = 17.0f * 1e-3f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:212文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float vel_loop_Ki = 1.2 * vel_loop_Ku / vel_loop_Tu;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:214文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float vel_loop_Kd = 0.075 * vel_loop_Ku * vel_loop_Tu * 2;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:217文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float DEFAULT_vel_angloop_p = 0.4f / 100;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:219文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float vel_angloop_Ki = 5.0f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:221文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float vel_angloop_Kd = 5e-05f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:224文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float DEFAULT_angle_angloop_p =建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:227文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float ang_angloop_Ki = 0.00f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:229文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float ang_angloop_Kd = 8e-04f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:232文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float DEFAULT_angle_loop_p = 60.0f / 100 * 12;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:235文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float DEFAULT_angle_MIT_p = 100.0f / 100 * 12;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:237文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float angle_MIT_Ki = 0.0f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:239文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float angle_MIT_Kd = 8e-04f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:242文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float DEFAULT_vel_MIT_p = 5.0f / 100;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:244文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float vel_MIT_Ki = 15.0f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:246文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float vel_MIT_Kd = 1e-04f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:249文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float DEFAULT_current_MIT_p = 0.2f / 100 * 12;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:251文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float current_MIT_Ki = 0.1f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:253文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float current_MIT_Kd = 3e-4f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:260文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float ADC_MAX = 65536.0f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:262文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float PI = 3.14159265358979323846f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:264文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float INV_PI_3 = 3.0f / PI;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:266文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float PI_3 = PI / 3.0f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:268文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float _1_SQRT3 = 0.57735026919f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:270文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float _3PI_2 = 4.71238898038f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:272文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float SQRT3 = 1.7320508075688772f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:274文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float SQRT3DV2 = 0.8660254037844386f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:276文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float COS_PI_3 = 0.5f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:278文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float ANGLE_FACTOR = 25.0f / 180.0f * PI;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:280文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float DEG2RAD = 1.0f / 180.0f * PI;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:282文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float RAD2DEG = 180.0f / PI;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:284文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u8 DEFAULT_VALUE = 0;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:286文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u8 CONFIG_SAVED_NUM = 6;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:290文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 LUT_SIZE = 1024;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:301文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 DEV_CAN0_ID = 0x0000;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:303文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 DEV_CAN0_MASK = 0x0000;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:305文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 DEV_CAN_LOOPBACK_ID = 0x0000;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:308文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 CANFD_STATUS_ID = 0x0100;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:310文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 CANFD_CONFIG_ID = 0x0101;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:312文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 CANFD_VERSION_ID = 0x00FF;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:315文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 CANFD_CMD_ID = 0x0200;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:317文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 CANFD_RESET_ID = 0x0301;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:320文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 CANFD_SET_NODE_ID = 0x0400;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:322文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 CANFD_GET_NODE_ID = 0x0401;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:326文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 CANFD_BOOT_ID = 0x0000;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:328文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 CANFD_OTA_REQ_ID = 0x0100;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:330文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 CANFD_OTA_DATA_ID = 0x0101;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:332文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 CANFD_OTA_ACK_ID = 0x0102;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:334文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 CANFD_OTA_WAIT_ID = 0x0103;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:338文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u8 ADC_FILTER_SIZE = 6;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:340文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u8 BLOCK_SIZE = ADC_FILTER_SIZE * SIZE_FLOAT;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:342文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float ERROR_ADC_VAL = 255.0f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:344文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float MAX_TEMP = 150.0f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:346文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float MIN_TEMP = -40.0f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:348文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float MAX_CURRENT = 40.0f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:350文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float MIN_CURRENT = -40.0f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:352文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float MAX_VCC = 65.0f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:354文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float MIN_VCC = -0.1f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:358文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 VEL_FILTER_SIZE = 4;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:360文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 DEFAULT_COMMAND = 0x0000;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:362文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 FAULT_RECEIVE = 0xFFFF;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:364文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float ANGLE_WRAP_THRESHOLD = 300.0f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:366文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float ANGLE_WRAP_VALUE = 360.0f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:368文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float RAD_FACTOR = 1.0f / ADC_MAX * 2.0f * PI;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:370文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float ANGLESENS_FACTOR = 1.0f / ADC_MAX * 360.0f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:374文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr int TIMER2_PRESCALER = 119;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:376文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr int TIMER2_PERIOD = 49;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:378文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr int MOTOR_PERIOD = 1;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:380文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float TIME_SLICE =建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:383文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float TIMER2_FREQUENCY = 1 / TIME_SLICE;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:385文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float MOTOR_FREQUENCY = 1 / TIME_SLICE / MOTOR_PERIOD;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:389文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr int TIMER1_PRESCALER = 0;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:391文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr int TIMER1_PERIOD = 2999;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:393文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr int TIMER1_DEFAULT_PULSE = 0;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:395文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr int TIMER1_CH3_COMPARE_VALUE =建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:400文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 COGGING_TABLE_SIZE = 128;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:402文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float COGGING_COMP_SCALE = 0.005f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:413文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float VBUS_DROP_THRESHOLD = 5.0f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:415文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float VBUS_ABSOLUTE_MIN = 12.0f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:417文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u32 VBUS_DEBOUNCE_COUNT = 5;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/config.h:419文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float VBUS_RECOVERY_RATIO = 0.9f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/health.cpp:19文件作用域可变全局对象,需确认封装、并发访问和初始化顺序ThermalController thermalController;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/health.cpp:25文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 PROTECT_TIME = 6000;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/health.cpp:28文件作用域可变全局对象,需确认封装、并发访问和初始化顺序static VoltageState voltage_state = VoltageState::NORMAL;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/health.cpp:29文件作用域可变全局对象,需确认封装、并发访问和初始化顺序static float last_vbus_slow = 0.0f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/initial.cpp:39文件作用域可变全局对象,需确认封装、并发访问和初始化顺序VersionManager Version;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/systick.cpp:53文件作用域可变全局对象,需确认封装、并发访问和初始化顺序volatile static uint32_t delay;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/systick.cpp:54文件作用域可变全局对象,需确认封装、并发访问和初始化顺序volatile static uint32_t systick_ms = 0;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/systick.cpp:70文件作用域可变全局对象,需确认封装、并发访问和初始化顺序volatile static uint32_t task_enter_cyccnt = 0;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/systick.cpp:71文件作用域可变全局对象,需确认封装、并发访问和初始化顺序volatile static uint32_t busy_cycles_accum = 0;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/systick.cpp:72文件作用域可变全局对象,需确认封装、并发访问和初始化顺序volatile static uint16_t sample_seconds = 0;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/systick.cpp:73文件作用域可变全局对象,需确认封装、并发访问和初始化顺序volatile static uint8_t cpu_usage = 0;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-GLB-001sys/systick.cpp:74文件作用域可变全局对象,需确认封装、并发访问和初始化顺序volatile static uint8_t dwt_initialized = 0;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
warning补充筛查SUP-IRQ-001device/Can.cpp:709关中断后未在短窗口内看到开中断,需人工确认成对性__disable_irq();确认所有路径均恢复中断;避免临界区过长。
warning补充筛查SUP-IRQ-001sys/flash.cpp:888关中断后未在短窗口内看到开中断,需人工确认成对性__disable_irq();确认所有路径均恢复中断;避免临界区过长。
warning补充筛查SUP-IRQ-001sys/systick.cpp:256关中断后未在短窗口内看到开中断,需人工确认成对性__disable_irq();确认所有路径均恢复中断;避免临界区过长。
warning补充筛查SUP-SW-001Algorithm/FOC.cpp:89switch 语句疑似缺少 default 分支switch (cog_calib_state) {MISRA 通常要求 default;如枚举已全覆盖也建议显式说明。
warning复杂度评审METRIC-CCAlgorithm/FOC.cpp:75FOC_Controller::calibrate_cogging_tick 圈复杂度 33,risk=highAlgorithm/FOC.cpp:75-238 FOC_Controller::calibrate_cogging_tick人工评审分支完整性;必要时补单元测试或后续拆分。
warning复杂度评审METRIC-CCdevice/Can.cpp:1076CAN_transmiter::communication_check 圈复杂度 27,risk=highdevice/Can.cpp:1076-1300 CAN_transmiter::communication_check人工评审分支完整性;必要时补单元测试或后续拆分。
warning复杂度评审METRIC-CCmain.cpp:120do_task 圈复杂度 17,risk=highmain.cpp:120-205 do_task人工评审分支完整性;必要时补单元测试或后续拆分。
info复杂度评审METRIC-CCAlgorithm/FOC.cpp:392FOC_Controller::setSVPWM_PhaseVoltage 圈复杂度 15,risk=mediumAlgorithm/FOC.cpp:392-490 FOC_Controller::setSVPWM_PhaseVoltage人工评审分支完整性;必要时补单元测试或后续拆分。
info复杂度评审METRIC-CCsys/flash.cpp:308FlashEEPROM::writeFloat 圈复杂度 12,risk=mediumsys/flash.cpp:308-383 FlashEEPROM::writeFloat人工评审分支完整性;必要时补单元测试或后续拆分。
info复杂度评审METRIC-CCsys/health.cpp:35ThermalController::update 圈复杂度 12,risk=mediumsys/health.cpp:35-94 ThermalController::update人工评审分支完整性;必要时补单元测试或后续拆分。
info复杂度评审METRIC-CCdevice/Can.cpp:597can_loopback_test 圈复杂度 11,risk=mediumdevice/Can.cpp:597-665 can_loopback_test人工评审分支完整性;必要时补单元测试或后续拆分。
-
-
- -

Top 圈复杂度

风险复杂度位置函数
high33Algorithm/FOC.cpp:75-238FOC_Controller::calibrate_cogging_tick
high27device/Can.cpp:1076-1300CAN_transmiter::communication_check
high17main.cpp:120-205do_task
medium15Algorithm/FOC.cpp:392-490FOC_Controller::setSVPWM_PhaseVoltage
medium12sys/flash.cpp:308-383FlashEEPROM::writeFloat
medium12sys/health.cpp:35-94ThermalController::update
medium11device/Can.cpp:597-665can_loopback_test
low10device/Can.cpp:1448-1504CAN_transmiter::CANFD_AsyncSend
low10sys/flash.cpp:90-161FlashEEPROM::read_saved_system_config
low10sys/flash.cpp:237-300FlashEEPROM::write
low10sys/flash.cpp:657-717FlashEEPROM::writeNodeId
low10sys/flash.cpp:928-1030move_app_data
low9device/Can.cpp:534-589canfd_loopback_test
low9sys/flash.cpp:413-482FlashEEPROM::save_system_config
low9sys/flash.cpp:792-879OTA_SET
low9sys/health.cpp:113-149power_manage
low8device/ADC.cpp:194-219sampler::get_current
low8sys/flash.cpp:724-776FlashEEPROM::writeCRC
low8sys/systick.cpp:244-298app_prepare_deep_sleep
low7device/Timer.cpp:134-184TIMER2_IRQHandler
low7sys/initial.cpp:256-290get_reset_cause
low6Algorithm/FOC.cpp:603-642FOC_Controller::fast_voltage_check
low6device/Can.cpp:1399-1440CAN_transmiter::CAN_AsyncSend
low6sys/flash.cpp:521-558read_node_id_struct
low6sys/initial.cpp:296-351OTA_initial
low5Algorithm/Filter.cpp:162-200EncoderAngleKalman::update
low5device/Can.cpp:800-824CAN_RX_ReadMetadata
low5device/Can.cpp:1355-1383DMA0_Channel4_IRQHandler
low5sys/flash.cpp:169-192FlashEEPROM::read
low5sys/flash.cpp:200-229FlashEEPROM::readFloat
-

优先级评审清单

**P1 复杂度超阈值** `Algorithm/FOC.cpp:75` `FOC_Controller::calibrate_cogging_tick`
CC=33,需人工评审分支/异常路径;后续可加单元测试或拆分。
**P1 复杂度超阈值** `device/Can.cpp:1076` `CAN_transmiter::communication_check`
CC=27,需人工评审分支/异常路径;后续可加单元测试或拆分。
**P1 复杂度超阈值** `main.cpp:120` `do_task`
CC=17,需人工评审分支/异常路径;后续可加单元测试或拆分。
**P2 continue 偏离候选** `device/Can.cpp:1124`
确认是否可重构;若暂不改逻辑,形成偏离说明。
**P2 continue 偏离候选** `device/Can.cpp:1194`
确认是否可重构;若暂不改逻辑,形成偏离说明。
**P2 continue 偏离候选** `device/Can.cpp:1199`
确认是否可重构;若暂不改逻辑,形成偏离说明。
**P2 continue 偏离候选** `main.cpp:80`
确认是否可重构;若暂不改逻辑,形成偏离说明。
**P2 continue 偏离候选** `sys/flash.cpp:693`
确认是否可重构;若暂不改逻辑,形成偏离说明。
**P2 continue 偏离候选** `sys/systick.cpp:264`
确认是否可重构;若暂不改逻辑,形成偏离说明。
**P2 调试输出隔离** `Algorithm/FOC.cpp`
21 处 printf/snprint 类调用;确认宏隔离、量产关闭、实时性影响。
**P2 调试输出隔离** `device/Can.cpp`
1 处 printf/snprint 类调用;确认宏隔离、量产关闭、实时性影响。
**P2 调试输出隔离** `device/ang_sensor.cpp`
1 处 printf/snprint 类调用;确认宏隔离、量产关闭、实时性影响。
**P2 调试输出隔离** `device/motor.cpp`
1 处 printf/snprint 类调用;确认宏隔离、量产关闭、实时性影响。
**P2 调试输出隔离** `main.cpp`
1 处 printf/snprint 类调用;确认宏隔离、量产关闭、实时性影响。
**P2 调试输出隔离** `sys/flash.cpp`
2 处 printf/snprint 类调用;确认宏隔离、量产关闭、实时性影响。
**P2 调试输出隔离** `sys/initial.cpp`
3 处 printf/snprint 类调用;确认宏隔离、量产关闭、实时性影响。
**P2 调试输出隔离** `sys/systick.cpp`
1 处 printf/snprint 类调用;确认宏隔离、量产关闭、实时性影响。
**P3 平台/中断指令偏离候选** `device/Can.cpp`
1 处关中断/开中断/WFI/汇编;确认临界区长度和安全机制。
**P3 平台/中断指令偏离候选** `main.cpp`
3 处关中断/开中断/WFI/汇编;确认临界区长度和安全机制。
**P3 平台/中断指令偏离候选** `sys/flash.cpp`
5 处关中断/开中断/WFI/汇编;确认临界区长度和安全机制。
**P3 平台/中断指令偏离候选** `sys/systick.cpp`
1 处关中断/开中断/WFI/汇编;确认临界区长度和安全机制。
-

主规则清单

级别规则数量说明参考
infoAUTO-ARRAY-001251数组下标访问需审查边界保护MISRA C:2012 Rule 18.x
infoAUTO-ASM-00110关中断/低功耗/内联汇编等平台相关指令需审查MISRA C:2012 Dir 4.3 / project safety rule
infoAUTO-CAST-001223C 风格强制类型转换需审查必要性和范围MISRA C:2012 Rule 10.x / MISRA C++ 5-2-x
warningAUTO-CTRL-0026continue 需避免或说明偏离MISRA C:2012 Rule 15.5 advisory / structured control flow
warningAUTO-FUNC-00231printf/格式化输出需确认调试隔离和实时性影响MISRA Dir 4.12 / project safety rule
infoAUTO-MACRO-00129函数式宏需审查括号、副作用和类型安全MISRA C:2012 Rule 20.x
warningAUTO-MET-0013圈复杂度 33 超过建议阈值 15Project metric threshold CC <= 15
-

补充规则清单

级别规则数量说明建议
warningSUP-CMP-00114浮点变量比较需确认容差或离散状态含义建议确认是否应使用阈值/容差比较。
infoSUP-DOC-00112接口/函数缺少紧邻 Doxygen 注释建议补充 @brief/@param/@return;内部小函数可按项目规范豁免。
warningSUP-GLB-001189文件作用域可变全局对象,需确认封装、并发访问和初始化顺序建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
infoSUP-GLB-00247extern 全局对象引用,需确认单一定义和共享访问保护确认是否跨 ISR/主循环共享;共享变量建议 volatile 或临界区保护。
warningSUP-IRQ-0013关中断后未在短窗口内看到开中断,需人工确认成对性确认所有路径均恢复中断;避免临界区过长。
infoSUP-ISR-00118中断处理函数需确认执行时间、共享数据保护和禁止阻塞调用人工确认 ISR 内无阻塞、无长耗时,并检查共享变量 volatile/临界区。
infoSUP-LOOP-0014无限循环需确认退出策略、看门狗喂狗和低功耗策略确认循环内任务调度、异常退出/复位策略和看门狗策略。
infoSUP-MAG-001439业务代码中存在裸数字常量,需确认是否应命名化安全相关阈值/时间/比例建议用具名常量或配置宏。
warningSUP-SW-0011switch 语句疑似缺少 default 分支MISRA 通常要求 default;如枚举已全覆盖也建议显式说明。
-

主规则 Warning 明细

规则位置说明证据建议
AUTO-CTRL-002device/Can.cpp:1124continue 需避免或说明偏离continue;人工确认是否符合项目编码规范;如合理则记录偏离说明。
AUTO-CTRL-002device/Can.cpp:1194continue 需避免或说明偏离continue;人工确认是否符合项目编码规范;如合理则记录偏离说明。
AUTO-CTRL-002device/Can.cpp:1199continue 需避免或说明偏离continue;人工确认是否符合项目编码规范;如合理则记录偏离说明。
AUTO-CTRL-002main.cpp:80continue 需避免或说明偏离continue;人工确认是否符合项目编码规范;如合理则记录偏离说明。
AUTO-CTRL-002sys/flash.cpp:693continue 需避免或说明偏离continue;人工确认是否符合项目编码规范;如合理则记录偏离说明。
AUTO-CTRL-002sys/systick.cpp:264continue 需避免或说明偏离continue;人工确认是否符合项目编码规范;如合理则记录偏离说明。
AUTO-FUNC-002Algorithm/FOC.cpp:100printf/格式化输出需确认调试隔离和实时性影响printf("");人工确认是否符合项目编码规范;如合理则记录偏离说明。
AUTO-FUNC-002Algorithm/FOC.cpp:161printf/格式化输出需确认调试隔离和实时性影响printf("",人工确认是否符合项目编码规范;如合理则记录偏离说明。
AUTO-FUNC-002Algorithm/FOC.cpp:195printf/格式化输出需确认调试隔离和实时性影响printf("");人工确认是否符合项目编码规范;如合理则记录偏离说明。
AUTO-FUNC-002Algorithm/FOC.cpp:198printf/格式化输出需确认调试隔离和实时性影响printf("", angle_deg, cogging_table[i]);人工确认是否符合项目编码规范;如合理则记录偏离说明。
AUTO-FUNC-002Algorithm/FOC.cpp:203printf/格式化输出需确认调试隔离和实时性影响printf("");人工确认是否符合项目编码规范;如合理则记录偏离说明。
AUTO-FUNC-002Algorithm/FOC.cpp:206printf/格式化输出需确认调试隔离和实时性影响printf("", angle_deg, cogging_table_rev[i]);人工确认是否符合项目编码规范;如合理则记录偏离说明。
AUTO-FUNC-002Algorithm/FOC.cpp:211printf/格式化输出需确认调试隔离和实时性影响printf("");人工确认是否符合项目编码规范;如合理则记录偏离说明。
AUTO-FUNC-002Algorithm/FOC.cpp:212printf/格式化输出需确认调试隔离和实时性影响printf("");人工确认是否符合项目编码规范;如合理则记录偏离说明。
AUTO-FUNC-002Algorithm/FOC.cpp:214printf/格式化输出需确认调试隔离和实时性影响if (i % 8 == 0) printf("");人工确认是否符合项目编码规范;如合理则记录偏离说明。
AUTO-FUNC-002Algorithm/FOC.cpp:215printf/格式化输出需确认调试隔离和实时性影响printf("", cogging_table[i]);人工确认是否符合项目编码规范;如合理则记录偏离说明。
AUTO-FUNC-002Algorithm/FOC.cpp:216printf/格式化输出需确认调试隔离和实时性影响if (i < COGGING_TABLE_SIZE - 1) printf("");人工确认是否符合项目编码规范;如合理则记录偏离说明。
AUTO-FUNC-002Algorithm/FOC.cpp:217printf/格式化输出需确认调试隔离和实时性影响if (i % 8 == 7 || i == COGGING_TABLE_SIZE - 1) printf("");人工确认是否符合项目编码规范;如合理则记录偏离说明。
AUTO-FUNC-002Algorithm/FOC.cpp:220printf/格式化输出需确认调试隔离和实时性影响printf("");人工确认是否符合项目编码规范;如合理则记录偏离说明。
AUTO-FUNC-002Algorithm/FOC.cpp:223printf/格式化输出需确认调试隔离和实时性影响printf("");人工确认是否符合项目编码规范;如合理则记录偏离说明。
AUTO-FUNC-002Algorithm/FOC.cpp:224printf/格式化输出需确认调试隔离和实时性影响printf("");人工确认是否符合项目编码规范;如合理则记录偏离说明。
AUTO-FUNC-002Algorithm/FOC.cpp:226printf/格式化输出需确认调试隔离和实时性影响if (i % 8 == 0) printf("");人工确认是否符合项目编码规范;如合理则记录偏离说明。
AUTO-FUNC-002Algorithm/FOC.cpp:227printf/格式化输出需确认调试隔离和实时性影响printf("", cogging_table_rev[i]);人工确认是否符合项目编码规范;如合理则记录偏离说明。
AUTO-FUNC-002Algorithm/FOC.cpp:228printf/格式化输出需确认调试隔离和实时性影响if (i < COGGING_TABLE_SIZE - 1) printf("");人工确认是否符合项目编码规范;如合理则记录偏离说明。
AUTO-FUNC-002Algorithm/FOC.cpp:229printf/格式化输出需确认调试隔离和实时性影响if (i % 8 == 7 || i == COGGING_TABLE_SIZE - 1) printf("");人工确认是否符合项目编码规范;如合理则记录偏离说明。
AUTO-FUNC-002Algorithm/FOC.cpp:232printf/格式化输出需确认调试隔离和实时性影响printf("");人工确认是否符合项目编码规范;如合理则记录偏离说明。
AUTO-FUNC-002Algorithm/FOC.cpp:234printf/格式化输出需确认调试隔离和实时性影响printf("");人工确认是否符合项目编码规范;如合理则记录偏离说明。
AUTO-FUNC-002device/Can.cpp:30printf/格式化输出需确认调试隔离和实时性影响#define CAN_DEBUG_PRINT(fmt, ...) printf(fmt, ##__VA_ARGS__)人工确认是否符合项目编码规范;如合理则记录偏离说明。
AUTO-FUNC-002device/ang_sensor.cpp:22printf/格式化输出需确认调试隔离和实时性影响#define ANG_SENS_DEBUG_PRINT(fmt, ...) printf(fmt, ##__VA_ARGS__)人工确认是否符合项目编码规范;如合理则记录偏离说明。
AUTO-FUNC-002device/motor.cpp:38printf/格式化输出需确认调试隔离和实时性影响printf("");人工确认是否符合项目编码规范;如合理则记录偏离说明。
AUTO-FUNC-002main.cpp:22printf/格式化输出需确认调试隔离和实时性影响#define MAIN_DEBUG_PRINT(fmt, ...) printf(fmt, ##__VA_ARGS__)人工确认是否符合项目编码规范;如合理则记录偏离说明。
AUTO-FUNC-002sys/flash.cpp:22printf/格式化输出需确认调试隔离和实时性影响#define EEP_DEBUG_PRINT(fmt, ...) printf(fmt, ##__VA_ARGS__)人工确认是否符合项目编码规范;如合理则记录偏离说明。
AUTO-FUNC-002sys/flash.cpp:31printf/格式化输出需确认调试隔离和实时性影响#define OTA_DEBUG_PRINT(fmt, ...) printf(fmt, ##__VA_ARGS__)人工确认是否符合项目编码规范;如合理则记录偏离说明。
AUTO-FUNC-002sys/initial.cpp:23printf/格式化输出需确认调试隔离和实时性影响#define OTA_DEBUG_PRINT(fmt, ...) printf(fmt, ##__VA_ARGS__)人工确认是否符合项目编码规范;如合理则记录偏离说明。
AUTO-FUNC-002sys/initial.cpp:32printf/格式化输出需确认调试隔离和实时性影响#define EEP_DEBUG_PRINT(fmt, ...) printf(fmt, ##__VA_ARGS__)人工确认是否符合项目编码规范;如合理则记录偏离说明。
AUTO-FUNC-002sys/initial.cpp:129printf/格式化输出需确认调试隔离和实时性影响snprintf(buffer, bufSize, "", version.major, version.minor,人工确认是否符合项目编码规范;如合理则记录偏离说明。
AUTO-FUNC-002sys/systick.cpp:47printf/格式化输出需确认调试隔离和实时性影响#define SLEEP_DEBUG_PRINT(fmt, ...) printf(fmt, ##__VA_ARGS__)人工确认是否符合项目编码规范;如合理则记录偏离说明。
AUTO-MET-001Algorithm/FOC.cpp:75圈复杂度 33 超过建议阈值 15FOC_Controller::calibrate_cogging_tick建议人工评审分支完整性;后续允许时再考虑拆分或增加单元测试覆盖。
AUTO-MET-001device/Can.cpp:1076圈复杂度 27 超过建议阈值 15CAN_transmiter::communication_check建议人工评审分支完整性;后续允许时再考虑拆分或增加单元测试覆盖。
AUTO-MET-001main.cpp:120圈复杂度 17 超过建议阈值 15do_task建议人工评审分支完整性;后续允许时再考虑拆分或增加单元测试覆盖。
-

补充筛查 Warning 明细

规则位置说明证据建议
SUP-CMP-001Algorithm/FOC.cpp:53浮点变量比较需确认容差或离散状态含义if (rt_velocity < -0.5f) last_table = cogging_table_rev;建议确认是否应使用阈值/容差比较。
SUP-CMP-001Algorithm/FOC.cpp:54浮点变量比较需确认容差或离散状态含义else if (rt_velocity > 0.5f) last_table = cogging_table;建议确认是否应使用阈值/容差比较。
SUP-CMP-001Algorithm/FOC.cpp:404浮点变量比较需确认容差或离散状态含义u8 sector_code = (X > 0.0f ? 1u : 0u)建议确认是否应使用阈值/容差比较。
SUP-CMP-001Algorithm/FOC.cpp:405浮点变量比较需确认容差或离散状态含义+ (Y > 0.0f ? 2u : 0u)建议确认是否应使用阈值/容差比较。
SUP-CMP-001Algorithm/FOC.cpp:406浮点变量比较需确认容差或离散状态含义+ (Z > 0.0f ? 4u : 0u);建议确认是否应使用阈值/容差比较。
SUP-CMP-001Algorithm/FOC.cpp:534浮点变量比较需确认容差或离散状态含义if (HOLD_PWM_DUTY > 0.95f) {建议确认是否应使用阈值/容差比较。
SUP-CMP-001Algorithm/FOC.cpp:536浮点变量比较需确认容差或离散状态含义} else if (HOLD_PWM_DUTY < 0.0f) {建议确认是否应使用阈值/容差比较。
SUP-CMP-001Algorithm/FOC.cpp:569浮点变量比较需确认容差或离散状态含义if (voltage < 36.0f and voltage > 8.0f) {建议确认是否应使用阈值/容差比较。
SUP-CMP-001Algorithm/FOC.cpp:763浮点变量比较需确认容差或离散状态含义if (target_velocity < -120.0f) {建议确认是否应使用阈值/容差比较。
SUP-CMP-001Algorithm/FOC.cpp:765浮点变量比较需确认容差或离散状态含义} else if (target_velocity < -30.0f) {建议确认是否应使用阈值/容差比较。
SUP-CMP-001Algorithm/Filter.cpp:190浮点变量比较需确认容差或离散状态含义if (error > 180.0f) error -= 360.0f;建议确认是否应使用阈值/容差比较。
SUP-CMP-001Algorithm/Filter.cpp:191浮点变量比较需确认容差或离散状态含义else if (error < -180.0f) error += 360.0f;建议确认是否应使用阈值/容差比较。
SUP-CMP-001sys/config.h:427浮点变量比较需确认容差或离散状态含义while (angle >= 360.0f) angle -= 360.0f;建议确认是否应使用阈值/容差比较。
SUP-CMP-001sys/config.h:428浮点变量比较需确认容差或离散状态含义while (angle < 0.0f) angle += 360.0f;建议确认是否应使用阈值/容差比较。
SUP-GLB-001Algorithm/FOC.cpp:23文件作用域可变全局对象,需确认封装、并发访问和初始化顺序FOC_Controller FOC;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001device/ADC.cpp:20文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float ADC_SCALE = 3.3f / 4096.0f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001device/ADC.cpp:22文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float TEMP_FACTOR = 1000.0f / 4.3f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001device/ADC.cpp:24文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float VCC_FACTOR = 11.0f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001device/ADC.cpp:26文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float CURRENT_FACTOR =建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001device/ADC.cpp:30文件作用域可变全局对象,需确认封装、并发访问和初始化顺序sampler sampler;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001device/ADC.cpp:33文件作用域可变全局对象,需确认封装、并发访问和初始化顺序static volatile u8 adc_current_frame_ready = 0;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001device/Can.cpp:37文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 CANX = CAN0;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001device/Can.cpp:48文件作用域可变全局对象,需确认封装、并发访问和初始化顺序dma_parameter_struct dma_rx_parameter;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001device/Can.cpp:51文件作用域可变全局对象,需确认封装、并发访问和初始化顺序static volatile bool can_rx_dma_busy = false;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001device/Can.cpp:52文件作用域可变全局对象,需确认封装、并发访问和初始化顺序static can_receive_message_struct can_rx_dma_message;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001device/Can.cpp:72文件作用域可变全局对象,需确认封装、并发访问和初始化顺序static volatile u8 rx_queue_head = 0;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001device/Can.cpp:73文件作用域可变全局对象,需确认封装、并发访问和初始化顺序static volatile u8 rx_queue_tail = 0;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001device/Can.cpp:74文件作用域可变全局对象,需确认封装、并发访问和初始化顺序static volatile u8 rx_queue_count = 0;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001device/Can.cpp:77文件作用域可变全局对象,需确认封装、并发访问和初始化顺序static volatile u8 tx_queue_head = 0;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001device/Can.cpp:78文件作用域可变全局对象,需确认封装、并发访问和初始化顺序static volatile u8 tx_queue_tail = 0;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001device/Can.cpp:79文件作用域可变全局对象,需确认封装、并发访问和初始化顺序static volatile u8 tx_queue_count = 0;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001device/Can.cpp:84文件作用域可变全局对象,需确认封装、并发访问和初始化顺序CAN_transmiter CAN0_transmiter;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001device/Timer.cpp:18文件作用域可变全局对象,需确认封装、并发访问和初始化顺序volatile u32 total_us100_counter = 0;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001device/ang_sensor.cpp:38文件作用域可变全局对象,需确认封装、并发访问和初始化顺序volatile bool spi_dma_tx_complete = false;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001device/ang_sensor.cpp:39文件作用域可变全局对象,需确认封装、并发访问和初始化顺序volatile bool spi_dma_rx_complete = false;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001device/ang_sensor.cpp:41文件作用域可变全局对象,需确认封装、并发访问和初始化顺序angle_sensor KTH7823;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001main.cpp:39文件作用域可变全局对象,需确认封装、并发访问和初始化顺序TaskScheduler scheduler = {0};建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001main.cpp:40文件作用域可变全局对象,需确认封装、并发访问和初始化顺序u32 motor_runtime_50us = 0;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001main.cpp:41文件作用域可变全局对象,需确认封装、并发访问和初始化顺序u32 cnt_test = 0;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:32文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 SOFTWARE_VERSION_MAJOR = 26;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:34文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 SOFTWARE_VERSION_MINOR = 5;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:36文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 SOFTWARE_VERSION_PATCH = 19;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:38文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 SOFTWARE_VERSION_BUILD = 2;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:41文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 HARDWARE_VERSION_MAJOR = 25;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:43文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 HARDWARE_VERSION_MINOR = 12;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:45文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 HARDWARE_VERSION_PATCH = 01;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:47文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 HARDWARE_VERSION_BUILD = 0;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:50文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 BOOT_VERSION_MAJOR = 26;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:52文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 BOOT_VERSION_MINOR = 1;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:54文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 BOOT_VERSION_PATCH = 12;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:56文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 BOOT_VERSION_BUILD = 0;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:60文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u32 BOOTLOADER_SIZE = 0x6000;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:62文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u32 BOOTLOADER_START_ADDR = 0x08000000;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:64文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u32 APPLATEST_START_ADDR = 0x08012000;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:66文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u32 APPBACK_START_ADDR = 0x08006000;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:68文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u32 APP_MAX_SIZE = 0xC000;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:70文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u32 FMC_PAGE_SIZE = 0x400;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:72文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u32 SLEEP_CONFIG_START = 0x0801E400;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:74文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u32 SLEEP_CONFIG_END = 0x0801E800;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:76文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u32 FLASH_EMPTY = 0xFFFFFFFF;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:78文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u32 SLEEP_ENABLE = 0x11111111;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:80文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u32 SLEEP_DISABLE = 0x00000000;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:92文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u32 NODE_ID_PAGE_ADDR = 0x0801E800;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:94文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u32 NODE_ID_PRIMARY_ADDR = 0x0801E800;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:96文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u32 NODE_ID_BACKUP_ADDR = 0x0801E840;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:98文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u32 NODE_ID_MAGIC = 0x4E4F4445;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:100文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 DEFAULT_NODE_ID = 1;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:102文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 BROADCAST_NODE_ID = 0x1FFF;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:104文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 MAX_NODE_ID = 0x1FFE;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:113文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u8 NODE_ID_STRUCT_SIZE = 0x10;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:115文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u8 NODE_ID_MAGIC_OFFSET = 0x00;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:117文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u8 NODE_ID_VALUE_OFFSET = 0x04;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:119文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u8 NODE_ID_COUNTER_OFFSET = 0x08;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:121文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u8 NODE_ID_CRC_OFFSET = 0x0C;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:125文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u32 OTA_CONFIG_NUM = 6;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:127文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u32 n_APP_LATEST_AVAL_ADDR = 0x0801E000;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:129文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u32 n_APP_BACKUP_AVAL_ADDR = 0x0801E004;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:131文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u32 n_APP_LATEST_EN_ADDR = 0x0801E008;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:133文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u32 n_APP_BACKUP_EN_ADDR = 0x0801E00C;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:135文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u32 n_APP_LATEST_CHECK_ADDR = 0x0801E010;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:137文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u32 n_APP_BACKUP_CHECK_ADDR = 0x0801E014;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:139文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u32 OTA_NOT_AVAL = 0xFFFFFFFF;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:141文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u32 OTA_AVAL = 0x00000000;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:145文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u8 PP = 11;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:147文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float DIR = 1.0f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:149文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 REDUCTION_RATIO = 25;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:151文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float CURRENT_OFFSET = -3.31f / 2.0f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:153文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float HOLD_PWM_DUTY = 0.1f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:155文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 ANGLESENS_OFFSET = 0;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:157文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float ANGLESENS_CALIBRATION_ANGLE = 83.0f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:159文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float KE_FACTOR = 0.0f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:163文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float ANGLE_KALMAN_INITIAL_STATE = 0.0f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:165文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float ANGLE_KALMAN_INITIAL_COVARIANCE = 0.0f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:167文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float ANGLE_KALMAN_PROCESS_NOISE_Q = 0.0f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:169文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float ANGLE_KALMAN_MEASUREMENT_NOISE_R = 0.0f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:171文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float ANGLE_OBSERVER_ALPHA = 0.75f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:173文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float ANGLE_OBSERVER_BETA = 0.002f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:177文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float VELOCITY_KALMAN_INITIAL_STATE = 0.0f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:179文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float VELOCITY_KALMAN_INITIAL_COVARIANCE = 1e-3f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:181文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float VELOCITY_KALMAN_PROCESS_NOISE_Q =建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:184文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float VELOCITY_KALMAN_MEASUREMENT_NOISE_R =建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:189文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float CURRENT_KALMAN_INITIAL_STATE = 0.0f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:191文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float CURRENT_KALMAN_INITIAL_COVARIANCE = 100.0f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:193文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float CURRENT_KALMAN_PROCESS_NOISE_Q = 10.0f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:195文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float CURRENT_KALMAN_MEASUREMENT_NOISE_R = 5e-5f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:199文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float DEFAULT_current_loop_p = 0.1f / 100 * 12;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:201文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float current_loop_Ki = 0.55f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:203文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float current_loop_Kd = 3e-4f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:206文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float DEFAULT_vel_loop_p = 0.018f / 100 * 12;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:208文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float vel_loop_Ku = 3.600000e-03 * 0.7 * 100 / 12;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:210文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float vel_loop_Tu = 17.0f * 1e-3f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:212文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float vel_loop_Ki = 1.2 * vel_loop_Ku / vel_loop_Tu;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:214文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float vel_loop_Kd = 0.075 * vel_loop_Ku * vel_loop_Tu * 2;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:217文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float DEFAULT_vel_angloop_p = 0.4f / 100;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:219文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float vel_angloop_Ki = 5.0f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:221文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float vel_angloop_Kd = 5e-05f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:224文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float DEFAULT_angle_angloop_p =建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:227文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float ang_angloop_Ki = 0.00f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:229文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float ang_angloop_Kd = 8e-04f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:232文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float DEFAULT_angle_loop_p = 60.0f / 100 * 12;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:235文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float DEFAULT_angle_MIT_p = 100.0f / 100 * 12;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:237文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float angle_MIT_Ki = 0.0f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:239文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float angle_MIT_Kd = 8e-04f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:242文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float DEFAULT_vel_MIT_p = 5.0f / 100;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:244文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float vel_MIT_Ki = 15.0f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:246文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float vel_MIT_Kd = 1e-04f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:249文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float DEFAULT_current_MIT_p = 0.2f / 100 * 12;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:251文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float current_MIT_Ki = 0.1f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:253文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float current_MIT_Kd = 3e-4f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:260文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float ADC_MAX = 65536.0f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:262文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float PI = 3.14159265358979323846f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:264文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float INV_PI_3 = 3.0f / PI;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:266文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float PI_3 = PI / 3.0f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:268文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float _1_SQRT3 = 0.57735026919f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:270文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float _3PI_2 = 4.71238898038f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:272文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float SQRT3 = 1.7320508075688772f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:274文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float SQRT3DV2 = 0.8660254037844386f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:276文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float COS_PI_3 = 0.5f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:278文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float ANGLE_FACTOR = 25.0f / 180.0f * PI;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:280文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float DEG2RAD = 1.0f / 180.0f * PI;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:282文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float RAD2DEG = 180.0f / PI;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:284文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u8 DEFAULT_VALUE = 0;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:286文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u8 CONFIG_SAVED_NUM = 6;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:290文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 LUT_SIZE = 1024;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:301文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 DEV_CAN0_ID = 0x0000;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:303文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 DEV_CAN0_MASK = 0x0000;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:305文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 DEV_CAN_LOOPBACK_ID = 0x0000;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:308文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 CANFD_STATUS_ID = 0x0100;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:310文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 CANFD_CONFIG_ID = 0x0101;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:312文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 CANFD_VERSION_ID = 0x00FF;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:315文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 CANFD_CMD_ID = 0x0200;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:317文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 CANFD_RESET_ID = 0x0301;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:320文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 CANFD_SET_NODE_ID = 0x0400;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:322文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 CANFD_GET_NODE_ID = 0x0401;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:326文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 CANFD_BOOT_ID = 0x0000;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:328文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 CANFD_OTA_REQ_ID = 0x0100;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:330文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 CANFD_OTA_DATA_ID = 0x0101;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:332文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 CANFD_OTA_ACK_ID = 0x0102;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:334文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 CANFD_OTA_WAIT_ID = 0x0103;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:338文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u8 ADC_FILTER_SIZE = 6;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:340文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u8 BLOCK_SIZE = ADC_FILTER_SIZE * SIZE_FLOAT;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:342文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float ERROR_ADC_VAL = 255.0f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:344文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float MAX_TEMP = 150.0f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:346文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float MIN_TEMP = -40.0f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:348文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float MAX_CURRENT = 40.0f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:350文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float MIN_CURRENT = -40.0f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:352文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float MAX_VCC = 65.0f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:354文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float MIN_VCC = -0.1f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:358文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 VEL_FILTER_SIZE = 4;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:360文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 DEFAULT_COMMAND = 0x0000;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:362文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 FAULT_RECEIVE = 0xFFFF;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:364文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float ANGLE_WRAP_THRESHOLD = 300.0f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:366文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float ANGLE_WRAP_VALUE = 360.0f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:368文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float RAD_FACTOR = 1.0f / ADC_MAX * 2.0f * PI;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:370文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float ANGLESENS_FACTOR = 1.0f / ADC_MAX * 360.0f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:374文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr int TIMER2_PRESCALER = 119;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:376文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr int TIMER2_PERIOD = 49;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:378文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr int MOTOR_PERIOD = 1;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:380文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float TIME_SLICE =建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:383文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float TIMER2_FREQUENCY = 1 / TIME_SLICE;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:385文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float MOTOR_FREQUENCY = 1 / TIME_SLICE / MOTOR_PERIOD;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:389文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr int TIMER1_PRESCALER = 0;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:391文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr int TIMER1_PERIOD = 2999;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:393文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr int TIMER1_DEFAULT_PULSE = 0;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:395文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr int TIMER1_CH3_COMPARE_VALUE =建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:400文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 COGGING_TABLE_SIZE = 128;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:402文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float COGGING_COMP_SCALE = 0.005f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:413文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float VBUS_DROP_THRESHOLD = 5.0f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:415文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float VBUS_ABSOLUTE_MIN = 12.0f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:417文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u32 VBUS_DEBOUNCE_COUNT = 5;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/config.h:419文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr float VBUS_RECOVERY_RATIO = 0.9f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/health.cpp:19文件作用域可变全局对象,需确认封装、并发访问和初始化顺序ThermalController thermalController;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/health.cpp:25文件作用域可变全局对象,需确认封装、并发访问和初始化顺序constexpr u16 PROTECT_TIME = 6000;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/health.cpp:28文件作用域可变全局对象,需确认封装、并发访问和初始化顺序static VoltageState voltage_state = VoltageState::NORMAL;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/health.cpp:29文件作用域可变全局对象,需确认封装、并发访问和初始化顺序static float last_vbus_slow = 0.0f;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/initial.cpp:39文件作用域可变全局对象,需确认封装、并发访问和初始化顺序VersionManager Version;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/systick.cpp:53文件作用域可变全局对象,需确认封装、并发访问和初始化顺序volatile static uint32_t delay;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/systick.cpp:54文件作用域可变全局对象,需确认封装、并发访问和初始化顺序volatile static uint32_t systick_ms = 0;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/systick.cpp:70文件作用域可变全局对象,需确认封装、并发访问和初始化顺序volatile static uint32_t task_enter_cyccnt = 0;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/systick.cpp:71文件作用域可变全局对象,需确认封装、并发访问和初始化顺序volatile static uint32_t busy_cycles_accum = 0;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/systick.cpp:72文件作用域可变全局对象,需确认封装、并发访问和初始化顺序volatile static uint16_t sample_seconds = 0;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/systick.cpp:73文件作用域可变全局对象,需确认封装、并发访问和初始化顺序volatile static uint8_t cpu_usage = 0;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-GLB-001sys/systick.cpp:74文件作用域可变全局对象,需确认封装、并发访问和初始化顺序volatile static uint8_t dwt_initialized = 0;建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
SUP-IRQ-001device/Can.cpp:709关中断后未在短窗口内看到开中断,需人工确认成对性__disable_irq();确认所有路径均恢复中断;避免临界区过长。
SUP-IRQ-001sys/flash.cpp:888关中断后未在短窗口内看到开中断,需人工确认成对性__disable_irq();确认所有路径均恢复中断;避免临界区过长。
SUP-IRQ-001sys/systick.cpp:256关中断后未在短窗口内看到开中断,需人工确认成对性__disable_irq();确认所有路径均恢复中断;避免临界区过长。
SUP-SW-001Algorithm/FOC.cpp:89switch 语句疑似缺少 default 分支switch (cog_calib_state) {MISRA 通常要求 default;如枚举已全覆盖也建议显式说明。
-

输出文件

- - - - \ No newline at end of file diff --git a/static_test_automotive_business_20260523/robot_v2_app_static_report_check_progress.json b/static_test_automotive_business_20260523/robot_v2_app_static_report_check_progress.json deleted file mode 100644 index 84409c7..0000000 --- a/static_test_automotive_business_20260523/robot_v2_app_static_report_check_progress.json +++ /dev/null @@ -1,262 +0,0 @@ -{ - "version": 1, - "storageKey": "robot_v2_app_static_report_checklist_v1", - "report": "ROBOT_V2_APP_static_test_automotive_business_20260523", - "updatedAt": "2026-05-23T16:25:00.825Z", - "checked": { - "main-3117cb79205a": true, - "main-527272d22f5f": true, - "main-5ceb0ceaf414": true, - "main-0d853312a4fb": true, - "main-d5c0067cb8c9": true, - "main-b3497022fd57": true, - "main-fb0f6eef33ee": true, - "main-e8d34916ef43": true, - "main-a0e7f44822d5": true, - "main-e8581b775b86": true, - "main-a61db2bcd87e": true, - "main-1bfba6db3552": true, - "main-29a13abcf59d": true, - "main-cc75af885325": true, - "main-2665cbd3f00e": true, - "main-843a028f8696": true, - "main-4117283cf3e7": true, - "main-344a33bfcf2b": true, - "main-efc8f847b950": true, - "main-92473d3ec470": true, - "main-dca22002f30a": true, - "main-668e5afb0750": true, - "main-778a368d79d3": true, - "main-c8ae670ed482": true, - "main-44e5b708ced1": true, - "main-eecf1f323336": true, - "main-cd72d3b37996": true, - "supp-091ea0cb4563": true, - "supp-b251edcd19a4": true, - "supp-72780618de89": true, - "supp-428c4d2d4361": true, - "supp-5bc6c7028f31": true, - "supp-5f30c71b560c": true, - "supp-ec236e967cf5": true, - "supp-6c83765299a8": true, - "supp-a3f3ec52d5c9": true, - "supp-dba1f5ee2bac": true, - "supp-a00f50fd7e91": true, - "supp-cdd0a4a9b8e7": true, - "supp-fc1eb40a78e5": true, - "supp-7b0c20306d7f": true, - "supp-955e70ca702a": true, - "supp-26a75340d328": true, - "supp-b684bf6daa82": true, - "supp-cfb32941b86c": true, - "supp-4db7e8721b38": true, - "supp-18273d7ff405": true, - "supp-a0b262ee0d7f": true, - "supp-c8fcf2049028": true, - "supp-e82e3e95d9c3": true, - "supp-9631705a92be": true, - "supp-0ba6f0a3cbb6": true, - "supp-bfd02b0e6428": true, - "supp-d6a6beb85f8e": true, - "supp-54f7152d525f": true, - "supp-57ed4b5aeb01": true, - "supp-97688039a586": true, - "supp-5f838841063f": true, - "supp-a2c7b377ff4e": true, - "supp-296377880c63": true, - "supp-b038358270db": true, - "supp-6c02c2686174": true, - "supp-038975fb0589": true, - "supp-ddcf3c5981d6": true, - "supp-1f9a0ad0330e": true, - "supp-eb8c172d8fa7": true, - "supp-415c4b510e1b": true, - "supp-5f5afb443061": true, - "supp-52e7dfa0bd8a": true, - "supp-7eca8869fe8d": true, - "supp-cd1b03277370": true, - "supp-9e0e93117b39": true, - "supp-476cb8529804": true, - "supp-9d2d2a633571": true, - "supp-c843a8b60fa0": true, - "supp-a372ad7cc25f": true, - "supp-d47f02ccdc6f": true, - "supp-02752fc39463": true, - "supp-fba82de9f335": true, - "supp-b464d624b89c": true, - "supp-177d79286976": true, - "supp-4b1489b395b5": true, - "supp-fd0c805a01cb": true, - "supp-4f9e1ff5f977": true, - "supp-5bf3d6123aea": true, - "supp-378c2eadddd6": true, - "supp-20a5d232f926": true, - "supp-f3b55e35f9d0": true, - "supp-1acaf41cfdae": true, - "supp-fbc927cfd61d": true, - "supp-b187de9b2c71": true, - "supp-d7851021e615": true, - "supp-7265bf9ffeb6": true, - "supp-262745c8fde4": true, - "supp-fb700e5b9217": true, - "supp-09cf228fa618": true, - "supp-8f1a0be480db": true, - "supp-2ec9227ef7dd": true, - "supp-674252936cac": true, - "supp-7c9b992c78be": true, - "supp-f938632efd00": true, - "supp-ec2f21ab7179": true, - "supp-b59a8a08dd46": true, - "supp-a954c6db3be8": true, - "supp-191496d69aae": true, - "supp-334250f82da0": true, - "supp-cb34e84dcbdf": true, - "supp-624129e18b9e": true, - "supp-58df8dc7015c": true, - "supp-442b031030c0": true, - "supp-4182de41f8da": true, - "supp-4becb5ead2c4": true, - "supp-2eaa8c7f0941": true, - "supp-ff8f09c6bfa5": true, - "supp-63c6dddf8bf5": true, - "supp-9d4b1e19e4f1": true, - "supp-b163701fc702": true, - "supp-6495be6cf728": true, - "supp-007928464d9b": true, - "supp-df5a0f8d5a72": true, - "supp-3dbd2f0de758": true, - "supp-9946aa57c8a9": true, - "supp-07a2866f170a": true, - "supp-2c87813f8aa3": true, - "supp-aa5f59116193": true, - "supp-1fbd51d49dad": true, - "supp-e0380903f6c3": true, - "supp-479efab46368": true, - "supp-09cce3719ad2": true, - "supp-d88f31fa5c0e": true, - "supp-4cf2fa02952e": true, - "supp-a3df150b3937": true, - "supp-fd66a295e97d": true, - "supp-473f9bd57824": true, - "supp-4a07cfb831d2": true, - "supp-85f55cfb9bd2": true, - "supp-816cb5806281": true, - "supp-e6f6ac38039c": true, - "supp-41033b3cde59": true, - "supp-a6c89579f6e4": true, - "supp-9dd3d0dbc734": true, - "supp-1f027dfb746a": true, - "supp-da022ec3d833": true, - "supp-6f6ffee00f58": true, - "supp-89f2f99e8e8d": true, - "supp-b07105c03caa": true, - "supp-a374b2a62cc3": true, - "supp-2687440608b0": true, - "supp-19455bafa3ac": true, - "supp-6e12b0ca84d2": true, - "supp-05a59d0def43": true, - "supp-e7dccd9a4003": true, - "supp-5df96dbf6738": true, - "supp-8148e3027849": true, - "supp-c5e6fb0e92b3": true, - "supp-f21a6ce0ca0e": true, - "supp-d3c74b81ee6f": true, - "supp-206d431ac433": true, - "supp-8f19a6ce3b2b": true, - "supp-dc7c842eaf8a": true, - "supp-b646b277d882": true, - "supp-8035701aea54": true, - "supp-8c8575a287e0": true, - "supp-9345c6e7b49b": true, - "supp-2871d296449d": true, - "supp-d86607ccbc20": true, - "supp-eb4e342e74d7": true, - "supp-23f2e81c8f43": true, - "supp-1a4ed985430d": true, - "supp-cef1f0c10332": true, - "supp-cfa7b96290df": true, - "supp-8066dac3a4e4": true, - "supp-045b8947a919": true, - "supp-39a61666efaf": true, - "supp-da4349769920": true, - "supp-df53690c09aa": true, - "supp-a977c6fa3fc0": true, - "supp-90bbab9c52ba": true, - "supp-7e9875638f06": true, - "supp-2cb25842f03e": true, - "supp-5f1962ce4046": true, - "main-3d52cdf723db": true, - "main-a22197731662": true, - "main-0c3a88910d56": true, - "main-687056efb188": true, - "main-2787e912f9ed": true, - "main-f53db085a93d": true, - "main-552e5d7b3055": true, - "main-4e82e66f670a": true, - "main-ce883b19cd52": true, - "main-5240bf640bb6": true, - "main-61c463500c61": true, - "main-977f3df23a03": true, - "main-a82cf38aaae0": true, - "metric-48d7e9621754": true, - "metric-65df715e5faa": true, - "metric-e7f74eabf84b": true, - "metric-f6c2bfb36b40": true, - "metric-0dfc09c00e94": true, - "metric-98b568f0e6b4": true, - "metric-ac925d0fa661": true, - "supp-be0750f37b75": true, - "supp-babc355f3ba4": true, - "supp-07a2fcbd63fb": true, - "supp-c48ffa36def4": true, - "supp-7464d86d386a": true, - "supp-c2c374b8a410": true, - "supp-f303809c0871": true, - "supp-897f14107d25": true, - "supp-bc539f456a7e": true, - "supp-6466d05c08ad": true, - "supp-e14bc6bcacd6": true, - "supp-73804b17c385": true, - "supp-52ca6be1c9f5": true, - "supp-b0ab1b3cde0e": true, - "supp-e73532e2d89c": true, - "supp-220ae6c1673f": true, - "supp-c0e88a884841": true, - "supp-191ba764ae89": true, - "supp-74fddf697b8f": true, - "supp-c3fac9483ce8": true, - "supp-e92b16152a23": true, - "supp-c08e7fa1d6c4": true, - "supp-5c8269165c25": true, - "supp-212345faf28b": true, - "supp-9838229d4cbb": true, - "supp-3038da272c7c": true, - "supp-0d2a8817da44": true, - "supp-89c98258c38a": true, - "supp-528a6cec1e84": true, - "supp-e242b707d647": true, - "supp-9c6e067632b0": true, - "supp-570cf82a0ea5": true, - "supp-b848b2393298": true, - "supp-2dd905d3d33a": true, - "supp-151515384d9d": true, - "supp-834473d55cbd": true, - "supp-0ed73a1e9822": true, - "supp-1f41a4e9399a": true, - "supp-0d1b7279df03": true, - "supp-3b9068c82c27": true, - "supp-7a89b7e99a15": true, - "supp-0512b0719836": true, - "supp-2bdf5602b64c": true, - "supp-014e603e9a05": true, - "supp-192ee126bacd": true, - "supp-5e8bbfb22dca": true, - "supp-cfd2894ba6c6": true, - "supp-80fbfa1e7f2a": true, - "supp-0a7fb6af2bfa": true, - "supp-79489853ba70": true, - "supp-8f5907226506": true, - "supp-da2839ee2717": true, - "supp-c7cb3cd0801f": true - } -} \ No newline at end of file diff --git a/static_test_automotive_business_20260523/supplement_findings.csv b/static_test_automotive_business_20260523/supplement_findings.csv deleted file mode 100644 index b666e2f..0000000 --- a/static_test_automotive_business_20260523/supplement_findings.csv +++ /dev/null @@ -1,728 +0,0 @@ -severity,rule_id,file,line,description,evidence,recommendation -warning,SUP-CMP-001,Algorithm/FOC.cpp,53,浮点变量比较需确认容差或离散状态含义,if (rt_velocity < -0.5f) last_table = cogging_table_rev;,建议确认是否应使用阈值/容差比较。 -warning,SUP-CMP-001,Algorithm/FOC.cpp,54,浮点变量比较需确认容差或离散状态含义,else if (rt_velocity > 0.5f) last_table = cogging_table;,建议确认是否应使用阈值/容差比较。 -warning,SUP-CMP-001,Algorithm/FOC.cpp,404,浮点变量比较需确认容差或离散状态含义,u8 sector_code = (X > 0.0f ? 1u : 0u),建议确认是否应使用阈值/容差比较。 -warning,SUP-CMP-001,Algorithm/FOC.cpp,405,浮点变量比较需确认容差或离散状态含义,+ (Y > 0.0f ? 2u : 0u),建议确认是否应使用阈值/容差比较。 -warning,SUP-CMP-001,Algorithm/FOC.cpp,406,浮点变量比较需确认容差或离散状态含义,+ (Z > 0.0f ? 4u : 0u);,建议确认是否应使用阈值/容差比较。 -warning,SUP-CMP-001,Algorithm/FOC.cpp,534,浮点变量比较需确认容差或离散状态含义,if (HOLD_PWM_DUTY > 0.95f) {,建议确认是否应使用阈值/容差比较。 -warning,SUP-CMP-001,Algorithm/FOC.cpp,536,浮点变量比较需确认容差或离散状态含义,} else if (HOLD_PWM_DUTY < 0.0f) {,建议确认是否应使用阈值/容差比较。 -warning,SUP-CMP-001,Algorithm/FOC.cpp,569,浮点变量比较需确认容差或离散状态含义,if (voltage < 36.0f and voltage > 8.0f) {,建议确认是否应使用阈值/容差比较。 -warning,SUP-CMP-001,Algorithm/FOC.cpp,763,浮点变量比较需确认容差或离散状态含义,if (target_velocity < -120.0f) {,建议确认是否应使用阈值/容差比较。 -warning,SUP-CMP-001,Algorithm/FOC.cpp,765,浮点变量比较需确认容差或离散状态含义,} else if (target_velocity < -30.0f) {,建议确认是否应使用阈值/容差比较。 -warning,SUP-CMP-001,Algorithm/Filter.cpp,190,浮点变量比较需确认容差或离散状态含义,if (error > 180.0f) error -= 360.0f;,建议确认是否应使用阈值/容差比较。 -warning,SUP-CMP-001,Algorithm/Filter.cpp,191,浮点变量比较需确认容差或离散状态含义,else if (error < -180.0f) error += 360.0f;,建议确认是否应使用阈值/容差比较。 -warning,SUP-CMP-001,sys/config.h,427,浮点变量比较需确认容差或离散状态含义,while (angle >= 360.0f) angle -= 360.0f;,建议确认是否应使用阈值/容差比较。 -warning,SUP-CMP-001,sys/config.h,428,浮点变量比较需确认容差或离散状态含义,while (angle < 0.0f) angle += 360.0f;,建议确认是否应使用阈值/容差比较。 -warning,SUP-GLB-001,Algorithm/FOC.cpp,23,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,FOC_Controller FOC;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,device/ADC.cpp,20,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr float ADC_SCALE = 3.3f / 4096.0f;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,device/ADC.cpp,22,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr float TEMP_FACTOR = 1000.0f / 4.3f;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,device/ADC.cpp,24,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr float VCC_FACTOR = 11.0f;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,device/ADC.cpp,26,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr float CURRENT_FACTOR =,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,device/ADC.cpp,30,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,sampler sampler;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,device/ADC.cpp,33,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,static volatile u8 adc_current_frame_ready = 0;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,device/Can.cpp,37,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr u16 CANX = CAN0;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,device/Can.cpp,48,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,dma_parameter_struct dma_rx_parameter;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,device/Can.cpp,51,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,static volatile bool can_rx_dma_busy = false;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,device/Can.cpp,52,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,static can_receive_message_struct can_rx_dma_message;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,device/Can.cpp,72,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,static volatile u8 rx_queue_head = 0;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,device/Can.cpp,73,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,static volatile u8 rx_queue_tail = 0;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,device/Can.cpp,74,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,static volatile u8 rx_queue_count = 0;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,device/Can.cpp,77,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,static volatile u8 tx_queue_head = 0;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,device/Can.cpp,78,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,static volatile u8 tx_queue_tail = 0;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,device/Can.cpp,79,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,static volatile u8 tx_queue_count = 0;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,device/Can.cpp,84,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,CAN_transmiter CAN0_transmiter;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,device/Timer.cpp,18,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,volatile u32 total_us100_counter = 0;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,device/ang_sensor.cpp,38,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,volatile bool spi_dma_tx_complete = false;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,device/ang_sensor.cpp,39,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,volatile bool spi_dma_rx_complete = false;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,device/ang_sensor.cpp,41,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,angle_sensor KTH7823;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,main.cpp,39,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,TaskScheduler scheduler = {0};,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,main.cpp,40,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,u32 motor_runtime_50us = 0;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,main.cpp,41,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,u32 cnt_test = 0;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,32,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr u16 SOFTWARE_VERSION_MAJOR = 26;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,34,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr u16 SOFTWARE_VERSION_MINOR = 5;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,36,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr u16 SOFTWARE_VERSION_PATCH = 19;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,38,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr u16 SOFTWARE_VERSION_BUILD = 2;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,41,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr u16 HARDWARE_VERSION_MAJOR = 25;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,43,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr u16 HARDWARE_VERSION_MINOR = 12;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,45,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr u16 HARDWARE_VERSION_PATCH = 01;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,47,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr u16 HARDWARE_VERSION_BUILD = 0;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,50,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr u16 BOOT_VERSION_MAJOR = 26;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,52,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr u16 BOOT_VERSION_MINOR = 1;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,54,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr u16 BOOT_VERSION_PATCH = 12;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,56,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr u16 BOOT_VERSION_BUILD = 0;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,60,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr u32 BOOTLOADER_SIZE = 0x6000;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,62,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr u32 BOOTLOADER_START_ADDR = 0x08000000;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,64,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr u32 APPLATEST_START_ADDR = 0x08012000;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,66,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr u32 APPBACK_START_ADDR = 0x08006000;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,68,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr u32 APP_MAX_SIZE = 0xC000;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,70,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr u32 FMC_PAGE_SIZE = 0x400;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,72,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr u32 SLEEP_CONFIG_START = 0x0801E400;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,74,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr u32 SLEEP_CONFIG_END = 0x0801E800;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,76,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr u32 FLASH_EMPTY = 0xFFFFFFFF;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,78,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr u32 SLEEP_ENABLE = 0x11111111;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,80,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr u32 SLEEP_DISABLE = 0x00000000;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,92,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr u32 NODE_ID_PAGE_ADDR = 0x0801E800;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,94,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr u32 NODE_ID_PRIMARY_ADDR = 0x0801E800;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,96,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr u32 NODE_ID_BACKUP_ADDR = 0x0801E840;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,98,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr u32 NODE_ID_MAGIC = 0x4E4F4445;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,100,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr u16 DEFAULT_NODE_ID = 1;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,102,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr u16 BROADCAST_NODE_ID = 0x1FFF;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,104,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr u16 MAX_NODE_ID = 0x1FFE;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,113,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr u8 NODE_ID_STRUCT_SIZE = 0x10;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,115,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr u8 NODE_ID_MAGIC_OFFSET = 0x00;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,117,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr u8 NODE_ID_VALUE_OFFSET = 0x04;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,119,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr u8 NODE_ID_COUNTER_OFFSET = 0x08;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,121,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr u8 NODE_ID_CRC_OFFSET = 0x0C;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,125,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr u32 OTA_CONFIG_NUM = 6;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,127,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr u32 n_APP_LATEST_AVAL_ADDR = 0x0801E000;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,129,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr u32 n_APP_BACKUP_AVAL_ADDR = 0x0801E004;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,131,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr u32 n_APP_LATEST_EN_ADDR = 0x0801E008;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,133,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr u32 n_APP_BACKUP_EN_ADDR = 0x0801E00C;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,135,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr u32 n_APP_LATEST_CHECK_ADDR = 0x0801E010;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,137,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr u32 n_APP_BACKUP_CHECK_ADDR = 0x0801E014;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,139,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr u32 OTA_NOT_AVAL = 0xFFFFFFFF;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,141,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr u32 OTA_AVAL = 0x00000000;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,145,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr u8 PP = 11;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,147,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr float DIR = 1.0f;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,149,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr u16 REDUCTION_RATIO = 25;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,151,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr float CURRENT_OFFSET = -3.31f / 2.0f;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,153,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr float HOLD_PWM_DUTY = 0.1f;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,155,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr u16 ANGLESENS_OFFSET = 0;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,157,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr float ANGLESENS_CALIBRATION_ANGLE = 83.0f;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,159,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr float KE_FACTOR = 0.0f;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,163,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr float ANGLE_KALMAN_INITIAL_STATE = 0.0f;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,165,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr float ANGLE_KALMAN_INITIAL_COVARIANCE = 0.0f;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,167,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr float ANGLE_KALMAN_PROCESS_NOISE_Q = 0.0f;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,169,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr float ANGLE_KALMAN_MEASUREMENT_NOISE_R = 0.0f;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,171,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr float ANGLE_OBSERVER_ALPHA = 0.75f;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,173,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr float ANGLE_OBSERVER_BETA = 0.002f;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,177,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr float VELOCITY_KALMAN_INITIAL_STATE = 0.0f;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,179,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr float VELOCITY_KALMAN_INITIAL_COVARIANCE = 1e-3f;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,181,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr float VELOCITY_KALMAN_PROCESS_NOISE_Q =,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,184,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr float VELOCITY_KALMAN_MEASUREMENT_NOISE_R =,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,189,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr float CURRENT_KALMAN_INITIAL_STATE = 0.0f;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,191,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr float CURRENT_KALMAN_INITIAL_COVARIANCE = 100.0f;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,193,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr float CURRENT_KALMAN_PROCESS_NOISE_Q = 10.0f;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,195,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr float CURRENT_KALMAN_MEASUREMENT_NOISE_R = 5e-5f;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,199,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr float DEFAULT_current_loop_p = 0.1f / 100 * 12;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,201,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr float current_loop_Ki = 0.55f;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,203,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr float current_loop_Kd = 3e-4f;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,206,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr float DEFAULT_vel_loop_p = 0.018f / 100 * 12;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,208,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr float vel_loop_Ku = 3.600000e-03 * 0.7 * 100 / 12;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,210,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr float vel_loop_Tu = 17.0f * 1e-3f;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,212,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr float vel_loop_Ki = 1.2 * vel_loop_Ku / vel_loop_Tu;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,214,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr float vel_loop_Kd = 0.075 * vel_loop_Ku * vel_loop_Tu * 2;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,217,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr float DEFAULT_vel_angloop_p = 0.4f / 100;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,219,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr float vel_angloop_Ki = 5.0f;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,221,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr float vel_angloop_Kd = 5e-05f;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,224,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr float DEFAULT_angle_angloop_p =,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,227,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr float ang_angloop_Ki = 0.00f;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,229,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr float ang_angloop_Kd = 8e-04f;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,232,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr float DEFAULT_angle_loop_p = 60.0f / 100 * 12;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,235,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr float DEFAULT_angle_MIT_p = 100.0f / 100 * 12;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,237,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr float angle_MIT_Ki = 0.0f;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,239,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr float angle_MIT_Kd = 8e-04f;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,242,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr float DEFAULT_vel_MIT_p = 5.0f / 100;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,244,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr float vel_MIT_Ki = 15.0f;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,246,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr float vel_MIT_Kd = 1e-04f;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,249,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr float DEFAULT_current_MIT_p = 0.2f / 100 * 12;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,251,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr float current_MIT_Ki = 0.1f;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,253,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr float current_MIT_Kd = 3e-4f;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,260,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr float ADC_MAX = 65536.0f;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,262,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr float PI = 3.14159265358979323846f;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,264,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr float INV_PI_3 = 3.0f / PI;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,266,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr float PI_3 = PI / 3.0f;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,268,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr float _1_SQRT3 = 0.57735026919f;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,270,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr float _3PI_2 = 4.71238898038f;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,272,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr float SQRT3 = 1.7320508075688772f;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,274,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr float SQRT3DV2 = 0.8660254037844386f;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,276,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr float COS_PI_3 = 0.5f;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,278,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr float ANGLE_FACTOR = 25.0f / 180.0f * PI;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,280,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr float DEG2RAD = 1.0f / 180.0f * PI;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,282,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr float RAD2DEG = 180.0f / PI;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,284,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr u8 DEFAULT_VALUE = 0;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,286,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr u8 CONFIG_SAVED_NUM = 6;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,290,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr u16 LUT_SIZE = 1024;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,301,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr u16 DEV_CAN0_ID = 0x0000;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,303,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr u16 DEV_CAN0_MASK = 0x0000;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,305,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr u16 DEV_CAN_LOOPBACK_ID = 0x0000;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,308,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr u16 CANFD_STATUS_ID = 0x0100;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,310,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr u16 CANFD_CONFIG_ID = 0x0101;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,312,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr u16 CANFD_VERSION_ID = 0x00FF;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,315,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr u16 CANFD_CMD_ID = 0x0200;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,317,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr u16 CANFD_RESET_ID = 0x0301;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,320,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr u16 CANFD_SET_NODE_ID = 0x0400;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,322,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr u16 CANFD_GET_NODE_ID = 0x0401;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,326,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr u16 CANFD_BOOT_ID = 0x0000;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,328,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr u16 CANFD_OTA_REQ_ID = 0x0100;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,330,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr u16 CANFD_OTA_DATA_ID = 0x0101;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,332,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr u16 CANFD_OTA_ACK_ID = 0x0102;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,334,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr u16 CANFD_OTA_WAIT_ID = 0x0103;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,338,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr u8 ADC_FILTER_SIZE = 6;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,340,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr u8 BLOCK_SIZE = ADC_FILTER_SIZE * SIZE_FLOAT;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,342,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr float ERROR_ADC_VAL = 255.0f;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,344,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr float MAX_TEMP = 150.0f;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,346,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr float MIN_TEMP = -40.0f;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,348,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr float MAX_CURRENT = 40.0f;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,350,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr float MIN_CURRENT = -40.0f;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,352,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr float MAX_VCC = 65.0f;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,354,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr float MIN_VCC = -0.1f;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,358,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr u16 VEL_FILTER_SIZE = 4;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,360,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr u16 DEFAULT_COMMAND = 0x0000;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,362,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr u16 FAULT_RECEIVE = 0xFFFF;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,364,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr float ANGLE_WRAP_THRESHOLD = 300.0f;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,366,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr float ANGLE_WRAP_VALUE = 360.0f;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,368,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr float RAD_FACTOR = 1.0f / ADC_MAX * 2.0f * PI;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,370,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr float ANGLESENS_FACTOR = 1.0f / ADC_MAX * 360.0f;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,374,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr int TIMER2_PRESCALER = 119;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,376,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr int TIMER2_PERIOD = 49;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,378,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr int MOTOR_PERIOD = 1;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,380,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr float TIME_SLICE =,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,383,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr float TIMER2_FREQUENCY = 1 / TIME_SLICE;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,385,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr float MOTOR_FREQUENCY = 1 / TIME_SLICE / MOTOR_PERIOD;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,389,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr int TIMER1_PRESCALER = 0;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,391,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr int TIMER1_PERIOD = 2999;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,393,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr int TIMER1_DEFAULT_PULSE = 0;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,395,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr int TIMER1_CH3_COMPARE_VALUE =,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,400,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr u16 COGGING_TABLE_SIZE = 128;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,402,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr float COGGING_COMP_SCALE = 0.005f;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,413,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr float VBUS_DROP_THRESHOLD = 5.0f;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,415,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr float VBUS_ABSOLUTE_MIN = 12.0f;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,417,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr u32 VBUS_DEBOUNCE_COUNT = 5;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/config.h,419,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr float VBUS_RECOVERY_RATIO = 0.9f;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/health.cpp,19,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,ThermalController thermalController;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/health.cpp,25,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,constexpr u16 PROTECT_TIME = 6000;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/health.cpp,28,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,static VoltageState voltage_state = VoltageState::NORMAL;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/health.cpp,29,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,static float last_vbus_slow = 0.0f;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/initial.cpp,39,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,VersionManager Version;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/systick.cpp,53,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,volatile static uint32_t delay;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/systick.cpp,54,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,volatile static uint32_t systick_ms = 0;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/systick.cpp,70,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,volatile static uint32_t task_enter_cyccnt = 0;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/systick.cpp,71,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,volatile static uint32_t busy_cycles_accum = 0;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/systick.cpp,72,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,volatile static uint16_t sample_seconds = 0;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/systick.cpp,73,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,volatile static uint8_t cpu_usage = 0;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-GLB-001,sys/systick.cpp,74,文件作用域可变全局对象,需确认封装、并发访问和初始化顺序,volatile static uint8_t dwt_initialized = 0;,建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -warning,SUP-IRQ-001,device/Can.cpp,709,关中断后未在短窗口内看到开中断,需人工确认成对性,__disable_irq();,确认所有路径均恢复中断;避免临界区过长。 -warning,SUP-IRQ-001,sys/flash.cpp,888,关中断后未在短窗口内看到开中断,需人工确认成对性,__disable_irq();,确认所有路径均恢复中断;避免临界区过长。 -warning,SUP-IRQ-001,sys/systick.cpp,256,关中断后未在短窗口内看到开中断,需人工确认成对性,__disable_irq();,确认所有路径均恢复中断;避免临界区过长。 -warning,SUP-SW-001,Algorithm/FOC.cpp,89,switch 语句疑似缺少 default 分支,switch (cog_calib_state) {,MISRA 通常要求 default;如枚举已全覆盖也建议显式说明。 -info,SUP-DOC-001,Algorithm/FOC.h,260,接口/函数缺少紧邻 Doxygen 注释,typedef float (FOC_Controller::*FOCFunctionPtr)(void);,建议补充 @brief/@param/@return;内部小函数可按项目规范豁免。 -info,SUP-DOC-001,Algorithm/Filter.h,187,接口/函数缺少紧邻 Doxygen 注释,"u8 init(float init_velocity, float initial_error_covariance = 1.0f) {",建议补充 @brief/@param/@return;内部小函数可按项目规范豁免。 -info,SUP-DOC-001,Algorithm/Filter.h,247,接口/函数缺少紧邻 Doxygen 注释,"u8 init(float init_angle, float initial_error_covariance = 1.0f) {",建议补充 @brief/@param/@return;内部小函数可按项目规范豁免。 -info,SUP-DOC-001,Algorithm/Filter.h,296,接口/函数缺少紧邻 Doxygen 注释,"u8 init(float init_current, float initial_error_covariance = 1.0f) {",建议补充 @brief/@param/@return;内部小函数可按项目规范豁免。 -info,SUP-DOC-001,Algorithm/pid.cpp,23,接口/函数缺少紧邻 Doxygen 注释,float PIDController::operator()(float error) {,建议补充 @brief/@param/@return;内部小函数可按项目规范豁免。 -info,SUP-DOC-001,Algorithm/pid.h,18,接口/函数缺少紧邻 Doxygen 注释,float operator()(float error);,建议补充 @brief/@param/@return;内部小函数可按项目规范豁免。 -info,SUP-DOC-001,device/Can.cpp,775,接口/函数缺少紧邻 Doxygen 注释,static void CAN_RX_ReleaseFifo0(void) { CAN_RFIFO0(CAN0) |= CAN_RFIFO0_RFD0; },建议补充 @brief/@param/@return;内部小函数可按项目规范豁免。 -info,SUP-DOC-001,device/Can.cpp,1130,接口/函数缺少紧邻 Doxygen 注释,else if (base_id == CANFD_SET_NODE_ID) {,建议补充 @brief/@param/@return;内部小函数可按项目规范豁免。 -info,SUP-DOC-001,device/Can.cpp,1292,接口/函数缺少紧邻 Doxygen 注释,else if (base_id == CANFD_GET_NODE_ID) {,建议补充 @brief/@param/@return;内部小函数可按项目规范豁免。 -info,SUP-DOC-001,sys/flash.cpp,913,接口/函数缺少紧邻 Doxygen 注释,typedef void (*AppEntryFunc)(void);,建议补充 @brief/@param/@return;内部小函数可按项目规范豁免。 -info,SUP-DOC-001,sys/flash.h,165,接口/函数缺少紧邻 Doxygen 注释,"u8 OTA_SET(u32 addr, u32 data);",建议补充 @brief/@param/@return;内部小函数可按项目规范豁免。 -info,SUP-DOC-001,sys/initial.cpp,224,接口/函数缺少紧邻 Doxygen 注释,"int fputc(int ch, FILE *f) throw() {",建议补充 @brief/@param/@return;内部小函数可按项目规范豁免。 -info,SUP-GLB-002,Algorithm/FOC.cpp,24,extern 全局对象引用,需确认单一定义和共享访问保护,extern sampler sampler;,确认是否跨 ISR/主循环共享;共享变量建议 volatile 或临界区保护。 -info,SUP-GLB-002,Algorithm/FOC.cpp,25,extern 全局对象引用,需确认单一定义和共享访问保护,extern angle_sensor KTH7823;,确认是否跨 ISR/主循环共享;共享变量建议 volatile 或临界区保护。 -info,SUP-GLB-002,Algorithm/FOC.cpp,26,extern 全局对象引用,需确认单一定义和共享访问保护,extern CAN_transmiter CAN0_transmiter;,确认是否跨 ISR/主循环共享;共享变量建议 volatile 或临界区保护。 -info,SUP-GLB-002,Algorithm/FOC.cpp,27,extern 全局对象引用,需确认单一定义和共享访问保护,extern EncoderVelocityKalman Vel_kalman;,确认是否跨 ISR/主循环共享;共享变量建议 volatile 或临界区保护。 -info,SUP-GLB-002,Algorithm/FOC.cpp,28,extern 全局对象引用,需确认单一定义和共享访问保护,extern CurrentKalman Current_kalman;,确认是否跨 ISR/主循环共享;共享变量建议 volatile 或临界区保护。 -info,SUP-GLB-002,Algorithm/Filter.cpp,14,extern 全局对象引用,需确认单一定义和共享访问保护,extern angle_sensor KTH7823;,确认是否跨 ISR/主循环共享;共享变量建议 volatile 或临界区保护。 -info,SUP-GLB-002,Algorithm/Filter.cpp,15,extern 全局对象引用,需确认单一定义和共享访问保护,extern CAN_transmiter CAN0_transmiter;,确认是否跨 ISR/主循环共享;共享变量建议 volatile 或临界区保护。 -info,SUP-GLB-002,Algorithm/Filter.cpp,16,extern 全局对象引用,需确认单一定义和共享访问保护,extern u32 motor_runtime_50us;,确认是否跨 ISR/主循环共享;共享变量建议 volatile 或临界区保护。 -info,SUP-GLB-002,Algorithm/Filter.h,24,extern 全局对象引用,需确认单一定义和共享访问保护,extern CAN_transmiter CAN0_transmiter;,确认是否跨 ISR/主循环共享;共享变量建议 volatile 或临界区保护。 -info,SUP-GLB-002,Algorithm/pid.cpp,14,extern 全局对象引用,需确认单一定义和共享访问保护,extern CAN_transmiter CAN0_transmiter;,确认是否跨 ISR/主循环共享;共享变量建议 volatile 或临界区保护。 -info,SUP-GLB-002,device/ADC.cpp,28,extern 全局对象引用,需确认单一定义和共享访问保护,extern CAN_transmiter CAN0_transmiter;,确认是否跨 ISR/主循环共享;共享变量建议 volatile 或临界区保护。 -info,SUP-GLB-002,device/ADC.cpp,29,extern 全局对象引用,需确认单一定义和共享访问保护,extern FOC_Controller FOC;,确认是否跨 ISR/主循环共享;共享变量建议 volatile 或临界区保护。 -info,SUP-GLB-002,device/Can.cpp,38,extern 全局对象引用,需确认单一定义和共享访问保护,extern FOC_Controller FOC;,确认是否跨 ISR/主循环共享;共享变量建议 volatile 或临界区保护。 -info,SUP-GLB-002,device/Can.cpp,39,extern 全局对象引用,需确认单一定义和共享访问保护,extern sampler sampler;,确认是否跨 ISR/主循环共享;共享变量建议 volatile 或临界区保护。 -info,SUP-GLB-002,device/Can.cpp,40,extern 全局对象引用,需确认单一定义和共享访问保护,extern angle_sensor KTH7823;,确认是否跨 ISR/主循环共享;共享变量建议 volatile 或临界区保护。 -info,SUP-GLB-002,device/Can.cpp,41,extern 全局对象引用,需确认单一定义和共享访问保护,extern EncoderAngleKalman Angle_kalman;,确认是否跨 ISR/主循环共享;共享变量建议 volatile 或临界区保护。 -info,SUP-GLB-002,device/Can.cpp,42,extern 全局对象引用,需确认单一定义和共享访问保护,extern EncoderVelocityKalman Vel_kalman;,确认是否跨 ISR/主循环共享;共享变量建议 volatile 或临界区保护。 -info,SUP-GLB-002,device/Can.cpp,43,extern 全局对象引用,需确认单一定义和共享访问保护,extern FlashEEPROM flashEEP;,确认是否跨 ISR/主循环共享;共享变量建议 volatile 或临界区保护。 -info,SUP-GLB-002,device/Can.cpp,44,extern 全局对象引用,需确认单一定义和共享访问保护,extern VersionManager Version;,确认是否跨 ISR/主循环共享;共享变量建议 volatile 或临界区保护。 -info,SUP-GLB-002,device/Can.cpp,45,extern 全局对象引用,需确认单一定义和共享访问保护,extern u32 motor_runtime_50us;,确认是否跨 ISR/主循环共享;共享变量建议 volatile 或临界区保护。 -info,SUP-GLB-002,device/Timer.cpp,20,extern 全局对象引用,需确认单一定义和共享访问保护,extern FOC_Controller FOC;,确认是否跨 ISR/主循环共享;共享变量建议 volatile 或临界区保护。 -info,SUP-GLB-002,device/Timer.cpp,21,extern 全局对象引用,需确认单一定义和共享访问保护,extern TaskScheduler scheduler;,确认是否跨 ISR/主循环共享;共享变量建议 volatile 或临界区保护。 -info,SUP-GLB-002,device/Timer.cpp,22,extern 全局对象引用,需确认单一定义和共享访问保护,extern CAN_transmiter CAN0_transmiter;,确认是否跨 ISR/主循环共享;共享变量建议 volatile 或临界区保护。 -info,SUP-GLB-002,device/Timer.cpp,24,extern 全局对象引用,需确认单一定义和共享访问保护,extern u32 cnt_test;,确认是否跨 ISR/主循环共享;共享变量建议 volatile 或临界区保护。 -info,SUP-GLB-002,device/ang_sensor.cpp,42,extern 全局对象引用,需确认单一定义和共享访问保护,extern FlashEEPROM flashEEP;,确认是否跨 ISR/主循环共享;共享变量建议 volatile 或临界区保护。 -info,SUP-GLB-002,device/ang_sensor.cpp,43,extern 全局对象引用,需确认单一定义和共享访问保护,extern EncoderAngleKalman Angle_kalman;,确认是否跨 ISR/主循环共享;共享变量建议 volatile 或临界区保护。 -info,SUP-GLB-002,device/ang_sensor.cpp,44,extern 全局对象引用,需确认单一定义和共享访问保护,extern EncoderVelocityKalman Vel_kalman;,确认是否跨 ISR/主循环共享;共享变量建议 volatile 或临界区保护。 -info,SUP-GLB-002,device/ang_sensor.cpp,45,extern 全局对象引用,需确认单一定义和共享访问保护,extern CAN_transmiter CAN0_transmiter;,确认是否跨 ISR/主循环共享;共享变量建议 volatile 或临界区保护。 -info,SUP-GLB-002,main.cpp,28,extern 全局对象引用,需确认单一定义和共享访问保护,extern CAN_transmiter CAN0_transmiter;,确认是否跨 ISR/主循环共享;共享变量建议 volatile 或临界区保护。 -info,SUP-GLB-002,main.cpp,29,extern 全局对象引用,需确认单一定义和共享访问保护,extern sampler sampler;,确认是否跨 ISR/主循环共享;共享变量建议 volatile 或临界区保护。 -info,SUP-GLB-002,main.cpp,30,extern 全局对象引用,需确认单一定义和共享访问保护,extern angle_sensor KTH7823;,确认是否跨 ISR/主循环共享;共享变量建议 volatile 或临界区保护。 -info,SUP-GLB-002,main.cpp,31,extern 全局对象引用,需确认单一定义和共享访问保护,extern EncoderVelocityKalman Vel_kalman;,确认是否跨 ISR/主循环共享;共享变量建议 volatile 或临界区保护。 -info,SUP-GLB-002,main.cpp,32,extern 全局对象引用,需确认单一定义和共享访问保护,extern EncoderAngleKalman Angle_kalman;,确认是否跨 ISR/主循环共享;共享变量建议 volatile 或临界区保护。 -info,SUP-GLB-002,main.cpp,33,extern 全局对象引用,需确认单一定义和共享访问保护,extern ThermalController thermalController;,确认是否跨 ISR/主循环共享;共享变量建议 volatile 或临界区保护。 -info,SUP-GLB-002,main.cpp,34,extern 全局对象引用,需确认单一定义和共享访问保护,extern FOC_Controller FOC;,确认是否跨 ISR/主循环共享;共享变量建议 volatile 或临界区保护。 -info,SUP-GLB-002,main.cpp,35,extern 全局对象引用,需确认单一定义和共享访问保护,extern FlashEEPROM flashEEP;,确认是否跨 ISR/主循环共享;共享变量建议 volatile 或临界区保护。 -info,SUP-GLB-002,main.cpp,36,extern 全局对象引用,需确认单一定义和共享访问保护,extern VersionManager Version;,确认是否跨 ISR/主循环共享;共享变量建议 volatile 或临界区保护。 -info,SUP-GLB-002,sys/flash.cpp,38,extern 全局对象引用,需确认单一定义和共享访问保护,extern angle_sensor KTH7823;,确认是否跨 ISR/主循环共享;共享变量建议 volatile 或临界区保护。 -info,SUP-GLB-002,sys/flash.cpp,39,extern 全局对象引用,需确认单一定义和共享访问保护,extern CAN_transmiter CAN0_transmiter;,确认是否跨 ISR/主循环共享;共享变量建议 volatile 或临界区保护。 -info,SUP-GLB-002,sys/flash.cpp,40,extern 全局对象引用,需确认单一定义和共享访问保护,extern FOC_Controller FOC;,确认是否跨 ISR/主循环共享;共享变量建议 volatile 或临界区保护。 -info,SUP-GLB-002,sys/health.cpp,15,extern 全局对象引用,需确认单一定义和共享访问保护,extern sampler sampler;,确认是否跨 ISR/主循环共享;共享变量建议 volatile 或临界区保护。 -info,SUP-GLB-002,sys/health.cpp,16,extern 全局对象引用,需确认单一定义和共享访问保护,extern CAN_transmiter CAN0_transmiter;,确认是否跨 ISR/主循环共享;共享变量建议 volatile 或临界区保护。 -info,SUP-GLB-002,sys/health.cpp,17,extern 全局对象引用,需确认单一定义和共享访问保护,extern FOC_Controller FOC;,确认是否跨 ISR/主循环共享;共享变量建议 volatile 或临界区保护。 -info,SUP-GLB-002,sys/health.cpp,18,extern 全局对象引用,需确认单一定义和共享访问保护,extern FlashEEPROM flashEEP;,确认是否跨 ISR/主循环共享;共享变量建议 volatile 或临界区保护。 -info,SUP-GLB-002,sys/initial.cpp,38,extern 全局对象引用,需确认单一定义和共享访问保护,extern CAN_transmiter CAN0_transmiter;,确认是否跨 ISR/主循环共享;共享变量建议 volatile 或临界区保护。 -info,SUP-GLB-002,sys/systick.cpp,75,extern 全局对象引用,需确认单一定义和共享访问保护,extern CAN_transmiter CAN0_transmiter;,确认是否跨 ISR/主循环共享;共享变量建议 volatile 或临界区保护。 -info,SUP-GLB-002,sys/systick.cpp,76,extern 全局对象引用,需确认单一定义和共享访问保护,extern FlashEEPROM flashEEP;,确认是否跨 ISR/主循环共享;共享变量建议 volatile 或临界区保护。 -info,SUP-ISR-001,device/ADC.cpp,317,中断处理函数需确认执行时间、共享数据保护和禁止阻塞调用,"extern """" void ADC0_1_IRQHandler(void) {",人工确认 ISR 内无阻塞、无长耗时,并检查共享变量 volatile/临界区。 -info,SUP-ISR-001,device/Can.cpp,1330,中断处理函数需确认执行时间、共享数据保护和禁止阻塞调用,void CAN0_RX0_IRQHandler(void) {,人工确认 ISR 内无阻塞、无长耗时,并检查共享变量 volatile/临界区。 -info,SUP-ISR-001,device/Can.cpp,1355,中断处理函数需确认执行时间、共享数据保护和禁止阻塞调用,void DMA0_Channel4_IRQHandler(void) {,人工确认 ISR 内无阻塞、无长耗时,并检查共享变量 volatile/临界区。 -info,SUP-ISR-001,device/Can.cpp,1389,中断处理函数需确认执行时间、共享数据保护和禁止阻塞调用,void DMA0_Channel5_IRQHandler(void) {,人工确认 ISR 内无阻塞、无长耗时,并检查共享变量 volatile/临界区。 -info,SUP-ISR-001,device/Can.cpp,1509,中断处理函数需确认执行时间、共享数据保护和禁止阻塞调用,void CAN0_TX_IRQHandler(void) {,人工确认 ISR 内无阻塞、无长耗时,并检查共享变量 volatile/临界区。 -info,SUP-ISR-001,device/Can.h,121,中断处理函数需确认执行时间、共享数据保护和禁止阻塞调用,void CAN0_TX_IRQHandler(void);,人工确认 ISR 内无阻塞、无长耗时,并检查共享变量 volatile/临界区。 -info,SUP-ISR-001,device/Can.h,126,中断处理函数需确认执行时间、共享数据保护和禁止阻塞调用,void CAN0_RX0_IRQHandler(void);,人工确认 ISR 内无阻塞、无长耗时,并检查共享变量 volatile/临界区。 -info,SUP-ISR-001,device/Can.h,131,中断处理函数需确认执行时间、共享数据保护和禁止阻塞调用,void DMA0_Channel4_IRQHandler(void);,人工确认 ISR 内无阻塞、无长耗时,并检查共享变量 volatile/临界区。 -info,SUP-ISR-001,device/Can.h,136,中断处理函数需确认执行时间、共享数据保护和禁止阻塞调用,void DMA0_Channel5_IRQHandler(void);,人工确认 ISR 内无阻塞、无长耗时,并检查共享变量 volatile/临界区。 -info,SUP-ISR-001,device/Timer.cpp,134,中断处理函数需确认执行时间、共享数据保护和禁止阻塞调用,void TIMER2_IRQHandler(void) {,人工确认 ISR 内无阻塞、无长耗时,并检查共享变量 volatile/临界区。 -info,SUP-ISR-001,device/Timer.cpp,281,中断处理函数需确认执行时间、共享数据保护和禁止阻塞调用,void TIMER1_IRQHandler(void) {,人工确认 ISR 内无阻塞、无长耗时,并检查共享变量 volatile/临界区。 -info,SUP-ISR-001,device/Timer.h,40,中断处理函数需确认执行时间、共享数据保护和禁止阻塞调用,void TIMER2_IRQHandler(void);,人工确认 ISR 内无阻塞、无长耗时,并检查共享变量 volatile/临界区。 -info,SUP-ISR-001,device/Timer.h,56,中断处理函数需确认执行时间、共享数据保护和禁止阻塞调用,void TIMER1_IRQHandler(void);,人工确认 ISR 内无阻塞、无长耗时,并检查共享变量 volatile/临界区。 -info,SUP-ISR-001,device/adc.h,91,中断处理函数需确认执行时间、共享数据保护和禁止阻塞调用,void ADC0_1_IRQHandler(void);,人工确认 ISR 内无阻塞、无长耗时,并检查共享变量 volatile/临界区。 -info,SUP-ISR-001,device/ang_sensor.cpp,145,中断处理函数需确认执行时间、共享数据保护和禁止阻塞调用,"extern """" void DMA0_Channel2_IRQHandler(void) {",人工确认 ISR 内无阻塞、无长耗时,并检查共享变量 volatile/临界区。 -info,SUP-ISR-001,device/ang_sensor.cpp,156,中断处理函数需确认执行时间、共享数据保护和禁止阻塞调用,"extern """" void DMA0_Channel1_IRQHandler(void) {",人工确认 ISR 内无阻塞、无长耗时,并检查共享变量 volatile/临界区。 -info,SUP-ISR-001,sys/systick.cpp,128,中断处理函数需确认执行时间、共享数据保护和禁止阻塞调用,"extern """" void SysTick_Handler(void) {",人工确认 ISR 内无阻塞、无长耗时,并检查共享变量 volatile/临界区。 -info,SUP-ISR-001,sys/systick.h,117,中断处理函数需确认执行时间、共享数据保护和禁止阻塞调用,void EXTI5_9_IRQHandler(void);,人工确认 ISR 内无阻塞、无长耗时,并检查共享变量 volatile/临界区。 -info,SUP-LOOP-001,device/Can.cpp,366,无限循环需确认退出策略、看门狗喂狗和低功耗策略,while (1),确认循环内任务调度、异常退出/复位策略和看门狗策略。 -info,SUP-LOOP-001,main.cpp,71,无限循环需确认退出策略、看门狗喂狗和低功耗策略,while (1) {,确认循环内任务调度、异常退出/复位策略和看门狗策略。 -info,SUP-LOOP-001,sys/systick.cpp,115,无限循环需确认退出策略、看门狗喂狗和低功耗策略,while (1) {,确认循环内任务调度、异常退出/复位策略和看门狗策略。 -info,SUP-LOOP-001,sys/systick.cpp,233,无限循环需确认退出策略、看门狗喂狗和低功耗策略,while (1) {,确认循环内任务调度、异常退出/复位策略和看门狗策略。 -info,SUP-MAG-001,Algorithm/FOC.cpp,29,业务代码中存在裸数字常量,需确认是否应命名化,extern u16 adc_value[3];,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.cpp,46,业务代码中存在裸数字常量,需确认是否应命名化,float index_f = angle / 360.0f * (float)COGGING_TABLE_SIZE;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.cpp,53,业务代码中存在裸数字常量,需确认是否应命名化,if (rt_velocity < -0.5f) last_table = cogging_table_rev;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.cpp,54,业务代码中存在裸数字常量,需确认是否应命名化,else if (rt_velocity > 0.5f) last_table = cogging_table;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.cpp,66,业务代码中存在裸数字常量,需确认是否应命名化,float FOC_Controller::cog_calib_run_data[6][COGGING_TABLE_SIZE] = {};,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.cpp,77,业务代码中存在裸数字常量,需确认是否应命名化,constexpr u32 SETTLE_TICKS = 16000;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.cpp,79,业务代码中存在裸数字常量,需确认是否应命名化,constexpr u32 STOP_TICKS = 10000;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.cpp,81,业务代码中存在裸数字常量,需确认是否应命名化,constexpr u32 TARGET_SAMPLES = 3 * COGGING_TABLE_SIZE * 8;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.cpp,85,业务代码中存在裸数字常量,需确认是否应命名化,constexpr u32 SAMPLE_DIV = 20;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.cpp,87,业务代码中存在裸数字常量,需确认是否应命名化,constexpr u8 TOTAL_RUNS = 6;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.cpp,102,业务代码中存在裸数字常量,需确认是否应命名化,control_mode = 6;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.cpp,131,业务代码中存在裸数字常量,需确认是否应命名化,if (fabsf(iq) < 5000.0f) {,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.cpp,132,业务代码中存在裸数字常量,需确认是否应命名化,u16 idx = (u16)(angle_el / 360.0f * (float)COGGING_TABLE_SIZE);,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.cpp,167,业务代码中存在裸数字常量,需确认是否应命名化,control_mode = 6;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.cpp,168,业务代码中存在裸数字常量,需确认是否应命名化,target_velocity = (cog_calib_run < 3) ? SLOW_VEL : -SLOW_VEL;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.cpp,182,业务代码中存在裸数字常量,需确认是否应命名化,cog_calib_run_data[2][i]) / 3.0f;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.cpp,186,业务代码中存在裸数字常量,需确认是否应命名化,cogging_table_rev[i] = (cog_calib_run_data[3][i] +,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.cpp,187,业务代码中存在裸数字常量,需确认是否应命名化,cog_calib_run_data[4][i] +,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.cpp,188,业务代码中存在裸数字常量,需确认是否应命名化,cog_calib_run_data[5][i]) / 3.0f;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.cpp,197,业务代码中存在裸数字常量,需确认是否应命名化,float angle_deg = (float)i / (float)COGGING_TABLE_SIZE * 360.0f;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.cpp,205,业务代码中存在裸数字常量,需确认是否应命名化,float angle_deg = (float)i / (float)COGGING_TABLE_SIZE * 360.0f;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.cpp,214,业务代码中存在裸数字常量,需确认是否应命名化,"if (i % 8 == 0) printf("""");",安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.cpp,217,业务代码中存在裸数字常量,需确认是否应命名化,"if (i % 8 == 7 || i == COGGING_TABLE_SIZE - 1) printf("""");",安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.cpp,226,业务代码中存在裸数字常量,需确认是否应命名化,"if (i % 8 == 0) printf("""");",安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.cpp,229,业务代码中存在裸数字常量,需确认是否应命名化,"if (i % 8 == 7 || i == COGGING_TABLE_SIZE - 1) printf("""");",安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.cpp,293,业务代码中存在裸数字常量,需确认是否应命名化,const float current_avg = (current_a + current_b + current_c) / 3.0f;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.cpp,301,业务代码中存在裸数字常量,需确认是否应命名化,I_alpha = (2.0f / 3.0f) * current_a - (1.0f / 3.0f) * current_b -,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.cpp,302,业务代码中存在裸数字常量,需确认是否应命名化,(1.0f / 3.0f) * current_c;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.cpp,313,业务代码中存在裸数字常量,需确认是否应命名化,return Current_kalman.update(I_q * 1000 - KE_FACTOR * rt_velocity);,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.cpp,327,业务代码中存在裸数字常量,需确认是否应命名化,"29.28f, 28.84f, 28.26f, 28.83f, 29.79f, 30.26f, 29.52f, 28.77f,",安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.cpp,328,业务代码中存在裸数字常量,需确认是否应命名化,"28.23f, 27.68f, 26.65f, 25.19f, 23.92f, 22.59f, 19.61f, 16.77f,",安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.cpp,329,业务代码中存在裸数字常量,需确认是否应命名化,"13.32f, 10.40f, 7.64f, 3.51f, -0.83f, -4.96f, -8.19f, -11.11f,",安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.cpp,330,业务代码中存在裸数字常量,需确认是否应命名化,"-13.40f, -14.39f, -15.69f, -15.99f, -16.39f, -15.50f, -14.76f, -14.21f,",安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.cpp,331,业务代码中存在裸数字常量,需确认是否应命名化,"-13.76f, -13.88f, -13.22f, -11.18f, -10.65f, -10.54f, -10.62f, -10.23f,",安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.cpp,332,业务代码中存在裸数字常量,需确认是否应命名化,"-9.52f, -8.19f, -6.31f, -4.14f, -1.94f, -0.25f, 2.06f, 4.08f,",安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.cpp,333,业务代码中存在裸数字常量,需确认是否应命名化,"6.05f, 8.30f, 9.74f, 11.38f, 13.32f, 15.65f, 17.55f, 20.22f,",安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.cpp,334,业务代码中存在裸数字常量,需确认是否应命名化,"21.72f, 22.28f, 23.30f, 24.78f, 23.53f, 23.35f, 23.00f, 21.42f,",安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.cpp,335,业务代码中存在裸数字常量,需确认是否应命名化,"20.35f, 20.57f, 20.07f, 18.18f, 17.04f, 16.03f, 14.81f, 13.71f,",安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.cpp,336,业务代码中存在裸数字常量,需确认是否应命名化,"12.47f, 10.93f, 9.38f, 6.53f, 4.63f, 3.37f, 1.29f, -1.28f,",安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.cpp,337,业务代码中存在裸数字常量,需确认是否应命名化,"-5.08f, -11.11f, -16.35f, -21.00f, -24.61f, -28.30f, -31.11f, -33.48f,",安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.cpp,338,业务代码中存在裸数字常量,需确认是否应命名化,"-35.25f, -36.54f, -38.01f, -38.69f, -39.27f, -39.52f, -38.18f, -36.55f,",安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.cpp,339,业务代码中存在裸数字常量,需确认是否应命名化,"-34.96f, -33.14f, -31.92f, -31.45f, -31.32f, -30.25f, -29.60f, -28.72f,",安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.cpp,340,业务代码中存在裸数字常量,需确认是否应命名化,"-27.51f, -25.30f, -22.66f, -20.87f, -18.19f, -16.10f, -13.25f, -10.81f,",安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.cpp,341,业务代码中存在裸数字常量,需确认是否应命名化,"-8.00f, -4.67f, -2.28f, 0.87f, 3.83f, 7.25f, 10.56f, 13.70f,",安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.cpp,342,业务代码中存在裸数字常量,需确认是否应命名化,"17.70f, 19.90f, 22.14f, 23.62f, 24.53f, 26.03f, 26.96f, 27.95f,",安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.cpp,345,业务代码中存在裸数字常量,需确认是否应命名化,"22.45f, 24.95f, 26.05f, 26.01f, 26.11f, 25.87f, 26.20f, 26.23f,",安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.cpp,346,业务代码中存在裸数字常量,需确认是否应命名化,"26.19f, 25.87f, 25.97f, 26.09f, 24.77f, 24.22f, 23.71f, 22.10f,",安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.cpp,347,业务代码中存在裸数字常量,需确认是否应命名化,"19.84f, 17.60f, 15.36f, 12.99f, 9.54f, 5.35f, 1.71f, -1.94f,",安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.cpp,348,业务代码中存在裸数字常量,需确认是否应命名化,"-4.15f, -6.16f, -7.93f, -9.10f, -10.01f, -10.25f, -10.85f, -11.74f,",安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.cpp,349,业务代码中存在裸数字常量,需确认是否应命名化,"-11.98f, -10.78f, -9.65f, -8.89f, -8.14f, -6.85f, -5.94f, -5.37f,",安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.cpp,350,业务代码中存在裸数字常量,需确认是否应命名化,"-4.28f, -3.38f, -3.36f, -3.40f, -2.81f, -2.36f, -1.04f, -0.18f,",安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.cpp,351,业务代码中存在裸数字常量,需确认是否应命名化,"1.08f, 2.15f, 4.19f, 5.51f, 7.33f, 8.64f, 10.46f, 11.89f,",安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.cpp,352,业务代码中存在裸数字常量,需确认是否应命名化,"13.42f, 14.83f, 17.11f, 19.12f, 20.76f, 21.88f, 22.35f, 22.86f,",安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.cpp,353,业务代码中存在裸数字常量,需确认是否应命名化,"22.73f, 22.13f, 21.10f, 20.53f, 18.65f, 17.09f, 15.47f, 14.76f,",安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.cpp,354,业务代码中存在裸数字常量,需确认是否应命名化,"14.02f, 12.94f, 11.98f, 10.29f, 8.11f, 5.83f, 4.23f, 2.42f,",安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.cpp,355,业务代码中存在裸数字常量,需确认是否应命名化,"1.03f, -1.80f, -4.01f, -7.93f, -11.79f, -15.90f, -20.22f, -23.04f,",安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.cpp,356,业务代码中存在裸数字常量,需确认是否应命名化,"-25.66f, -28.80f, -30.45f, -32.11f, -33.17f, -33.97f, -34.68f, -34.26f,",安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.cpp,357,业务代码中存在裸数字常量,需确认是否应命名化,"-34.18f, -33.78f, -32.47f, -31.11f, -29.40f, -27.89f, -27.05f, -26.72f,",安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.cpp,358,业务代码中存在裸数字常量,需确认是否应命名化,"-25.59f, -24.86f, -23.61f, -22.97f, -22.89f, -21.81f, -20.78f, -19.23f,",安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.cpp,359,业务代码中存在裸数字常量,需确认是否应命名化,"-17.74f, -15.09f, -13.18f, -10.51f, -8.18f, -5.89f, -3.35f, -0.02f,",安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.cpp,360,业务代码中存在裸数字常量,需确认是否应命名化,"2.02f, 3.87f, 6.37f, 9.11f, 12.33f, 14.63f, 17.12f, 19.12f,",安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.cpp,366,业务代码中存在裸数字常量,需确认是否应命名化,FOC.cur_loop_p = DEFAULT_current_loop_p * 100 / limit_voltage;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.cpp,367,业务代码中存在裸数字常量,需确认是否应命名化,FOC.cur_MIT_p = DEFAULT_current_MIT_p * 100 / limit_voltage;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.cpp,368,业务代码中存在裸数字常量,需确认是否应命名化,FOC.vel_loop_p = DEFAULT_vel_loop_p * 100 / limit_voltage;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.cpp,369,业务代码中存在裸数字常量,需确认是否应命名化,FOC.vel_angloop_p = DEFAULT_vel_angloop_p * 100;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.cpp,370,业务代码中存在裸数字常量,需确认是否应命名化,FOC.vel_MIT_p = DEFAULT_vel_MIT_p * 100;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.cpp,371,业务代码中存在裸数字常量,需确认是否应命名化,FOC.ang_loop_p = DEFAULT_angle_loop_p * 100 / limit_voltage;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.cpp,372,业务代码中存在裸数字常量,需确认是否应命名化,FOC.ang_angloop_p = DEFAULT_angle_angloop_p * 100 / limit_voltage;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.cpp,373,业务代码中存在裸数字常量,需确认是否应命名化,FOC.ang_MIT_p = DEFAULT_angle_MIT_p * 100 / limit_voltage;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.cpp,401,业务代码中存在裸数字常量,需确认是否应命名化,float Y = SQRT3DV2 * Ualpha - 0.5f * Ubeta;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.cpp,402,业务代码中存在裸数字常量,需确认是否应命名化,float Z = -SQRT3DV2 * Ualpha - 0.5f * Ubeta;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.cpp,409,业务代码中存在裸数字常量,需确认是否应命名化,"static const u8 sector_lut[8] = {0, 2, 6, 1, 4, 3, 5, 0};",安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.cpp,413,业务代码中存在裸数字常量,需确认是否应命名化,"Set_3Pwm(0.5f, 0.5f, 0.5f);",安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.cpp,431,业务代码中存在裸数字常量,需确认是否应命名化,static const float svpwm_coeff[6][4] = {,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.cpp,432,业务代码中存在裸数字常量,需确认是否应命名化,"{ SQRT3DV2, -0.5f, 0.0f, 1.0f},",安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.cpp,433,业务代码中存在裸数字常量,需确认是否应命名化,"{ SQRT3DV2, 0.5f, -SQRT3DV2, 0.5f},",安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.cpp,434,业务代码中存在裸数字常量,需确认是否应命名化,"{ 0.0f, 1.0f, -SQRT3DV2, -0.5f},",安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.cpp,435,业务代码中存在裸数字常量,需确认是否应命名化,"{ -SQRT3DV2, 0.5f, 0.0f, -1.0f},",安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.cpp,436,业务代码中存在裸数字常量,需确认是否应命名化,"{ -SQRT3DV2, -0.5f, SQRT3DV2, -0.5f},",安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.cpp,437,业务代码中存在裸数字常量,需确认是否应命名化,"{ 0.0f, -1.0f, SQRT3DV2, 0.5f},",安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.cpp,441,业务代码中存在裸数字常量,需确认是否应命名化,float T2 = (svpwm_coeff[sector-1][2] * Ualpha + svpwm_coeff[sector-1][3] * Ubeta) * inv_Udc;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.cpp,454,业务代码中存在裸数字常量,需确认是否应命名化,duty_a = 0.5f * T0 + T1 + T2;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.cpp,455,业务代码中存在裸数字常量,需确认是否应命名化,duty_b = 0.5f * T0 + T2;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.cpp,456,业务代码中存在裸数字常量,需确认是否应命名化,duty_c = 0.5f * T0;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.cpp,458,业务代码中存在裸数字常量,需确认是否应命名化,case 2:,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.cpp,459,业务代码中存在裸数字常量,需确认是否应命名化,duty_a = 0.5f * T0 + T1;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.cpp,460,业务代码中存在裸数字常量,需确认是否应命名化,duty_b = 0.5f * T0 + T1 + T2;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.cpp,461,业务代码中存在裸数字常量,需确认是否应命名化,duty_c = 0.5f * T0;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.cpp,463,业务代码中存在裸数字常量,需确认是否应命名化,case 3:,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.cpp,464,业务代码中存在裸数字常量,需确认是否应命名化,duty_a = 0.5f * T0;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.cpp,465,业务代码中存在裸数字常量,需确认是否应命名化,duty_b = 0.5f * T0 + T1 + T2;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.cpp,466,业务代码中存在裸数字常量,需确认是否应命名化,duty_c = 0.5f * T0 + T2;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.cpp,468,业务代码中存在裸数字常量,需确认是否应命名化,case 4:,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.cpp,469,业务代码中存在裸数字常量,需确认是否应命名化,duty_a = 0.5f * T0;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.cpp,470,业务代码中存在裸数字常量,需确认是否应命名化,duty_b = 0.5f * T0 + T1;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.cpp,471,业务代码中存在裸数字常量,需确认是否应命名化,duty_c = 0.5f * T0 + T1 + T2;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.cpp,473,业务代码中存在裸数字常量,需确认是否应命名化,case 5:,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.cpp,474,业务代码中存在裸数字常量,需确认是否应命名化,duty_a = 0.5f * T0 + T2;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.cpp,475,业务代码中存在裸数字常量,需确认是否应命名化,duty_b = 0.5f * T0;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.cpp,476,业务代码中存在裸数字常量,需确认是否应命名化,duty_c = 0.5f * T0 + T1 + T2;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.cpp,478,业务代码中存在裸数字常量,需确认是否应命名化,case 6:,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.cpp,479,业务代码中存在裸数字常量,需确认是否应命名化,duty_a = 0.5f * T0 + T1 + T2;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.cpp,480,业务代码中存在裸数字常量,需确认是否应命名化,duty_b = 0.5f * T0;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.cpp,481,业务代码中存在裸数字常量,需确认是否应命名化,duty_c = 0.5f * T0 + T1;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.cpp,484,业务代码中存在裸数字常量,需确认是否应命名化,duty_a = 0.5f;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.cpp,485,业务代码中存在裸数字常量,需确认是否应命名化,duty_b = 0.5f;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.cpp,486,业务代码中存在裸数字常量,需确认是否应命名化,duty_c = 0.5f;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.cpp,534,业务代码中存在裸数字常量,需确认是否应命名化,if (HOLD_PWM_DUTY > 0.95f) {,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.cpp,535,业务代码中存在裸数字常量,需确认是否应命名化,hold_pwm_duty = 0.95f;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.cpp,548,业务代码中存在裸数字常量,需确认是否应命名化,float hold_pwm_duty = target_velocity/100;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.cpp,569,业务代码中存在裸数字常量,需确认是否应命名化,if (voltage < 36.0f and voltage > 8.0f) {,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.cpp,572,业务代码中存在裸数字常量,需确认是否应命名化,v_half = voltage * 0.5f;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.cpp,605,业务代码中存在裸数字常量,需确认是否应命名化,float current_vbus = adc_value[2] * (3.3f / 4096.0f) * 11.0f;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.cpp,661,业务代码中存在裸数字常量,需确认是否应命名化,"2.0f, voltage_power_supply * 0.5f);",安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.cpp,700,业务代码中存在裸数字常量,需确认是否应命名化,if (fabsf(target_delta) > 5.0f) {,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.cpp,763,业务代码中存在裸数字常量,需确认是否应命名化,if (target_velocity < -120.0f) {,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.cpp,764,业务代码中存在裸数字常量,需确认是否应命名化,vel_inVelAngloop.set_P(vel_angloop_p * 2.0f);,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.cpp,765,业务代码中存在裸数字常量,需确认是否应命名化,} else if (target_velocity < -30.0f) {,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.cpp,766,业务代码中存在裸数字常量,需确认是否应命名化,vel_inVelAngloop.set_P(vel_angloop_p * 1.5f);,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.cpp,774,业务代码中存在裸数字常量,需确认是否应命名化,if (fabsf(target_velocity - last_vang_target_vel) > 5.0f) {,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.cpp,817,业务代码中存在裸数字常量,需确认是否应命名化,if (fabsf(target_velocity - last_mit_target_vel) > 5.0f) {,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.h,48,业务代码中存在裸数字常量,需确认是否应命名化,float voltage_power_supply = 24.0f;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.h,191,业务代码中存在裸数字常量,需确认是否应命名化,static float cog_calib_run_data[6][COGGING_TABLE_SIZE];,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.h,198,业务代码中存在裸数字常量,需确认是否应命名化,"PIDController{DEFAULT_vel_loop_p * 100 / limit_voltage, vel_loop_Ki,",安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.h,199,业务代码中存在裸数字常量,需确认是否应命名化,"vel_loop_Kd, 10000, voltage_power_supply};",安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.h,201,业务代码中存在裸数字常量,需确认是否应命名化,"PIDController{DEFAULT_angle_loop_p * 100 / limit_voltage, 100.0f, 0.2f,",安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.h,202,业务代码中存在裸数字常量,需确认是否应命名化,"10000000, voltage_power_supply};",安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.h,204,业务代码中存在裸数字常量,需确认是否应命名化,"DEFAULT_current_loop_p * 100 / limit_voltage, current_loop_Ki,",安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.h,205,业务代码中存在裸数字常量,需确认是否应命名化,"current_loop_Kd, 1500, voltage_power_supply};",安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.h,207,业务代码中存在裸数字常量,需确认是否应命名化,"PIDController{DEFAULT_vel_angloop_p * 100, vel_angloop_Ki,",安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.h,210,业务代码中存在裸数字常量,需确认是否应命名化,"PIDController{DEFAULT_angle_angloop_p * 100 / voltage_power_supply,",安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.h,211,业务代码中存在裸数字常量,需确认是否应命名化,"ang_angloop_Ki, ang_angloop_Kd, 1e4, 100};",安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.h,214,业务代码中存在裸数字常量,需确认是否应命名化,"PIDController{DEFAULT_angle_MIT_p * 100 / limit_voltage, angle_MIT_Ki,",安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.h,215,业务代码中存在裸数字常量,需确认是否应命名化,"angle_MIT_Kd, 1e5, 100};",安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.h,217,业务代码中存在裸数字常量,需确认是否应命名化,"DEFAULT_vel_MIT_p * 100, vel_MIT_Ki, vel_MIT_Kd, 1e9, 1000};",安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.h,219,业务代码中存在裸数字常量,需确认是否应命名化,"DEFAULT_current_loop_p * 100 / limit_voltage, current_loop_Ki,",安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.h,220,业务代码中存在裸数字常量,需确认是否应命名化,"current_loop_Kd, 1500, voltage_power_supply};",安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/FOC.h,237,业务代码中存在裸数字常量,需确认是否应命名化,float v_half = voltage_power_supply * 0.5f;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/Filter.cpp,69,业务代码中存在裸数字常量,需确认是否应命名化,"std::nth_element(sorted, sorted + size / 2, sorted + size);",安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/Filter.cpp,71,业务代码中存在裸数字常量,需确认是否应命名化,return sorted[size / 2];,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/Filter.cpp,190,业务代码中存在裸数字常量,需确认是否应命名化,if (error > 180.0f) error -= 360.0f;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/Filter.cpp,191,业务代码中存在裸数字常量,需确认是否应命名化,else if (error < -180.0f) error += 360.0f;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/Filter.h,99,业务代码中存在裸数字常量,需确认是否应命名化,const T MIN_COVARIANCE = static_cast(1e-6);,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,Algorithm/pid.cpp,30,业务代码中存在裸数字常量,需确认是否应命名化,integral_prev + I * TIME_SLICE * 0.5f * (error + error_prev);,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,device/ADC.cpp,20,业务代码中存在裸数字常量,需确认是否应命名化,constexpr float ADC_SCALE = 3.3f / 4096.0f;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,device/ADC.cpp,22,业务代码中存在裸数字常量,需确认是否应命名化,constexpr float TEMP_FACTOR = 1000.0f / 4.3f;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,device/ADC.cpp,24,业务代码中存在裸数字常量,需确认是否应命名化,constexpr float VCC_FACTOR = 11.0f;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,device/ADC.cpp,27,业务代码中存在裸数字常量,需确认是否应命名化,1.0f / 50.0f * 100.0f;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,device/ADC.cpp,31,业务代码中存在裸数字常量,需确认是否应命名化,u16 adc_value[3] = {0};,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,device/ADC.cpp,32,业务代码中存在裸数字常量,需确认是否应命名化,static volatile u16 adc_current_value[3] = {0};,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,device/ADC.cpp,67,业务代码中存在裸数字常量,需确认是否应命名化,dma_data_parameter.number = 3;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,device/ADC.cpp,104,业务代码中存在裸数字常量,需确认是否应命名化,"adc_channel_length_config(ADC0, ADC_REGULAR_CHANNEL, 3);",安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,device/ADC.cpp,109,业务代码中存在裸数字常量,需确认是否应命名化,"adc_regular_channel_config(ADC0, 2, ADC_CHANNEL_6, ADC_SAMPLETIME_28POINT5);",安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,device/ADC.cpp,117,业务代码中存在裸数字常量,需确认是否应命名化,"adc_channel_length_config(ADC0, ADC_INSERTED_CHANNEL, 4);",安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,device/ADC.cpp,120,业务代码中存在裸数字常量,需确认是否应命名化,"adc_inserted_channel_config(ADC0, 2, ADC_CHANNEL_4, ADC_SAMPLETIME_55POINT5);",安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,device/ADC.cpp,121,业务代码中存在裸数字常量,需确认是否应命名化,"adc_inserted_channel_config(ADC0, 3, ADC_CHANNEL_5, ADC_SAMPLETIME_55POINT5);",安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,device/ADC.cpp,148,业务代码中存在裸数字常量,需确认是否应命名化,static_cast((-CURRENT_OFFSET / ADC_SCALE) + 0.5f));,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,device/ADC.cpp,152,业务代码中存在裸数字常量,需确认是否应命名化,(1.43f - adc_value[0] * ADC_SCALE) * TEMP_FACTOR + 35.0f;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,device/ADC.cpp,158,业务代码中存在裸数字常量,需确认是否应命名化,vbus_samples[i] = adc_value[2] * ADC_SCALE * VCC_FACTOR;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,device/ADC.cpp,160,业务代码中存在裸数字常量,需确认是否应命名化,float R_now = (float)adc_value[1] / (4096 - (float)adc_value[1]) * 4700;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,device/ADC.cpp,162,业务代码中存在裸数字常量,需确认是否应命名化,1.0f / (0.00335f + 0.00025f * log(R_now / 10000.0f)) - 273.15f;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,device/ADC.cpp,241,业务代码中存在裸数字常量,需确认是否应命名化,(1.43f - adc_value[0] * ADC_SCALE) * TEMP_FACTOR + 35.0f;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,device/ADC.cpp,259,业务代码中存在裸数字常量,需确认是否应命名化,float R_now = (float)adc_value[1] / (4096 - (float)adc_value[1]) * 4700;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,device/ADC.cpp,261,业务代码中存在裸数字常量,需确认是否应命名化,1.0f / (0.00335f + 0.00025f * log(R_now / 10000.0f)) - 273.15f;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,device/ADC.cpp,285,业务代码中存在裸数字常量,需确认是否应命名化,currW_samples[idx] = current_adc_to_ma(adc_current_value[2]);,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,device/ADC.cpp,299,业务代码中存在裸数字常量,需确认是否应命名化,vbus_samples[temp_vbus_head] = adc_value[2] * ADC_SCALE * VCC_FACTOR;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,device/ADC.cpp,305,业务代码中存在裸数字常量,需确认是否应命名化,const u8 mid = ADC_FILTER_SIZE / 2;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,device/ADC.cpp,323,业务代码中存在裸数字常量,需确认是否应命名化,"adc_current_value[2] = adc_inserted_data_read(ADC0, ADC_INSERTED_CHANNEL_3);",安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,device/Can.cpp,49,业务代码中存在裸数字常量,需确认是否应命名化,uint8_t can_rx_buffer[64];,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,device/Can.cpp,50,业务代码中存在裸数字常量,需确认是否应命名化,static uint32_t can_rx_dma_words[16];,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,device/Can.cpp,63,业务代码中存在裸数字常量,需确认是否应命名化,u8 data[64];,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,device/Can.cpp,82,业务代码中存在裸数字常量,需确认是否应命名化,"static constexpr u8 CANFD_DLC_LENGTH_TABLE[7] = {12, 16, 20, 24, 32, 48, 64};",安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,device/Can.cpp,103,业务代码中存在裸数字常量,需确认是否应命名化,return ((u32)node_id << 16) | (base_id & 0xFFFF);,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,device/Can.cpp,116,业务代码中存在裸数字常量,需确认是否应命名化,u16 rx_node_id = (u16)((received_id >> 16) & 0xFFFF);,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,device/Can.cpp,323,业务代码中存在裸数字常量,需确认是否应命名化,dma_rx_parameter.number = 16;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,device/Can.cpp,363,业务代码中存在裸数字常量,需确认是否应命名化,can_parameter.prescaler = 6;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,device/Can.cpp,426,业务代码中存在裸数字常量,需确认是否应命名化,can_parameter.prescaler = 6;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,device/Can.cpp,445,业务代码中存在裸数字常量,需确认是否应命名化,can_fd_parameter.data_prescaler = 6;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,device/Can.cpp,499,业务代码中存在裸数字常量,需确认是否应命名化,can_parameter.prescaler = 6;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,device/Can.cpp,501,业务代码中存在裸数字常量,需确认是否应命名化,u16 i = 200;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,device/Can.cpp,503,业务代码中存在裸数字常量,需确认是否应命名化,delay_1ms(10);,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,device/Can.cpp,516,业务代码中存在裸数字常量,需确认是否应命名化,((uint16_t)(DEV_CAN_LOOPBACK_ID)) << 3U | (1U << 2);,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,device/Can.cpp,545,业务代码中存在裸数字常量,需确认是否应命名化,"std::uniform_int_distribution dis(0, 255);",安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,device/Can.cpp,552,业务代码中存在裸数字常量,需确认是否应命名化,transmit_message.tx_dlen = 7;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,device/Can.cpp,621,业务代码中存在裸数字常量,需确认是否应命名化,transmit_message.tx_dlen = 7;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,device/Can.cpp,762,业务代码中存在裸数字常量,需确认是否应命名化,if (rx_queue[rx_queue_tail].length > 64) {,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,device/Can.cpp,763,业务代码中存在裸数字常量,需确认是否应命名化,rx_queue[rx_queue_tail].length = 64;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,device/Can.cpp,815,业务代码中存在裸数字常量,需确认是否应命名化,message->fd_flag = (uint8_t)((CAN_RFIFOMP_FDF & rfifomp) >> 7);,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,device/Can.cpp,819,业务代码中存在裸数字常量,需确认是否应命名化,message->fd_brs = (uint8_t)((rfifomp & CAN_RFIFOMP_BRS) >> 5);,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,device/Can.cpp,820,业务代码中存在裸数字常量,需确认是否应命名化,message->fd_esi = (uint8_t)((rfifomp & CAN_RFIFOMP_ESI) >> 4);,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,device/Can.cpp,833,业务代码中存在裸数字常量,需确认是否应命名化,if (can_rx_dma_message.rx_dlen > 64) {,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,device/Can.cpp,834,业务代码中存在裸数字常量,需确认是否应命名化,can_rx_dma_message.rx_dlen = 64;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,device/Can.cpp,1004,业务代码中存在裸数字常量,需确认是否应命名化,limit_voltage = FOC.limit_voltage * 1000;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,device/Can.cpp,1005,业务代码中存在裸数字常量,需确认是否应命名化,mcu_temp = sampler.get_mcu_temp() * 100;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,device/Can.cpp,1006,业务代码中存在裸数字常量,需确认是否应命名化,motor_temp = sampler.get_drv_temp() * 100;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,device/Can.cpp,1007,业务代码中存在裸数字常量,需确认是否应命名化,Power_Voltage = sampler.get_vbus_voltage() * 1000;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,device/Can.cpp,1015,业务代码中存在裸数字常量,需确认是否应命名化,u_current_union.f = sampler.get_current('') * 1000;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,device/Can.cpp,1016,业务代码中存在裸数字常量,需确认是否应命名化,w_current_union.f = sampler.get_current('') * 1000;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,device/Can.cpp,1017,业务代码中存在裸数字常量,需确认是否应命名化,v_current_union.f = sampler.get_current('') * 1000;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,device/Can.cpp,1035,业务代码中存在裸数字常量,需确认是否应命名化,"memset(transmit_data, 0, 32);",安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,device/Can.cpp,1037,业务代码中存在裸数字常量,需确认是否应命名化,"pack_u16_to_bytes(transmit_data, 2, motor_temp);",安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,device/Can.cpp,1038,业务代码中存在裸数字常量,需确认是否应命名化,"pack_u16_to_bytes(transmit_data, 4, u16(u_current_union.f));",安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,device/Can.cpp,1039,业务代码中存在裸数字常量,需确认是否应命名化,"pack_u16_to_bytes(transmit_data, 6, u16(v_current_union.f));",安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,device/Can.cpp,1040,业务代码中存在裸数字常量,需确认是否应命名化,"pack_u16_to_bytes(transmit_data, 8, u16(w_current_union.f));",安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,device/Can.cpp,1041,业务代码中存在裸数字常量,需确认是否应命名化,transmit_data[10] =,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,device/Can.cpp,1042,业务代码中存在裸数字常量,需确认是否应命名化,(transmit_data[10] & ~0x07) |,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,device/Can.cpp,1044,业务代码中存在裸数字常量,需确认是否应命名化,((ThermalStatus & 0x01) << 2) | ((EEPROMStatus & 0x07) << 3));,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,device/Can.cpp,1045,业务代码中存在裸数字常量,需确认是否应命名化,"pack_u16_to_bytes(transmit_data, 11, Power_Voltage);",安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,device/Can.cpp,1046,业务代码中存在裸数字常量,需确认是否应命名化,"pack_float_to_bytes(transmit_data, 13, rt_angle_union);",安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,device/Can.cpp,1047,业务代码中存在裸数字常量,需确认是否应命名化,"pack_float_to_bytes(transmit_data, 17, rt_velocity_union);",安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,device/Can.cpp,1048,业务代码中存在裸数字常量,需确认是否应命名化,"pack_float_to_bytes(transmit_data, 21, rt_current_union);",安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,device/Can.cpp,1049,业务代码中存在裸数字常量,需确认是否应命名化,"pack_float_to_bytes(transmit_data, 25, testfloat_union);",安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,device/Can.cpp,1050,业务代码中存在裸数字常量,需确认是否应命名化,transmit_data[29] = test_u16 & 0xFF;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,device/Can.cpp,1051,业务代码中存在裸数字常量,需确认是否应命名化,transmit_data[30] = (test_u16 >> 8) & 0xFF;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,device/Can.cpp,1052,业务代码中存在裸数字常量,需确认是否应命名化,transmit_data[31] = cpu_usage;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,device/Can.cpp,1055,业务代码中存在裸数字常量,需确认是否应命名化,"CANFD_AsyncSend(build_can_id(CANFD_STATUS_ID), 32, transmit_data);",安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,device/Can.cpp,1058,业务代码中存在裸数字常量,需确认是否应命名化,"memset(transmit_data, 0, 24);",安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,device/Can.cpp,1061,业务代码中存在裸数字常量,需确认是否应命名化,"pack_float_to_bytes(transmit_data, 3, target_current_union);",安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,device/Can.cpp,1062,业务代码中存在裸数字常量,需确认是否应命名化,"pack_float_to_bytes(transmit_data, 7, target_velocity_union);",安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,device/Can.cpp,1063,业务代码中存在裸数字常量,需确认是否应命名化,"pack_float_to_bytes(transmit_data, 11, target_angle_union);",安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,device/Can.cpp,1066,业务代码中存在裸数字常量,需确认是否应命名化,"CANFD_AsyncSend(build_can_id(CANFD_CONFIG_ID), 24, transmit_data);",安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,device/Can.cpp,1102,业务代码中存在裸数字常量,需确认是否应命名化,u16 sender_node_id = (u16)((current_message.rx_efid >> 16) & 0xFFFF);,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,device/Can.cpp,1138,业务代码中存在裸数字常量,需确认是否应命名化,if (current_message.rx_dlen >= 2) {,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,device/Can.cpp,1153,业务代码中存在裸数字常量,需确认是否应命名化,transmit_data[2] =,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,device/Can.cpp,1154,业务代码中存在裸数字常量,需确认是否应命名化,(u8)((new_node_id >> 8) & 0xFF);,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,device/Can.cpp,1158,业务代码中存在裸数字常量,需确认是否应命名化,"u8 send_result = CANFD_AsyncSend(build_can_id(CANFD_SET_NODE_ID), 3,",安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,device/Can.cpp,1179,业务代码中存在裸数字常量,需确认是否应命名化,"CANFD_AsyncSend(build_can_id(CANFD_SET_NODE_ID), 3,",安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,device/Can.cpp,1188,业务代码中存在裸数字常量,需确认是否应命名化,transmit_data[2] = (u8)((new_node_id >> 8) & 0xFF);,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,device/Can.cpp,1190,业务代码中存在裸数字常量,需确认是否应命名化,"CANFD_AsyncSend(build_can_id(CANFD_SET_NODE_ID), 3,",安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,device/Can.cpp,1207,业务代码中存在裸数字常量,需确认是否应命名化,"float(unpack_bytes_to_u16(current_message.rx_data, 1)) / 1000;",安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,device/Can.cpp,1210,业务代码中存在裸数字常量,需确认是否应命名化,"unpack_bytes_to_float(current_message.rx_data, 3).f;",安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,device/Can.cpp,1215,业务代码中存在裸数字常量,需确认是否应命名化,"unpack_bytes_to_float(current_message.rx_data, 7).f;",安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,device/Can.cpp,1220,业务代码中存在裸数字常量,需确认是否应命名化,"unpack_bytes_to_float(current_message.rx_data, 11).f;",安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,device/Can.cpp,1229,业务代码中存在裸数字常量,需确认是否应命名化,"u16 P_config = unpack_bytes_to_u16(current_message.rx_data, 15);",安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,device/Can.cpp,1233,业务代码中存在裸数字常量,需确认是否应命名化,"P_config = unpack_bytes_to_u16(current_message.rx_data, 17);",安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,device/Can.cpp,1238,业务代码中存在裸数字常量,需确认是否应命名化,"P_config = unpack_bytes_to_u16(current_message.rx_data, 19);",安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,device/Can.cpp,1244,业务代码中存在裸数字常量,需确认是否应命名化,u8 eigth_byte = current_message.rx_data[7];,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,device/Can.cpp,1255,业务代码中存在裸数字常量,需确认是否应命名化,if (first_byte >> 2 & 0x01) {,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,device/Can.cpp,1259,业务代码中存在裸数字常量,需确认是否应命名化,if (first_byte >> 3 & 0x01) {,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,device/Can.cpp,1266,业务代码中存在裸数字常量,需确认是否应命名化,if (first_byte >> 4 & 0x01) {,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,device/Can.cpp,1271,业务代码中存在裸数字常量,需确认是否应命名化,if (eigth_byte & 0x80 >> 7) {,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,device/Can.cpp,1287,业务代码中存在裸数字常量,需确认是否应命名化,"CANFD_AsyncSend(build_can_id(CANFD_OTA_ACK_ID), 2,",安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,device/Can.cpp,1294,业务代码中存在裸数字常量,需确认是否应命名化,"CANFD_AsyncSend(build_can_id(CANFD_GET_NODE_ID), 2, transmit_data);",安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,device/Can.cpp,1401,业务代码中存在裸数字常量,需确认是否应命名化,if (length > 8) {,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,device/Can.cpp,1419,业务代码中存在裸数字常量,需确认是否应命名化,for (int i = 0; i < length && i < 8; i++) {,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,device/Can.h,25,业务代码中存在裸数字常量,需确认是否应命名化,u8 b[4];,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,device/Can.h,38,业务代码中存在裸数字常量,需确认是否应命名化,buffer[offset + 1] = (u8)((value >> 8) & 0xFF);,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,device/Can.h,53,业务代码中存在裸数字常量,需确认是否应命名化,buffer[offset + 2] = float_union.b[2];,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,device/Can.h,54,业务代码中存在裸数字常量,需确认是否应命名化,buffer[offset + 3] = float_union.b[3];,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,device/Can.h,65,业务代码中存在裸数字常量,需确认是否应命名化,short value = (short)(buffer[offset] | (buffer[offset + 1] << 8));,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,device/Can.h,77,业务代码中存在裸数字常量,需确认是否应命名化,u16 value = (u16)(buffer[offset] | (buffer[offset + 1] << 8));,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,device/Can.h,92,业务代码中存在裸数字常量,需确认是否应命名化,float_union.b[2] = buffer[offset + 2];,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,device/Can.h,93,业务代码中存在裸数字常量,需确认是否应命名化,float_union.b[3] = buffer[offset + 3];,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,device/Can.h,161,业务代码中存在裸数字常量,需确认是否应命名化,static const uint8_t CAN_RX_BUFFER_SIZE = 8;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,device/Can.h,162,业务代码中存在裸数字常量,需确认是否应命名化,static const u32 CAN_SILENT_DURATION_MS = 10000;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,device/Can.h,195,业务代码中存在裸数字常量,需确认是否应命名化,u8 transmit_data[64];,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,device/Timer.cpp,19,业务代码中存在裸数字常量,需确认是否应命名化,extern u16 adc_value[3];,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,device/Timer.cpp,27,业务代码中存在裸数字常量,需确认是否应命名化,static const u32 task_schedule_100us[10] = {,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,device/Timer.cpp,41,业务代码中存在裸数字常量,需确认是否应命名化,static const u32 task_schedule_1ms[10] = {,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,device/Timer.cpp,48,业务代码中存在裸数字常量,需确认是否应命名化,static const u32 task_schedule_10ms[10] = {,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,device/Timer.cpp,53,业务代码中存在裸数字常量,需确认是否应命名化,static const u32 task_schedule_100ms[10] = {,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,device/Timer.cpp,69,业务代码中存在裸数字常量,需确认是否应命名化,"nvic_irq_enable(TIMER1_IRQn, 0, 2);",安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,device/Timer.cpp,299,业务代码中存在裸数字常量,需确认是否应命名化,if (channel <= 3) {,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,device/ang_sensor.cpp,124,业务代码中存在裸数字常量,需确认是否应命名化,uint32_t timeout = 100;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,device/ang_sensor.cpp,203,业务代码中存在裸数字常量,需确认是否应命名化,spi_init_str.prescale = 24;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,main.cpp,69,业务代码中存在裸数字常量,需确认是否应命名化,watchdog_init(50);,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,main.cpp,150,业务代码中存在裸数字常量,需确认是否应命名化,FOC.control_mode < 8) {,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/config.h,32,业务代码中存在裸数字常量,需确认是否应命名化,constexpr u16 SOFTWARE_VERSION_MAJOR = 26;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/config.h,34,业务代码中存在裸数字常量,需确认是否应命名化,constexpr u16 SOFTWARE_VERSION_MINOR = 5;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/config.h,36,业务代码中存在裸数字常量,需确认是否应命名化,constexpr u16 SOFTWARE_VERSION_PATCH = 19;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/config.h,38,业务代码中存在裸数字常量,需确认是否应命名化,constexpr u16 SOFTWARE_VERSION_BUILD = 2;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/config.h,41,业务代码中存在裸数字常量,需确认是否应命名化,constexpr u16 HARDWARE_VERSION_MAJOR = 25;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/config.h,43,业务代码中存在裸数字常量,需确认是否应命名化,constexpr u16 HARDWARE_VERSION_MINOR = 12;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/config.h,50,业务代码中存在裸数字常量,需确认是否应命名化,constexpr u16 BOOT_VERSION_MAJOR = 26;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/config.h,54,业务代码中存在裸数字常量,需确认是否应命名化,constexpr u16 BOOT_VERSION_PATCH = 12;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/config.h,125,业务代码中存在裸数字常量,需确认是否应命名化,constexpr u32 OTA_CONFIG_NUM = 6;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/config.h,145,业务代码中存在裸数字常量,需确认是否应命名化,constexpr u8 PP = 11;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/config.h,149,业务代码中存在裸数字常量,需确认是否应命名化,constexpr u16 REDUCTION_RATIO = 25;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/config.h,151,业务代码中存在裸数字常量,需确认是否应命名化,constexpr float CURRENT_OFFSET = -3.31f / 2.0f;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/config.h,157,业务代码中存在裸数字常量,需确认是否应命名化,constexpr float ANGLESENS_CALIBRATION_ANGLE = 83.0f;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/config.h,171,业务代码中存在裸数字常量,需确认是否应命名化,constexpr float ANGLE_OBSERVER_ALPHA = 0.75f;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/config.h,179,业务代码中存在裸数字常量,需确认是否应命名化,constexpr float VELOCITY_KALMAN_INITIAL_COVARIANCE = 1e-3f;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/config.h,182,业务代码中存在裸数字常量,需确认是否应命名化,5e-4f;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/config.h,191,业务代码中存在裸数字常量,需确认是否应命名化,constexpr float CURRENT_KALMAN_INITIAL_COVARIANCE = 100.0f;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/config.h,193,业务代码中存在裸数字常量,需确认是否应命名化,constexpr float CURRENT_KALMAN_PROCESS_NOISE_Q = 10.0f;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/config.h,195,业务代码中存在裸数字常量,需确认是否应命名化,constexpr float CURRENT_KALMAN_MEASUREMENT_NOISE_R = 5e-5f;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/config.h,199,业务代码中存在裸数字常量,需确认是否应命名化,constexpr float DEFAULT_current_loop_p = 0.1f / 100 * 12;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/config.h,201,业务代码中存在裸数字常量,需确认是否应命名化,constexpr float current_loop_Ki = 0.55f;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/config.h,203,业务代码中存在裸数字常量,需确认是否应命名化,constexpr float current_loop_Kd = 3e-4f;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/config.h,206,业务代码中存在裸数字常量,需确认是否应命名化,constexpr float DEFAULT_vel_loop_p = 0.018f / 100 * 12;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/config.h,208,业务代码中存在裸数字常量,需确认是否应命名化,constexpr float vel_loop_Ku = 3.600000e-03 * 0.7 * 100 / 12;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/config.h,210,业务代码中存在裸数字常量,需确认是否应命名化,constexpr float vel_loop_Tu = 17.0f * 1e-3f;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/config.h,212,业务代码中存在裸数字常量,需确认是否应命名化,constexpr float vel_loop_Ki = 1.2 * vel_loop_Ku / vel_loop_Tu;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/config.h,214,业务代码中存在裸数字常量,需确认是否应命名化,constexpr float vel_loop_Kd = 0.075 * vel_loop_Ku * vel_loop_Tu * 2;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/config.h,217,业务代码中存在裸数字常量,需确认是否应命名化,constexpr float DEFAULT_vel_angloop_p = 0.4f / 100;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/config.h,219,业务代码中存在裸数字常量,需确认是否应命名化,constexpr float vel_angloop_Ki = 5.0f;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/config.h,225,业务代码中存在裸数字常量,需确认是否应命名化,150.0f / 100 * 12;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/config.h,232,业务代码中存在裸数字常量,需确认是否应命名化,constexpr float DEFAULT_angle_loop_p = 60.0f / 100 * 12;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/config.h,235,业务代码中存在裸数字常量,需确认是否应命名化,constexpr float DEFAULT_angle_MIT_p = 100.0f / 100 * 12;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/config.h,242,业务代码中存在裸数字常量,需确认是否应命名化,constexpr float DEFAULT_vel_MIT_p = 5.0f / 100;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/config.h,244,业务代码中存在裸数字常量,需确认是否应命名化,constexpr float vel_MIT_Ki = 15.0f;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/config.h,249,业务代码中存在裸数字常量,需确认是否应命名化,constexpr float DEFAULT_current_MIT_p = 0.2f / 100 * 12;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/config.h,253,业务代码中存在裸数字常量,需确认是否应命名化,constexpr float current_MIT_Kd = 3e-4f;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/config.h,260,业务代码中存在裸数字常量,需确认是否应命名化,constexpr float ADC_MAX = 65536.0f;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/config.h,262,业务代码中存在裸数字常量,需确认是否应命名化,constexpr float PI = 3.14159265358979323846f;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/config.h,264,业务代码中存在裸数字常量,需确认是否应命名化,constexpr float INV_PI_3 = 3.0f / PI;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/config.h,266,业务代码中存在裸数字常量,需确认是否应命名化,constexpr float PI_3 = PI / 3.0f;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/config.h,268,业务代码中存在裸数字常量,需确认是否应命名化,constexpr float _1_SQRT3 = 0.57735026919f;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/config.h,270,业务代码中存在裸数字常量,需确认是否应命名化,constexpr float _3PI_2 = 4.71238898038f;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/config.h,272,业务代码中存在裸数字常量,需确认是否应命名化,constexpr float SQRT3 = 1.7320508075688772f;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/config.h,274,业务代码中存在裸数字常量,需确认是否应命名化,constexpr float SQRT3DV2 = 0.8660254037844386f;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/config.h,276,业务代码中存在裸数字常量,需确认是否应命名化,constexpr float COS_PI_3 = 0.5f;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/config.h,278,业务代码中存在裸数字常量,需确认是否应命名化,constexpr float ANGLE_FACTOR = 25.0f / 180.0f * PI;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/config.h,280,业务代码中存在裸数字常量,需确认是否应命名化,constexpr float DEG2RAD = 1.0f / 180.0f * PI;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/config.h,282,业务代码中存在裸数字常量,需确认是否应命名化,constexpr float RAD2DEG = 180.0f / PI;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/config.h,286,业务代码中存在裸数字常量,需确认是否应命名化,constexpr u8 CONFIG_SAVED_NUM = 6;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/config.h,290,业务代码中存在裸数字常量,需确认是否应命名化,constexpr u16 LUT_SIZE = 1024;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/config.h,294,业务代码中存在裸数字常量,需确认是否应命名化,constexpr u16 LUT_SCALE = (LUT_SIZE / (2.0f * PI));,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/config.h,338,业务代码中存在裸数字常量,需确认是否应命名化,constexpr u8 ADC_FILTER_SIZE = 6;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/config.h,342,业务代码中存在裸数字常量,需确认是否应命名化,constexpr float ERROR_ADC_VAL = 255.0f;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/config.h,344,业务代码中存在裸数字常量,需确认是否应命名化,constexpr float MAX_TEMP = 150.0f;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/config.h,346,业务代码中存在裸数字常量,需确认是否应命名化,constexpr float MIN_TEMP = -40.0f;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/config.h,348,业务代码中存在裸数字常量,需确认是否应命名化,constexpr float MAX_CURRENT = 40.0f;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/config.h,350,业务代码中存在裸数字常量,需确认是否应命名化,constexpr float MIN_CURRENT = -40.0f;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/config.h,352,业务代码中存在裸数字常量,需确认是否应命名化,constexpr float MAX_VCC = 65.0f;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/config.h,358,业务代码中存在裸数字常量,需确认是否应命名化,constexpr u16 VEL_FILTER_SIZE = 4;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/config.h,364,业务代码中存在裸数字常量,需确认是否应命名化,constexpr float ANGLE_WRAP_THRESHOLD = 300.0f;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/config.h,366,业务代码中存在裸数字常量,需确认是否应命名化,constexpr float ANGLE_WRAP_VALUE = 360.0f;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/config.h,368,业务代码中存在裸数字常量,需确认是否应命名化,constexpr float RAD_FACTOR = 1.0f / ADC_MAX * 2.0f * PI;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/config.h,370,业务代码中存在裸数字常量,需确认是否应命名化,constexpr float ANGLESENS_FACTOR = 1.0f / ADC_MAX * 360.0f;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/config.h,374,业务代码中存在裸数字常量,需确认是否应命名化,constexpr int TIMER2_PRESCALER = 119;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/config.h,376,业务代码中存在裸数字常量,需确认是否应命名化,constexpr int TIMER2_PERIOD = 49;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/config.h,381,业务代码中存在裸数字常量,需确认是否应命名化,(TIMER2_PERIOD + 1) * (TIMER2_PRESCALER + 1) / 120000000.0f;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/config.h,391,业务代码中存在裸数字常量,需确认是否应命名化,constexpr int TIMER1_PERIOD = 2999;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/config.h,396,业务代码中存在裸数字常量,需确认是否应命名化,(TIMER1_PERIOD + 1) * 0.41 - 1;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/config.h,400,业务代码中存在裸数字常量,需确认是否应命名化,constexpr u16 COGGING_TABLE_SIZE = 128;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/config.h,413,业务代码中存在裸数字常量,需确认是否应命名化,constexpr float VBUS_DROP_THRESHOLD = 5.0f;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/config.h,415,业务代码中存在裸数字常量,需确认是否应命名化,constexpr float VBUS_ABSOLUTE_MIN = 12.0f;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/config.h,417,业务代码中存在裸数字常量,需确认是否应命名化,constexpr u32 VBUS_DEBOUNCE_COUNT = 5;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/config.h,419,业务代码中存在裸数字常量,需确认是否应命名化,constexpr float VBUS_RECOVERY_RATIO = 0.9f;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/config.h,427,业务代码中存在裸数字常量,需确认是否应命名化,while (angle >= 360.0f) angle -= 360.0f;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/config.h,428,业务代码中存在裸数字常量,需确认是否应命名化,while (angle < 0.0f) angle += 360.0f;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/flash.cpp,97,业务代码中存在裸数字常量,需确认是否应命名化,"status_read[2] = readFloat(ADDR_VOLTAGE_LIMIT, &data[1]);",安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/flash.cpp,98,业务代码中存在裸数字常量,需确认是否应命名化,"status_read[3] = readFloat(ADDR_VEL_LIMIT, &data[2]);",安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/flash.cpp,99,业务代码中存在裸数字常量,需确认是否应命名化,"status_read[4] = readFloat(ADDR_ANGLE, &data[3]);",安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/flash.cpp,100,业务代码中存在裸数字常量,需确认是否应命名化,"status_read[5] = readFloat(ADDR_TARGET_ANGLE, &data[4]);",安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/flash.cpp,101,业务代码中存在裸数字常量,需确认是否应命名化,"status_read[6] = readFloat(ADDR_TARGET_VEL, &data[5]);",安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/flash.cpp,156,业务代码中存在裸数字常量,需确认是否应命名化,FOC.target_current = data[2];,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/flash.cpp,157,业务代码中存在裸数字常量,需确认是否应命名化,KTH7823.angle_set(data[3]);,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/flash.cpp,158,业务代码中存在裸数字常量,需确认是否应命名化,FOC.target_angle = data[4];,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/flash.cpp,159,业务代码中存在裸数字常量,需确认是否应命名化,FOC.target_velocity = data[5];,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/flash.cpp,185,业务代码中存在裸数字常量,需确认是否应命名化,*data = (u16)((data_word & DATA_U16_MASK) >> 16);,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/flash.cpp,242,业务代码中存在裸数字常量,需确认是否应命名化,u32 data_word_to_write = ((u32)data << 16) | (u32)virtualAddr;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/flash.cpp,441,业务代码中存在裸数字常量,需确认是否应命名化,"status = writeFloat(ADDR_VEL_LIMIT, data[2]);",安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/flash.cpp,447,业务代码中存在裸数字常量,需确认是否应命名化,"status = writeFloat(ADDR_ANGLE, data[3]);",安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/flash.cpp,453,业务代码中存在裸数字常量,需确认是否应命名化,"status = writeFloat(ADDR_TARGET_ANGLE, data[4]);",安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/flash.cpp,459,业务代码中存在裸数字常量,需确认是否应命名化,"status = writeFloat(ADDR_TARGET_VEL, data[5]);",安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/flash.cpp,507,业务代码中存在裸数字常量,需确认是否应命名化,u32 crc_data[2];,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/flash.cpp,511,业务代码中存在裸数字常量,需确认是否应命名化,"return crc_block_data_calculate(crc_data, 2);",安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/flash.cpp,577,业务代码中存在裸数字常量,需确认是否应命名化,u32 write_data[4];,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/flash.cpp,580,业务代码中存在裸数字常量,需确认是否应命名化,write_data[2] = counter;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/flash.cpp,581,业务代码中存在裸数字常量,需确认是否应命名化,write_data[3] = crc;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/flash.cpp,588,业务代码中存在裸数字常量,需确认是否应命名化,for (u8 i = 0; i < 4; i++) {,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/flash.cpp,820,业务代码中存在裸数字常量,需确认是否应命名化,temp_val[2] = *flash_ptr;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/flash.cpp,822,业务代码中存在裸数字常量,需确认是否应命名化,temp_val[3] = *flash_ptr;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/flash.cpp,824,业务代码中存在裸数字常量,需确认是否应命名化,temp_val[4] = *flash_ptr;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/flash.cpp,826,业务代码中存在裸数字常量,需确认是否应命名化,temp_val[5] = *flash_ptr;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/flash.cpp,832,业务代码中存在裸数字常量,需确认是否应命名化,"temp_val[0], temp_val[1], temp_val[2], temp_val[3],",安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/flash.cpp,833,业务代码中存在裸数字常量,需确认是否应命名化,"temp_val[4], temp_val[5]);",安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/flash.cpp,845,业务代码中存在裸数字常量,需确认是否应命名化,u32 current_addr = n_APP_LATEST_AVAL_ADDR + 4 * i;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/flash.cpp,864,业务代码中存在裸数字常量,需确认是否应命名化,temp_val[2] = *flash_ptr;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/flash.cpp,866,业务代码中存在裸数字常量,需确认是否应命名化,temp_val[3] = *flash_ptr;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/flash.cpp,868,业务代码中存在裸数字常量,需确认是否应命名化,temp_val[4] = *flash_ptr;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/flash.cpp,870,业务代码中存在裸数字常量,需确认是否应命名化,temp_val[5] = *flash_ptr;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/flash.cpp,874,业务代码中存在裸数字常量,需确认是否应命名化,"temp_val[0], temp_val[1], temp_val[2], temp_val[3],",安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/flash.cpp,875,业务代码中存在裸数字常量,需确认是否应命名化,"temp_val[4], temp_val[5]);",安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/flash.cpp,889,业务代码中存在裸数字常量,需确认是否应命名化,for (int i = 0; i < 8; i++) {,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/flash.cpp,912,业务代码中存在裸数字常量,需确认是否应命名化,uint32_t reset_handler = *(__IO uint32_t *)(BOOTLOADER_START_ADDR + 4);,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/flash.cpp,952,业务代码中存在裸数字常量,需确认是否应命名化,delay_1ms(1000);,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/flash.cpp,969,业务代码中存在裸数字常量,需确认是否应命名化,"(uint32_t *)APPLATEST_START_ADDR, APP_MAX_SIZE / 4);",安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/flash.cpp,972,业务代码中存在裸数字常量,需确认是否应命名化,uint32_t src_data = src_ptr[offset / 4];,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/flash.cpp,989,业务代码中存在裸数字常量,需确认是否应命名化,delay_1ms(1000);,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/flash.cpp,997,业务代码中存在裸数字常量,需确认是否应命名化,offset += 4;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/flash.cpp,1000,业务代码中存在裸数字常量,需确认是否应命名化,if ((offset % 4096) == 0) {,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/flash.cpp,1013,业务代码中存在裸数字常量,需确认是否应命名化,APP_MAX_SIZE / 4);,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/health.cpp,25,业务代码中存在裸数字常量,需确认是否应命名化,constexpr u16 PROTECT_TIME = 6000;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/health.cpp,40,业务代码中存在裸数字常量,需确认是否应命名化,if (drv_temp == 255),安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/health.cpp,42,业务代码中存在裸数字常量,需确认是否应命名化,if (mcu_temp == 255),安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/health.cpp,63,业务代码中存在裸数字常量,需确认是否应命名化,"u32 currents[3] = {(u32)(sampler.get_current('') * 1000),",安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/health.cpp,64,业务代码中存在裸数字常量,需确认是否应命名化,"(u32)(sampler.get_current('') * 1000),",安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/health.cpp,65,业务代码中存在裸数字常量,需确认是否应命名化,(u32)(sampler.get_current('') * 1000)};,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/health.cpp,68,业务代码中存在裸数字常量,需确认是否应命名化,"current_max = max(currents[0], currents[1], currents[2]);",安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/health.cpp,69,业务代码中存在裸数字常量,需确认是否应命名化,if (current_max < 2000) {,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/health.cpp,72,业务代码中存在裸数字常量,需确认是否应命名化,} else if (current_max > 3800) {,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/health.cpp,75,业务代码中存在裸数字常量,需确认是否应命名化,} else if (current_max > 3400) {,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/health.cpp,78,业务代码中存在裸数字常量,需确认是否应命名化,} else if (current_max > 3000) {,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/health.cpp,81,业务代码中存在裸数字常量,需确认是否应命名化,} else if (current_max > 2000) {,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/health.h,46,业务代码中存在裸数字常量,需确认是否应命名化,u32 thermal_capacity = 3600000;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/health.h,48,业务代码中存在裸数字常量,需确认是否应命名化,u16 gapTimeMs = 10;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/health.h,52,业务代码中存在裸数字常量,需确认是否应命名化,": thermalRate(FLOAT_TO_Q16_16(0.995f)),",安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/health.h,53,业务代码中存在裸数字常量,需确认是否应命名化,recoveryRate(FLOAT_TO_Q16_16(0.33f)) {},安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/initial.cpp,142,业务代码中存在裸数字常量,需确认是否应命名化,u8 versionData[24] = {0};,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/initial.cpp,147,业务代码中存在裸数字常量,需确认是否应命名化,versionData[1] = (softwareVersion.major >> 8) & 0xFF;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/initial.cpp,148,业务代码中存在裸数字常量,需确认是否应命名化,versionData[2] = softwareVersion.minor & 0xFF;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/initial.cpp,149,业务代码中存在裸数字常量,需确认是否应命名化,versionData[3] = (softwareVersion.minor >> 8) & 0xFF;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/initial.cpp,150,业务代码中存在裸数字常量,需确认是否应命名化,versionData[4] = softwareVersion.patch & 0xFF;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/initial.cpp,151,业务代码中存在裸数字常量,需确认是否应命名化,versionData[5] = (softwareVersion.patch >> 8) & 0xFF;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/initial.cpp,152,业务代码中存在裸数字常量,需确认是否应命名化,versionData[6] = softwareVersion.build & 0xFF;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/initial.cpp,153,业务代码中存在裸数字常量,需确认是否应命名化,versionData[7] = (softwareVersion.build >> 8) & 0xFF;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/initial.cpp,156,业务代码中存在裸数字常量,需确认是否应命名化,versionData[8] = hardwareVersion.major & 0xFF;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/initial.cpp,157,业务代码中存在裸数字常量,需确认是否应命名化,versionData[9] = (hardwareVersion.major >> 8) & 0xFF;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/initial.cpp,158,业务代码中存在裸数字常量,需确认是否应命名化,versionData[10] = hardwareVersion.minor & 0xFF;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/initial.cpp,159,业务代码中存在裸数字常量,需确认是否应命名化,versionData[11] = (hardwareVersion.minor >> 8) & 0xFF;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/initial.cpp,160,业务代码中存在裸数字常量,需确认是否应命名化,versionData[12] = hardwareVersion.patch & 0xFF;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/initial.cpp,161,业务代码中存在裸数字常量,需确认是否应命名化,versionData[13] = (hardwareVersion.patch >> 8) & 0xFF;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/initial.cpp,162,业务代码中存在裸数字常量,需确认是否应命名化,versionData[14] = hardwareVersion.build & 0xFF;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/initial.cpp,163,业务代码中存在裸数字常量,需确认是否应命名化,versionData[15] = (hardwareVersion.build >> 8) & 0xFF;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/initial.cpp,166,业务代码中存在裸数字常量,需确认是否应命名化,versionData[16] = bootVersion.major & 0xFF;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/initial.cpp,167,业务代码中存在裸数字常量,需确认是否应命名化,versionData[17] = (bootVersion.major >> 8) & 0xFF;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/initial.cpp,168,业务代码中存在裸数字常量,需确认是否应命名化,versionData[18] = bootVersion.minor & 0xFF;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/initial.cpp,169,业务代码中存在裸数字常量,需确认是否应命名化,versionData[19] = (bootVersion.minor >> 8) & 0xFF;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/initial.cpp,170,业务代码中存在裸数字常量,需确认是否应命名化,versionData[20] = bootVersion.patch & 0xFF;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/initial.cpp,171,业务代码中存在裸数字常量,需确认是否应命名化,versionData[21] = (bootVersion.patch >> 8) & 0xFF;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/initial.cpp,172,业务代码中存在裸数字常量,需确认是否应命名化,versionData[22] = bootVersion.build & 0xFF;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/initial.cpp,173,业务代码中存在裸数字常量,需确认是否应命名化,versionData[23] = (bootVersion.build >> 8) & 0xFF;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/initial.cpp,178,业务代码中存在裸数字常量,需确认是否应命名化,"CAN0_transmiter.build_can_id(CANFD_VERSION_ID), 24, versionData);",安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/initial.cpp,186,业务代码中存在裸数字常量,需确认是否应命名化,char versionStr[32];,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/initial.cpp,219,业务代码中存在裸数字常量,需确认是否应命名化,"status = fwdgt_config(time * 0.625, FWDGT_PSC_DIV64);",安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/initial.cpp,298,业务代码中存在裸数字常量,需确认是否应命名化,u32 temp_val[6];,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/initial.cpp,305,业务代码中存在裸数字常量,需确认是否应命名化,temp_val[2] = *flash_ptr1;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/initial.cpp,307,业务代码中存在裸数字常量,需确认是否应命名化,temp_val[3] = *flash_ptr1;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/initial.cpp,309,业务代码中存在裸数字常量,需确认是否应命名化,temp_val[4] = *flash_ptr1;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/initial.cpp,311,业务代码中存在裸数字常量,需确认是否应命名化,temp_val[5] = *flash_ptr1;,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/initial.cpp,316,业务代码中存在裸数字常量,需确认是否应命名化,"temp_val[0], temp_val[1], temp_val[2], temp_val[3], temp_val[4],",安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/initial.cpp,317,业务代码中存在裸数字常量,需确认是否应命名化,temp_val[5]);,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/initial.cpp,332,业务代码中存在裸数字常量,需确认是否应命名化,"u8 transmit_data[2] = {0x0A, 0xAC};",安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/initial.cpp,334,业务代码中存在裸数字常量,需确认是否应命名化,"CAN0_transmiter.CANFD_AsyncSend(CANFD_OTA_ACK_ID, 2, transmit_data);",安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/systick.cpp,159,业务代码中存在裸数字常量,需确认是否应命名化,delay_1ms(1000);,安全相关阈值/时间/比例建议用具名常量或配置宏。 -info,SUP-MAG-001,sys/systick.cpp,227,业务代码中存在裸数字常量,需确认是否应命名化,SCB->AIRCR = (0x05FA0000U | (SCB->AIRCR & (0x700U)) | (1U << 2));,安全相关阈值/时间/比例建议用具名常量或配置宏。 diff --git a/static_test_automotive_business_20260523/supplement_report.md b/static_test_automotive_business_20260523/supplement_report.md deleted file mode 100644 index a0d1e4a..0000000 --- a/static_test_automotive_business_20260523/supplement_report.md +++ /dev/null @@ -1,509 +0,0 @@ -# ROBOT_V2 APP 补充静态筛查报告 - -## 说明 -- 基于上一版业务代码静态测试包继续补充筛查。 -- 重点覆盖容易漏掉的评审项:Doxygen 覆盖、全局状态、switch default、无限循环、关中断成对性、ISR、头文件保护、magic number、浮点比较。 -- 只生成报告,不修改源码逻辑。 - -## 统计 -- error: 0 -- warning: 207 -- info: 520 - -## 规则命中 -- SUP-CMP-001: 14 -- SUP-DOC-001: 12 -- SUP-GLB-001: 189 -- SUP-GLB-002: 47 -- SUP-IRQ-001: 3 -- SUP-ISR-001: 18 -- SUP-LOOP-001: 4 -- SUP-MAG-001: 439 -- SUP-SW-001: 1 - -## Warning 明细 -- [SUP-CMP-001] `Algorithm/FOC.cpp:53` 浮点变量比较需确认容差或离散状态含义 - - `if (rt_velocity < -0.5f) last_table = cogging_table_rev;` - - 建议:建议确认是否应使用阈值/容差比较。 -- [SUP-CMP-001] `Algorithm/FOC.cpp:54` 浮点变量比较需确认容差或离散状态含义 - - `else if (rt_velocity > 0.5f) last_table = cogging_table;` - - 建议:建议确认是否应使用阈值/容差比较。 -- [SUP-CMP-001] `Algorithm/FOC.cpp:404` 浮点变量比较需确认容差或离散状态含义 - - `u8 sector_code = (X > 0.0f ? 1u : 0u)` - - 建议:建议确认是否应使用阈值/容差比较。 -- [SUP-CMP-001] `Algorithm/FOC.cpp:405` 浮点变量比较需确认容差或离散状态含义 - - `+ (Y > 0.0f ? 2u : 0u)` - - 建议:建议确认是否应使用阈值/容差比较。 -- [SUP-CMP-001] `Algorithm/FOC.cpp:406` 浮点变量比较需确认容差或离散状态含义 - - `+ (Z > 0.0f ? 4u : 0u);` - - 建议:建议确认是否应使用阈值/容差比较。 -- [SUP-CMP-001] `Algorithm/FOC.cpp:534` 浮点变量比较需确认容差或离散状态含义 - - `if (HOLD_PWM_DUTY > 0.95f) {` - - 建议:建议确认是否应使用阈值/容差比较。 -- [SUP-CMP-001] `Algorithm/FOC.cpp:536` 浮点变量比较需确认容差或离散状态含义 - - `} else if (HOLD_PWM_DUTY < 0.0f) {` - - 建议:建议确认是否应使用阈值/容差比较。 -- [SUP-CMP-001] `Algorithm/FOC.cpp:569` 浮点变量比较需确认容差或离散状态含义 - - `if (voltage < 36.0f and voltage > 8.0f) {` - - 建议:建议确认是否应使用阈值/容差比较。 -- [SUP-CMP-001] `Algorithm/FOC.cpp:763` 浮点变量比较需确认容差或离散状态含义 - - `if (target_velocity < -120.0f) {` - - 建议:建议确认是否应使用阈值/容差比较。 -- [SUP-CMP-001] `Algorithm/FOC.cpp:765` 浮点变量比较需确认容差或离散状态含义 - - `} else if (target_velocity < -30.0f) {` - - 建议:建议确认是否应使用阈值/容差比较。 -- [SUP-CMP-001] `Algorithm/Filter.cpp:190` 浮点变量比较需确认容差或离散状态含义 - - `if (error > 180.0f) error -= 360.0f;` - - 建议:建议确认是否应使用阈值/容差比较。 -- [SUP-CMP-001] `Algorithm/Filter.cpp:191` 浮点变量比较需确认容差或离散状态含义 - - `else if (error < -180.0f) error += 360.0f;` - - 建议:建议确认是否应使用阈值/容差比较。 -- [SUP-CMP-001] `sys/config.h:427` 浮点变量比较需确认容差或离散状态含义 - - `while (angle >= 360.0f) angle -= 360.0f;` - - 建议:建议确认是否应使用阈值/容差比较。 -- [SUP-CMP-001] `sys/config.h:428` 浮点变量比较需确认容差或离散状态含义 - - `while (angle < 0.0f) angle += 360.0f;` - - 建议:建议确认是否应使用阈值/容差比较。 -- [SUP-GLB-001] `Algorithm/FOC.cpp:23` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `FOC_Controller FOC;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `device/ADC.cpp:20` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `constexpr float ADC_SCALE = 3.3f / 4096.0f;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `device/ADC.cpp:22` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `constexpr float TEMP_FACTOR = 1000.0f / 4.3f;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `device/ADC.cpp:24` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `constexpr float VCC_FACTOR = 11.0f;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `device/ADC.cpp:26` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `constexpr float CURRENT_FACTOR =` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `device/ADC.cpp:30` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `sampler sampler;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `device/ADC.cpp:33` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `static volatile u8 adc_current_frame_ready = 0;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `device/Can.cpp:37` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `constexpr u16 CANX = CAN0;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `device/Can.cpp:48` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `dma_parameter_struct dma_rx_parameter;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `device/Can.cpp:51` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `static volatile bool can_rx_dma_busy = false;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `device/Can.cpp:52` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `static can_receive_message_struct can_rx_dma_message;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `device/Can.cpp:72` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `static volatile u8 rx_queue_head = 0;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `device/Can.cpp:73` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `static volatile u8 rx_queue_tail = 0;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `device/Can.cpp:74` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `static volatile u8 rx_queue_count = 0;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `device/Can.cpp:77` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `static volatile u8 tx_queue_head = 0;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `device/Can.cpp:78` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `static volatile u8 tx_queue_tail = 0;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `device/Can.cpp:79` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `static volatile u8 tx_queue_count = 0;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `device/Can.cpp:84` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `CAN_transmiter CAN0_transmiter;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `device/Timer.cpp:18` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `volatile u32 total_us100_counter = 0;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `device/ang_sensor.cpp:38` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `volatile bool spi_dma_tx_complete = false;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `device/ang_sensor.cpp:39` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `volatile bool spi_dma_rx_complete = false;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `device/ang_sensor.cpp:41` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `angle_sensor KTH7823;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `main.cpp:39` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `TaskScheduler scheduler = {0};` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `main.cpp:40` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `u32 motor_runtime_50us = 0;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `main.cpp:41` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `u32 cnt_test = 0;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `sys/config.h:32` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `constexpr u16 SOFTWARE_VERSION_MAJOR = 26;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `sys/config.h:34` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `constexpr u16 SOFTWARE_VERSION_MINOR = 5;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `sys/config.h:36` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `constexpr u16 SOFTWARE_VERSION_PATCH = 19;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `sys/config.h:38` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `constexpr u16 SOFTWARE_VERSION_BUILD = 2;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `sys/config.h:41` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `constexpr u16 HARDWARE_VERSION_MAJOR = 25;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `sys/config.h:43` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `constexpr u16 HARDWARE_VERSION_MINOR = 12;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `sys/config.h:45` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `constexpr u16 HARDWARE_VERSION_PATCH = 01;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `sys/config.h:47` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `constexpr u16 HARDWARE_VERSION_BUILD = 0;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `sys/config.h:50` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `constexpr u16 BOOT_VERSION_MAJOR = 26;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `sys/config.h:52` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `constexpr u16 BOOT_VERSION_MINOR = 1;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `sys/config.h:54` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `constexpr u16 BOOT_VERSION_PATCH = 12;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `sys/config.h:56` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `constexpr u16 BOOT_VERSION_BUILD = 0;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `sys/config.h:60` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `constexpr u32 BOOTLOADER_SIZE = 0x6000;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `sys/config.h:62` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `constexpr u32 BOOTLOADER_START_ADDR = 0x08000000;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `sys/config.h:64` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `constexpr u32 APPLATEST_START_ADDR = 0x08012000;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `sys/config.h:66` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `constexpr u32 APPBACK_START_ADDR = 0x08006000;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `sys/config.h:68` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `constexpr u32 APP_MAX_SIZE = 0xC000;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `sys/config.h:70` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `constexpr u32 FMC_PAGE_SIZE = 0x400;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `sys/config.h:72` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `constexpr u32 SLEEP_CONFIG_START = 0x0801E400;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `sys/config.h:74` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `constexpr u32 SLEEP_CONFIG_END = 0x0801E800;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `sys/config.h:76` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `constexpr u32 FLASH_EMPTY = 0xFFFFFFFF;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `sys/config.h:78` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `constexpr u32 SLEEP_ENABLE = 0x11111111;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `sys/config.h:80` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `constexpr u32 SLEEP_DISABLE = 0x00000000;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `sys/config.h:92` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `constexpr u32 NODE_ID_PAGE_ADDR = 0x0801E800;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `sys/config.h:94` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `constexpr u32 NODE_ID_PRIMARY_ADDR = 0x0801E800;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `sys/config.h:96` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `constexpr u32 NODE_ID_BACKUP_ADDR = 0x0801E840;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `sys/config.h:98` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `constexpr u32 NODE_ID_MAGIC = 0x4E4F4445;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `sys/config.h:100` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `constexpr u16 DEFAULT_NODE_ID = 1;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `sys/config.h:102` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `constexpr u16 BROADCAST_NODE_ID = 0x1FFF;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `sys/config.h:104` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `constexpr u16 MAX_NODE_ID = 0x1FFE;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `sys/config.h:113` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `constexpr u8 NODE_ID_STRUCT_SIZE = 0x10;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `sys/config.h:115` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `constexpr u8 NODE_ID_MAGIC_OFFSET = 0x00;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `sys/config.h:117` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `constexpr u8 NODE_ID_VALUE_OFFSET = 0x04;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `sys/config.h:119` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `constexpr u8 NODE_ID_COUNTER_OFFSET = 0x08;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `sys/config.h:121` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `constexpr u8 NODE_ID_CRC_OFFSET = 0x0C;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `sys/config.h:125` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `constexpr u32 OTA_CONFIG_NUM = 6;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `sys/config.h:127` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `constexpr u32 n_APP_LATEST_AVAL_ADDR = 0x0801E000;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `sys/config.h:129` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `constexpr u32 n_APP_BACKUP_AVAL_ADDR = 0x0801E004;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `sys/config.h:131` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `constexpr u32 n_APP_LATEST_EN_ADDR = 0x0801E008;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `sys/config.h:133` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `constexpr u32 n_APP_BACKUP_EN_ADDR = 0x0801E00C;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `sys/config.h:135` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `constexpr u32 n_APP_LATEST_CHECK_ADDR = 0x0801E010;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `sys/config.h:137` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `constexpr u32 n_APP_BACKUP_CHECK_ADDR = 0x0801E014;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `sys/config.h:139` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `constexpr u32 OTA_NOT_AVAL = 0xFFFFFFFF;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `sys/config.h:141` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `constexpr u32 OTA_AVAL = 0x00000000;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `sys/config.h:145` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `constexpr u8 PP = 11;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `sys/config.h:147` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `constexpr float DIR = 1.0f;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `sys/config.h:149` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `constexpr u16 REDUCTION_RATIO = 25;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `sys/config.h:151` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `constexpr float CURRENT_OFFSET = -3.31f / 2.0f;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `sys/config.h:153` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `constexpr float HOLD_PWM_DUTY = 0.1f;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `sys/config.h:155` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `constexpr u16 ANGLESENS_OFFSET = 0;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `sys/config.h:157` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `constexpr float ANGLESENS_CALIBRATION_ANGLE = 83.0f;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `sys/config.h:159` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `constexpr float KE_FACTOR = 0.0f;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `sys/config.h:163` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `constexpr float ANGLE_KALMAN_INITIAL_STATE = 0.0f;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `sys/config.h:165` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `constexpr float ANGLE_KALMAN_INITIAL_COVARIANCE = 0.0f;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `sys/config.h:167` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `constexpr float ANGLE_KALMAN_PROCESS_NOISE_Q = 0.0f;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `sys/config.h:169` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `constexpr float ANGLE_KALMAN_MEASUREMENT_NOISE_R = 0.0f;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `sys/config.h:171` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `constexpr float ANGLE_OBSERVER_ALPHA = 0.75f;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `sys/config.h:173` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `constexpr float ANGLE_OBSERVER_BETA = 0.002f;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `sys/config.h:177` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `constexpr float VELOCITY_KALMAN_INITIAL_STATE = 0.0f;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `sys/config.h:179` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `constexpr float VELOCITY_KALMAN_INITIAL_COVARIANCE = 1e-3f;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `sys/config.h:181` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `constexpr float VELOCITY_KALMAN_PROCESS_NOISE_Q =` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `sys/config.h:184` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `constexpr float VELOCITY_KALMAN_MEASUREMENT_NOISE_R =` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `sys/config.h:189` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `constexpr float CURRENT_KALMAN_INITIAL_STATE = 0.0f;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `sys/config.h:191` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `constexpr float CURRENT_KALMAN_INITIAL_COVARIANCE = 100.0f;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `sys/config.h:193` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `constexpr float CURRENT_KALMAN_PROCESS_NOISE_Q = 10.0f;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `sys/config.h:195` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `constexpr float CURRENT_KALMAN_MEASUREMENT_NOISE_R = 5e-5f;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `sys/config.h:199` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `constexpr float DEFAULT_current_loop_p = 0.1f / 100 * 12;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `sys/config.h:201` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `constexpr float current_loop_Ki = 0.55f;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `sys/config.h:203` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `constexpr float current_loop_Kd = 3e-4f;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `sys/config.h:206` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `constexpr float DEFAULT_vel_loop_p = 0.018f / 100 * 12;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `sys/config.h:208` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `constexpr float vel_loop_Ku = 3.600000e-03 * 0.7 * 100 / 12;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `sys/config.h:210` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `constexpr float vel_loop_Tu = 17.0f * 1e-3f;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `sys/config.h:212` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `constexpr float vel_loop_Ki = 1.2 * vel_loop_Ku / vel_loop_Tu;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `sys/config.h:214` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `constexpr float vel_loop_Kd = 0.075 * vel_loop_Ku * vel_loop_Tu * 2;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `sys/config.h:217` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `constexpr float DEFAULT_vel_angloop_p = 0.4f / 100;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `sys/config.h:219` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `constexpr float vel_angloop_Ki = 5.0f;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `sys/config.h:221` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `constexpr float vel_angloop_Kd = 5e-05f;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `sys/config.h:224` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `constexpr float DEFAULT_angle_angloop_p =` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `sys/config.h:227` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `constexpr float ang_angloop_Ki = 0.00f;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `sys/config.h:229` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `constexpr float ang_angloop_Kd = 8e-04f;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `sys/config.h:232` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `constexpr float DEFAULT_angle_loop_p = 60.0f / 100 * 12;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `sys/config.h:235` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `constexpr float DEFAULT_angle_MIT_p = 100.0f / 100 * 12;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `sys/config.h:237` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `constexpr float angle_MIT_Ki = 0.0f;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `sys/config.h:239` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `constexpr float angle_MIT_Kd = 8e-04f;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `sys/config.h:242` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `constexpr float DEFAULT_vel_MIT_p = 5.0f / 100;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `sys/config.h:244` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `constexpr float vel_MIT_Ki = 15.0f;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `sys/config.h:246` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `constexpr float vel_MIT_Kd = 1e-04f;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `sys/config.h:249` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `constexpr float DEFAULT_current_MIT_p = 0.2f / 100 * 12;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `sys/config.h:251` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `constexpr float current_MIT_Ki = 0.1f;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `sys/config.h:253` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `constexpr float current_MIT_Kd = 3e-4f;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `sys/config.h:260` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `constexpr float ADC_MAX = 65536.0f;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `sys/config.h:262` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `constexpr float PI = 3.14159265358979323846f;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `sys/config.h:264` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `constexpr float INV_PI_3 = 3.0f / PI;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `sys/config.h:266` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `constexpr float PI_3 = PI / 3.0f;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `sys/config.h:268` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `constexpr float _1_SQRT3 = 0.57735026919f;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `sys/config.h:270` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `constexpr float _3PI_2 = 4.71238898038f;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `sys/config.h:272` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `constexpr float SQRT3 = 1.7320508075688772f;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `sys/config.h:274` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `constexpr float SQRT3DV2 = 0.8660254037844386f;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `sys/config.h:276` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `constexpr float COS_PI_3 = 0.5f;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `sys/config.h:278` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `constexpr float ANGLE_FACTOR = 25.0f / 180.0f * PI;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `sys/config.h:280` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `constexpr float DEG2RAD = 1.0f / 180.0f * PI;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `sys/config.h:282` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `constexpr float RAD2DEG = 180.0f / PI;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `sys/config.h:284` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `constexpr u8 DEFAULT_VALUE = 0;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `sys/config.h:286` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `constexpr u8 CONFIG_SAVED_NUM = 6;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `sys/config.h:290` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `constexpr u16 LUT_SIZE = 1024;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `sys/config.h:301` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `constexpr u16 DEV_CAN0_ID = 0x0000;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `sys/config.h:303` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `constexpr u16 DEV_CAN0_MASK = 0x0000;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `sys/config.h:305` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `constexpr u16 DEV_CAN_LOOPBACK_ID = 0x0000;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `sys/config.h:308` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `constexpr u16 CANFD_STATUS_ID = 0x0100;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `sys/config.h:310` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `constexpr u16 CANFD_CONFIG_ID = 0x0101;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `sys/config.h:312` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `constexpr u16 CANFD_VERSION_ID = 0x00FF;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `sys/config.h:315` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `constexpr u16 CANFD_CMD_ID = 0x0200;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `sys/config.h:317` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `constexpr u16 CANFD_RESET_ID = 0x0301;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `sys/config.h:320` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `constexpr u16 CANFD_SET_NODE_ID = 0x0400;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `sys/config.h:322` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `constexpr u16 CANFD_GET_NODE_ID = 0x0401;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `sys/config.h:326` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `constexpr u16 CANFD_BOOT_ID = 0x0000;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `sys/config.h:328` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `constexpr u16 CANFD_OTA_REQ_ID = 0x0100;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `sys/config.h:330` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `constexpr u16 CANFD_OTA_DATA_ID = 0x0101;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `sys/config.h:332` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `constexpr u16 CANFD_OTA_ACK_ID = 0x0102;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `sys/config.h:334` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `constexpr u16 CANFD_OTA_WAIT_ID = 0x0103;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- [SUP-GLB-001] `sys/config.h:338` 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 - - `constexpr u8 ADC_FILTER_SIZE = 6;` - - 建议:建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。 -- ... 其余见 supplement_findings.csv - -## Info 说明 -- `SUP-MAG-001` 裸数字常量数量通常较多,正式处理时应优先筛选安全阈值、时间常数、比例系数,不建议机械全改。 -- `SUP-DOC-001` 用于发现可能漏补 Doxygen 的接口;多行声明、构造函数可能需要人工复核。