feat(can): 添加节点ID设置命令的安全防护和改进闪存写入逻辑

- 添加目标节点验证机制,防止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文件内容
This commit is contained in:
cbb
2026-08-13 01:14:07 +08:00
parent b71fba2016
commit 42c9f2f669
15 changed files with 37 additions and 8050 deletions
+1 -1
View File
@@ -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.
+14 -9
View File
@@ -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 &current_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;
+11 -2
View File
@@ -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
+6 -2
View File
@@ -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");
}
}
}
+5 -2
View File
@@ -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
#endif
@@ -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
1 file sha256_16 total_lines nonblank_code_lines comment_lines_approx
2 Algorithm/FOC.cpp bf24c35a8386ebef 842 507 241
3 Algorithm/FOC.h 90d7f21da9e4d751 268 121 121
4 Algorithm/Filter.cpp 90d298a82e3bc14d 283 97 94
5 Algorithm/Filter.h 80cadefec99079e3 304 115 105
6 Algorithm/pid.cpp 52d182f02a4359b7 103 46 44
7 Algorithm/pid.h e6333f5571fdfefb 64 25 33
8 Algorithm/thermal.cpp c7fc8d63d064ab62 5 0 5
9 Algorithm/thermal.h 5499445022c02c37 13 3 5
10 device/ADC.cpp 6e847c602dd61aed 330 193 96
11 device/Can.cpp b4484d3cfdf023d2 1513 938 357
12 device/Can.h 1f807194e6745e2a 364 125 206
13 device/Timer.cpp 3d006216c96dd4f6 319 173 87
14 device/Timer.h dfc4a4e688be439b 62 17 38
15 device/adc.h a541fdcbd7f8dae4 97 38 49
16 device/ang_sensor.cpp b2d8799eb1fb4851 310 175 96
17 device/ang_sensor.h 0d0da02eb2f85172 102 36 59
18 device/motor.cpp 69a1c4b5ef126a03 58 28 24
19 device/motor.h 74d08896b2e68e2d 39 10 25
20 main.cpp 24cc061dbaad56fc 205 145 36
21 main.h 57a31fca9ed82289 52 6 13
22 sys/config.h 7dfdd00046239393 434 179 220
23 sys/flash.cpp 705d6caf8fc8309c 1030 665 257
24 sys/flash.h 8cbfcfe7014cd773 179 57 107
25 sys/health.cpp eeb413b91f26ff47 149 98 37
26 sys/health.h 395415726314f996 80 37 34
27 sys/initial.cpp 4dffaa8ab1614908 351 212 95
28 sys/initial.h 3631974693d368cb 182 61 100
29 sys/systick.cpp 1b82db28eb3681d6 298 143 66
30 sys/systick.h 95cbb9678989e9a4 123 22 67
@@ -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,人工确认是否符合项目编码规范;如合理则记录偏离说明。
1 severity rule_id rule_level standard_ref file line description evidence disposition recommendation
2 warning AUTO-CTRL-002 Advisory MISRA C:2012 Rule 15.5 advisory / structured control flow device/Can.cpp 1124 continue 需避免或说明偏离 continue; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
3 warning AUTO-CTRL-002 Advisory MISRA C:2012 Rule 15.5 advisory / structured control flow device/Can.cpp 1194 continue 需避免或说明偏离 continue; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
4 warning AUTO-CTRL-002 Advisory MISRA C:2012 Rule 15.5 advisory / structured control flow device/Can.cpp 1199 continue 需避免或说明偏离 continue; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
5 warning AUTO-CTRL-002 Advisory MISRA C:2012 Rule 15.5 advisory / structured control flow main.cpp 80 continue 需避免或说明偏离 continue; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
6 warning AUTO-CTRL-002 Advisory MISRA C:2012 Rule 15.5 advisory / structured control flow sys/flash.cpp 693 continue 需避免或说明偏离 continue; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
7 warning AUTO-CTRL-002 Advisory MISRA C:2012 Rule 15.5 advisory / structured control flow sys/systick.cpp 264 continue 需避免或说明偏离 continue; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
8 warning AUTO-FUNC-002 Advisory MISRA Dir 4.12 / project safety rule Algorithm/FOC.cpp 100 printf/格式化输出需确认调试隔离和实时性影响 printf(""); open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
9 warning AUTO-FUNC-002 Advisory MISRA Dir 4.12 / project safety rule Algorithm/FOC.cpp 161 printf/格式化输出需确认调试隔离和实时性影响 printf("", open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
10 warning AUTO-FUNC-002 Advisory MISRA Dir 4.12 / project safety rule Algorithm/FOC.cpp 195 printf/格式化输出需确认调试隔离和实时性影响 printf(""); open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
11 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
12 warning AUTO-FUNC-002 Advisory MISRA Dir 4.12 / project safety rule Algorithm/FOC.cpp 203 printf/格式化输出需确认调试隔离和实时性影响 printf(""); open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
13 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
14 warning AUTO-FUNC-002 Advisory MISRA Dir 4.12 / project safety rule Algorithm/FOC.cpp 211 printf/格式化输出需确认调试隔离和实时性影响 printf(""); open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
15 warning AUTO-FUNC-002 Advisory MISRA Dir 4.12 / project safety rule Algorithm/FOC.cpp 212 printf/格式化输出需确认调试隔离和实时性影响 printf(""); open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
16 warning AUTO-FUNC-002 Advisory MISRA Dir 4.12 / project safety rule Algorithm/FOC.cpp 214 printf/格式化输出需确认调试隔离和实时性影响 if (i % 8 == 0) printf(""); open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
17 warning AUTO-FUNC-002 Advisory MISRA Dir 4.12 / project safety rule Algorithm/FOC.cpp 215 printf/格式化输出需确认调试隔离和实时性影响 printf("", cogging_table[i]); open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
18 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
19 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
20 warning AUTO-FUNC-002 Advisory MISRA Dir 4.12 / project safety rule Algorithm/FOC.cpp 220 printf/格式化输出需确认调试隔离和实时性影响 printf(""); open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
21 warning AUTO-FUNC-002 Advisory MISRA Dir 4.12 / project safety rule Algorithm/FOC.cpp 223 printf/格式化输出需确认调试隔离和实时性影响 printf(""); open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
22 warning AUTO-FUNC-002 Advisory MISRA Dir 4.12 / project safety rule Algorithm/FOC.cpp 224 printf/格式化输出需确认调试隔离和实时性影响 printf(""); open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
23 warning AUTO-FUNC-002 Advisory MISRA Dir 4.12 / project safety rule Algorithm/FOC.cpp 226 printf/格式化输出需确认调试隔离和实时性影响 if (i % 8 == 0) printf(""); open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
24 warning AUTO-FUNC-002 Advisory MISRA Dir 4.12 / project safety rule Algorithm/FOC.cpp 227 printf/格式化输出需确认调试隔离和实时性影响 printf("", cogging_table_rev[i]); open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
25 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
26 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
27 warning AUTO-FUNC-002 Advisory MISRA Dir 4.12 / project safety rule Algorithm/FOC.cpp 232 printf/格式化输出需确认调试隔离和实时性影响 printf(""); open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
28 warning AUTO-FUNC-002 Advisory MISRA Dir 4.12 / project safety rule Algorithm/FOC.cpp 234 printf/格式化输出需确认调试隔离和实时性影响 printf(""); open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
29 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
30 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
31 warning AUTO-FUNC-002 Advisory MISRA Dir 4.12 / project safety rule device/motor.cpp 38 printf/格式化输出需确认调试隔离和实时性影响 printf(""); open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
32 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
33 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
34 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
35 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
36 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
37 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
38 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
39 warning AUTO-MET-001 Advisory Project metric threshold CC <= 15 Algorithm/FOC.cpp 75 圈复杂度 33 超过建议阈值 15 FOC_Controller::calibrate_cogging_tick open_review 建议人工评审分支完整性;后续允许时再考虑拆分或增加单元测试覆盖。
40 warning AUTO-MET-001 Advisory Project metric threshold CC <= 15 device/Can.cpp 1076 圈复杂度 27 超过建议阈值 15 CAN_transmiter::communication_check open_review 建议人工评审分支完整性;后续允许时再考虑拆分或增加单元测试覆盖。
41 warning AUTO-MET-001 Advisory Project metric threshold CC <= 15 main.cpp 120 圈复杂度 17 超过建议阈值 15 do_task open_review 建议人工评审分支完整性;后续允许时再考虑拆分或增加单元测试覆盖。
42 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x Algorithm/FOC.cpp 29 数组下标访问需审查边界保护 extern u16 adc_value[3]; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
43 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
44 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
45 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
46 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
47 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x Algorithm/FOC.cpp 134 数组下标访问需审查边界保护 cog_calib_accum[idx] += iq; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
48 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x Algorithm/FOC.cpp 135 数组下标访问需审查边界保护 cog_calib_count[idx]++; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
49 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
50 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
51 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
52 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
53 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
54 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x Algorithm/FOC.cpp 181 数组下标访问需审查边界保护 cog_calib_run_data[1][i] + open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
55 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
56 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
57 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x Algorithm/FOC.cpp 187 数组下标访问需审查边界保护 cog_calib_run_data[4][i] + open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
58 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
59 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x Algorithm/FOC.cpp 198 数组下标访问需审查边界保护 printf("", angle_deg, cogging_table[i]); open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
60 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x Algorithm/FOC.cpp 206 数组下标访问需审查边界保护 printf("", angle_deg, cogging_table_rev[i]); open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
61 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x Algorithm/FOC.cpp 215 数组下标访问需审查边界保护 printf("", cogging_table[i]); open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
62 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x Algorithm/FOC.cpp 227 数组下标访问需审查边界保护 printf("", cogging_table_rev[i]); open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
63 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
64 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
65 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
66 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x Algorithm/FOC.cpp 410 数组下标访问需审查边界保护 u8 sector = sector_lut[sector_code]; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
67 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x Algorithm/FOC.cpp 431 数组下标访问需审查边界保护 static const float svpwm_coeff[6][4] = { open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
68 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
69 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
70 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
71 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x Algorithm/FOC.h 156 数组下标访问需审查边界保护 float cogging_table[COGGING_TABLE_SIZE] = {0}; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
72 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
73 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
74 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
75 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
76 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x Algorithm/Filter.cpp 65 数组下标访问需审查边界保护 float sorted[size]; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
77 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x Algorithm/Filter.cpp 71 数组下标访问需审查边界保护 return sorted[size / 2]; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
78 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x device/ADC.cpp 31 数组下标访问需审查边界保护 u16 adc_value[3] = {0}; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
79 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
80 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x device/ADC.cpp 151 数组下标访问需审查边界保护 mcu_temp_samples[i] = open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
81 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
82 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x device/ADC.cpp 154 数组下标访问需审查边界保护 currU_samples[i] = current_init; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
83 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x device/ADC.cpp 155 数组下标访问需审查边界保护 currV_samples[i] = current_init; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
84 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x device/ADC.cpp 156 数组下标访问需审查边界保护 currW_samples[i] = current_init; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
85 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
86 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
87 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x device/ADC.cpp 161 数组下标访问需审查边界保护 drv_temp_samples[i] = open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
88 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x device/ADC.cpp 199 数组下标访问需审查边界保护 tempora_sample = currU_samples[idx]; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
89 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x device/ADC.cpp 203 数组下标访问需审查边界保护 tempora_sample = currV_samples[idx]; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
90 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x device/ADC.cpp 207 数组下标访问需审查边界保护 tempora_sample = currW_samples[idx]; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
91 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x device/ADC.cpp 240 数组下标访问需审查边界保护 mcu_temp_samples[mcu_temp_head] = open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
92 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
93 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
94 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x device/ADC.cpp 260 数组下标访问需审查边界保护 drv_temp_samples[drv_temp_head] = open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
95 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
96 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
97 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
98 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
99 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
100 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
101 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
102 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
103 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x device/Can.cpp 49 数组下标访问需审查边界保护 uint8_t can_rx_buffer[64]; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
104 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
105 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x device/Can.cpp 63 数组下标访问需审查边界保护 u8 data[64]; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
106 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
107 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
108 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
109 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x device/Can.cpp 238 数组下标访问需审查边界保护 message = rx_message_buffer[rx_buffer_tail]; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
110 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x device/Can.cpp 559 数组下标访问需审查边界保护 transmit_message.tx_data[i] = dis(gen); open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
111 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
112 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x device/Can.cpp 625 数组下标访问需审查边界保护 transmit_message.tx_data[i] = i; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
113 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
114 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x device/Can.cpp 651 数组下标访问需审查边界保护 receive_message.rx_data[i]); open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
115 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
116 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x device/Can.cpp 739 数组下标访问需审查边界保护 if (length <= CANFD_DLC_LENGTH_TABLE[i]) { open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
117 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x device/Can.cpp 740 数组下标访问需审查边界保护 return CANFD_DLC_LENGTH_TABLE[i]; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
118 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
119 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
120 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
121 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x device/Can.cpp 763 数组下标访问需审查边界保护 rx_queue[rx_queue_tail].length = 64; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
122 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
123 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
124 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x device/Can.cpp 889 数组下标访问需审查边界保护 *item = rx_queue[rx_queue_head]; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
125 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x device/Can.cpp 907 数组下标访问需审查边界保护 tx_queue[tx_queue_tail].message = message; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
126 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x device/Can.cpp 908 数组下标访问需审查边界保护 tx_queue[tx_queue_tail].valid = 1U; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
127 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x device/Can.cpp 933 数组下标访问需审查边界保护 *message = tx_queue[tx_queue_head].message; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
128 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x device/Can.cpp 949 数组下标访问需审查边界保护 *message = tx_queue[tx_queue_head].message; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
129 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x device/Can.cpp 950 数组下标访问需审查边界保护 tx_queue[tx_queue_head].valid = 0U; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
130 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x device/Can.cpp 1041 数组下标访问需审查边界保护 transmit_data[10] = open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
131 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x device/Can.cpp 1042 数组下标访问需审查边界保护 (transmit_data[10] & ~0x07) | open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
132 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x device/Can.cpp 1050 数组下标访问需审查边界保护 transmit_data[29] = test_u16 & 0xFF; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
133 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x device/Can.cpp 1051 数组下标访问需审查边界保护 transmit_data[30] = (test_u16 >> 8) & 0xFF; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
134 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x device/Can.cpp 1052 数组下标访问需审查边界保护 transmit_data[31] = cpu_usage; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
135 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x device/Can.cpp 1059 数组下标访问需审查边界保护 transmit_data[0] = controller_Mode; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
136 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
137 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x device/Can.cpp 1135 数组下标访问需审查边界保护 current_message.rx_data[1]); open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
138 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
139 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x device/Can.cpp 1151 数组下标访问需审查边界保护 transmit_data[0] = 0x01; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
140 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
141 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x device/Can.cpp 1153 数组下标访问需审查边界保护 transmit_data[2] = open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
142 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x device/Can.cpp 1177 数组下标访问需审查边界保护 transmit_data[0] = 0x00; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
143 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x device/Can.cpp 1186 数组下标访问需审查边界保护 transmit_data[0] = 0x00; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
144 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
145 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
146 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
147 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
148 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
149 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x device/Can.cpp 1283 数组下标访问需审查边界保护 transmit_data[0] = 0x0A; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
150 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x device/Can.cpp 1284 数组下标访问需审查边界保护 transmit_data[1] = 0xAC; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
151 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x device/Can.cpp 1420 数组下标访问需审查边界保护 transmit_message.tx_data[i] = *(data + i); open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
152 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x device/Can.cpp 1487 数组下标访问需审查边界保护 transmit_message.tx_data[i] = *(data + i); open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
153 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x device/Can.h 25 数组下标访问需审查边界保护 u8 b[4]; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
154 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x device/Can.h 37 数组下标访问需审查边界保护 buffer[offset] = (u8)(value & 0xFF); open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
155 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x device/Can.h 38 数组下标访问需审查边界保护 buffer[offset + 1] = (u8)((value >> 8) & 0xFF); open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
156 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x device/Can.h 51 数组下标访问需审查边界保护 buffer[offset] = float_union.b[0]; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
157 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x device/Can.h 52 数组下标访问需审查边界保护 buffer[offset + 1] = float_union.b[1]; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
158 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x device/Can.h 53 数组下标访问需审查边界保护 buffer[offset + 2] = float_union.b[2]; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
159 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x device/Can.h 54 数组下标访问需审查边界保护 buffer[offset + 3] = float_union.b[3]; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
160 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
161 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
162 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x device/Can.h 90 数组下标访问需审查边界保护 float_union.b[0] = buffer[offset]; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
163 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x device/Can.h 91 数组下标访问需审查边界保护 float_union.b[1] = buffer[offset + 1]; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
164 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x device/Can.h 92 数组下标访问需审查边界保护 float_union.b[2] = buffer[offset + 2]; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
165 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x device/Can.h 93 数组下标访问需审查边界保护 float_union.b[3] = buffer[offset + 3]; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
166 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x device/Can.h 195 数组下标访问需审查边界保护 u8 transmit_data[64]; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
167 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
168 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x device/Can.h 353 数组下标访问需审查边界保护 rx_message_buffer[rx_buffer_head] = message; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
169 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x device/Timer.cpp 19 数组下标访问需审查边界保护 extern u16 adc_value[3]; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
170 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x device/Timer.cpp 27 数组下标访问需审查边界保护 static const u32 task_schedule_100us[10] = { open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
171 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x device/Timer.cpp 41 数组下标访问需审查边界保护 static const u32 task_schedule_1ms[10] = { open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
172 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x device/Timer.cpp 48 数组下标访问需审查边界保护 static const u32 task_schedule_10ms[10] = { open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
173 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x device/Timer.cpp 53 数组下标访问需审查边界保护 static const u32 task_schedule_100ms[10] = { open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
174 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
175 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x device/Timer.cpp 177 数组下标访问需审查边界保护 scheduler.taskFlags |= task_schedule_100ms[ms100_counter]; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
176 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x device/Timer.cpp 179 数组下标访问需审查边界保护 scheduler.taskFlags |= task_schedule_10ms[ms10_counter]; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
177 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x device/Timer.cpp 181 数组下标访问需审查边界保护 scheduler.taskFlags |= task_schedule_1ms[ms1_counter]; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
178 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x device/adc.h 21 数组下标访问需审查边界保护 float vbus_samples[ADC_FILTER_SIZE]; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
179 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x device/adc.h 22 数组下标访问需审查边界保护 float currU_samples[ADC_FILTER_SIZE]; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
180 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x device/adc.h 23 数组下标访问需审查边界保护 float currV_samples[ADC_FILTER_SIZE]; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
181 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x device/adc.h 24 数组下标访问需审查边界保护 float currW_samples[ADC_FILTER_SIZE]; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
182 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x device/adc.h 25 数组下标访问需审查边界保护 float mcu_temp_samples[ADC_FILTER_SIZE]; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
183 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x device/adc.h 26 数组下标访问需审查边界保护 float drv_temp_samples[ADC_FILTER_SIZE]; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
184 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
185 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x main.cpp 169 数组下标访问需审查边界保护 (FOC.*control_functions[FOC.control_mode])(); open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
186 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
187 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x sys/flash.cpp 94 数组下标访问需审查边界保护 float data[CONFIG_SAVED_NUM] = {0.0f}; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
188 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
189 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
190 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
191 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
192 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
193 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
194 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x sys/flash.cpp 105 数组下标访问需审查边界保护 if (status_read[i] == open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
195 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x sys/flash.cpp 107 数组下标访问需审查边界保护 data[i - 1] = DEFAULT_VALUE; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
196 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
197 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x sys/flash.cpp 109 数组下标访问需审查边界保护 data[i - 1] = DEFAULT_VALUE; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
198 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x sys/flash.cpp 110 数组下标访问需审查边界保护 status_read[0] = status_read[i]; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
199 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x sys/flash.cpp 114 数组下标访问需审查边界保护 if (status_read[0] == FLASH_EEPROM_OK) { open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
200 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x sys/flash.cpp 141 数组下标访问需审查边界保护 data[i] = DEFAULT_VALUE; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
201 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x sys/flash.cpp 149 数组下标访问需审查边界保护 EEPROMStatus = status_read[0]; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
202 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x sys/flash.cpp 154 数组下标访问需审查边界保护 FOC.control_mode = (u8)data[0]; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
203 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x sys/flash.cpp 155 数组下标访问需审查边界保护 FOC.limit_voltage = data[1]; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
204 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x sys/flash.cpp 156 数组下标访问需审查边界保护 FOC.target_current = data[2]; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
205 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x sys/flash.cpp 157 数组下标访问需审查边界保护 KTH7823.angle_set(data[3]); open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
206 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x sys/flash.cpp 158 数组下标访问需审查边界保护 FOC.target_angle = data[4]; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
207 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x sys/flash.cpp 159 数组下标访问需审查边界保护 FOC.target_velocity = data[5]; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
208 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x sys/flash.cpp 415 数组下标访问需审查边界保护 float data[CONFIG_SAVED_NUM] = { open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
209 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x sys/flash.cpp 429 数组下标访问需审查边界保护 status = writeFloat(ADDR_CONTROL_MODE, data[0]); open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
210 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x sys/flash.cpp 435 数组下标访问需审查边界保护 status = writeFloat(ADDR_VOLTAGE_LIMIT, data[1]); open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
211 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x sys/flash.cpp 441 数组下标访问需审查边界保护 status = writeFloat(ADDR_VEL_LIMIT, data[2]); open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
212 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x sys/flash.cpp 447 数组下标访问需审查边界保护 status = writeFloat(ADDR_ANGLE, data[3]); open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
213 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x sys/flash.cpp 453 数组下标访问需审查边界保护 status = writeFloat(ADDR_TARGET_ANGLE, data[4]); open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
214 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x sys/flash.cpp 459 数组下标访问需审查边界保护 status = writeFloat(ADDR_TARGET_VEL, data[5]); open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
215 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x sys/flash.cpp 466 数组下标访问需审查边界保护 u32 crc_data_words[CONFIG_SAVED_NUM]; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
216 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
217 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
218 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x sys/flash.cpp 507 数组下标访问需审查边界保护 u32 crc_data[2]; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
219 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x sys/flash.cpp 508 数组下标访问需审查边界保护 crc_data[0] = (u32)node_id; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
220 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x sys/flash.cpp 509 数组下标访问需审查边界保护 crc_data[1] = counter; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
221 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
222 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
223 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
224 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
225 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x sys/flash.cpp 577 数组下标访问需审查边界保护 u32 write_data[4]; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
226 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x sys/flash.cpp 578 数组下标访问需审查边界保护 write_data[0] = NODE_ID_MAGIC; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
227 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x sys/flash.cpp 579 数组下标访问需审查边界保护 write_data[1] = (u32)node_id; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
228 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x sys/flash.cpp 580 数组下标访问需审查边界保护 write_data[2] = counter; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
229 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x sys/flash.cpp 581 数组下标访问需审查边界保护 write_data[3] = crc; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
230 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
231 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x sys/flash.cpp 795 数组下标访问需审查边界保护 u32 temp_val[OTA_CONFIG_NUM]; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
232 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x sys/flash.cpp 799 数组下标访问需审查边界保护 temp_val[0] = *flash_ptr; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
233 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x sys/flash.cpp 800 数组下标访问需审查边界保护 if (temp_val[0] == data) { open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
234 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x sys/flash.cpp 816 数组下标访问需审查边界保护 temp_val[0] = *flash_ptr; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
235 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x sys/flash.cpp 818 数组下标访问需审查边界保护 temp_val[1] = *flash_ptr; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
236 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x sys/flash.cpp 820 数组下标访问需审查边界保护 temp_val[2] = *flash_ptr; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
237 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x sys/flash.cpp 822 数组下标访问需审查边界保护 temp_val[3] = *flash_ptr; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
238 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x sys/flash.cpp 824 数组下标访问需审查边界保护 temp_val[4] = *flash_ptr; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
239 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x sys/flash.cpp 826 数组下标访问需审查边界保护 temp_val[5] = *flash_ptr; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
240 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
241 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x sys/flash.cpp 833 数组下标访问需审查边界保护 temp_val[4], temp_val[5]); open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
242 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
243 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
244 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x sys/flash.cpp 851 数组下标访问需审查边界保护 temp_val[i], current_addr, fmc_status); open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
245 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x sys/flash.cpp 860 数组下标访问需审查边界保护 temp_val[0] = *flash_ptr; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
246 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x sys/flash.cpp 862 数组下标访问需审查边界保护 temp_val[1] = *flash_ptr; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
247 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x sys/flash.cpp 864 数组下标访问需审查边界保护 temp_val[2] = *flash_ptr; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
248 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x sys/flash.cpp 866 数组下标访问需审查边界保护 temp_val[3] = *flash_ptr; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
249 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x sys/flash.cpp 868 数组下标访问需审查边界保护 temp_val[4] = *flash_ptr; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
250 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x sys/flash.cpp 870 数组下标访问需审查边界保护 temp_val[5] = *flash_ptr; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
251 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
252 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x sys/flash.cpp 875 数组下标访问需审查边界保护 temp_val[4], temp_val[5]); open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
253 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x sys/flash.cpp 890 数组下标访问需审查边界保护 NVIC->ICER[i] = 0xFFFFFFFF; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
254 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
255 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
256 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
257 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x sys/initial.cpp 142 数组下标访问需审查边界保护 u8 versionData[24] = {0}; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
258 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x sys/initial.cpp 146 数组下标访问需审查边界保护 versionData[0] = softwareVersion.major & 0xFF; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
259 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x sys/initial.cpp 147 数组下标访问需审查边界保护 versionData[1] = (softwareVersion.major >> 8) & 0xFF; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
260 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x sys/initial.cpp 148 数组下标访问需审查边界保护 versionData[2] = softwareVersion.minor & 0xFF; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
261 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x sys/initial.cpp 149 数组下标访问需审查边界保护 versionData[3] = (softwareVersion.minor >> 8) & 0xFF; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
262 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x sys/initial.cpp 150 数组下标访问需审查边界保护 versionData[4] = softwareVersion.patch & 0xFF; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
263 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x sys/initial.cpp 151 数组下标访问需审查边界保护 versionData[5] = (softwareVersion.patch >> 8) & 0xFF; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
264 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x sys/initial.cpp 152 数组下标访问需审查边界保护 versionData[6] = softwareVersion.build & 0xFF; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
265 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x sys/initial.cpp 153 数组下标访问需审查边界保护 versionData[7] = (softwareVersion.build >> 8) & 0xFF; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
266 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x sys/initial.cpp 156 数组下标访问需审查边界保护 versionData[8] = hardwareVersion.major & 0xFF; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
267 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x sys/initial.cpp 157 数组下标访问需审查边界保护 versionData[9] = (hardwareVersion.major >> 8) & 0xFF; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
268 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x sys/initial.cpp 158 数组下标访问需审查边界保护 versionData[10] = hardwareVersion.minor & 0xFF; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
269 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x sys/initial.cpp 159 数组下标访问需审查边界保护 versionData[11] = (hardwareVersion.minor >> 8) & 0xFF; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
270 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x sys/initial.cpp 160 数组下标访问需审查边界保护 versionData[12] = hardwareVersion.patch & 0xFF; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
271 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x sys/initial.cpp 161 数组下标访问需审查边界保护 versionData[13] = (hardwareVersion.patch >> 8) & 0xFF; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
272 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x sys/initial.cpp 162 数组下标访问需审查边界保护 versionData[14] = hardwareVersion.build & 0xFF; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
273 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x sys/initial.cpp 163 数组下标访问需审查边界保护 versionData[15] = (hardwareVersion.build >> 8) & 0xFF; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
274 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x sys/initial.cpp 166 数组下标访问需审查边界保护 versionData[16] = bootVersion.major & 0xFF; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
275 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x sys/initial.cpp 167 数组下标访问需审查边界保护 versionData[17] = (bootVersion.major >> 8) & 0xFF; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
276 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x sys/initial.cpp 168 数组下标访问需审查边界保护 versionData[18] = bootVersion.minor & 0xFF; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
277 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x sys/initial.cpp 169 数组下标访问需审查边界保护 versionData[19] = (bootVersion.minor >> 8) & 0xFF; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
278 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x sys/initial.cpp 170 数组下标访问需审查边界保护 versionData[20] = bootVersion.patch & 0xFF; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
279 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x sys/initial.cpp 171 数组下标访问需审查边界保护 versionData[21] = (bootVersion.patch >> 8) & 0xFF; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
280 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x sys/initial.cpp 172 数组下标访问需审查边界保护 versionData[22] = bootVersion.build & 0xFF; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
281 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x sys/initial.cpp 173 数组下标访问需审查边界保护 versionData[23] = (bootVersion.build >> 8) & 0xFF; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
282 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x sys/initial.cpp 186 数组下标访问需审查边界保护 char versionStr[32]; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
283 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x sys/initial.cpp 298 数组下标访问需审查边界保护 u32 temp_val[6]; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
284 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x sys/initial.cpp 301 数组下标访问需审查边界保护 temp_val[0] = *flash_ptr1; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
285 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x sys/initial.cpp 303 数组下标访问需审查边界保护 temp_val[1] = *flash_ptr1; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
286 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x sys/initial.cpp 305 数组下标访问需审查边界保护 temp_val[2] = *flash_ptr1; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
287 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x sys/initial.cpp 307 数组下标访问需审查边界保护 temp_val[3] = *flash_ptr1; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
288 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x sys/initial.cpp 309 数组下标访问需审查边界保护 temp_val[4] = *flash_ptr1; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
289 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x sys/initial.cpp 311 数组下标访问需审查边界保护 temp_val[5] = *flash_ptr1; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
290 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
291 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x sys/initial.cpp 317 数组下标访问需审查边界保护 temp_val[5]); open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
292 info AUTO-ARRAY-001 Advisory MISRA C:2012 Rule 18.x sys/initial.cpp 332 数组下标访问需审查边界保护 u8 transmit_data[2] = {0x0A, 0xAC}; open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
293 info AUTO-ASM-001 Required MISRA C:2012 Dir 4.3 / project safety rule device/Can.cpp 709 关中断/低功耗/内联汇编等平台相关指令需审查 __disable_irq(); open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
294 info AUTO-ASM-001 Required MISRA C:2012 Dir 4.3 / project safety rule main.cpp 72 关中断/低功耗/内联汇编等平台相关指令需审查 __disable_irq(); open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
295 info AUTO-ASM-001 Required MISRA C:2012 Dir 4.3 / project safety rule main.cpp 76 关中断/低功耗/内联汇编等平台相关指令需审查 __enable_irq(); open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
296 info AUTO-ASM-001 Required MISRA C:2012 Dir 4.3 / project safety rule main.cpp 93 关中断/低功耗/内联汇编等平台相关指令需审查 __enable_irq(); open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
297 info AUTO-ASM-001 Required MISRA C:2012 Dir 4.3 / project safety rule sys/flash.cpp 888 关中断/低功耗/内联汇编等平台相关指令需审查 __disable_irq(); open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
298 info AUTO-ASM-001 Required MISRA C:2012 Dir 4.3 / project safety rule sys/flash.cpp 936 关中断/低功耗/内联汇编等平台相关指令需审查 __disable_irq(); open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
299 info AUTO-ASM-001 Required MISRA C:2012 Dir 4.3 / project safety rule sys/flash.cpp 954 关中断/低功耗/内联汇编等平台相关指令需审查 __enable_irq(); open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
300 info AUTO-ASM-001 Required MISRA C:2012 Dir 4.3 / project safety rule sys/flash.cpp 992 关中断/低功耗/内联汇编等平台相关指令需审查 __enable_irq(); open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
301 info AUTO-ASM-001 Required MISRA C:2012 Dir 4.3 / project safety rule sys/flash.cpp 1008 关中断/低功耗/内联汇编等平台相关指令需审查 __enable_irq(); open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
302 info AUTO-ASM-001 Required MISRA C:2012 Dir 4.3 / project safety rule sys/systick.cpp 256 关中断/低功耗/内联汇编等平台相关指令需审查 __disable_irq(); open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
303 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
304 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
305 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
306 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
307 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
308 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
309 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
310 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
311 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
312 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
313 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
314 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
315 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
316 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
317 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
318 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
319 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
320 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
321 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
322 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
323 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
324 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
325 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
326 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
327 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
328 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
329 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
330 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
331 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
332 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
333 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
334 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
335 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
336 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
337 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
338 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
339 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
340 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
341 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
342 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
343 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
344 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
345 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
346 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
347 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
348 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
349 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
350 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
351 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
352 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
353 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
354 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
355 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
356 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
357 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
358 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
359 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
360 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
361 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
362 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
363 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
364 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
365 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
366 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
367 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
368 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
369 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
370 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
371 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
372 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
373 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
374 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
375 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
376 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
377 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
378 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
379 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
380 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
381 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
382 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
383 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
384 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
385 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
386 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
387 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
388 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
389 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
390 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
391 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
392 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
393 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
394 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
395 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
396 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
397 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
398 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
399 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
400 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
401 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
402 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
403 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
404 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
405 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
406 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
407 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
408 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
409 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
410 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
411 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
412 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
413 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
414 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
415 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
416 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
417 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
418 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
419 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
420 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
421 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
422 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
423 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
424 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
425 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
426 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
427 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
428 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
429 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
430 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
431 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
432 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
433 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
434 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
435 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
436 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
437 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
438 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
439 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
440 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
441 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
442 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
443 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
444 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
445 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
446 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
447 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
448 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
449 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
450 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
451 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
452 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
453 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
454 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
455 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
456 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
457 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
458 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
459 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
460 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
461 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
462 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
463 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
464 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
465 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
466 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
467 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
468 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
469 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
470 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
471 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
472 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
473 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
474 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
475 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
476 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
477 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
478 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
479 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
480 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
481 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
482 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
483 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
484 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
485 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
486 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
487 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
488 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
489 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
490 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
491 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
492 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
493 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
494 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
495 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
496 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
497 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
498 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
499 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
500 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
501 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
502 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
503 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
504 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
505 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
506 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
507 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
508 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
509 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
510 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
511 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
512 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
513 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
514 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
515 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
516 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
517 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
518 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
519 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
520 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
521 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
522 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
523 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
524 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
525 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
526 info AUTO-MACRO-001 Advisory MISRA C:2012 Rule 20.x Algorithm/FOC.cpp 242 函数式宏需审查括号、副作用和类型安全 #define _constrain(amt, low, high) \ open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
527 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
528 info AUTO-MACRO-001 Advisory MISRA C:2012 Rule 20.x Algorithm/pid.cpp 8 函数式宏需审查括号、副作用和类型安全 #define _constrain(amt, low, high) \ open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
529 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
530 info AUTO-MACRO-001 Advisory MISRA C:2012 Rule 20.x device/Can.cpp 33 函数式宏需审查括号、副作用和类型安全 #define CAN_DEBUG_PRINT(fmt, ...) ((void)0) open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
531 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
532 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
533 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
534 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
535 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
536 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
537 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
538 info AUTO-MACRO-001 Advisory MISRA C:2012 Rule 20.x main.cpp 25 函数式宏需审查括号、副作用和类型安全 #define MAIN_DEBUG_PRINT(fmt, ...) ((void)0) open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
539 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
540 info AUTO-MACRO-001 Advisory MISRA C:2012 Rule 20.x sys/flash.cpp 25 函数式宏需审查括号、副作用和类型安全 #define EEP_DEBUG_PRINT(fmt, ...) ((void)0) open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
541 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
542 info AUTO-MACRO-001 Advisory MISRA C:2012 Rule 20.x sys/flash.cpp 34 函数式宏需审查括号、副作用和类型安全 #define OTA_DEBUG_PRINT(fmt, ...) ((void)0) open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
543 info AUTO-MACRO-001 Advisory MISRA C:2012 Rule 20.x sys/flash.h 15 函数式宏需审查括号、副作用和类型安全 #define ALIGN_4BYTE(addr) ((addr) & 0xFFFFFFFC) open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
544 info AUTO-MACRO-001 Advisory MISRA C:2012 Rule 20.x sys/health.cpp 22 函数式宏需审查括号、副作用和类型安全 #define max(a, b, c) \ open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
545 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
546 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
547 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
548 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
549 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
550 info AUTO-MACRO-001 Advisory MISRA C:2012 Rule 20.x sys/initial.cpp 26 函数式宏需审查括号、副作用和类型安全 #define OTA_DEBUG_PRINT(fmt, ...) ((void)0) open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
551 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
552 info AUTO-MACRO-001 Advisory MISRA C:2012 Rule 20.x sys/initial.cpp 35 函数式宏需审查括号、副作用和类型安全 #define EEP_DEBUG_PRINT(fmt, ...) ((void)0) open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
553 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 人工确认是否符合项目编码规范;如合理则记录偏离说明。
554 info AUTO-MACRO-001 Advisory MISRA C:2012 Rule 20.x sys/systick.cpp 50 函数式宏需审查括号、副作用和类型安全 #define SLEEP_DEBUG_PRINT(fmt, ...) ((void)0) open_review 人工确认是否符合项目编码规范;如合理则记录偏离说明。
@@ -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
1 file function start_line end_line cyclomatic_complexity risk
2 Algorithm/FOC.cpp FOC_Controller::calibrate_cogging_tick 75 238 33 high
3 device/Can.cpp CAN_transmiter::communication_check 1076 1300 27 high
4 main.cpp do_task 120 205 17 high
5 Algorithm/FOC.cpp FOC_Controller::setSVPWM_PhaseVoltage 392 490 15 medium
6 sys/flash.cpp FlashEEPROM::writeFloat 308 383 12 medium
7 sys/health.cpp ThermalController::update 35 94 12 medium
8 device/Can.cpp can_loopback_test 597 665 11 medium
9 device/Can.cpp CAN_transmiter::CANFD_AsyncSend 1448 1504 10 low
10 sys/flash.cpp FlashEEPROM::read_saved_system_config 90 161 10 low
11 sys/flash.cpp FlashEEPROM::write 237 300 10 low
12 sys/flash.cpp FlashEEPROM::writeNodeId 657 717 10 low
13 sys/flash.cpp move_app_data 928 1030 10 low
14 device/Can.cpp canfd_loopback_test 534 589 9 low
15 sys/flash.cpp FlashEEPROM::save_system_config 413 482 9 low
16 sys/flash.cpp OTA_SET 792 879 9 low
17 sys/health.cpp power_manage 113 149 9 low
18 device/ADC.cpp sampler::get_current 194 219 8 low
19 sys/flash.cpp FlashEEPROM::writeCRC 724 776 8 low
20 sys/systick.cpp app_prepare_deep_sleep 244 298 8 low
21 device/Timer.cpp TIMER2_IRQHandler 134 184 7 low
22 sys/initial.cpp get_reset_cause 256 290 7 low
23 Algorithm/FOC.cpp FOC_Controller::fast_voltage_check 603 642 6 low
24 device/Can.cpp CAN_transmiter::CAN_AsyncSend 1399 1440 6 low
25 sys/flash.cpp read_node_id_struct 521 558 6 low
26 sys/initial.cpp OTA_initial 296 351 6 low
27 Algorithm/Filter.cpp EncoderAngleKalman::update 162 200 5 low
28 device/Can.cpp CAN_RX_ReadMetadata 800 824 5 low
29 device/Can.cpp DMA0_Channel4_IRQHandler 1355 1383 5 low
30 sys/flash.cpp FlashEEPROM::read 169 192 5 low
31 sys/flash.cpp FlashEEPROM::readFloat 200 229 5 low
32 Algorithm/FOC.cpp FOC_Controller::get_cogging_compensation 39 59 4 low
33 Algorithm/FOC.cpp FOC_Controller::angle_control_with_velocity_limit 753 796 4 low
34 device/ADC.cpp sampler::update_mcu_temp 238 252 4 low
35 device/ADC.cpp sampler::update_drv_temp 257 272 4 low
36 device/ADC.cpp sampler::update_vbus_voltage 297 311 4 low
37 device/Can.cpp CANFD_NormalizeLength 735 744 4 low
38 device/Can.cpp CAN_RX_QueuePushFromIsr 758 773 4 low
39 device/Can.cpp CAN_RX_PumpFifo0 858 875 4 low
40 device/Can.cpp CAN_TX_ServiceQueue 975 990 4 low
41 device/Can.cpp CAN0_RX0_IRQHandler 1330 1349 4 low
42 device/ang_sensor.cpp angle_sensor::update 263 288 4 low
43 main.cpp main 60 86 4 low
44 sys/flash.cpp write_node_id_struct 567 599 4 low
45 Algorithm/FOC.cpp FOC_Controller::resume_from_thermal 517 523 3 low
46 Algorithm/FOC.cpp FOC_Controller::drv_hold 532 541 3 low
47 Algorithm/FOC.cpp FOC_Controller::current_control 725 744 3 low
48 device/ADC.cpp sampler::update_current 277 292 3 low
49 device/Can.cpp CAN_transmiter::load_node_id_from_flash 151 175 3 low
50 device/Can.cpp CAN_transmiter::save_node_id_to_flash 185 200 3 low
51 device/Can.cpp CAN_transmiter::check_silent_mode 270 278 3 low
52 device/Can.cpp can_config 341 395 3 low
53 device/Can.cpp can_loopback_init 480 526 3 low
54 device/Can.cpp CANFD_DlcToLength 725 728 3 low
55 device/Can.cpp CAN_TX_HasEmptyMailbox 789 793 3 low
56 device/Can.cpp CAN_RX_StartPayloadDma 831 852 3 low
57 device/Can.cpp CAN_TX_QueuePush 903 922 3 low
58 device/ang_sensor.cpp angle_sensor::read_sensorAngle 236 257 3 low
59 sys/config.h normalizeAngle360 426 430 3 low
60 sys/flash.cpp FlashEEPROM::format 390 407 3 low
61 sys/flash.cpp FlashEEPROM::readNodeId 627 646 3 low
62 sys/systick.cpp systick_config 108 120 3 low
63 Algorithm/FOC.cpp FOC_Controller::update_power 568 577 2 low
64 Algorithm/FOC.cpp FOC_Controller::velocity_control 693 719 2 low
65 Algorithm/FOC.cpp FOC_Controller::MIT_Mode 805 842 2 low
66 Algorithm/Filter.h update 90 105 2 low
67 Algorithm/pid.cpp PIDController::operator 23 53 2 low
68 device/ADC.cpp sampler::init 140 166 2 low
69 device/Can.cpp CAN_transmiter::is_message_for_me 115 118 2 low
70 device/Can.cpp CAN_transmiter::set_node_id 135 140 2 low
71 device/Can.cpp CAN_transmiter::dequeue_rx_message 236 243 2 low
72 device/Can.cpp CAN_RX_QueuePop 882 896 2 low
73 device/Can.cpp CAN_TX_QueuePeek 929 938 2 low
74 device/Can.cpp CAN_TX_QueuePop 945 957 2 low
75 device/Can.cpp CAN_TX_DisableTmeIfQueueEmpty 963 969 2 low
76 device/Can.cpp CAN_transmiter::CANFD_all_Send 1025 1069 2 low
77 device/Can.cpp CAN0_TX_IRQHandler 1509 1513 2 low
78 device/Can.h enqueue_rx_message_from_isr 351 357 2 low
79 device/Timer.cpp TIMER1_IRQHandler 281 285 2 low
80 device/Timer.cpp Set_Pwm 296 303 2 low
81 sys/flash.cpp FlashEEPROM::init 68 82 2 low
82 sys/flash.cpp FlashEEPROM::read_angle 488 494 2 low
83 sys/flash.cpp FlashEEPROM::eraseNodeId 605 620 2 low
84 sys/flash.cpp jumpToBOOT 886 921 2 low
85 sys/initial.cpp fputc 224 229 2 low
86 sys/systick.cpp delay_1s 156 161 2 low
87 sys/systick.cpp delay_1ms 169 174 2 low
88 sys/systick.cpp delay_decrement 182 186 2 low
89 sys/systick.cpp busy_task_enter 198 202 2 low
90 sys/systick.cpp busy_task_exit 207 211 2 low
91 sys/systick.cpp system_soft_reset 225 236 2 low
92 Algorithm/FOC.cpp calibrate_zero_position 253 274 1 low
93 Algorithm/FOC.cpp FOC_Controller::init 322 375 1 low
94 Algorithm/FOC.cpp FOC_Controller::shut_down 496 500 1 low
95 Algorithm/FOC.cpp FOC_Controller::shut_down_thermal 506 511 1 low
96 Algorithm/FOC.cpp FOC_Controller::drv_stop 528 528 1 low
97 Algorithm/FOC.cpp FOC_Controller::PWM_out 547 551 1 low
98 Algorithm/FOC.cpp FOC_Controller::resume 558 563 1 low
99 Algorithm/FOC.cpp FOC_Controller::velocity_open_loop 650 664 1 low
100 Algorithm/FOC.cpp FOC_Controller::angle_control 672 685 1 low
101 Algorithm/FOC.h update_pid_limits 226 231 1 low
102 Algorithm/Filter.cpp medium_filter 63 72 1 low
103 Algorithm/Filter.cpp kalman 93 93 1 low
104 Algorithm/Filter.cpp EncoderVelocityKalman::update 101 108 1 low
105 Algorithm/Filter.cpp EncoderVelocityKalman::getVelocity 114 114 1 low
106 Algorithm/Filter.cpp EncoderVelocityKalman::setProcessNoise 121 123 1 low
107 Algorithm/Filter.cpp EncoderVelocityKalman::setMeasurementNoise 130 132 1 low
108 Algorithm/Filter.cpp last_update_count 149 153 1 low
109 Algorithm/Filter.cpp EncoderAngleKalman::getAngle 206 206 1 low
110 Algorithm/Filter.cpp EncoderAngleKalman::getVelocity 211 211 1 low
111 Algorithm/Filter.cpp EncoderAngleKalman::setProcessNoise 218 220 1 low
112 Algorithm/Filter.cpp EncoderAngleKalman::setMeasurementNoise 227 229 1 low
113 Algorithm/Filter.cpp CurrentKalman::update 259 261 1 low
114 Algorithm/Filter.cpp CurrentKalman::getCurrent 267 267 1 low
115 Algorithm/Filter.cpp CurrentKalman::setProcessNoise 274 274 1 low
116 Algorithm/Filter.cpp CurrentKalman::setMeasurementNoise 281 283 1 low
117 Algorithm/Filter.h R 56 56 1 low
118 Algorithm/Filter.h predict 63 66 1 low
119 Algorithm/Filter.h update 74 83 1 low
120 Algorithm/Filter.h getState 111 111 1 low
121 Algorithm/Filter.h setProcessNoise 118 118 1 low
122 Algorithm/Filter.h setMeasurementNoise 125 125 1 low
123 Algorithm/Filter.h resetCovariance 132 132 1 low
124 Algorithm/Filter.h getCovariance 138 138 1 low
125 Algorithm/Filter.h getProcessNoise 144 144 1 low
126 Algorithm/Filter.h init 187 191 1 low
127 Algorithm/Filter.h getstate 239 239 1 low
128 Algorithm/Filter.h init 247 254 1 low
129 Algorithm/Filter.h init 296 300 1 low
130 Algorithm/pid.cpp error_prev 20 20 1 low
131 Algorithm/pid.cpp PIDController::set_PID 63 67 1 low
132 Algorithm/pid.cpp PIDController::set_P 75 77 1 low
133 Algorithm/pid.cpp PIDController::set_limit 85 85 1 low
134 Algorithm/pid.cpp PIDController::reset 92 96 1 low
135 Algorithm/pid.cpp PIDController::reset_integral 103 103 1 low
136 device/ADC.cpp current_adc_to_ma 40 42 1 low
137 device/ADC.cpp dma_config 50 75 1 low
138 device/ADC.cpp adc_config 83 136 1 low
139 device/ADC.cpp sampler::get_mcu_temp 172 174 1 low
140 device/ADC.cpp sampler::get_drv_temp 183 185 1 low
141 device/ADC.cpp sampler::get_vbus_voltage 228 230 1 low
142 device/Can.cpp CAN_transmiter::build_can_id 102 104 1 low
143 device/Can.cpp CAN_transmiter::get_node_id 126 126 1 low
144 device/Can.cpp CAN_transmiter::is_rx_buffer_full 212 214 1 low
145 device/Can.cpp CAN_transmiter::is_rx_buffer_empty 223 225 1 low
146 device/Can.cpp CAN_transmiter::enter_silent_mode 256 260 1 low
147 device/Can.cpp CAN_transmiter::is_in_silent_mode 265 265 1 low
148 device/Can.cpp can_gpio_init 286 302 1 low
149 device/Can.cpp can_dma_init 310 333 1 low
150 device/Can.cpp canfd_config 403 472 1 low
151 device/Can.cpp CAN_transmiter::init 671 701 1 low
152 device/Can.cpp CAN_EnterCritical 707 711 1 low
153 device/Can.cpp CAN_ExitCritical 718 718 1 low
154 device/Can.cpp CANFD_WordCount 751 751 1 low
155 device/Can.cpp CAN_RX_ReleaseFifo0 775 775 1 low
156 device/Can.cpp CAN_RX_Fifo0PendingCount 781 783 1 low
157 device/Can.cpp CAN_transmiter::update 995 1018 1 low
158 device/Can.cpp CAN_transmiter::CAN_Sleep 1307 1311 1 low
159 device/Can.cpp CAN_transmiter::CAN_Wakeup 1318 1324 1 low
160 device/Can.cpp DMA0_Channel5_IRQHandler 1389 1391 1 low
161 device/Can.h pack_u16_to_bytes 36 39 1 low
162 device/Can.h unpack_bytes_to_short 64 67 1 low
163 device/Can.h unpack_bytes_to_u16 76 79 1 low
164 device/Can.h unpack_bytes_to_float 88 95 1 low
165 device/Timer.cpp nvic_config 63 70 1 low
166 device/Timer.cpp TIMER2_config 78 111 1 low
167 device/Timer.cpp User_timer_init 117 122 1 low
168 device/Timer.cpp timer1_gpio_config 189 208 1 low
169 device/Timer.cpp timer1_pwm_config 213 274 1 low
170 device/Timer.cpp Set_3Pwm 314 319 1 low
171 device/ang_sensor.cpp spi_dma_init 50 95 1 low
172 device/ang_sensor.cpp KTH7823_gpio_init 166 184 1 low
173 device/ang_sensor.cpp KTH7823_spi_init 191 208 1 low
174 device/ang_sensor.cpp angle_sensor::init 214 219 1 low
175 device/ang_sensor.cpp angle_sensor::angle_set 226 230 1 low
176 device/ang_sensor.cpp angle_sensor::getAngle 294 296 1 low
177 device/ang_sensor.cpp angle_sensor::getRawAngle 302 302 1 low
178 device/ang_sensor.cpp angle_sensor::getcurrent_sensorangle 308 310 1 low
179 device/motor.cpp motor_init 16 31 1 low
180 device/motor.cpp motor_reset 36 40 1 low
181 device/motor.cpp motor_sleep 45 49 1 low
182 device/motor.cpp motor_resume 54 58 1 low
183 main.cpp hardware_init 92 113 1 low
184 sys/flash.cpp write_ADDRESS 48 57 1 low
185 sys/flash.cpp calculate_node_id_crc 506 512 1 low
186 sys/health.cpp angsens_MG_check 99 103 1 low
187 sys/health.h recoveryRate 53 53 1 low
188 sys/health.h reset 63 66 1 low
189 sys/initial.cpp VersionManager::getSoftwareVersion 55 57 1 low
190 sys/initial.cpp VersionManager::getHardwareVersion 63 65 1 low
191 sys/initial.cpp VersionManager::getBootVersion 71 73 1 low
192 sys/initial.cpp VersionManager::sendVersionInfoViaCan 139 179 1 low
193 sys/initial.cpp VersionManager::printVersions 185 197 1 low
194 sys/initial.cpp USART0_init 204 207 1 low
195 sys/initial.cpp watchdog_init 215 222 1 low
196 sys/initial.cpp unused_pin_init 235 248 1 low
197 sys/systick.cpp dwt_init 82 90 1 low
198 sys/systick.cpp get_systick_ms 98 100 1 low
199 sys/systick.cpp idle_task_count 191 193 1 low
200 sys/systick.cpp get_cpu_usage 217 217 1 low
@@ -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/汇编;确认临界区长度和安全机制。
File diff suppressed because one or more lines are too long
@@ -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
File diff suppressed because one or more lines are too long
@@ -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
}
}
@@ -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<T>(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<u16>((-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<int> 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));,安全相关阈值/时间/比例建议用具名常量或配置宏。
1 severity rule_id file line description evidence recommendation
2 warning SUP-CMP-001 Algorithm/FOC.cpp 53 浮点变量比较需确认容差或离散状态含义 if (rt_velocity < -0.5f) last_table = cogging_table_rev; 建议确认是否应使用阈值/容差比较。
3 warning SUP-CMP-001 Algorithm/FOC.cpp 54 浮点变量比较需确认容差或离散状态含义 else if (rt_velocity > 0.5f) last_table = cogging_table; 建议确认是否应使用阈值/容差比较。
4 warning SUP-CMP-001 Algorithm/FOC.cpp 404 浮点变量比较需确认容差或离散状态含义 u8 sector_code = (X > 0.0f ? 1u : 0u) 建议确认是否应使用阈值/容差比较。
5 warning SUP-CMP-001 Algorithm/FOC.cpp 405 浮点变量比较需确认容差或离散状态含义 + (Y > 0.0f ? 2u : 0u) 建议确认是否应使用阈值/容差比较。
6 warning SUP-CMP-001 Algorithm/FOC.cpp 406 浮点变量比较需确认容差或离散状态含义 + (Z > 0.0f ? 4u : 0u); 建议确认是否应使用阈值/容差比较。
7 warning SUP-CMP-001 Algorithm/FOC.cpp 534 浮点变量比较需确认容差或离散状态含义 if (HOLD_PWM_DUTY > 0.95f) { 建议确认是否应使用阈值/容差比较。
8 warning SUP-CMP-001 Algorithm/FOC.cpp 536 浮点变量比较需确认容差或离散状态含义 } else if (HOLD_PWM_DUTY < 0.0f) { 建议确认是否应使用阈值/容差比较。
9 warning SUP-CMP-001 Algorithm/FOC.cpp 569 浮点变量比较需确认容差或离散状态含义 if (voltage < 36.0f and voltage > 8.0f) { 建议确认是否应使用阈值/容差比较。
10 warning SUP-CMP-001 Algorithm/FOC.cpp 763 浮点变量比较需确认容差或离散状态含义 if (target_velocity < -120.0f) { 建议确认是否应使用阈值/容差比较。
11 warning SUP-CMP-001 Algorithm/FOC.cpp 765 浮点变量比较需确认容差或离散状态含义 } else if (target_velocity < -30.0f) { 建议确认是否应使用阈值/容差比较。
12 warning SUP-CMP-001 Algorithm/Filter.cpp 190 浮点变量比较需确认容差或离散状态含义 if (error > 180.0f) error -= 360.0f; 建议确认是否应使用阈值/容差比较。
13 warning SUP-CMP-001 Algorithm/Filter.cpp 191 浮点变量比较需确认容差或离散状态含义 else if (error < -180.0f) error += 360.0f; 建议确认是否应使用阈值/容差比较。
14 warning SUP-CMP-001 sys/config.h 427 浮点变量比较需确认容差或离散状态含义 while (angle >= 360.0f) angle -= 360.0f; 建议确认是否应使用阈值/容差比较。
15 warning SUP-CMP-001 sys/config.h 428 浮点变量比较需确认容差或离散状态含义 while (angle < 0.0f) angle += 360.0f; 建议确认是否应使用阈值/容差比较。
16 warning SUP-GLB-001 Algorithm/FOC.cpp 23 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 FOC_Controller FOC; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
17 warning SUP-GLB-001 device/ADC.cpp 20 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr float ADC_SCALE = 3.3f / 4096.0f; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
18 warning SUP-GLB-001 device/ADC.cpp 22 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr float TEMP_FACTOR = 1000.0f / 4.3f; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
19 warning SUP-GLB-001 device/ADC.cpp 24 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr float VCC_FACTOR = 11.0f; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
20 warning SUP-GLB-001 device/ADC.cpp 26 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr float CURRENT_FACTOR = 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
21 warning SUP-GLB-001 device/ADC.cpp 30 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 sampler sampler; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
22 warning SUP-GLB-001 device/ADC.cpp 33 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 static volatile u8 adc_current_frame_ready = 0; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
23 warning SUP-GLB-001 device/Can.cpp 37 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr u16 CANX = CAN0; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
24 warning SUP-GLB-001 device/Can.cpp 48 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 dma_parameter_struct dma_rx_parameter; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
25 warning SUP-GLB-001 device/Can.cpp 51 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 static volatile bool can_rx_dma_busy = false; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
26 warning SUP-GLB-001 device/Can.cpp 52 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 static can_receive_message_struct can_rx_dma_message; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
27 warning SUP-GLB-001 device/Can.cpp 72 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 static volatile u8 rx_queue_head = 0; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
28 warning SUP-GLB-001 device/Can.cpp 73 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 static volatile u8 rx_queue_tail = 0; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
29 warning SUP-GLB-001 device/Can.cpp 74 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 static volatile u8 rx_queue_count = 0; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
30 warning SUP-GLB-001 device/Can.cpp 77 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 static volatile u8 tx_queue_head = 0; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
31 warning SUP-GLB-001 device/Can.cpp 78 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 static volatile u8 tx_queue_tail = 0; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
32 warning SUP-GLB-001 device/Can.cpp 79 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 static volatile u8 tx_queue_count = 0; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
33 warning SUP-GLB-001 device/Can.cpp 84 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 CAN_transmiter CAN0_transmiter; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
34 warning SUP-GLB-001 device/Timer.cpp 18 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 volatile u32 total_us100_counter = 0; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
35 warning SUP-GLB-001 device/ang_sensor.cpp 38 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 volatile bool spi_dma_tx_complete = false; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
36 warning SUP-GLB-001 device/ang_sensor.cpp 39 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 volatile bool spi_dma_rx_complete = false; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
37 warning SUP-GLB-001 device/ang_sensor.cpp 41 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 angle_sensor KTH7823; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
38 warning SUP-GLB-001 main.cpp 39 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 TaskScheduler scheduler = {0}; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
39 warning SUP-GLB-001 main.cpp 40 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 u32 motor_runtime_50us = 0; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
40 warning SUP-GLB-001 main.cpp 41 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 u32 cnt_test = 0; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
41 warning SUP-GLB-001 sys/config.h 32 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr u16 SOFTWARE_VERSION_MAJOR = 26; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
42 warning SUP-GLB-001 sys/config.h 34 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr u16 SOFTWARE_VERSION_MINOR = 5; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
43 warning SUP-GLB-001 sys/config.h 36 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr u16 SOFTWARE_VERSION_PATCH = 19; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
44 warning SUP-GLB-001 sys/config.h 38 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr u16 SOFTWARE_VERSION_BUILD = 2; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
45 warning SUP-GLB-001 sys/config.h 41 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr u16 HARDWARE_VERSION_MAJOR = 25; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
46 warning SUP-GLB-001 sys/config.h 43 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr u16 HARDWARE_VERSION_MINOR = 12; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
47 warning SUP-GLB-001 sys/config.h 45 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr u16 HARDWARE_VERSION_PATCH = 01; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
48 warning SUP-GLB-001 sys/config.h 47 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr u16 HARDWARE_VERSION_BUILD = 0; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
49 warning SUP-GLB-001 sys/config.h 50 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr u16 BOOT_VERSION_MAJOR = 26; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
50 warning SUP-GLB-001 sys/config.h 52 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr u16 BOOT_VERSION_MINOR = 1; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
51 warning SUP-GLB-001 sys/config.h 54 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr u16 BOOT_VERSION_PATCH = 12; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
52 warning SUP-GLB-001 sys/config.h 56 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr u16 BOOT_VERSION_BUILD = 0; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
53 warning SUP-GLB-001 sys/config.h 60 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr u32 BOOTLOADER_SIZE = 0x6000; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
54 warning SUP-GLB-001 sys/config.h 62 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr u32 BOOTLOADER_START_ADDR = 0x08000000; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
55 warning SUP-GLB-001 sys/config.h 64 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr u32 APPLATEST_START_ADDR = 0x08012000; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
56 warning SUP-GLB-001 sys/config.h 66 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr u32 APPBACK_START_ADDR = 0x08006000; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
57 warning SUP-GLB-001 sys/config.h 68 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr u32 APP_MAX_SIZE = 0xC000; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
58 warning SUP-GLB-001 sys/config.h 70 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr u32 FMC_PAGE_SIZE = 0x400; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
59 warning SUP-GLB-001 sys/config.h 72 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr u32 SLEEP_CONFIG_START = 0x0801E400; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
60 warning SUP-GLB-001 sys/config.h 74 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr u32 SLEEP_CONFIG_END = 0x0801E800; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
61 warning SUP-GLB-001 sys/config.h 76 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr u32 FLASH_EMPTY = 0xFFFFFFFF; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
62 warning SUP-GLB-001 sys/config.h 78 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr u32 SLEEP_ENABLE = 0x11111111; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
63 warning SUP-GLB-001 sys/config.h 80 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr u32 SLEEP_DISABLE = 0x00000000; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
64 warning SUP-GLB-001 sys/config.h 92 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr u32 NODE_ID_PAGE_ADDR = 0x0801E800; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
65 warning SUP-GLB-001 sys/config.h 94 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr u32 NODE_ID_PRIMARY_ADDR = 0x0801E800; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
66 warning SUP-GLB-001 sys/config.h 96 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr u32 NODE_ID_BACKUP_ADDR = 0x0801E840; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
67 warning SUP-GLB-001 sys/config.h 98 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr u32 NODE_ID_MAGIC = 0x4E4F4445; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
68 warning SUP-GLB-001 sys/config.h 100 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr u16 DEFAULT_NODE_ID = 1; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
69 warning SUP-GLB-001 sys/config.h 102 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr u16 BROADCAST_NODE_ID = 0x1FFF; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
70 warning SUP-GLB-001 sys/config.h 104 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr u16 MAX_NODE_ID = 0x1FFE; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
71 warning SUP-GLB-001 sys/config.h 113 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr u8 NODE_ID_STRUCT_SIZE = 0x10; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
72 warning SUP-GLB-001 sys/config.h 115 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr u8 NODE_ID_MAGIC_OFFSET = 0x00; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
73 warning SUP-GLB-001 sys/config.h 117 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr u8 NODE_ID_VALUE_OFFSET = 0x04; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
74 warning SUP-GLB-001 sys/config.h 119 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr u8 NODE_ID_COUNTER_OFFSET = 0x08; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
75 warning SUP-GLB-001 sys/config.h 121 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr u8 NODE_ID_CRC_OFFSET = 0x0C; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
76 warning SUP-GLB-001 sys/config.h 125 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr u32 OTA_CONFIG_NUM = 6; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
77 warning SUP-GLB-001 sys/config.h 127 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr u32 n_APP_LATEST_AVAL_ADDR = 0x0801E000; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
78 warning SUP-GLB-001 sys/config.h 129 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr u32 n_APP_BACKUP_AVAL_ADDR = 0x0801E004; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
79 warning SUP-GLB-001 sys/config.h 131 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr u32 n_APP_LATEST_EN_ADDR = 0x0801E008; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
80 warning SUP-GLB-001 sys/config.h 133 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr u32 n_APP_BACKUP_EN_ADDR = 0x0801E00C; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
81 warning SUP-GLB-001 sys/config.h 135 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr u32 n_APP_LATEST_CHECK_ADDR = 0x0801E010; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
82 warning SUP-GLB-001 sys/config.h 137 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr u32 n_APP_BACKUP_CHECK_ADDR = 0x0801E014; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
83 warning SUP-GLB-001 sys/config.h 139 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr u32 OTA_NOT_AVAL = 0xFFFFFFFF; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
84 warning SUP-GLB-001 sys/config.h 141 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr u32 OTA_AVAL = 0x00000000; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
85 warning SUP-GLB-001 sys/config.h 145 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr u8 PP = 11; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
86 warning SUP-GLB-001 sys/config.h 147 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr float DIR = 1.0f; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
87 warning SUP-GLB-001 sys/config.h 149 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr u16 REDUCTION_RATIO = 25; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
88 warning SUP-GLB-001 sys/config.h 151 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr float CURRENT_OFFSET = -3.31f / 2.0f; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
89 warning SUP-GLB-001 sys/config.h 153 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr float HOLD_PWM_DUTY = 0.1f; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
90 warning SUP-GLB-001 sys/config.h 155 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr u16 ANGLESENS_OFFSET = 0; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
91 warning SUP-GLB-001 sys/config.h 157 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr float ANGLESENS_CALIBRATION_ANGLE = 83.0f; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
92 warning SUP-GLB-001 sys/config.h 159 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr float KE_FACTOR = 0.0f; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
93 warning SUP-GLB-001 sys/config.h 163 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr float ANGLE_KALMAN_INITIAL_STATE = 0.0f; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
94 warning SUP-GLB-001 sys/config.h 165 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr float ANGLE_KALMAN_INITIAL_COVARIANCE = 0.0f; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
95 warning SUP-GLB-001 sys/config.h 167 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr float ANGLE_KALMAN_PROCESS_NOISE_Q = 0.0f; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
96 warning SUP-GLB-001 sys/config.h 169 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr float ANGLE_KALMAN_MEASUREMENT_NOISE_R = 0.0f; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
97 warning SUP-GLB-001 sys/config.h 171 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr float ANGLE_OBSERVER_ALPHA = 0.75f; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
98 warning SUP-GLB-001 sys/config.h 173 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr float ANGLE_OBSERVER_BETA = 0.002f; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
99 warning SUP-GLB-001 sys/config.h 177 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr float VELOCITY_KALMAN_INITIAL_STATE = 0.0f; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
100 warning SUP-GLB-001 sys/config.h 179 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr float VELOCITY_KALMAN_INITIAL_COVARIANCE = 1e-3f; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
101 warning SUP-GLB-001 sys/config.h 181 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr float VELOCITY_KALMAN_PROCESS_NOISE_Q = 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
102 warning SUP-GLB-001 sys/config.h 184 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr float VELOCITY_KALMAN_MEASUREMENT_NOISE_R = 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
103 warning SUP-GLB-001 sys/config.h 189 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr float CURRENT_KALMAN_INITIAL_STATE = 0.0f; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
104 warning SUP-GLB-001 sys/config.h 191 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr float CURRENT_KALMAN_INITIAL_COVARIANCE = 100.0f; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
105 warning SUP-GLB-001 sys/config.h 193 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr float CURRENT_KALMAN_PROCESS_NOISE_Q = 10.0f; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
106 warning SUP-GLB-001 sys/config.h 195 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr float CURRENT_KALMAN_MEASUREMENT_NOISE_R = 5e-5f; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
107 warning SUP-GLB-001 sys/config.h 199 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr float DEFAULT_current_loop_p = 0.1f / 100 * 12; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
108 warning SUP-GLB-001 sys/config.h 201 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr float current_loop_Ki = 0.55f; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
109 warning SUP-GLB-001 sys/config.h 203 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr float current_loop_Kd = 3e-4f; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
110 warning SUP-GLB-001 sys/config.h 206 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr float DEFAULT_vel_loop_p = 0.018f / 100 * 12; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
111 warning SUP-GLB-001 sys/config.h 208 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr float vel_loop_Ku = 3.600000e-03 * 0.7 * 100 / 12; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
112 warning SUP-GLB-001 sys/config.h 210 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr float vel_loop_Tu = 17.0f * 1e-3f; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
113 warning SUP-GLB-001 sys/config.h 212 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr float vel_loop_Ki = 1.2 * vel_loop_Ku / vel_loop_Tu; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
114 warning SUP-GLB-001 sys/config.h 214 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr float vel_loop_Kd = 0.075 * vel_loop_Ku * vel_loop_Tu * 2; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
115 warning SUP-GLB-001 sys/config.h 217 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr float DEFAULT_vel_angloop_p = 0.4f / 100; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
116 warning SUP-GLB-001 sys/config.h 219 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr float vel_angloop_Ki = 5.0f; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
117 warning SUP-GLB-001 sys/config.h 221 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr float vel_angloop_Kd = 5e-05f; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
118 warning SUP-GLB-001 sys/config.h 224 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr float DEFAULT_angle_angloop_p = 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
119 warning SUP-GLB-001 sys/config.h 227 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr float ang_angloop_Ki = 0.00f; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
120 warning SUP-GLB-001 sys/config.h 229 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr float ang_angloop_Kd = 8e-04f; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
121 warning SUP-GLB-001 sys/config.h 232 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr float DEFAULT_angle_loop_p = 60.0f / 100 * 12; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
122 warning SUP-GLB-001 sys/config.h 235 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr float DEFAULT_angle_MIT_p = 100.0f / 100 * 12; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
123 warning SUP-GLB-001 sys/config.h 237 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr float angle_MIT_Ki = 0.0f; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
124 warning SUP-GLB-001 sys/config.h 239 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr float angle_MIT_Kd = 8e-04f; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
125 warning SUP-GLB-001 sys/config.h 242 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr float DEFAULT_vel_MIT_p = 5.0f / 100; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
126 warning SUP-GLB-001 sys/config.h 244 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr float vel_MIT_Ki = 15.0f; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
127 warning SUP-GLB-001 sys/config.h 246 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr float vel_MIT_Kd = 1e-04f; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
128 warning SUP-GLB-001 sys/config.h 249 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr float DEFAULT_current_MIT_p = 0.2f / 100 * 12; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
129 warning SUP-GLB-001 sys/config.h 251 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr float current_MIT_Ki = 0.1f; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
130 warning SUP-GLB-001 sys/config.h 253 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr float current_MIT_Kd = 3e-4f; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
131 warning SUP-GLB-001 sys/config.h 260 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr float ADC_MAX = 65536.0f; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
132 warning SUP-GLB-001 sys/config.h 262 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr float PI = 3.14159265358979323846f; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
133 warning SUP-GLB-001 sys/config.h 264 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr float INV_PI_3 = 3.0f / PI; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
134 warning SUP-GLB-001 sys/config.h 266 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr float PI_3 = PI / 3.0f; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
135 warning SUP-GLB-001 sys/config.h 268 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr float _1_SQRT3 = 0.57735026919f; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
136 warning SUP-GLB-001 sys/config.h 270 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr float _3PI_2 = 4.71238898038f; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
137 warning SUP-GLB-001 sys/config.h 272 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr float SQRT3 = 1.7320508075688772f; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
138 warning SUP-GLB-001 sys/config.h 274 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr float SQRT3DV2 = 0.8660254037844386f; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
139 warning SUP-GLB-001 sys/config.h 276 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr float COS_PI_3 = 0.5f; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
140 warning SUP-GLB-001 sys/config.h 278 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr float ANGLE_FACTOR = 25.0f / 180.0f * PI; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
141 warning SUP-GLB-001 sys/config.h 280 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr float DEG2RAD = 1.0f / 180.0f * PI; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
142 warning SUP-GLB-001 sys/config.h 282 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr float RAD2DEG = 180.0f / PI; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
143 warning SUP-GLB-001 sys/config.h 284 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr u8 DEFAULT_VALUE = 0; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
144 warning SUP-GLB-001 sys/config.h 286 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr u8 CONFIG_SAVED_NUM = 6; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
145 warning SUP-GLB-001 sys/config.h 290 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr u16 LUT_SIZE = 1024; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
146 warning SUP-GLB-001 sys/config.h 301 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr u16 DEV_CAN0_ID = 0x0000; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
147 warning SUP-GLB-001 sys/config.h 303 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr u16 DEV_CAN0_MASK = 0x0000; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
148 warning SUP-GLB-001 sys/config.h 305 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr u16 DEV_CAN_LOOPBACK_ID = 0x0000; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
149 warning SUP-GLB-001 sys/config.h 308 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr u16 CANFD_STATUS_ID = 0x0100; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
150 warning SUP-GLB-001 sys/config.h 310 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr u16 CANFD_CONFIG_ID = 0x0101; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
151 warning SUP-GLB-001 sys/config.h 312 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr u16 CANFD_VERSION_ID = 0x00FF; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
152 warning SUP-GLB-001 sys/config.h 315 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr u16 CANFD_CMD_ID = 0x0200; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
153 warning SUP-GLB-001 sys/config.h 317 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr u16 CANFD_RESET_ID = 0x0301; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
154 warning SUP-GLB-001 sys/config.h 320 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr u16 CANFD_SET_NODE_ID = 0x0400; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
155 warning SUP-GLB-001 sys/config.h 322 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr u16 CANFD_GET_NODE_ID = 0x0401; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
156 warning SUP-GLB-001 sys/config.h 326 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr u16 CANFD_BOOT_ID = 0x0000; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
157 warning SUP-GLB-001 sys/config.h 328 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr u16 CANFD_OTA_REQ_ID = 0x0100; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
158 warning SUP-GLB-001 sys/config.h 330 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr u16 CANFD_OTA_DATA_ID = 0x0101; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
159 warning SUP-GLB-001 sys/config.h 332 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr u16 CANFD_OTA_ACK_ID = 0x0102; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
160 warning SUP-GLB-001 sys/config.h 334 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr u16 CANFD_OTA_WAIT_ID = 0x0103; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
161 warning SUP-GLB-001 sys/config.h 338 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr u8 ADC_FILTER_SIZE = 6; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
162 warning SUP-GLB-001 sys/config.h 340 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr u8 BLOCK_SIZE = ADC_FILTER_SIZE * SIZE_FLOAT; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
163 warning SUP-GLB-001 sys/config.h 342 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr float ERROR_ADC_VAL = 255.0f; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
164 warning SUP-GLB-001 sys/config.h 344 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr float MAX_TEMP = 150.0f; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
165 warning SUP-GLB-001 sys/config.h 346 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr float MIN_TEMP = -40.0f; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
166 warning SUP-GLB-001 sys/config.h 348 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr float MAX_CURRENT = 40.0f; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
167 warning SUP-GLB-001 sys/config.h 350 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr float MIN_CURRENT = -40.0f; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
168 warning SUP-GLB-001 sys/config.h 352 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr float MAX_VCC = 65.0f; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
169 warning SUP-GLB-001 sys/config.h 354 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr float MIN_VCC = -0.1f; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
170 warning SUP-GLB-001 sys/config.h 358 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr u16 VEL_FILTER_SIZE = 4; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
171 warning SUP-GLB-001 sys/config.h 360 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr u16 DEFAULT_COMMAND = 0x0000; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
172 warning SUP-GLB-001 sys/config.h 362 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr u16 FAULT_RECEIVE = 0xFFFF; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
173 warning SUP-GLB-001 sys/config.h 364 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr float ANGLE_WRAP_THRESHOLD = 300.0f; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
174 warning SUP-GLB-001 sys/config.h 366 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr float ANGLE_WRAP_VALUE = 360.0f; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
175 warning SUP-GLB-001 sys/config.h 368 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr float RAD_FACTOR = 1.0f / ADC_MAX * 2.0f * PI; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
176 warning SUP-GLB-001 sys/config.h 370 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr float ANGLESENS_FACTOR = 1.0f / ADC_MAX * 360.0f; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
177 warning SUP-GLB-001 sys/config.h 374 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr int TIMER2_PRESCALER = 119; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
178 warning SUP-GLB-001 sys/config.h 376 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr int TIMER2_PERIOD = 49; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
179 warning SUP-GLB-001 sys/config.h 378 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr int MOTOR_PERIOD = 1; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
180 warning SUP-GLB-001 sys/config.h 380 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr float TIME_SLICE = 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
181 warning SUP-GLB-001 sys/config.h 383 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr float TIMER2_FREQUENCY = 1 / TIME_SLICE; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
182 warning SUP-GLB-001 sys/config.h 385 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr float MOTOR_FREQUENCY = 1 / TIME_SLICE / MOTOR_PERIOD; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
183 warning SUP-GLB-001 sys/config.h 389 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr int TIMER1_PRESCALER = 0; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
184 warning SUP-GLB-001 sys/config.h 391 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr int TIMER1_PERIOD = 2999; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
185 warning SUP-GLB-001 sys/config.h 393 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr int TIMER1_DEFAULT_PULSE = 0; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
186 warning SUP-GLB-001 sys/config.h 395 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr int TIMER1_CH3_COMPARE_VALUE = 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
187 warning SUP-GLB-001 sys/config.h 400 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr u16 COGGING_TABLE_SIZE = 128; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
188 warning SUP-GLB-001 sys/config.h 402 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr float COGGING_COMP_SCALE = 0.005f; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
189 warning SUP-GLB-001 sys/config.h 413 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr float VBUS_DROP_THRESHOLD = 5.0f; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
190 warning SUP-GLB-001 sys/config.h 415 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr float VBUS_ABSOLUTE_MIN = 12.0f; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
191 warning SUP-GLB-001 sys/config.h 417 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr u32 VBUS_DEBOUNCE_COUNT = 5; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
192 warning SUP-GLB-001 sys/config.h 419 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr float VBUS_RECOVERY_RATIO = 0.9f; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
193 warning SUP-GLB-001 sys/health.cpp 19 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 ThermalController thermalController; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
194 warning SUP-GLB-001 sys/health.cpp 25 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 constexpr u16 PROTECT_TIME = 6000; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
195 warning SUP-GLB-001 sys/health.cpp 28 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 static VoltageState voltage_state = VoltageState::NORMAL; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
196 warning SUP-GLB-001 sys/health.cpp 29 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 static float last_vbus_slow = 0.0f; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
197 warning SUP-GLB-001 sys/initial.cpp 39 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 VersionManager Version; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
198 warning SUP-GLB-001 sys/systick.cpp 53 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 volatile static uint32_t delay; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
199 warning SUP-GLB-001 sys/systick.cpp 54 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 volatile static uint32_t systick_ms = 0; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
200 warning SUP-GLB-001 sys/systick.cpp 70 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 volatile static uint32_t task_enter_cyccnt = 0; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
201 warning SUP-GLB-001 sys/systick.cpp 71 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 volatile static uint32_t busy_cycles_accum = 0; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
202 warning SUP-GLB-001 sys/systick.cpp 72 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 volatile static uint16_t sample_seconds = 0; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
203 warning SUP-GLB-001 sys/systick.cpp 73 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 volatile static uint8_t cpu_usage = 0; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
204 warning SUP-GLB-001 sys/systick.cpp 74 文件作用域可变全局对象,需确认封装、并发访问和初始化顺序 volatile static uint8_t dwt_initialized = 0; 建议确认初始化顺序、访问边界;必要时封装或添加偏离说明。
205 warning SUP-IRQ-001 device/Can.cpp 709 关中断后未在短窗口内看到开中断,需人工确认成对性 __disable_irq(); 确认所有路径均恢复中断;避免临界区过长。
206 warning SUP-IRQ-001 sys/flash.cpp 888 关中断后未在短窗口内看到开中断,需人工确认成对性 __disable_irq(); 确认所有路径均恢复中断;避免临界区过长。
207 warning SUP-IRQ-001 sys/systick.cpp 256 关中断后未在短窗口内看到开中断,需人工确认成对性 __disable_irq(); 确认所有路径均恢复中断;避免临界区过长。
208 warning SUP-SW-001 Algorithm/FOC.cpp 89 switch 语句疑似缺少 default 分支 switch (cog_calib_state) { MISRA 通常要求 default;如枚举已全覆盖也建议显式说明。
209 info SUP-DOC-001 Algorithm/FOC.h 260 接口/函数缺少紧邻 Doxygen 注释 typedef float (FOC_Controller::*FOCFunctionPtr)(void); 建议补充 @brief/@param/@return;内部小函数可按项目规范豁免。
210 info SUP-DOC-001 Algorithm/Filter.h 187 接口/函数缺少紧邻 Doxygen 注释 u8 init(float init_velocity, float initial_error_covariance = 1.0f) { 建议补充 @brief/@param/@return;内部小函数可按项目规范豁免。
211 info SUP-DOC-001 Algorithm/Filter.h 247 接口/函数缺少紧邻 Doxygen 注释 u8 init(float init_angle, float initial_error_covariance = 1.0f) { 建议补充 @brief/@param/@return;内部小函数可按项目规范豁免。
212 info SUP-DOC-001 Algorithm/Filter.h 296 接口/函数缺少紧邻 Doxygen 注释 u8 init(float init_current, float initial_error_covariance = 1.0f) { 建议补充 @brief/@param/@return;内部小函数可按项目规范豁免。
213 info SUP-DOC-001 Algorithm/pid.cpp 23 接口/函数缺少紧邻 Doxygen 注释 float PIDController::operator()(float error) { 建议补充 @brief/@param/@return;内部小函数可按项目规范豁免。
214 info SUP-DOC-001 Algorithm/pid.h 18 接口/函数缺少紧邻 Doxygen 注释 float operator()(float error); 建议补充 @brief/@param/@return;内部小函数可按项目规范豁免。
215 info SUP-DOC-001 device/Can.cpp 775 接口/函数缺少紧邻 Doxygen 注释 static void CAN_RX_ReleaseFifo0(void) { CAN_RFIFO0(CAN0) |= CAN_RFIFO0_RFD0; } 建议补充 @brief/@param/@return;内部小函数可按项目规范豁免。
216 info SUP-DOC-001 device/Can.cpp 1130 接口/函数缺少紧邻 Doxygen 注释 else if (base_id == CANFD_SET_NODE_ID) { 建议补充 @brief/@param/@return;内部小函数可按项目规范豁免。
217 info SUP-DOC-001 device/Can.cpp 1292 接口/函数缺少紧邻 Doxygen 注释 else if (base_id == CANFD_GET_NODE_ID) { 建议补充 @brief/@param/@return;内部小函数可按项目规范豁免。
218 info SUP-DOC-001 sys/flash.cpp 913 接口/函数缺少紧邻 Doxygen 注释 typedef void (*AppEntryFunc)(void); 建议补充 @brief/@param/@return;内部小函数可按项目规范豁免。
219 info SUP-DOC-001 sys/flash.h 165 接口/函数缺少紧邻 Doxygen 注释 u8 OTA_SET(u32 addr, u32 data); 建议补充 @brief/@param/@return;内部小函数可按项目规范豁免。
220 info SUP-DOC-001 sys/initial.cpp 224 接口/函数缺少紧邻 Doxygen 注释 int fputc(int ch, FILE *f) throw() { 建议补充 @brief/@param/@return;内部小函数可按项目规范豁免。
221 info SUP-GLB-002 Algorithm/FOC.cpp 24 extern 全局对象引用,需确认单一定义和共享访问保护 extern sampler sampler; 确认是否跨 ISR/主循环共享;共享变量建议 volatile 或临界区保护。
222 info SUP-GLB-002 Algorithm/FOC.cpp 25 extern 全局对象引用,需确认单一定义和共享访问保护 extern angle_sensor KTH7823; 确认是否跨 ISR/主循环共享;共享变量建议 volatile 或临界区保护。
223 info SUP-GLB-002 Algorithm/FOC.cpp 26 extern 全局对象引用,需确认单一定义和共享访问保护 extern CAN_transmiter CAN0_transmiter; 确认是否跨 ISR/主循环共享;共享变量建议 volatile 或临界区保护。
224 info SUP-GLB-002 Algorithm/FOC.cpp 27 extern 全局对象引用,需确认单一定义和共享访问保护 extern EncoderVelocityKalman Vel_kalman; 确认是否跨 ISR/主循环共享;共享变量建议 volatile 或临界区保护。
225 info SUP-GLB-002 Algorithm/FOC.cpp 28 extern 全局对象引用,需确认单一定义和共享访问保护 extern CurrentKalman Current_kalman; 确认是否跨 ISR/主循环共享;共享变量建议 volatile 或临界区保护。
226 info SUP-GLB-002 Algorithm/Filter.cpp 14 extern 全局对象引用,需确认单一定义和共享访问保护 extern angle_sensor KTH7823; 确认是否跨 ISR/主循环共享;共享变量建议 volatile 或临界区保护。
227 info SUP-GLB-002 Algorithm/Filter.cpp 15 extern 全局对象引用,需确认单一定义和共享访问保护 extern CAN_transmiter CAN0_transmiter; 确认是否跨 ISR/主循环共享;共享变量建议 volatile 或临界区保护。
228 info SUP-GLB-002 Algorithm/Filter.cpp 16 extern 全局对象引用,需确认单一定义和共享访问保护 extern u32 motor_runtime_50us; 确认是否跨 ISR/主循环共享;共享变量建议 volatile 或临界区保护。
229 info SUP-GLB-002 Algorithm/Filter.h 24 extern 全局对象引用,需确认单一定义和共享访问保护 extern CAN_transmiter CAN0_transmiter; 确认是否跨 ISR/主循环共享;共享变量建议 volatile 或临界区保护。
230 info SUP-GLB-002 Algorithm/pid.cpp 14 extern 全局对象引用,需确认单一定义和共享访问保护 extern CAN_transmiter CAN0_transmiter; 确认是否跨 ISR/主循环共享;共享变量建议 volatile 或临界区保护。
231 info SUP-GLB-002 device/ADC.cpp 28 extern 全局对象引用,需确认单一定义和共享访问保护 extern CAN_transmiter CAN0_transmiter; 确认是否跨 ISR/主循环共享;共享变量建议 volatile 或临界区保护。
232 info SUP-GLB-002 device/ADC.cpp 29 extern 全局对象引用,需确认单一定义和共享访问保护 extern FOC_Controller FOC; 确认是否跨 ISR/主循环共享;共享变量建议 volatile 或临界区保护。
233 info SUP-GLB-002 device/Can.cpp 38 extern 全局对象引用,需确认单一定义和共享访问保护 extern FOC_Controller FOC; 确认是否跨 ISR/主循环共享;共享变量建议 volatile 或临界区保护。
234 info SUP-GLB-002 device/Can.cpp 39 extern 全局对象引用,需确认单一定义和共享访问保护 extern sampler sampler; 确认是否跨 ISR/主循环共享;共享变量建议 volatile 或临界区保护。
235 info SUP-GLB-002 device/Can.cpp 40 extern 全局对象引用,需确认单一定义和共享访问保护 extern angle_sensor KTH7823; 确认是否跨 ISR/主循环共享;共享变量建议 volatile 或临界区保护。
236 info SUP-GLB-002 device/Can.cpp 41 extern 全局对象引用,需确认单一定义和共享访问保护 extern EncoderAngleKalman Angle_kalman; 确认是否跨 ISR/主循环共享;共享变量建议 volatile 或临界区保护。
237 info SUP-GLB-002 device/Can.cpp 42 extern 全局对象引用,需确认单一定义和共享访问保护 extern EncoderVelocityKalman Vel_kalman; 确认是否跨 ISR/主循环共享;共享变量建议 volatile 或临界区保护。
238 info SUP-GLB-002 device/Can.cpp 43 extern 全局对象引用,需确认单一定义和共享访问保护 extern FlashEEPROM flashEEP; 确认是否跨 ISR/主循环共享;共享变量建议 volatile 或临界区保护。
239 info SUP-GLB-002 device/Can.cpp 44 extern 全局对象引用,需确认单一定义和共享访问保护 extern VersionManager Version; 确认是否跨 ISR/主循环共享;共享变量建议 volatile 或临界区保护。
240 info SUP-GLB-002 device/Can.cpp 45 extern 全局对象引用,需确认单一定义和共享访问保护 extern u32 motor_runtime_50us; 确认是否跨 ISR/主循环共享;共享变量建议 volatile 或临界区保护。
241 info SUP-GLB-002 device/Timer.cpp 20 extern 全局对象引用,需确认单一定义和共享访问保护 extern FOC_Controller FOC; 确认是否跨 ISR/主循环共享;共享变量建议 volatile 或临界区保护。
242 info SUP-GLB-002 device/Timer.cpp 21 extern 全局对象引用,需确认单一定义和共享访问保护 extern TaskScheduler scheduler; 确认是否跨 ISR/主循环共享;共享变量建议 volatile 或临界区保护。
243 info SUP-GLB-002 device/Timer.cpp 22 extern 全局对象引用,需确认单一定义和共享访问保护 extern CAN_transmiter CAN0_transmiter; 确认是否跨 ISR/主循环共享;共享变量建议 volatile 或临界区保护。
244 info SUP-GLB-002 device/Timer.cpp 24 extern 全局对象引用,需确认单一定义和共享访问保护 extern u32 cnt_test; 确认是否跨 ISR/主循环共享;共享变量建议 volatile 或临界区保护。
245 info SUP-GLB-002 device/ang_sensor.cpp 42 extern 全局对象引用,需确认单一定义和共享访问保护 extern FlashEEPROM flashEEP; 确认是否跨 ISR/主循环共享;共享变量建议 volatile 或临界区保护。
246 info SUP-GLB-002 device/ang_sensor.cpp 43 extern 全局对象引用,需确认单一定义和共享访问保护 extern EncoderAngleKalman Angle_kalman; 确认是否跨 ISR/主循环共享;共享变量建议 volatile 或临界区保护。
247 info SUP-GLB-002 device/ang_sensor.cpp 44 extern 全局对象引用,需确认单一定义和共享访问保护 extern EncoderVelocityKalman Vel_kalman; 确认是否跨 ISR/主循环共享;共享变量建议 volatile 或临界区保护。
248 info SUP-GLB-002 device/ang_sensor.cpp 45 extern 全局对象引用,需确认单一定义和共享访问保护 extern CAN_transmiter CAN0_transmiter; 确认是否跨 ISR/主循环共享;共享变量建议 volatile 或临界区保护。
249 info SUP-GLB-002 main.cpp 28 extern 全局对象引用,需确认单一定义和共享访问保护 extern CAN_transmiter CAN0_transmiter; 确认是否跨 ISR/主循环共享;共享变量建议 volatile 或临界区保护。
250 info SUP-GLB-002 main.cpp 29 extern 全局对象引用,需确认单一定义和共享访问保护 extern sampler sampler; 确认是否跨 ISR/主循环共享;共享变量建议 volatile 或临界区保护。
251 info SUP-GLB-002 main.cpp 30 extern 全局对象引用,需确认单一定义和共享访问保护 extern angle_sensor KTH7823; 确认是否跨 ISR/主循环共享;共享变量建议 volatile 或临界区保护。
252 info SUP-GLB-002 main.cpp 31 extern 全局对象引用,需确认单一定义和共享访问保护 extern EncoderVelocityKalman Vel_kalman; 确认是否跨 ISR/主循环共享;共享变量建议 volatile 或临界区保护。
253 info SUP-GLB-002 main.cpp 32 extern 全局对象引用,需确认单一定义和共享访问保护 extern EncoderAngleKalman Angle_kalman; 确认是否跨 ISR/主循环共享;共享变量建议 volatile 或临界区保护。
254 info SUP-GLB-002 main.cpp 33 extern 全局对象引用,需确认单一定义和共享访问保护 extern ThermalController thermalController; 确认是否跨 ISR/主循环共享;共享变量建议 volatile 或临界区保护。
255 info SUP-GLB-002 main.cpp 34 extern 全局对象引用,需确认单一定义和共享访问保护 extern FOC_Controller FOC; 确认是否跨 ISR/主循环共享;共享变量建议 volatile 或临界区保护。
256 info SUP-GLB-002 main.cpp 35 extern 全局对象引用,需确认单一定义和共享访问保护 extern FlashEEPROM flashEEP; 确认是否跨 ISR/主循环共享;共享变量建议 volatile 或临界区保护。
257 info SUP-GLB-002 main.cpp 36 extern 全局对象引用,需确认单一定义和共享访问保护 extern VersionManager Version; 确认是否跨 ISR/主循环共享;共享变量建议 volatile 或临界区保护。
258 info SUP-GLB-002 sys/flash.cpp 38 extern 全局对象引用,需确认单一定义和共享访问保护 extern angle_sensor KTH7823; 确认是否跨 ISR/主循环共享;共享变量建议 volatile 或临界区保护。
259 info SUP-GLB-002 sys/flash.cpp 39 extern 全局对象引用,需确认单一定义和共享访问保护 extern CAN_transmiter CAN0_transmiter; 确认是否跨 ISR/主循环共享;共享变量建议 volatile 或临界区保护。
260 info SUP-GLB-002 sys/flash.cpp 40 extern 全局对象引用,需确认单一定义和共享访问保护 extern FOC_Controller FOC; 确认是否跨 ISR/主循环共享;共享变量建议 volatile 或临界区保护。
261 info SUP-GLB-002 sys/health.cpp 15 extern 全局对象引用,需确认单一定义和共享访问保护 extern sampler sampler; 确认是否跨 ISR/主循环共享;共享变量建议 volatile 或临界区保护。
262 info SUP-GLB-002 sys/health.cpp 16 extern 全局对象引用,需确认单一定义和共享访问保护 extern CAN_transmiter CAN0_transmiter; 确认是否跨 ISR/主循环共享;共享变量建议 volatile 或临界区保护。
263 info SUP-GLB-002 sys/health.cpp 17 extern 全局对象引用,需确认单一定义和共享访问保护 extern FOC_Controller FOC; 确认是否跨 ISR/主循环共享;共享变量建议 volatile 或临界区保护。
264 info SUP-GLB-002 sys/health.cpp 18 extern 全局对象引用,需确认单一定义和共享访问保护 extern FlashEEPROM flashEEP; 确认是否跨 ISR/主循环共享;共享变量建议 volatile 或临界区保护。
265 info SUP-GLB-002 sys/initial.cpp 38 extern 全局对象引用,需确认单一定义和共享访问保护 extern CAN_transmiter CAN0_transmiter; 确认是否跨 ISR/主循环共享;共享变量建议 volatile 或临界区保护。
266 info SUP-GLB-002 sys/systick.cpp 75 extern 全局对象引用,需确认单一定义和共享访问保护 extern CAN_transmiter CAN0_transmiter; 确认是否跨 ISR/主循环共享;共享变量建议 volatile 或临界区保护。
267 info SUP-GLB-002 sys/systick.cpp 76 extern 全局对象引用,需确认单一定义和共享访问保护 extern FlashEEPROM flashEEP; 确认是否跨 ISR/主循环共享;共享变量建议 volatile 或临界区保护。
268 info SUP-ISR-001 device/ADC.cpp 317 中断处理函数需确认执行时间、共享数据保护和禁止阻塞调用 extern "" void ADC0_1_IRQHandler(void) { 人工确认 ISR 内无阻塞、无长耗时,并检查共享变量 volatile/临界区。
269 info SUP-ISR-001 device/Can.cpp 1330 中断处理函数需确认执行时间、共享数据保护和禁止阻塞调用 void CAN0_RX0_IRQHandler(void) { 人工确认 ISR 内无阻塞、无长耗时,并检查共享变量 volatile/临界区。
270 info SUP-ISR-001 device/Can.cpp 1355 中断处理函数需确认执行时间、共享数据保护和禁止阻塞调用 void DMA0_Channel4_IRQHandler(void) { 人工确认 ISR 内无阻塞、无长耗时,并检查共享变量 volatile/临界区。
271 info SUP-ISR-001 device/Can.cpp 1389 中断处理函数需确认执行时间、共享数据保护和禁止阻塞调用 void DMA0_Channel5_IRQHandler(void) { 人工确认 ISR 内无阻塞、无长耗时,并检查共享变量 volatile/临界区。
272 info SUP-ISR-001 device/Can.cpp 1509 中断处理函数需确认执行时间、共享数据保护和禁止阻塞调用 void CAN0_TX_IRQHandler(void) { 人工确认 ISR 内无阻塞、无长耗时,并检查共享变量 volatile/临界区。
273 info SUP-ISR-001 device/Can.h 121 中断处理函数需确认执行时间、共享数据保护和禁止阻塞调用 void CAN0_TX_IRQHandler(void); 人工确认 ISR 内无阻塞、无长耗时,并检查共享变量 volatile/临界区。
274 info SUP-ISR-001 device/Can.h 126 中断处理函数需确认执行时间、共享数据保护和禁止阻塞调用 void CAN0_RX0_IRQHandler(void); 人工确认 ISR 内无阻塞、无长耗时,并检查共享变量 volatile/临界区。
275 info SUP-ISR-001 device/Can.h 131 中断处理函数需确认执行时间、共享数据保护和禁止阻塞调用 void DMA0_Channel4_IRQHandler(void); 人工确认 ISR 内无阻塞、无长耗时,并检查共享变量 volatile/临界区。
276 info SUP-ISR-001 device/Can.h 136 中断处理函数需确认执行时间、共享数据保护和禁止阻塞调用 void DMA0_Channel5_IRQHandler(void); 人工确认 ISR 内无阻塞、无长耗时,并检查共享变量 volatile/临界区。
277 info SUP-ISR-001 device/Timer.cpp 134 中断处理函数需确认执行时间、共享数据保护和禁止阻塞调用 void TIMER2_IRQHandler(void) { 人工确认 ISR 内无阻塞、无长耗时,并检查共享变量 volatile/临界区。
278 info SUP-ISR-001 device/Timer.cpp 281 中断处理函数需确认执行时间、共享数据保护和禁止阻塞调用 void TIMER1_IRQHandler(void) { 人工确认 ISR 内无阻塞、无长耗时,并检查共享变量 volatile/临界区。
279 info SUP-ISR-001 device/Timer.h 40 中断处理函数需确认执行时间、共享数据保护和禁止阻塞调用 void TIMER2_IRQHandler(void); 人工确认 ISR 内无阻塞、无长耗时,并检查共享变量 volatile/临界区。
280 info SUP-ISR-001 device/Timer.h 56 中断处理函数需确认执行时间、共享数据保护和禁止阻塞调用 void TIMER1_IRQHandler(void); 人工确认 ISR 内无阻塞、无长耗时,并检查共享变量 volatile/临界区。
281 info SUP-ISR-001 device/adc.h 91 中断处理函数需确认执行时间、共享数据保护和禁止阻塞调用 void ADC0_1_IRQHandler(void); 人工确认 ISR 内无阻塞、无长耗时,并检查共享变量 volatile/临界区。
282 info SUP-ISR-001 device/ang_sensor.cpp 145 中断处理函数需确认执行时间、共享数据保护和禁止阻塞调用 extern "" void DMA0_Channel2_IRQHandler(void) { 人工确认 ISR 内无阻塞、无长耗时,并检查共享变量 volatile/临界区。
283 info SUP-ISR-001 device/ang_sensor.cpp 156 中断处理函数需确认执行时间、共享数据保护和禁止阻塞调用 extern "" void DMA0_Channel1_IRQHandler(void) { 人工确认 ISR 内无阻塞、无长耗时,并检查共享变量 volatile/临界区。
284 info SUP-ISR-001 sys/systick.cpp 128 中断处理函数需确认执行时间、共享数据保护和禁止阻塞调用 extern "" void SysTick_Handler(void) { 人工确认 ISR 内无阻塞、无长耗时,并检查共享变量 volatile/临界区。
285 info SUP-ISR-001 sys/systick.h 117 中断处理函数需确认执行时间、共享数据保护和禁止阻塞调用 void EXTI5_9_IRQHandler(void); 人工确认 ISR 内无阻塞、无长耗时,并检查共享变量 volatile/临界区。
286 info SUP-LOOP-001 device/Can.cpp 366 无限循环需确认退出策略、看门狗喂狗和低功耗策略 while (1) 确认循环内任务调度、异常退出/复位策略和看门狗策略。
287 info SUP-LOOP-001 main.cpp 71 无限循环需确认退出策略、看门狗喂狗和低功耗策略 while (1) { 确认循环内任务调度、异常退出/复位策略和看门狗策略。
288 info SUP-LOOP-001 sys/systick.cpp 115 无限循环需确认退出策略、看门狗喂狗和低功耗策略 while (1) { 确认循环内任务调度、异常退出/复位策略和看门狗策略。
289 info SUP-LOOP-001 sys/systick.cpp 233 无限循环需确认退出策略、看门狗喂狗和低功耗策略 while (1) { 确认循环内任务调度、异常退出/复位策略和看门狗策略。
290 info SUP-MAG-001 Algorithm/FOC.cpp 29 业务代码中存在裸数字常量,需确认是否应命名化 extern u16 adc_value[3]; 安全相关阈值/时间/比例建议用具名常量或配置宏。
291 info SUP-MAG-001 Algorithm/FOC.cpp 46 业务代码中存在裸数字常量,需确认是否应命名化 float index_f = angle / 360.0f * (float)COGGING_TABLE_SIZE; 安全相关阈值/时间/比例建议用具名常量或配置宏。
292 info SUP-MAG-001 Algorithm/FOC.cpp 53 业务代码中存在裸数字常量,需确认是否应命名化 if (rt_velocity < -0.5f) last_table = cogging_table_rev; 安全相关阈值/时间/比例建议用具名常量或配置宏。
293 info SUP-MAG-001 Algorithm/FOC.cpp 54 业务代码中存在裸数字常量,需确认是否应命名化 else if (rt_velocity > 0.5f) last_table = cogging_table; 安全相关阈值/时间/比例建议用具名常量或配置宏。
294 info SUP-MAG-001 Algorithm/FOC.cpp 66 业务代码中存在裸数字常量,需确认是否应命名化 float FOC_Controller::cog_calib_run_data[6][COGGING_TABLE_SIZE] = {}; 安全相关阈值/时间/比例建议用具名常量或配置宏。
295 info SUP-MAG-001 Algorithm/FOC.cpp 77 业务代码中存在裸数字常量,需确认是否应命名化 constexpr u32 SETTLE_TICKS = 16000; 安全相关阈值/时间/比例建议用具名常量或配置宏。
296 info SUP-MAG-001 Algorithm/FOC.cpp 79 业务代码中存在裸数字常量,需确认是否应命名化 constexpr u32 STOP_TICKS = 10000; 安全相关阈值/时间/比例建议用具名常量或配置宏。
297 info SUP-MAG-001 Algorithm/FOC.cpp 81 业务代码中存在裸数字常量,需确认是否应命名化 constexpr u32 TARGET_SAMPLES = 3 * COGGING_TABLE_SIZE * 8; 安全相关阈值/时间/比例建议用具名常量或配置宏。
298 info SUP-MAG-001 Algorithm/FOC.cpp 85 业务代码中存在裸数字常量,需确认是否应命名化 constexpr u32 SAMPLE_DIV = 20; 安全相关阈值/时间/比例建议用具名常量或配置宏。
299 info SUP-MAG-001 Algorithm/FOC.cpp 87 业务代码中存在裸数字常量,需确认是否应命名化 constexpr u8 TOTAL_RUNS = 6; 安全相关阈值/时间/比例建议用具名常量或配置宏。
300 info SUP-MAG-001 Algorithm/FOC.cpp 102 业务代码中存在裸数字常量,需确认是否应命名化 control_mode = 6; 安全相关阈值/时间/比例建议用具名常量或配置宏。
301 info SUP-MAG-001 Algorithm/FOC.cpp 131 业务代码中存在裸数字常量,需确认是否应命名化 if (fabsf(iq) < 5000.0f) { 安全相关阈值/时间/比例建议用具名常量或配置宏。
302 info SUP-MAG-001 Algorithm/FOC.cpp 132 业务代码中存在裸数字常量,需确认是否应命名化 u16 idx = (u16)(angle_el / 360.0f * (float)COGGING_TABLE_SIZE); 安全相关阈值/时间/比例建议用具名常量或配置宏。
303 info SUP-MAG-001 Algorithm/FOC.cpp 167 业务代码中存在裸数字常量,需确认是否应命名化 control_mode = 6; 安全相关阈值/时间/比例建议用具名常量或配置宏。
304 info SUP-MAG-001 Algorithm/FOC.cpp 168 业务代码中存在裸数字常量,需确认是否应命名化 target_velocity = (cog_calib_run < 3) ? SLOW_VEL : -SLOW_VEL; 安全相关阈值/时间/比例建议用具名常量或配置宏。
305 info SUP-MAG-001 Algorithm/FOC.cpp 182 业务代码中存在裸数字常量,需确认是否应命名化 cog_calib_run_data[2][i]) / 3.0f; 安全相关阈值/时间/比例建议用具名常量或配置宏。
306 info SUP-MAG-001 Algorithm/FOC.cpp 186 业务代码中存在裸数字常量,需确认是否应命名化 cogging_table_rev[i] = (cog_calib_run_data[3][i] + 安全相关阈值/时间/比例建议用具名常量或配置宏。
307 info SUP-MAG-001 Algorithm/FOC.cpp 187 业务代码中存在裸数字常量,需确认是否应命名化 cog_calib_run_data[4][i] + 安全相关阈值/时间/比例建议用具名常量或配置宏。
308 info SUP-MAG-001 Algorithm/FOC.cpp 188 业务代码中存在裸数字常量,需确认是否应命名化 cog_calib_run_data[5][i]) / 3.0f; 安全相关阈值/时间/比例建议用具名常量或配置宏。
309 info SUP-MAG-001 Algorithm/FOC.cpp 197 业务代码中存在裸数字常量,需确认是否应命名化 float angle_deg = (float)i / (float)COGGING_TABLE_SIZE * 360.0f; 安全相关阈值/时间/比例建议用具名常量或配置宏。
310 info SUP-MAG-001 Algorithm/FOC.cpp 205 业务代码中存在裸数字常量,需确认是否应命名化 float angle_deg = (float)i / (float)COGGING_TABLE_SIZE * 360.0f; 安全相关阈值/时间/比例建议用具名常量或配置宏。
311 info SUP-MAG-001 Algorithm/FOC.cpp 214 业务代码中存在裸数字常量,需确认是否应命名化 if (i % 8 == 0) printf(""); 安全相关阈值/时间/比例建议用具名常量或配置宏。
312 info SUP-MAG-001 Algorithm/FOC.cpp 217 业务代码中存在裸数字常量,需确认是否应命名化 if (i % 8 == 7 || i == COGGING_TABLE_SIZE - 1) printf(""); 安全相关阈值/时间/比例建议用具名常量或配置宏。
313 info SUP-MAG-001 Algorithm/FOC.cpp 226 业务代码中存在裸数字常量,需确认是否应命名化 if (i % 8 == 0) printf(""); 安全相关阈值/时间/比例建议用具名常量或配置宏。
314 info SUP-MAG-001 Algorithm/FOC.cpp 229 业务代码中存在裸数字常量,需确认是否应命名化 if (i % 8 == 7 || i == COGGING_TABLE_SIZE - 1) printf(""); 安全相关阈值/时间/比例建议用具名常量或配置宏。
315 info SUP-MAG-001 Algorithm/FOC.cpp 293 业务代码中存在裸数字常量,需确认是否应命名化 const float current_avg = (current_a + current_b + current_c) / 3.0f; 安全相关阈值/时间/比例建议用具名常量或配置宏。
316 info SUP-MAG-001 Algorithm/FOC.cpp 301 业务代码中存在裸数字常量,需确认是否应命名化 I_alpha = (2.0f / 3.0f) * current_a - (1.0f / 3.0f) * current_b - 安全相关阈值/时间/比例建议用具名常量或配置宏。
317 info SUP-MAG-001 Algorithm/FOC.cpp 302 业务代码中存在裸数字常量,需确认是否应命名化 (1.0f / 3.0f) * current_c; 安全相关阈值/时间/比例建议用具名常量或配置宏。
318 info SUP-MAG-001 Algorithm/FOC.cpp 313 业务代码中存在裸数字常量,需确认是否应命名化 return Current_kalman.update(I_q * 1000 - KE_FACTOR * rt_velocity); 安全相关阈值/时间/比例建议用具名常量或配置宏。
319 info SUP-MAG-001 Algorithm/FOC.cpp 327 业务代码中存在裸数字常量,需确认是否应命名化 29.28f, 28.84f, 28.26f, 28.83f, 29.79f, 30.26f, 29.52f, 28.77f, 安全相关阈值/时间/比例建议用具名常量或配置宏。
320 info SUP-MAG-001 Algorithm/FOC.cpp 328 业务代码中存在裸数字常量,需确认是否应命名化 28.23f, 27.68f, 26.65f, 25.19f, 23.92f, 22.59f, 19.61f, 16.77f, 安全相关阈值/时间/比例建议用具名常量或配置宏。
321 info SUP-MAG-001 Algorithm/FOC.cpp 329 业务代码中存在裸数字常量,需确认是否应命名化 13.32f, 10.40f, 7.64f, 3.51f, -0.83f, -4.96f, -8.19f, -11.11f, 安全相关阈值/时间/比例建议用具名常量或配置宏。
322 info SUP-MAG-001 Algorithm/FOC.cpp 330 业务代码中存在裸数字常量,需确认是否应命名化 -13.40f, -14.39f, -15.69f, -15.99f, -16.39f, -15.50f, -14.76f, -14.21f, 安全相关阈值/时间/比例建议用具名常量或配置宏。
323 info SUP-MAG-001 Algorithm/FOC.cpp 331 业务代码中存在裸数字常量,需确认是否应命名化 -13.76f, -13.88f, -13.22f, -11.18f, -10.65f, -10.54f, -10.62f, -10.23f, 安全相关阈值/时间/比例建议用具名常量或配置宏。
324 info SUP-MAG-001 Algorithm/FOC.cpp 332 业务代码中存在裸数字常量,需确认是否应命名化 -9.52f, -8.19f, -6.31f, -4.14f, -1.94f, -0.25f, 2.06f, 4.08f, 安全相关阈值/时间/比例建议用具名常量或配置宏。
325 info SUP-MAG-001 Algorithm/FOC.cpp 333 业务代码中存在裸数字常量,需确认是否应命名化 6.05f, 8.30f, 9.74f, 11.38f, 13.32f, 15.65f, 17.55f, 20.22f, 安全相关阈值/时间/比例建议用具名常量或配置宏。
326 info SUP-MAG-001 Algorithm/FOC.cpp 334 业务代码中存在裸数字常量,需确认是否应命名化 21.72f, 22.28f, 23.30f, 24.78f, 23.53f, 23.35f, 23.00f, 21.42f, 安全相关阈值/时间/比例建议用具名常量或配置宏。
327 info SUP-MAG-001 Algorithm/FOC.cpp 335 业务代码中存在裸数字常量,需确认是否应命名化 20.35f, 20.57f, 20.07f, 18.18f, 17.04f, 16.03f, 14.81f, 13.71f, 安全相关阈值/时间/比例建议用具名常量或配置宏。
328 info SUP-MAG-001 Algorithm/FOC.cpp 336 业务代码中存在裸数字常量,需确认是否应命名化 12.47f, 10.93f, 9.38f, 6.53f, 4.63f, 3.37f, 1.29f, -1.28f, 安全相关阈值/时间/比例建议用具名常量或配置宏。
329 info SUP-MAG-001 Algorithm/FOC.cpp 337 业务代码中存在裸数字常量,需确认是否应命名化 -5.08f, -11.11f, -16.35f, -21.00f, -24.61f, -28.30f, -31.11f, -33.48f, 安全相关阈值/时间/比例建议用具名常量或配置宏。
330 info SUP-MAG-001 Algorithm/FOC.cpp 338 业务代码中存在裸数字常量,需确认是否应命名化 -35.25f, -36.54f, -38.01f, -38.69f, -39.27f, -39.52f, -38.18f, -36.55f, 安全相关阈值/时间/比例建议用具名常量或配置宏。
331 info SUP-MAG-001 Algorithm/FOC.cpp 339 业务代码中存在裸数字常量,需确认是否应命名化 -34.96f, -33.14f, -31.92f, -31.45f, -31.32f, -30.25f, -29.60f, -28.72f, 安全相关阈值/时间/比例建议用具名常量或配置宏。
332 info SUP-MAG-001 Algorithm/FOC.cpp 340 业务代码中存在裸数字常量,需确认是否应命名化 -27.51f, -25.30f, -22.66f, -20.87f, -18.19f, -16.10f, -13.25f, -10.81f, 安全相关阈值/时间/比例建议用具名常量或配置宏。
333 info SUP-MAG-001 Algorithm/FOC.cpp 341 业务代码中存在裸数字常量,需确认是否应命名化 -8.00f, -4.67f, -2.28f, 0.87f, 3.83f, 7.25f, 10.56f, 13.70f, 安全相关阈值/时间/比例建议用具名常量或配置宏。
334 info SUP-MAG-001 Algorithm/FOC.cpp 342 业务代码中存在裸数字常量,需确认是否应命名化 17.70f, 19.90f, 22.14f, 23.62f, 24.53f, 26.03f, 26.96f, 27.95f, 安全相关阈值/时间/比例建议用具名常量或配置宏。
335 info SUP-MAG-001 Algorithm/FOC.cpp 345 业务代码中存在裸数字常量,需确认是否应命名化 22.45f, 24.95f, 26.05f, 26.01f, 26.11f, 25.87f, 26.20f, 26.23f, 安全相关阈值/时间/比例建议用具名常量或配置宏。
336 info SUP-MAG-001 Algorithm/FOC.cpp 346 业务代码中存在裸数字常量,需确认是否应命名化 26.19f, 25.87f, 25.97f, 26.09f, 24.77f, 24.22f, 23.71f, 22.10f, 安全相关阈值/时间/比例建议用具名常量或配置宏。
337 info SUP-MAG-001 Algorithm/FOC.cpp 347 业务代码中存在裸数字常量,需确认是否应命名化 19.84f, 17.60f, 15.36f, 12.99f, 9.54f, 5.35f, 1.71f, -1.94f, 安全相关阈值/时间/比例建议用具名常量或配置宏。
338 info SUP-MAG-001 Algorithm/FOC.cpp 348 业务代码中存在裸数字常量,需确认是否应命名化 -4.15f, -6.16f, -7.93f, -9.10f, -10.01f, -10.25f, -10.85f, -11.74f, 安全相关阈值/时间/比例建议用具名常量或配置宏。
339 info SUP-MAG-001 Algorithm/FOC.cpp 349 业务代码中存在裸数字常量,需确认是否应命名化 -11.98f, -10.78f, -9.65f, -8.89f, -8.14f, -6.85f, -5.94f, -5.37f, 安全相关阈值/时间/比例建议用具名常量或配置宏。
340 info SUP-MAG-001 Algorithm/FOC.cpp 350 业务代码中存在裸数字常量,需确认是否应命名化 -4.28f, -3.38f, -3.36f, -3.40f, -2.81f, -2.36f, -1.04f, -0.18f, 安全相关阈值/时间/比例建议用具名常量或配置宏。
341 info SUP-MAG-001 Algorithm/FOC.cpp 351 业务代码中存在裸数字常量,需确认是否应命名化 1.08f, 2.15f, 4.19f, 5.51f, 7.33f, 8.64f, 10.46f, 11.89f, 安全相关阈值/时间/比例建议用具名常量或配置宏。
342 info SUP-MAG-001 Algorithm/FOC.cpp 352 业务代码中存在裸数字常量,需确认是否应命名化 13.42f, 14.83f, 17.11f, 19.12f, 20.76f, 21.88f, 22.35f, 22.86f, 安全相关阈值/时间/比例建议用具名常量或配置宏。
343 info SUP-MAG-001 Algorithm/FOC.cpp 353 业务代码中存在裸数字常量,需确认是否应命名化 22.73f, 22.13f, 21.10f, 20.53f, 18.65f, 17.09f, 15.47f, 14.76f, 安全相关阈值/时间/比例建议用具名常量或配置宏。
344 info SUP-MAG-001 Algorithm/FOC.cpp 354 业务代码中存在裸数字常量,需确认是否应命名化 14.02f, 12.94f, 11.98f, 10.29f, 8.11f, 5.83f, 4.23f, 2.42f, 安全相关阈值/时间/比例建议用具名常量或配置宏。
345 info SUP-MAG-001 Algorithm/FOC.cpp 355 业务代码中存在裸数字常量,需确认是否应命名化 1.03f, -1.80f, -4.01f, -7.93f, -11.79f, -15.90f, -20.22f, -23.04f, 安全相关阈值/时间/比例建议用具名常量或配置宏。
346 info SUP-MAG-001 Algorithm/FOC.cpp 356 业务代码中存在裸数字常量,需确认是否应命名化 -25.66f, -28.80f, -30.45f, -32.11f, -33.17f, -33.97f, -34.68f, -34.26f, 安全相关阈值/时间/比例建议用具名常量或配置宏。
347 info SUP-MAG-001 Algorithm/FOC.cpp 357 业务代码中存在裸数字常量,需确认是否应命名化 -34.18f, -33.78f, -32.47f, -31.11f, -29.40f, -27.89f, -27.05f, -26.72f, 安全相关阈值/时间/比例建议用具名常量或配置宏。
348 info SUP-MAG-001 Algorithm/FOC.cpp 358 业务代码中存在裸数字常量,需确认是否应命名化 -25.59f, -24.86f, -23.61f, -22.97f, -22.89f, -21.81f, -20.78f, -19.23f, 安全相关阈值/时间/比例建议用具名常量或配置宏。
349 info SUP-MAG-001 Algorithm/FOC.cpp 359 业务代码中存在裸数字常量,需确认是否应命名化 -17.74f, -15.09f, -13.18f, -10.51f, -8.18f, -5.89f, -3.35f, -0.02f, 安全相关阈值/时间/比例建议用具名常量或配置宏。
350 info SUP-MAG-001 Algorithm/FOC.cpp 360 业务代码中存在裸数字常量,需确认是否应命名化 2.02f, 3.87f, 6.37f, 9.11f, 12.33f, 14.63f, 17.12f, 19.12f, 安全相关阈值/时间/比例建议用具名常量或配置宏。
351 info SUP-MAG-001 Algorithm/FOC.cpp 366 业务代码中存在裸数字常量,需确认是否应命名化 FOC.cur_loop_p = DEFAULT_current_loop_p * 100 / limit_voltage; 安全相关阈值/时间/比例建议用具名常量或配置宏。
352 info SUP-MAG-001 Algorithm/FOC.cpp 367 业务代码中存在裸数字常量,需确认是否应命名化 FOC.cur_MIT_p = DEFAULT_current_MIT_p * 100 / limit_voltage; 安全相关阈值/时间/比例建议用具名常量或配置宏。
353 info SUP-MAG-001 Algorithm/FOC.cpp 368 业务代码中存在裸数字常量,需确认是否应命名化 FOC.vel_loop_p = DEFAULT_vel_loop_p * 100 / limit_voltage; 安全相关阈值/时间/比例建议用具名常量或配置宏。
354 info SUP-MAG-001 Algorithm/FOC.cpp 369 业务代码中存在裸数字常量,需确认是否应命名化 FOC.vel_angloop_p = DEFAULT_vel_angloop_p * 100; 安全相关阈值/时间/比例建议用具名常量或配置宏。
355 info SUP-MAG-001 Algorithm/FOC.cpp 370 业务代码中存在裸数字常量,需确认是否应命名化 FOC.vel_MIT_p = DEFAULT_vel_MIT_p * 100; 安全相关阈值/时间/比例建议用具名常量或配置宏。
356 info SUP-MAG-001 Algorithm/FOC.cpp 371 业务代码中存在裸数字常量,需确认是否应命名化 FOC.ang_loop_p = DEFAULT_angle_loop_p * 100 / limit_voltage; 安全相关阈值/时间/比例建议用具名常量或配置宏。
357 info SUP-MAG-001 Algorithm/FOC.cpp 372 业务代码中存在裸数字常量,需确认是否应命名化 FOC.ang_angloop_p = DEFAULT_angle_angloop_p * 100 / limit_voltage; 安全相关阈值/时间/比例建议用具名常量或配置宏。
358 info SUP-MAG-001 Algorithm/FOC.cpp 373 业务代码中存在裸数字常量,需确认是否应命名化 FOC.ang_MIT_p = DEFAULT_angle_MIT_p * 100 / limit_voltage; 安全相关阈值/时间/比例建议用具名常量或配置宏。
359 info SUP-MAG-001 Algorithm/FOC.cpp 401 业务代码中存在裸数字常量,需确认是否应命名化 float Y = SQRT3DV2 * Ualpha - 0.5f * Ubeta; 安全相关阈值/时间/比例建议用具名常量或配置宏。
360 info SUP-MAG-001 Algorithm/FOC.cpp 402 业务代码中存在裸数字常量,需确认是否应命名化 float Z = -SQRT3DV2 * Ualpha - 0.5f * Ubeta; 安全相关阈值/时间/比例建议用具名常量或配置宏。
361 info SUP-MAG-001 Algorithm/FOC.cpp 409 业务代码中存在裸数字常量,需确认是否应命名化 static const u8 sector_lut[8] = {0, 2, 6, 1, 4, 3, 5, 0}; 安全相关阈值/时间/比例建议用具名常量或配置宏。
362 info SUP-MAG-001 Algorithm/FOC.cpp 413 业务代码中存在裸数字常量,需确认是否应命名化 Set_3Pwm(0.5f, 0.5f, 0.5f); 安全相关阈值/时间/比例建议用具名常量或配置宏。
363 info SUP-MAG-001 Algorithm/FOC.cpp 431 业务代码中存在裸数字常量,需确认是否应命名化 static const float svpwm_coeff[6][4] = { 安全相关阈值/时间/比例建议用具名常量或配置宏。
364 info SUP-MAG-001 Algorithm/FOC.cpp 432 业务代码中存在裸数字常量,需确认是否应命名化 { SQRT3DV2, -0.5f, 0.0f, 1.0f}, 安全相关阈值/时间/比例建议用具名常量或配置宏。
365 info SUP-MAG-001 Algorithm/FOC.cpp 433 业务代码中存在裸数字常量,需确认是否应命名化 { SQRT3DV2, 0.5f, -SQRT3DV2, 0.5f}, 安全相关阈值/时间/比例建议用具名常量或配置宏。
366 info SUP-MAG-001 Algorithm/FOC.cpp 434 业务代码中存在裸数字常量,需确认是否应命名化 { 0.0f, 1.0f, -SQRT3DV2, -0.5f}, 安全相关阈值/时间/比例建议用具名常量或配置宏。
367 info SUP-MAG-001 Algorithm/FOC.cpp 435 业务代码中存在裸数字常量,需确认是否应命名化 { -SQRT3DV2, 0.5f, 0.0f, -1.0f}, 安全相关阈值/时间/比例建议用具名常量或配置宏。
368 info SUP-MAG-001 Algorithm/FOC.cpp 436 业务代码中存在裸数字常量,需确认是否应命名化 { -SQRT3DV2, -0.5f, SQRT3DV2, -0.5f}, 安全相关阈值/时间/比例建议用具名常量或配置宏。
369 info SUP-MAG-001 Algorithm/FOC.cpp 437 业务代码中存在裸数字常量,需确认是否应命名化 { 0.0f, -1.0f, SQRT3DV2, 0.5f}, 安全相关阈值/时间/比例建议用具名常量或配置宏。
370 info SUP-MAG-001 Algorithm/FOC.cpp 441 业务代码中存在裸数字常量,需确认是否应命名化 float T2 = (svpwm_coeff[sector-1][2] * Ualpha + svpwm_coeff[sector-1][3] * Ubeta) * inv_Udc; 安全相关阈值/时间/比例建议用具名常量或配置宏。
371 info SUP-MAG-001 Algorithm/FOC.cpp 454 业务代码中存在裸数字常量,需确认是否应命名化 duty_a = 0.5f * T0 + T1 + T2; 安全相关阈值/时间/比例建议用具名常量或配置宏。
372 info SUP-MAG-001 Algorithm/FOC.cpp 455 业务代码中存在裸数字常量,需确认是否应命名化 duty_b = 0.5f * T0 + T2; 安全相关阈值/时间/比例建议用具名常量或配置宏。
373 info SUP-MAG-001 Algorithm/FOC.cpp 456 业务代码中存在裸数字常量,需确认是否应命名化 duty_c = 0.5f * T0; 安全相关阈值/时间/比例建议用具名常量或配置宏。
374 info SUP-MAG-001 Algorithm/FOC.cpp 458 业务代码中存在裸数字常量,需确认是否应命名化 case 2: 安全相关阈值/时间/比例建议用具名常量或配置宏。
375 info SUP-MAG-001 Algorithm/FOC.cpp 459 业务代码中存在裸数字常量,需确认是否应命名化 duty_a = 0.5f * T0 + T1; 安全相关阈值/时间/比例建议用具名常量或配置宏。
376 info SUP-MAG-001 Algorithm/FOC.cpp 460 业务代码中存在裸数字常量,需确认是否应命名化 duty_b = 0.5f * T0 + T1 + T2; 安全相关阈值/时间/比例建议用具名常量或配置宏。
377 info SUP-MAG-001 Algorithm/FOC.cpp 461 业务代码中存在裸数字常量,需确认是否应命名化 duty_c = 0.5f * T0; 安全相关阈值/时间/比例建议用具名常量或配置宏。
378 info SUP-MAG-001 Algorithm/FOC.cpp 463 业务代码中存在裸数字常量,需确认是否应命名化 case 3: 安全相关阈值/时间/比例建议用具名常量或配置宏。
379 info SUP-MAG-001 Algorithm/FOC.cpp 464 业务代码中存在裸数字常量,需确认是否应命名化 duty_a = 0.5f * T0; 安全相关阈值/时间/比例建议用具名常量或配置宏。
380 info SUP-MAG-001 Algorithm/FOC.cpp 465 业务代码中存在裸数字常量,需确认是否应命名化 duty_b = 0.5f * T0 + T1 + T2; 安全相关阈值/时间/比例建议用具名常量或配置宏。
381 info SUP-MAG-001 Algorithm/FOC.cpp 466 业务代码中存在裸数字常量,需确认是否应命名化 duty_c = 0.5f * T0 + T2; 安全相关阈值/时间/比例建议用具名常量或配置宏。
382 info SUP-MAG-001 Algorithm/FOC.cpp 468 业务代码中存在裸数字常量,需确认是否应命名化 case 4: 安全相关阈值/时间/比例建议用具名常量或配置宏。
383 info SUP-MAG-001 Algorithm/FOC.cpp 469 业务代码中存在裸数字常量,需确认是否应命名化 duty_a = 0.5f * T0; 安全相关阈值/时间/比例建议用具名常量或配置宏。
384 info SUP-MAG-001 Algorithm/FOC.cpp 470 业务代码中存在裸数字常量,需确认是否应命名化 duty_b = 0.5f * T0 + T1; 安全相关阈值/时间/比例建议用具名常量或配置宏。
385 info SUP-MAG-001 Algorithm/FOC.cpp 471 业务代码中存在裸数字常量,需确认是否应命名化 duty_c = 0.5f * T0 + T1 + T2; 安全相关阈值/时间/比例建议用具名常量或配置宏。
386 info SUP-MAG-001 Algorithm/FOC.cpp 473 业务代码中存在裸数字常量,需确认是否应命名化 case 5: 安全相关阈值/时间/比例建议用具名常量或配置宏。
387 info SUP-MAG-001 Algorithm/FOC.cpp 474 业务代码中存在裸数字常量,需确认是否应命名化 duty_a = 0.5f * T0 + T2; 安全相关阈值/时间/比例建议用具名常量或配置宏。
388 info SUP-MAG-001 Algorithm/FOC.cpp 475 业务代码中存在裸数字常量,需确认是否应命名化 duty_b = 0.5f * T0; 安全相关阈值/时间/比例建议用具名常量或配置宏。
389 info SUP-MAG-001 Algorithm/FOC.cpp 476 业务代码中存在裸数字常量,需确认是否应命名化 duty_c = 0.5f * T0 + T1 + T2; 安全相关阈值/时间/比例建议用具名常量或配置宏。
390 info SUP-MAG-001 Algorithm/FOC.cpp 478 业务代码中存在裸数字常量,需确认是否应命名化 case 6: 安全相关阈值/时间/比例建议用具名常量或配置宏。
391 info SUP-MAG-001 Algorithm/FOC.cpp 479 业务代码中存在裸数字常量,需确认是否应命名化 duty_a = 0.5f * T0 + T1 + T2; 安全相关阈值/时间/比例建议用具名常量或配置宏。
392 info SUP-MAG-001 Algorithm/FOC.cpp 480 业务代码中存在裸数字常量,需确认是否应命名化 duty_b = 0.5f * T0; 安全相关阈值/时间/比例建议用具名常量或配置宏。
393 info SUP-MAG-001 Algorithm/FOC.cpp 481 业务代码中存在裸数字常量,需确认是否应命名化 duty_c = 0.5f * T0 + T1; 安全相关阈值/时间/比例建议用具名常量或配置宏。
394 info SUP-MAG-001 Algorithm/FOC.cpp 484 业务代码中存在裸数字常量,需确认是否应命名化 duty_a = 0.5f; 安全相关阈值/时间/比例建议用具名常量或配置宏。
395 info SUP-MAG-001 Algorithm/FOC.cpp 485 业务代码中存在裸数字常量,需确认是否应命名化 duty_b = 0.5f; 安全相关阈值/时间/比例建议用具名常量或配置宏。
396 info SUP-MAG-001 Algorithm/FOC.cpp 486 业务代码中存在裸数字常量,需确认是否应命名化 duty_c = 0.5f; 安全相关阈值/时间/比例建议用具名常量或配置宏。
397 info SUP-MAG-001 Algorithm/FOC.cpp 534 业务代码中存在裸数字常量,需确认是否应命名化 if (HOLD_PWM_DUTY > 0.95f) { 安全相关阈值/时间/比例建议用具名常量或配置宏。
398 info SUP-MAG-001 Algorithm/FOC.cpp 535 业务代码中存在裸数字常量,需确认是否应命名化 hold_pwm_duty = 0.95f; 安全相关阈值/时间/比例建议用具名常量或配置宏。
399 info SUP-MAG-001 Algorithm/FOC.cpp 548 业务代码中存在裸数字常量,需确认是否应命名化 float hold_pwm_duty = target_velocity/100; 安全相关阈值/时间/比例建议用具名常量或配置宏。
400 info SUP-MAG-001 Algorithm/FOC.cpp 569 业务代码中存在裸数字常量,需确认是否应命名化 if (voltage < 36.0f and voltage > 8.0f) { 安全相关阈值/时间/比例建议用具名常量或配置宏。
401 info SUP-MAG-001 Algorithm/FOC.cpp 572 业务代码中存在裸数字常量,需确认是否应命名化 v_half = voltage * 0.5f; 安全相关阈值/时间/比例建议用具名常量或配置宏。
402 info SUP-MAG-001 Algorithm/FOC.cpp 605 业务代码中存在裸数字常量,需确认是否应命名化 float current_vbus = adc_value[2] * (3.3f / 4096.0f) * 11.0f; 安全相关阈值/时间/比例建议用具名常量或配置宏。
403 info SUP-MAG-001 Algorithm/FOC.cpp 661 业务代码中存在裸数字常量,需确认是否应命名化 2.0f, voltage_power_supply * 0.5f); 安全相关阈值/时间/比例建议用具名常量或配置宏。
404 info SUP-MAG-001 Algorithm/FOC.cpp 700 业务代码中存在裸数字常量,需确认是否应命名化 if (fabsf(target_delta) > 5.0f) { 安全相关阈值/时间/比例建议用具名常量或配置宏。
405 info SUP-MAG-001 Algorithm/FOC.cpp 763 业务代码中存在裸数字常量,需确认是否应命名化 if (target_velocity < -120.0f) { 安全相关阈值/时间/比例建议用具名常量或配置宏。
406 info SUP-MAG-001 Algorithm/FOC.cpp 764 业务代码中存在裸数字常量,需确认是否应命名化 vel_inVelAngloop.set_P(vel_angloop_p * 2.0f); 安全相关阈值/时间/比例建议用具名常量或配置宏。
407 info SUP-MAG-001 Algorithm/FOC.cpp 765 业务代码中存在裸数字常量,需确认是否应命名化 } else if (target_velocity < -30.0f) { 安全相关阈值/时间/比例建议用具名常量或配置宏。
408 info SUP-MAG-001 Algorithm/FOC.cpp 766 业务代码中存在裸数字常量,需确认是否应命名化 vel_inVelAngloop.set_P(vel_angloop_p * 1.5f); 安全相关阈值/时间/比例建议用具名常量或配置宏。
409 info SUP-MAG-001 Algorithm/FOC.cpp 774 业务代码中存在裸数字常量,需确认是否应命名化 if (fabsf(target_velocity - last_vang_target_vel) > 5.0f) { 安全相关阈值/时间/比例建议用具名常量或配置宏。
410 info SUP-MAG-001 Algorithm/FOC.cpp 817 业务代码中存在裸数字常量,需确认是否应命名化 if (fabsf(target_velocity - last_mit_target_vel) > 5.0f) { 安全相关阈值/时间/比例建议用具名常量或配置宏。
411 info SUP-MAG-001 Algorithm/FOC.h 48 业务代码中存在裸数字常量,需确认是否应命名化 float voltage_power_supply = 24.0f; 安全相关阈值/时间/比例建议用具名常量或配置宏。
412 info SUP-MAG-001 Algorithm/FOC.h 191 业务代码中存在裸数字常量,需确认是否应命名化 static float cog_calib_run_data[6][COGGING_TABLE_SIZE]; 安全相关阈值/时间/比例建议用具名常量或配置宏。
413 info SUP-MAG-001 Algorithm/FOC.h 198 业务代码中存在裸数字常量,需确认是否应命名化 PIDController{DEFAULT_vel_loop_p * 100 / limit_voltage, vel_loop_Ki, 安全相关阈值/时间/比例建议用具名常量或配置宏。
414 info SUP-MAG-001 Algorithm/FOC.h 199 业务代码中存在裸数字常量,需确认是否应命名化 vel_loop_Kd, 10000, voltage_power_supply}; 安全相关阈值/时间/比例建议用具名常量或配置宏。
415 info SUP-MAG-001 Algorithm/FOC.h 201 业务代码中存在裸数字常量,需确认是否应命名化 PIDController{DEFAULT_angle_loop_p * 100 / limit_voltage, 100.0f, 0.2f, 安全相关阈值/时间/比例建议用具名常量或配置宏。
416 info SUP-MAG-001 Algorithm/FOC.h 202 业务代码中存在裸数字常量,需确认是否应命名化 10000000, voltage_power_supply}; 安全相关阈值/时间/比例建议用具名常量或配置宏。
417 info SUP-MAG-001 Algorithm/FOC.h 204 业务代码中存在裸数字常量,需确认是否应命名化 DEFAULT_current_loop_p * 100 / limit_voltage, current_loop_Ki, 安全相关阈值/时间/比例建议用具名常量或配置宏。
418 info SUP-MAG-001 Algorithm/FOC.h 205 业务代码中存在裸数字常量,需确认是否应命名化 current_loop_Kd, 1500, voltage_power_supply}; 安全相关阈值/时间/比例建议用具名常量或配置宏。
419 info SUP-MAG-001 Algorithm/FOC.h 207 业务代码中存在裸数字常量,需确认是否应命名化 PIDController{DEFAULT_vel_angloop_p * 100, vel_angloop_Ki, 安全相关阈值/时间/比例建议用具名常量或配置宏。
420 info SUP-MAG-001 Algorithm/FOC.h 210 业务代码中存在裸数字常量,需确认是否应命名化 PIDController{DEFAULT_angle_angloop_p * 100 / voltage_power_supply, 安全相关阈值/时间/比例建议用具名常量或配置宏。
421 info SUP-MAG-001 Algorithm/FOC.h 211 业务代码中存在裸数字常量,需确认是否应命名化 ang_angloop_Ki, ang_angloop_Kd, 1e4, 100}; 安全相关阈值/时间/比例建议用具名常量或配置宏。
422 info SUP-MAG-001 Algorithm/FOC.h 214 业务代码中存在裸数字常量,需确认是否应命名化 PIDController{DEFAULT_angle_MIT_p * 100 / limit_voltage, angle_MIT_Ki, 安全相关阈值/时间/比例建议用具名常量或配置宏。
423 info SUP-MAG-001 Algorithm/FOC.h 215 业务代码中存在裸数字常量,需确认是否应命名化 angle_MIT_Kd, 1e5, 100}; 安全相关阈值/时间/比例建议用具名常量或配置宏。
424 info SUP-MAG-001 Algorithm/FOC.h 217 业务代码中存在裸数字常量,需确认是否应命名化 DEFAULT_vel_MIT_p * 100, vel_MIT_Ki, vel_MIT_Kd, 1e9, 1000}; 安全相关阈值/时间/比例建议用具名常量或配置宏。
425 info SUP-MAG-001 Algorithm/FOC.h 219 业务代码中存在裸数字常量,需确认是否应命名化 DEFAULT_current_loop_p * 100 / limit_voltage, current_loop_Ki, 安全相关阈值/时间/比例建议用具名常量或配置宏。
426 info SUP-MAG-001 Algorithm/FOC.h 220 业务代码中存在裸数字常量,需确认是否应命名化 current_loop_Kd, 1500, voltage_power_supply}; 安全相关阈值/时间/比例建议用具名常量或配置宏。
427 info SUP-MAG-001 Algorithm/FOC.h 237 业务代码中存在裸数字常量,需确认是否应命名化 float v_half = voltage_power_supply * 0.5f; 安全相关阈值/时间/比例建议用具名常量或配置宏。
428 info SUP-MAG-001 Algorithm/Filter.cpp 69 业务代码中存在裸数字常量,需确认是否应命名化 std::nth_element(sorted, sorted + size / 2, sorted + size); 安全相关阈值/时间/比例建议用具名常量或配置宏。
429 info SUP-MAG-001 Algorithm/Filter.cpp 71 业务代码中存在裸数字常量,需确认是否应命名化 return sorted[size / 2]; 安全相关阈值/时间/比例建议用具名常量或配置宏。
430 info SUP-MAG-001 Algorithm/Filter.cpp 190 业务代码中存在裸数字常量,需确认是否应命名化 if (error > 180.0f) error -= 360.0f; 安全相关阈值/时间/比例建议用具名常量或配置宏。
431 info SUP-MAG-001 Algorithm/Filter.cpp 191 业务代码中存在裸数字常量,需确认是否应命名化 else if (error < -180.0f) error += 360.0f; 安全相关阈值/时间/比例建议用具名常量或配置宏。
432 info SUP-MAG-001 Algorithm/Filter.h 99 业务代码中存在裸数字常量,需确认是否应命名化 const T MIN_COVARIANCE = static_cast<T>(1e-6); 安全相关阈值/时间/比例建议用具名常量或配置宏。
433 info SUP-MAG-001 Algorithm/pid.cpp 30 业务代码中存在裸数字常量,需确认是否应命名化 integral_prev + I * TIME_SLICE * 0.5f * (error + error_prev); 安全相关阈值/时间/比例建议用具名常量或配置宏。
434 info SUP-MAG-001 device/ADC.cpp 20 业务代码中存在裸数字常量,需确认是否应命名化 constexpr float ADC_SCALE = 3.3f / 4096.0f; 安全相关阈值/时间/比例建议用具名常量或配置宏。
435 info SUP-MAG-001 device/ADC.cpp 22 业务代码中存在裸数字常量,需确认是否应命名化 constexpr float TEMP_FACTOR = 1000.0f / 4.3f; 安全相关阈值/时间/比例建议用具名常量或配置宏。
436 info SUP-MAG-001 device/ADC.cpp 24 业务代码中存在裸数字常量,需确认是否应命名化 constexpr float VCC_FACTOR = 11.0f; 安全相关阈值/时间/比例建议用具名常量或配置宏。
437 info SUP-MAG-001 device/ADC.cpp 27 业务代码中存在裸数字常量,需确认是否应命名化 1.0f / 50.0f * 100.0f; 安全相关阈值/时间/比例建议用具名常量或配置宏。
438 info SUP-MAG-001 device/ADC.cpp 31 业务代码中存在裸数字常量,需确认是否应命名化 u16 adc_value[3] = {0}; 安全相关阈值/时间/比例建议用具名常量或配置宏。
439 info SUP-MAG-001 device/ADC.cpp 32 业务代码中存在裸数字常量,需确认是否应命名化 static volatile u16 adc_current_value[3] = {0}; 安全相关阈值/时间/比例建议用具名常量或配置宏。
440 info SUP-MAG-001 device/ADC.cpp 67 业务代码中存在裸数字常量,需确认是否应命名化 dma_data_parameter.number = 3; 安全相关阈值/时间/比例建议用具名常量或配置宏。
441 info SUP-MAG-001 device/ADC.cpp 104 业务代码中存在裸数字常量,需确认是否应命名化 adc_channel_length_config(ADC0, ADC_REGULAR_CHANNEL, 3); 安全相关阈值/时间/比例建议用具名常量或配置宏。
442 info SUP-MAG-001 device/ADC.cpp 109 业务代码中存在裸数字常量,需确认是否应命名化 adc_regular_channel_config(ADC0, 2, ADC_CHANNEL_6, ADC_SAMPLETIME_28POINT5); 安全相关阈值/时间/比例建议用具名常量或配置宏。
443 info SUP-MAG-001 device/ADC.cpp 117 业务代码中存在裸数字常量,需确认是否应命名化 adc_channel_length_config(ADC0, ADC_INSERTED_CHANNEL, 4); 安全相关阈值/时间/比例建议用具名常量或配置宏。
444 info SUP-MAG-001 device/ADC.cpp 120 业务代码中存在裸数字常量,需确认是否应命名化 adc_inserted_channel_config(ADC0, 2, ADC_CHANNEL_4, ADC_SAMPLETIME_55POINT5); 安全相关阈值/时间/比例建议用具名常量或配置宏。
445 info SUP-MAG-001 device/ADC.cpp 121 业务代码中存在裸数字常量,需确认是否应命名化 adc_inserted_channel_config(ADC0, 3, ADC_CHANNEL_5, ADC_SAMPLETIME_55POINT5); 安全相关阈值/时间/比例建议用具名常量或配置宏。
446 info SUP-MAG-001 device/ADC.cpp 148 业务代码中存在裸数字常量,需确认是否应命名化 static_cast<u16>((-CURRENT_OFFSET / ADC_SCALE) + 0.5f)); 安全相关阈值/时间/比例建议用具名常量或配置宏。
447 info SUP-MAG-001 device/ADC.cpp 152 业务代码中存在裸数字常量,需确认是否应命名化 (1.43f - adc_value[0] * ADC_SCALE) * TEMP_FACTOR + 35.0f; 安全相关阈值/时间/比例建议用具名常量或配置宏。
448 info SUP-MAG-001 device/ADC.cpp 158 业务代码中存在裸数字常量,需确认是否应命名化 vbus_samples[i] = adc_value[2] * ADC_SCALE * VCC_FACTOR; 安全相关阈值/时间/比例建议用具名常量或配置宏。
449 info SUP-MAG-001 device/ADC.cpp 160 业务代码中存在裸数字常量,需确认是否应命名化 float R_now = (float)adc_value[1] / (4096 - (float)adc_value[1]) * 4700; 安全相关阈值/时间/比例建议用具名常量或配置宏。
450 info SUP-MAG-001 device/ADC.cpp 162 业务代码中存在裸数字常量,需确认是否应命名化 1.0f / (0.00335f + 0.00025f * log(R_now / 10000.0f)) - 273.15f; 安全相关阈值/时间/比例建议用具名常量或配置宏。
451 info SUP-MAG-001 device/ADC.cpp 241 业务代码中存在裸数字常量,需确认是否应命名化 (1.43f - adc_value[0] * ADC_SCALE) * TEMP_FACTOR + 35.0f; 安全相关阈值/时间/比例建议用具名常量或配置宏。
452 info SUP-MAG-001 device/ADC.cpp 259 业务代码中存在裸数字常量,需确认是否应命名化 float R_now = (float)adc_value[1] / (4096 - (float)adc_value[1]) * 4700; 安全相关阈值/时间/比例建议用具名常量或配置宏。
453 info SUP-MAG-001 device/ADC.cpp 261 业务代码中存在裸数字常量,需确认是否应命名化 1.0f / (0.00335f + 0.00025f * log(R_now / 10000.0f)) - 273.15f; 安全相关阈值/时间/比例建议用具名常量或配置宏。
454 info SUP-MAG-001 device/ADC.cpp 285 业务代码中存在裸数字常量,需确认是否应命名化 currW_samples[idx] = current_adc_to_ma(adc_current_value[2]); 安全相关阈值/时间/比例建议用具名常量或配置宏。
455 info SUP-MAG-001 device/ADC.cpp 299 业务代码中存在裸数字常量,需确认是否应命名化 vbus_samples[temp_vbus_head] = adc_value[2] * ADC_SCALE * VCC_FACTOR; 安全相关阈值/时间/比例建议用具名常量或配置宏。
456 info SUP-MAG-001 device/ADC.cpp 305 业务代码中存在裸数字常量,需确认是否应命名化 const u8 mid = ADC_FILTER_SIZE / 2; 安全相关阈值/时间/比例建议用具名常量或配置宏。
457 info SUP-MAG-001 device/ADC.cpp 323 业务代码中存在裸数字常量,需确认是否应命名化 adc_current_value[2] = adc_inserted_data_read(ADC0, ADC_INSERTED_CHANNEL_3); 安全相关阈值/时间/比例建议用具名常量或配置宏。
458 info SUP-MAG-001 device/Can.cpp 49 业务代码中存在裸数字常量,需确认是否应命名化 uint8_t can_rx_buffer[64]; 安全相关阈值/时间/比例建议用具名常量或配置宏。
459 info SUP-MAG-001 device/Can.cpp 50 业务代码中存在裸数字常量,需确认是否应命名化 static uint32_t can_rx_dma_words[16]; 安全相关阈值/时间/比例建议用具名常量或配置宏。
460 info SUP-MAG-001 device/Can.cpp 63 业务代码中存在裸数字常量,需确认是否应命名化 u8 data[64]; 安全相关阈值/时间/比例建议用具名常量或配置宏。
461 info SUP-MAG-001 device/Can.cpp 82 业务代码中存在裸数字常量,需确认是否应命名化 static constexpr u8 CANFD_DLC_LENGTH_TABLE[7] = {12, 16, 20, 24, 32, 48, 64}; 安全相关阈值/时间/比例建议用具名常量或配置宏。
462 info SUP-MAG-001 device/Can.cpp 103 业务代码中存在裸数字常量,需确认是否应命名化 return ((u32)node_id << 16) | (base_id & 0xFFFF); 安全相关阈值/时间/比例建议用具名常量或配置宏。
463 info SUP-MAG-001 device/Can.cpp 116 业务代码中存在裸数字常量,需确认是否应命名化 u16 rx_node_id = (u16)((received_id >> 16) & 0xFFFF); 安全相关阈值/时间/比例建议用具名常量或配置宏。
464 info SUP-MAG-001 device/Can.cpp 323 业务代码中存在裸数字常量,需确认是否应命名化 dma_rx_parameter.number = 16; 安全相关阈值/时间/比例建议用具名常量或配置宏。
465 info SUP-MAG-001 device/Can.cpp 363 业务代码中存在裸数字常量,需确认是否应命名化 can_parameter.prescaler = 6; 安全相关阈值/时间/比例建议用具名常量或配置宏。
466 info SUP-MAG-001 device/Can.cpp 426 业务代码中存在裸数字常量,需确认是否应命名化 can_parameter.prescaler = 6; 安全相关阈值/时间/比例建议用具名常量或配置宏。
467 info SUP-MAG-001 device/Can.cpp 445 业务代码中存在裸数字常量,需确认是否应命名化 can_fd_parameter.data_prescaler = 6; 安全相关阈值/时间/比例建议用具名常量或配置宏。
468 info SUP-MAG-001 device/Can.cpp 499 业务代码中存在裸数字常量,需确认是否应命名化 can_parameter.prescaler = 6; 安全相关阈值/时间/比例建议用具名常量或配置宏。
469 info SUP-MAG-001 device/Can.cpp 501 业务代码中存在裸数字常量,需确认是否应命名化 u16 i = 200; 安全相关阈值/时间/比例建议用具名常量或配置宏。
470 info SUP-MAG-001 device/Can.cpp 503 业务代码中存在裸数字常量,需确认是否应命名化 delay_1ms(10); 安全相关阈值/时间/比例建议用具名常量或配置宏。
471 info SUP-MAG-001 device/Can.cpp 516 业务代码中存在裸数字常量,需确认是否应命名化 ((uint16_t)(DEV_CAN_LOOPBACK_ID)) << 3U | (1U << 2); 安全相关阈值/时间/比例建议用具名常量或配置宏。
472 info SUP-MAG-001 device/Can.cpp 545 业务代码中存在裸数字常量,需确认是否应命名化 std::uniform_int_distribution<int> dis(0, 255); 安全相关阈值/时间/比例建议用具名常量或配置宏。
473 info SUP-MAG-001 device/Can.cpp 552 业务代码中存在裸数字常量,需确认是否应命名化 transmit_message.tx_dlen = 7; 安全相关阈值/时间/比例建议用具名常量或配置宏。
474 info SUP-MAG-001 device/Can.cpp 621 业务代码中存在裸数字常量,需确认是否应命名化 transmit_message.tx_dlen = 7; 安全相关阈值/时间/比例建议用具名常量或配置宏。
475 info SUP-MAG-001 device/Can.cpp 762 业务代码中存在裸数字常量,需确认是否应命名化 if (rx_queue[rx_queue_tail].length > 64) { 安全相关阈值/时间/比例建议用具名常量或配置宏。
476 info SUP-MAG-001 device/Can.cpp 763 业务代码中存在裸数字常量,需确认是否应命名化 rx_queue[rx_queue_tail].length = 64; 安全相关阈值/时间/比例建议用具名常量或配置宏。
477 info SUP-MAG-001 device/Can.cpp 815 业务代码中存在裸数字常量,需确认是否应命名化 message->fd_flag = (uint8_t)((CAN_RFIFOMP_FDF & rfifomp) >> 7); 安全相关阈值/时间/比例建议用具名常量或配置宏。
478 info SUP-MAG-001 device/Can.cpp 819 业务代码中存在裸数字常量,需确认是否应命名化 message->fd_brs = (uint8_t)((rfifomp & CAN_RFIFOMP_BRS) >> 5); 安全相关阈值/时间/比例建议用具名常量或配置宏。
479 info SUP-MAG-001 device/Can.cpp 820 业务代码中存在裸数字常量,需确认是否应命名化 message->fd_esi = (uint8_t)((rfifomp & CAN_RFIFOMP_ESI) >> 4); 安全相关阈值/时间/比例建议用具名常量或配置宏。
480 info SUP-MAG-001 device/Can.cpp 833 业务代码中存在裸数字常量,需确认是否应命名化 if (can_rx_dma_message.rx_dlen > 64) { 安全相关阈值/时间/比例建议用具名常量或配置宏。
481 info SUP-MAG-001 device/Can.cpp 834 业务代码中存在裸数字常量,需确认是否应命名化 can_rx_dma_message.rx_dlen = 64; 安全相关阈值/时间/比例建议用具名常量或配置宏。
482 info SUP-MAG-001 device/Can.cpp 1004 业务代码中存在裸数字常量,需确认是否应命名化 limit_voltage = FOC.limit_voltage * 1000; 安全相关阈值/时间/比例建议用具名常量或配置宏。
483 info SUP-MAG-001 device/Can.cpp 1005 业务代码中存在裸数字常量,需确认是否应命名化 mcu_temp = sampler.get_mcu_temp() * 100; 安全相关阈值/时间/比例建议用具名常量或配置宏。
484 info SUP-MAG-001 device/Can.cpp 1006 业务代码中存在裸数字常量,需确认是否应命名化 motor_temp = sampler.get_drv_temp() * 100; 安全相关阈值/时间/比例建议用具名常量或配置宏。
485 info SUP-MAG-001 device/Can.cpp 1007 业务代码中存在裸数字常量,需确认是否应命名化 Power_Voltage = sampler.get_vbus_voltage() * 1000; 安全相关阈值/时间/比例建议用具名常量或配置宏。
486 info SUP-MAG-001 device/Can.cpp 1015 业务代码中存在裸数字常量,需确认是否应命名化 u_current_union.f = sampler.get_current('') * 1000; 安全相关阈值/时间/比例建议用具名常量或配置宏。
487 info SUP-MAG-001 device/Can.cpp 1016 业务代码中存在裸数字常量,需确认是否应命名化 w_current_union.f = sampler.get_current('') * 1000; 安全相关阈值/时间/比例建议用具名常量或配置宏。
488 info SUP-MAG-001 device/Can.cpp 1017 业务代码中存在裸数字常量,需确认是否应命名化 v_current_union.f = sampler.get_current('') * 1000; 安全相关阈值/时间/比例建议用具名常量或配置宏。
489 info SUP-MAG-001 device/Can.cpp 1035 业务代码中存在裸数字常量,需确认是否应命名化 memset(transmit_data, 0, 32); 安全相关阈值/时间/比例建议用具名常量或配置宏。
490 info SUP-MAG-001 device/Can.cpp 1037 业务代码中存在裸数字常量,需确认是否应命名化 pack_u16_to_bytes(transmit_data, 2, motor_temp); 安全相关阈值/时间/比例建议用具名常量或配置宏。
491 info SUP-MAG-001 device/Can.cpp 1038 业务代码中存在裸数字常量,需确认是否应命名化 pack_u16_to_bytes(transmit_data, 4, u16(u_current_union.f)); 安全相关阈值/时间/比例建议用具名常量或配置宏。
492 info SUP-MAG-001 device/Can.cpp 1039 业务代码中存在裸数字常量,需确认是否应命名化 pack_u16_to_bytes(transmit_data, 6, u16(v_current_union.f)); 安全相关阈值/时间/比例建议用具名常量或配置宏。
493 info SUP-MAG-001 device/Can.cpp 1040 业务代码中存在裸数字常量,需确认是否应命名化 pack_u16_to_bytes(transmit_data, 8, u16(w_current_union.f)); 安全相关阈值/时间/比例建议用具名常量或配置宏。
494 info SUP-MAG-001 device/Can.cpp 1041 业务代码中存在裸数字常量,需确认是否应命名化 transmit_data[10] = 安全相关阈值/时间/比例建议用具名常量或配置宏。
495 info SUP-MAG-001 device/Can.cpp 1042 业务代码中存在裸数字常量,需确认是否应命名化 (transmit_data[10] & ~0x07) | 安全相关阈值/时间/比例建议用具名常量或配置宏。
496 info SUP-MAG-001 device/Can.cpp 1044 业务代码中存在裸数字常量,需确认是否应命名化 ((ThermalStatus & 0x01) << 2) | ((EEPROMStatus & 0x07) << 3)); 安全相关阈值/时间/比例建议用具名常量或配置宏。
497 info SUP-MAG-001 device/Can.cpp 1045 业务代码中存在裸数字常量,需确认是否应命名化 pack_u16_to_bytes(transmit_data, 11, Power_Voltage); 安全相关阈值/时间/比例建议用具名常量或配置宏。
498 info SUP-MAG-001 device/Can.cpp 1046 业务代码中存在裸数字常量,需确认是否应命名化 pack_float_to_bytes(transmit_data, 13, rt_angle_union); 安全相关阈值/时间/比例建议用具名常量或配置宏。
499 info SUP-MAG-001 device/Can.cpp 1047 业务代码中存在裸数字常量,需确认是否应命名化 pack_float_to_bytes(transmit_data, 17, rt_velocity_union); 安全相关阈值/时间/比例建议用具名常量或配置宏。
500 info SUP-MAG-001 device/Can.cpp 1048 业务代码中存在裸数字常量,需确认是否应命名化 pack_float_to_bytes(transmit_data, 21, rt_current_union); 安全相关阈值/时间/比例建议用具名常量或配置宏。
501 info SUP-MAG-001 device/Can.cpp 1049 业务代码中存在裸数字常量,需确认是否应命名化 pack_float_to_bytes(transmit_data, 25, testfloat_union); 安全相关阈值/时间/比例建议用具名常量或配置宏。
502 info SUP-MAG-001 device/Can.cpp 1050 业务代码中存在裸数字常量,需确认是否应命名化 transmit_data[29] = test_u16 & 0xFF; 安全相关阈值/时间/比例建议用具名常量或配置宏。
503 info SUP-MAG-001 device/Can.cpp 1051 业务代码中存在裸数字常量,需确认是否应命名化 transmit_data[30] = (test_u16 >> 8) & 0xFF; 安全相关阈值/时间/比例建议用具名常量或配置宏。
504 info SUP-MAG-001 device/Can.cpp 1052 业务代码中存在裸数字常量,需确认是否应命名化 transmit_data[31] = cpu_usage; 安全相关阈值/时间/比例建议用具名常量或配置宏。
505 info SUP-MAG-001 device/Can.cpp 1055 业务代码中存在裸数字常量,需确认是否应命名化 CANFD_AsyncSend(build_can_id(CANFD_STATUS_ID), 32, transmit_data); 安全相关阈值/时间/比例建议用具名常量或配置宏。
506 info SUP-MAG-001 device/Can.cpp 1058 业务代码中存在裸数字常量,需确认是否应命名化 memset(transmit_data, 0, 24); 安全相关阈值/时间/比例建议用具名常量或配置宏。
507 info SUP-MAG-001 device/Can.cpp 1061 业务代码中存在裸数字常量,需确认是否应命名化 pack_float_to_bytes(transmit_data, 3, target_current_union); 安全相关阈值/时间/比例建议用具名常量或配置宏。
508 info SUP-MAG-001 device/Can.cpp 1062 业务代码中存在裸数字常量,需确认是否应命名化 pack_float_to_bytes(transmit_data, 7, target_velocity_union); 安全相关阈值/时间/比例建议用具名常量或配置宏。
509 info SUP-MAG-001 device/Can.cpp 1063 业务代码中存在裸数字常量,需确认是否应命名化 pack_float_to_bytes(transmit_data, 11, target_angle_union); 安全相关阈值/时间/比例建议用具名常量或配置宏。
510 info SUP-MAG-001 device/Can.cpp 1066 业务代码中存在裸数字常量,需确认是否应命名化 CANFD_AsyncSend(build_can_id(CANFD_CONFIG_ID), 24, transmit_data); 安全相关阈值/时间/比例建议用具名常量或配置宏。
511 info SUP-MAG-001 device/Can.cpp 1102 业务代码中存在裸数字常量,需确认是否应命名化 u16 sender_node_id = (u16)((current_message.rx_efid >> 16) & 0xFFFF); 安全相关阈值/时间/比例建议用具名常量或配置宏。
512 info SUP-MAG-001 device/Can.cpp 1138 业务代码中存在裸数字常量,需确认是否应命名化 if (current_message.rx_dlen >= 2) { 安全相关阈值/时间/比例建议用具名常量或配置宏。
513 info SUP-MAG-001 device/Can.cpp 1153 业务代码中存在裸数字常量,需确认是否应命名化 transmit_data[2] = 安全相关阈值/时间/比例建议用具名常量或配置宏。
514 info SUP-MAG-001 device/Can.cpp 1154 业务代码中存在裸数字常量,需确认是否应命名化 (u8)((new_node_id >> 8) & 0xFF); 安全相关阈值/时间/比例建议用具名常量或配置宏。
515 info SUP-MAG-001 device/Can.cpp 1158 业务代码中存在裸数字常量,需确认是否应命名化 u8 send_result = CANFD_AsyncSend(build_can_id(CANFD_SET_NODE_ID), 3, 安全相关阈值/时间/比例建议用具名常量或配置宏。
516 info SUP-MAG-001 device/Can.cpp 1179 业务代码中存在裸数字常量,需确认是否应命名化 CANFD_AsyncSend(build_can_id(CANFD_SET_NODE_ID), 3, 安全相关阈值/时间/比例建议用具名常量或配置宏。
517 info SUP-MAG-001 device/Can.cpp 1188 业务代码中存在裸数字常量,需确认是否应命名化 transmit_data[2] = (u8)((new_node_id >> 8) & 0xFF); 安全相关阈值/时间/比例建议用具名常量或配置宏。
518 info SUP-MAG-001 device/Can.cpp 1190 业务代码中存在裸数字常量,需确认是否应命名化 CANFD_AsyncSend(build_can_id(CANFD_SET_NODE_ID), 3, 安全相关阈值/时间/比例建议用具名常量或配置宏。
519 info SUP-MAG-001 device/Can.cpp 1207 业务代码中存在裸数字常量,需确认是否应命名化 float(unpack_bytes_to_u16(current_message.rx_data, 1)) / 1000; 安全相关阈值/时间/比例建议用具名常量或配置宏。
520 info SUP-MAG-001 device/Can.cpp 1210 业务代码中存在裸数字常量,需确认是否应命名化 unpack_bytes_to_float(current_message.rx_data, 3).f; 安全相关阈值/时间/比例建议用具名常量或配置宏。
521 info SUP-MAG-001 device/Can.cpp 1215 业务代码中存在裸数字常量,需确认是否应命名化 unpack_bytes_to_float(current_message.rx_data, 7).f; 安全相关阈值/时间/比例建议用具名常量或配置宏。
522 info SUP-MAG-001 device/Can.cpp 1220 业务代码中存在裸数字常量,需确认是否应命名化 unpack_bytes_to_float(current_message.rx_data, 11).f; 安全相关阈值/时间/比例建议用具名常量或配置宏。
523 info SUP-MAG-001 device/Can.cpp 1229 业务代码中存在裸数字常量,需确认是否应命名化 u16 P_config = unpack_bytes_to_u16(current_message.rx_data, 15); 安全相关阈值/时间/比例建议用具名常量或配置宏。
524 info SUP-MAG-001 device/Can.cpp 1233 业务代码中存在裸数字常量,需确认是否应命名化 P_config = unpack_bytes_to_u16(current_message.rx_data, 17); 安全相关阈值/时间/比例建议用具名常量或配置宏。
525 info SUP-MAG-001 device/Can.cpp 1238 业务代码中存在裸数字常量,需确认是否应命名化 P_config = unpack_bytes_to_u16(current_message.rx_data, 19); 安全相关阈值/时间/比例建议用具名常量或配置宏。
526 info SUP-MAG-001 device/Can.cpp 1244 业务代码中存在裸数字常量,需确认是否应命名化 u8 eigth_byte = current_message.rx_data[7]; 安全相关阈值/时间/比例建议用具名常量或配置宏。
527 info SUP-MAG-001 device/Can.cpp 1255 业务代码中存在裸数字常量,需确认是否应命名化 if (first_byte >> 2 & 0x01) { 安全相关阈值/时间/比例建议用具名常量或配置宏。
528 info SUP-MAG-001 device/Can.cpp 1259 业务代码中存在裸数字常量,需确认是否应命名化 if (first_byte >> 3 & 0x01) { 安全相关阈值/时间/比例建议用具名常量或配置宏。
529 info SUP-MAG-001 device/Can.cpp 1266 业务代码中存在裸数字常量,需确认是否应命名化 if (first_byte >> 4 & 0x01) { 安全相关阈值/时间/比例建议用具名常量或配置宏。
530 info SUP-MAG-001 device/Can.cpp 1271 业务代码中存在裸数字常量,需确认是否应命名化 if (eigth_byte & 0x80 >> 7) { 安全相关阈值/时间/比例建议用具名常量或配置宏。
531 info SUP-MAG-001 device/Can.cpp 1287 业务代码中存在裸数字常量,需确认是否应命名化 CANFD_AsyncSend(build_can_id(CANFD_OTA_ACK_ID), 2, 安全相关阈值/时间/比例建议用具名常量或配置宏。
532 info SUP-MAG-001 device/Can.cpp 1294 业务代码中存在裸数字常量,需确认是否应命名化 CANFD_AsyncSend(build_can_id(CANFD_GET_NODE_ID), 2, transmit_data); 安全相关阈值/时间/比例建议用具名常量或配置宏。
533 info SUP-MAG-001 device/Can.cpp 1401 业务代码中存在裸数字常量,需确认是否应命名化 if (length > 8) { 安全相关阈值/时间/比例建议用具名常量或配置宏。
534 info SUP-MAG-001 device/Can.cpp 1419 业务代码中存在裸数字常量,需确认是否应命名化 for (int i = 0; i < length && i < 8; i++) { 安全相关阈值/时间/比例建议用具名常量或配置宏。
535 info SUP-MAG-001 device/Can.h 25 业务代码中存在裸数字常量,需确认是否应命名化 u8 b[4]; 安全相关阈值/时间/比例建议用具名常量或配置宏。
536 info SUP-MAG-001 device/Can.h 38 业务代码中存在裸数字常量,需确认是否应命名化 buffer[offset + 1] = (u8)((value >> 8) & 0xFF); 安全相关阈值/时间/比例建议用具名常量或配置宏。
537 info SUP-MAG-001 device/Can.h 53 业务代码中存在裸数字常量,需确认是否应命名化 buffer[offset + 2] = float_union.b[2]; 安全相关阈值/时间/比例建议用具名常量或配置宏。
538 info SUP-MAG-001 device/Can.h 54 业务代码中存在裸数字常量,需确认是否应命名化 buffer[offset + 3] = float_union.b[3]; 安全相关阈值/时间/比例建议用具名常量或配置宏。
539 info SUP-MAG-001 device/Can.h 65 业务代码中存在裸数字常量,需确认是否应命名化 short value = (short)(buffer[offset] | (buffer[offset + 1] << 8)); 安全相关阈值/时间/比例建议用具名常量或配置宏。
540 info SUP-MAG-001 device/Can.h 77 业务代码中存在裸数字常量,需确认是否应命名化 u16 value = (u16)(buffer[offset] | (buffer[offset + 1] << 8)); 安全相关阈值/时间/比例建议用具名常量或配置宏。
541 info SUP-MAG-001 device/Can.h 92 业务代码中存在裸数字常量,需确认是否应命名化 float_union.b[2] = buffer[offset + 2]; 安全相关阈值/时间/比例建议用具名常量或配置宏。
542 info SUP-MAG-001 device/Can.h 93 业务代码中存在裸数字常量,需确认是否应命名化 float_union.b[3] = buffer[offset + 3]; 安全相关阈值/时间/比例建议用具名常量或配置宏。
543 info SUP-MAG-001 device/Can.h 161 业务代码中存在裸数字常量,需确认是否应命名化 static const uint8_t CAN_RX_BUFFER_SIZE = 8; 安全相关阈值/时间/比例建议用具名常量或配置宏。
544 info SUP-MAG-001 device/Can.h 162 业务代码中存在裸数字常量,需确认是否应命名化 static const u32 CAN_SILENT_DURATION_MS = 10000; 安全相关阈值/时间/比例建议用具名常量或配置宏。
545 info SUP-MAG-001 device/Can.h 195 业务代码中存在裸数字常量,需确认是否应命名化 u8 transmit_data[64]; 安全相关阈值/时间/比例建议用具名常量或配置宏。
546 info SUP-MAG-001 device/Timer.cpp 19 业务代码中存在裸数字常量,需确认是否应命名化 extern u16 adc_value[3]; 安全相关阈值/时间/比例建议用具名常量或配置宏。
547 info SUP-MAG-001 device/Timer.cpp 27 业务代码中存在裸数字常量,需确认是否应命名化 static const u32 task_schedule_100us[10] = { 安全相关阈值/时间/比例建议用具名常量或配置宏。
548 info SUP-MAG-001 device/Timer.cpp 41 业务代码中存在裸数字常量,需确认是否应命名化 static const u32 task_schedule_1ms[10] = { 安全相关阈值/时间/比例建议用具名常量或配置宏。
549 info SUP-MAG-001 device/Timer.cpp 48 业务代码中存在裸数字常量,需确认是否应命名化 static const u32 task_schedule_10ms[10] = { 安全相关阈值/时间/比例建议用具名常量或配置宏。
550 info SUP-MAG-001 device/Timer.cpp 53 业务代码中存在裸数字常量,需确认是否应命名化 static const u32 task_schedule_100ms[10] = { 安全相关阈值/时间/比例建议用具名常量或配置宏。
551 info SUP-MAG-001 device/Timer.cpp 69 业务代码中存在裸数字常量,需确认是否应命名化 nvic_irq_enable(TIMER1_IRQn, 0, 2); 安全相关阈值/时间/比例建议用具名常量或配置宏。
552 info SUP-MAG-001 device/Timer.cpp 299 业务代码中存在裸数字常量,需确认是否应命名化 if (channel <= 3) { 安全相关阈值/时间/比例建议用具名常量或配置宏。
553 info SUP-MAG-001 device/ang_sensor.cpp 124 业务代码中存在裸数字常量,需确认是否应命名化 uint32_t timeout = 100; 安全相关阈值/时间/比例建议用具名常量或配置宏。
554 info SUP-MAG-001 device/ang_sensor.cpp 203 业务代码中存在裸数字常量,需确认是否应命名化 spi_init_str.prescale = 24; 安全相关阈值/时间/比例建议用具名常量或配置宏。
555 info SUP-MAG-001 main.cpp 69 业务代码中存在裸数字常量,需确认是否应命名化 watchdog_init(50); 安全相关阈值/时间/比例建议用具名常量或配置宏。
556 info SUP-MAG-001 main.cpp 150 业务代码中存在裸数字常量,需确认是否应命名化 FOC.control_mode < 8) { 安全相关阈值/时间/比例建议用具名常量或配置宏。
557 info SUP-MAG-001 sys/config.h 32 业务代码中存在裸数字常量,需确认是否应命名化 constexpr u16 SOFTWARE_VERSION_MAJOR = 26; 安全相关阈值/时间/比例建议用具名常量或配置宏。
558 info SUP-MAG-001 sys/config.h 34 业务代码中存在裸数字常量,需确认是否应命名化 constexpr u16 SOFTWARE_VERSION_MINOR = 5; 安全相关阈值/时间/比例建议用具名常量或配置宏。
559 info SUP-MAG-001 sys/config.h 36 业务代码中存在裸数字常量,需确认是否应命名化 constexpr u16 SOFTWARE_VERSION_PATCH = 19; 安全相关阈值/时间/比例建议用具名常量或配置宏。
560 info SUP-MAG-001 sys/config.h 38 业务代码中存在裸数字常量,需确认是否应命名化 constexpr u16 SOFTWARE_VERSION_BUILD = 2; 安全相关阈值/时间/比例建议用具名常量或配置宏。
561 info SUP-MAG-001 sys/config.h 41 业务代码中存在裸数字常量,需确认是否应命名化 constexpr u16 HARDWARE_VERSION_MAJOR = 25; 安全相关阈值/时间/比例建议用具名常量或配置宏。
562 info SUP-MAG-001 sys/config.h 43 业务代码中存在裸数字常量,需确认是否应命名化 constexpr u16 HARDWARE_VERSION_MINOR = 12; 安全相关阈值/时间/比例建议用具名常量或配置宏。
563 info SUP-MAG-001 sys/config.h 50 业务代码中存在裸数字常量,需确认是否应命名化 constexpr u16 BOOT_VERSION_MAJOR = 26; 安全相关阈值/时间/比例建议用具名常量或配置宏。
564 info SUP-MAG-001 sys/config.h 54 业务代码中存在裸数字常量,需确认是否应命名化 constexpr u16 BOOT_VERSION_PATCH = 12; 安全相关阈值/时间/比例建议用具名常量或配置宏。
565 info SUP-MAG-001 sys/config.h 125 业务代码中存在裸数字常量,需确认是否应命名化 constexpr u32 OTA_CONFIG_NUM = 6; 安全相关阈值/时间/比例建议用具名常量或配置宏。
566 info SUP-MAG-001 sys/config.h 145 业务代码中存在裸数字常量,需确认是否应命名化 constexpr u8 PP = 11; 安全相关阈值/时间/比例建议用具名常量或配置宏。
567 info SUP-MAG-001 sys/config.h 149 业务代码中存在裸数字常量,需确认是否应命名化 constexpr u16 REDUCTION_RATIO = 25; 安全相关阈值/时间/比例建议用具名常量或配置宏。
568 info SUP-MAG-001 sys/config.h 151 业务代码中存在裸数字常量,需确认是否应命名化 constexpr float CURRENT_OFFSET = -3.31f / 2.0f; 安全相关阈值/时间/比例建议用具名常量或配置宏。
569 info SUP-MAG-001 sys/config.h 157 业务代码中存在裸数字常量,需确认是否应命名化 constexpr float ANGLESENS_CALIBRATION_ANGLE = 83.0f; 安全相关阈值/时间/比例建议用具名常量或配置宏。
570 info SUP-MAG-001 sys/config.h 171 业务代码中存在裸数字常量,需确认是否应命名化 constexpr float ANGLE_OBSERVER_ALPHA = 0.75f; 安全相关阈值/时间/比例建议用具名常量或配置宏。
571 info SUP-MAG-001 sys/config.h 179 业务代码中存在裸数字常量,需确认是否应命名化 constexpr float VELOCITY_KALMAN_INITIAL_COVARIANCE = 1e-3f; 安全相关阈值/时间/比例建议用具名常量或配置宏。
572 info SUP-MAG-001 sys/config.h 182 业务代码中存在裸数字常量,需确认是否应命名化 5e-4f; 安全相关阈值/时间/比例建议用具名常量或配置宏。
573 info SUP-MAG-001 sys/config.h 191 业务代码中存在裸数字常量,需确认是否应命名化 constexpr float CURRENT_KALMAN_INITIAL_COVARIANCE = 100.0f; 安全相关阈值/时间/比例建议用具名常量或配置宏。
574 info SUP-MAG-001 sys/config.h 193 业务代码中存在裸数字常量,需确认是否应命名化 constexpr float CURRENT_KALMAN_PROCESS_NOISE_Q = 10.0f; 安全相关阈值/时间/比例建议用具名常量或配置宏。
575 info SUP-MAG-001 sys/config.h 195 业务代码中存在裸数字常量,需确认是否应命名化 constexpr float CURRENT_KALMAN_MEASUREMENT_NOISE_R = 5e-5f; 安全相关阈值/时间/比例建议用具名常量或配置宏。
576 info SUP-MAG-001 sys/config.h 199 业务代码中存在裸数字常量,需确认是否应命名化 constexpr float DEFAULT_current_loop_p = 0.1f / 100 * 12; 安全相关阈值/时间/比例建议用具名常量或配置宏。
577 info SUP-MAG-001 sys/config.h 201 业务代码中存在裸数字常量,需确认是否应命名化 constexpr float current_loop_Ki = 0.55f; 安全相关阈值/时间/比例建议用具名常量或配置宏。
578 info SUP-MAG-001 sys/config.h 203 业务代码中存在裸数字常量,需确认是否应命名化 constexpr float current_loop_Kd = 3e-4f; 安全相关阈值/时间/比例建议用具名常量或配置宏。
579 info SUP-MAG-001 sys/config.h 206 业务代码中存在裸数字常量,需确认是否应命名化 constexpr float DEFAULT_vel_loop_p = 0.018f / 100 * 12; 安全相关阈值/时间/比例建议用具名常量或配置宏。
580 info SUP-MAG-001 sys/config.h 208 业务代码中存在裸数字常量,需确认是否应命名化 constexpr float vel_loop_Ku = 3.600000e-03 * 0.7 * 100 / 12; 安全相关阈值/时间/比例建议用具名常量或配置宏。
581 info SUP-MAG-001 sys/config.h 210 业务代码中存在裸数字常量,需确认是否应命名化 constexpr float vel_loop_Tu = 17.0f * 1e-3f; 安全相关阈值/时间/比例建议用具名常量或配置宏。
582 info SUP-MAG-001 sys/config.h 212 业务代码中存在裸数字常量,需确认是否应命名化 constexpr float vel_loop_Ki = 1.2 * vel_loop_Ku / vel_loop_Tu; 安全相关阈值/时间/比例建议用具名常量或配置宏。
583 info SUP-MAG-001 sys/config.h 214 业务代码中存在裸数字常量,需确认是否应命名化 constexpr float vel_loop_Kd = 0.075 * vel_loop_Ku * vel_loop_Tu * 2; 安全相关阈值/时间/比例建议用具名常量或配置宏。
584 info SUP-MAG-001 sys/config.h 217 业务代码中存在裸数字常量,需确认是否应命名化 constexpr float DEFAULT_vel_angloop_p = 0.4f / 100; 安全相关阈值/时间/比例建议用具名常量或配置宏。
585 info SUP-MAG-001 sys/config.h 219 业务代码中存在裸数字常量,需确认是否应命名化 constexpr float vel_angloop_Ki = 5.0f; 安全相关阈值/时间/比例建议用具名常量或配置宏。
586 info SUP-MAG-001 sys/config.h 225 业务代码中存在裸数字常量,需确认是否应命名化 150.0f / 100 * 12; 安全相关阈值/时间/比例建议用具名常量或配置宏。
587 info SUP-MAG-001 sys/config.h 232 业务代码中存在裸数字常量,需确认是否应命名化 constexpr float DEFAULT_angle_loop_p = 60.0f / 100 * 12; 安全相关阈值/时间/比例建议用具名常量或配置宏。
588 info SUP-MAG-001 sys/config.h 235 业务代码中存在裸数字常量,需确认是否应命名化 constexpr float DEFAULT_angle_MIT_p = 100.0f / 100 * 12; 安全相关阈值/时间/比例建议用具名常量或配置宏。
589 info SUP-MAG-001 sys/config.h 242 业务代码中存在裸数字常量,需确认是否应命名化 constexpr float DEFAULT_vel_MIT_p = 5.0f / 100; 安全相关阈值/时间/比例建议用具名常量或配置宏。
590 info SUP-MAG-001 sys/config.h 244 业务代码中存在裸数字常量,需确认是否应命名化 constexpr float vel_MIT_Ki = 15.0f; 安全相关阈值/时间/比例建议用具名常量或配置宏。
591 info SUP-MAG-001 sys/config.h 249 业务代码中存在裸数字常量,需确认是否应命名化 constexpr float DEFAULT_current_MIT_p = 0.2f / 100 * 12; 安全相关阈值/时间/比例建议用具名常量或配置宏。
592 info SUP-MAG-001 sys/config.h 253 业务代码中存在裸数字常量,需确认是否应命名化 constexpr float current_MIT_Kd = 3e-4f; 安全相关阈值/时间/比例建议用具名常量或配置宏。
593 info SUP-MAG-001 sys/config.h 260 业务代码中存在裸数字常量,需确认是否应命名化 constexpr float ADC_MAX = 65536.0f; 安全相关阈值/时间/比例建议用具名常量或配置宏。
594 info SUP-MAG-001 sys/config.h 262 业务代码中存在裸数字常量,需确认是否应命名化 constexpr float PI = 3.14159265358979323846f; 安全相关阈值/时间/比例建议用具名常量或配置宏。
595 info SUP-MAG-001 sys/config.h 264 业务代码中存在裸数字常量,需确认是否应命名化 constexpr float INV_PI_3 = 3.0f / PI; 安全相关阈值/时间/比例建议用具名常量或配置宏。
596 info SUP-MAG-001 sys/config.h 266 业务代码中存在裸数字常量,需确认是否应命名化 constexpr float PI_3 = PI / 3.0f; 安全相关阈值/时间/比例建议用具名常量或配置宏。
597 info SUP-MAG-001 sys/config.h 268 业务代码中存在裸数字常量,需确认是否应命名化 constexpr float _1_SQRT3 = 0.57735026919f; 安全相关阈值/时间/比例建议用具名常量或配置宏。
598 info SUP-MAG-001 sys/config.h 270 业务代码中存在裸数字常量,需确认是否应命名化 constexpr float _3PI_2 = 4.71238898038f; 安全相关阈值/时间/比例建议用具名常量或配置宏。
599 info SUP-MAG-001 sys/config.h 272 业务代码中存在裸数字常量,需确认是否应命名化 constexpr float SQRT3 = 1.7320508075688772f; 安全相关阈值/时间/比例建议用具名常量或配置宏。
600 info SUP-MAG-001 sys/config.h 274 业务代码中存在裸数字常量,需确认是否应命名化 constexpr float SQRT3DV2 = 0.8660254037844386f; 安全相关阈值/时间/比例建议用具名常量或配置宏。
601 info SUP-MAG-001 sys/config.h 276 业务代码中存在裸数字常量,需确认是否应命名化 constexpr float COS_PI_3 = 0.5f; 安全相关阈值/时间/比例建议用具名常量或配置宏。
602 info SUP-MAG-001 sys/config.h 278 业务代码中存在裸数字常量,需确认是否应命名化 constexpr float ANGLE_FACTOR = 25.0f / 180.0f * PI; 安全相关阈值/时间/比例建议用具名常量或配置宏。
603 info SUP-MAG-001 sys/config.h 280 业务代码中存在裸数字常量,需确认是否应命名化 constexpr float DEG2RAD = 1.0f / 180.0f * PI; 安全相关阈值/时间/比例建议用具名常量或配置宏。
604 info SUP-MAG-001 sys/config.h 282 业务代码中存在裸数字常量,需确认是否应命名化 constexpr float RAD2DEG = 180.0f / PI; 安全相关阈值/时间/比例建议用具名常量或配置宏。
605 info SUP-MAG-001 sys/config.h 286 业务代码中存在裸数字常量,需确认是否应命名化 constexpr u8 CONFIG_SAVED_NUM = 6; 安全相关阈值/时间/比例建议用具名常量或配置宏。
606 info SUP-MAG-001 sys/config.h 290 业务代码中存在裸数字常量,需确认是否应命名化 constexpr u16 LUT_SIZE = 1024; 安全相关阈值/时间/比例建议用具名常量或配置宏。
607 info SUP-MAG-001 sys/config.h 294 业务代码中存在裸数字常量,需确认是否应命名化 constexpr u16 LUT_SCALE = (LUT_SIZE / (2.0f * PI)); 安全相关阈值/时间/比例建议用具名常量或配置宏。
608 info SUP-MAG-001 sys/config.h 338 业务代码中存在裸数字常量,需确认是否应命名化 constexpr u8 ADC_FILTER_SIZE = 6; 安全相关阈值/时间/比例建议用具名常量或配置宏。
609 info SUP-MAG-001 sys/config.h 342 业务代码中存在裸数字常量,需确认是否应命名化 constexpr float ERROR_ADC_VAL = 255.0f; 安全相关阈值/时间/比例建议用具名常量或配置宏。
610 info SUP-MAG-001 sys/config.h 344 业务代码中存在裸数字常量,需确认是否应命名化 constexpr float MAX_TEMP = 150.0f; 安全相关阈值/时间/比例建议用具名常量或配置宏。
611 info SUP-MAG-001 sys/config.h 346 业务代码中存在裸数字常量,需确认是否应命名化 constexpr float MIN_TEMP = -40.0f; 安全相关阈值/时间/比例建议用具名常量或配置宏。
612 info SUP-MAG-001 sys/config.h 348 业务代码中存在裸数字常量,需确认是否应命名化 constexpr float MAX_CURRENT = 40.0f; 安全相关阈值/时间/比例建议用具名常量或配置宏。
613 info SUP-MAG-001 sys/config.h 350 业务代码中存在裸数字常量,需确认是否应命名化 constexpr float MIN_CURRENT = -40.0f; 安全相关阈值/时间/比例建议用具名常量或配置宏。
614 info SUP-MAG-001 sys/config.h 352 业务代码中存在裸数字常量,需确认是否应命名化 constexpr float MAX_VCC = 65.0f; 安全相关阈值/时间/比例建议用具名常量或配置宏。
615 info SUP-MAG-001 sys/config.h 358 业务代码中存在裸数字常量,需确认是否应命名化 constexpr u16 VEL_FILTER_SIZE = 4; 安全相关阈值/时间/比例建议用具名常量或配置宏。
616 info SUP-MAG-001 sys/config.h 364 业务代码中存在裸数字常量,需确认是否应命名化 constexpr float ANGLE_WRAP_THRESHOLD = 300.0f; 安全相关阈值/时间/比例建议用具名常量或配置宏。
617 info SUP-MAG-001 sys/config.h 366 业务代码中存在裸数字常量,需确认是否应命名化 constexpr float ANGLE_WRAP_VALUE = 360.0f; 安全相关阈值/时间/比例建议用具名常量或配置宏。
618 info SUP-MAG-001 sys/config.h 368 业务代码中存在裸数字常量,需确认是否应命名化 constexpr float RAD_FACTOR = 1.0f / ADC_MAX * 2.0f * PI; 安全相关阈值/时间/比例建议用具名常量或配置宏。
619 info SUP-MAG-001 sys/config.h 370 业务代码中存在裸数字常量,需确认是否应命名化 constexpr float ANGLESENS_FACTOR = 1.0f / ADC_MAX * 360.0f; 安全相关阈值/时间/比例建议用具名常量或配置宏。
620 info SUP-MAG-001 sys/config.h 374 业务代码中存在裸数字常量,需确认是否应命名化 constexpr int TIMER2_PRESCALER = 119; 安全相关阈值/时间/比例建议用具名常量或配置宏。
621 info SUP-MAG-001 sys/config.h 376 业务代码中存在裸数字常量,需确认是否应命名化 constexpr int TIMER2_PERIOD = 49; 安全相关阈值/时间/比例建议用具名常量或配置宏。
622 info SUP-MAG-001 sys/config.h 381 业务代码中存在裸数字常量,需确认是否应命名化 (TIMER2_PERIOD + 1) * (TIMER2_PRESCALER + 1) / 120000000.0f; 安全相关阈值/时间/比例建议用具名常量或配置宏。
623 info SUP-MAG-001 sys/config.h 391 业务代码中存在裸数字常量,需确认是否应命名化 constexpr int TIMER1_PERIOD = 2999; 安全相关阈值/时间/比例建议用具名常量或配置宏。
624 info SUP-MAG-001 sys/config.h 396 业务代码中存在裸数字常量,需确认是否应命名化 (TIMER1_PERIOD + 1) * 0.41 - 1; 安全相关阈值/时间/比例建议用具名常量或配置宏。
625 info SUP-MAG-001 sys/config.h 400 业务代码中存在裸数字常量,需确认是否应命名化 constexpr u16 COGGING_TABLE_SIZE = 128; 安全相关阈值/时间/比例建议用具名常量或配置宏。
626 info SUP-MAG-001 sys/config.h 413 业务代码中存在裸数字常量,需确认是否应命名化 constexpr float VBUS_DROP_THRESHOLD = 5.0f; 安全相关阈值/时间/比例建议用具名常量或配置宏。
627 info SUP-MAG-001 sys/config.h 415 业务代码中存在裸数字常量,需确认是否应命名化 constexpr float VBUS_ABSOLUTE_MIN = 12.0f; 安全相关阈值/时间/比例建议用具名常量或配置宏。
628 info SUP-MAG-001 sys/config.h 417 业务代码中存在裸数字常量,需确认是否应命名化 constexpr u32 VBUS_DEBOUNCE_COUNT = 5; 安全相关阈值/时间/比例建议用具名常量或配置宏。
629 info SUP-MAG-001 sys/config.h 419 业务代码中存在裸数字常量,需确认是否应命名化 constexpr float VBUS_RECOVERY_RATIO = 0.9f; 安全相关阈值/时间/比例建议用具名常量或配置宏。
630 info SUP-MAG-001 sys/config.h 427 业务代码中存在裸数字常量,需确认是否应命名化 while (angle >= 360.0f) angle -= 360.0f; 安全相关阈值/时间/比例建议用具名常量或配置宏。
631 info SUP-MAG-001 sys/config.h 428 业务代码中存在裸数字常量,需确认是否应命名化 while (angle < 0.0f) angle += 360.0f; 安全相关阈值/时间/比例建议用具名常量或配置宏。
632 info SUP-MAG-001 sys/flash.cpp 97 业务代码中存在裸数字常量,需确认是否应命名化 status_read[2] = readFloat(ADDR_VOLTAGE_LIMIT, &data[1]); 安全相关阈值/时间/比例建议用具名常量或配置宏。
633 info SUP-MAG-001 sys/flash.cpp 98 业务代码中存在裸数字常量,需确认是否应命名化 status_read[3] = readFloat(ADDR_VEL_LIMIT, &data[2]); 安全相关阈值/时间/比例建议用具名常量或配置宏。
634 info SUP-MAG-001 sys/flash.cpp 99 业务代码中存在裸数字常量,需确认是否应命名化 status_read[4] = readFloat(ADDR_ANGLE, &data[3]); 安全相关阈值/时间/比例建议用具名常量或配置宏。
635 info SUP-MAG-001 sys/flash.cpp 100 业务代码中存在裸数字常量,需确认是否应命名化 status_read[5] = readFloat(ADDR_TARGET_ANGLE, &data[4]); 安全相关阈值/时间/比例建议用具名常量或配置宏。
636 info SUP-MAG-001 sys/flash.cpp 101 业务代码中存在裸数字常量,需确认是否应命名化 status_read[6] = readFloat(ADDR_TARGET_VEL, &data[5]); 安全相关阈值/时间/比例建议用具名常量或配置宏。
637 info SUP-MAG-001 sys/flash.cpp 156 业务代码中存在裸数字常量,需确认是否应命名化 FOC.target_current = data[2]; 安全相关阈值/时间/比例建议用具名常量或配置宏。
638 info SUP-MAG-001 sys/flash.cpp 157 业务代码中存在裸数字常量,需确认是否应命名化 KTH7823.angle_set(data[3]); 安全相关阈值/时间/比例建议用具名常量或配置宏。
639 info SUP-MAG-001 sys/flash.cpp 158 业务代码中存在裸数字常量,需确认是否应命名化 FOC.target_angle = data[4]; 安全相关阈值/时间/比例建议用具名常量或配置宏。
640 info SUP-MAG-001 sys/flash.cpp 159 业务代码中存在裸数字常量,需确认是否应命名化 FOC.target_velocity = data[5]; 安全相关阈值/时间/比例建议用具名常量或配置宏。
641 info SUP-MAG-001 sys/flash.cpp 185 业务代码中存在裸数字常量,需确认是否应命名化 *data = (u16)((data_word & DATA_U16_MASK) >> 16); 安全相关阈值/时间/比例建议用具名常量或配置宏。
642 info SUP-MAG-001 sys/flash.cpp 242 业务代码中存在裸数字常量,需确认是否应命名化 u32 data_word_to_write = ((u32)data << 16) | (u32)virtualAddr; 安全相关阈值/时间/比例建议用具名常量或配置宏。
643 info SUP-MAG-001 sys/flash.cpp 441 业务代码中存在裸数字常量,需确认是否应命名化 status = writeFloat(ADDR_VEL_LIMIT, data[2]); 安全相关阈值/时间/比例建议用具名常量或配置宏。
644 info SUP-MAG-001 sys/flash.cpp 447 业务代码中存在裸数字常量,需确认是否应命名化 status = writeFloat(ADDR_ANGLE, data[3]); 安全相关阈值/时间/比例建议用具名常量或配置宏。
645 info SUP-MAG-001 sys/flash.cpp 453 业务代码中存在裸数字常量,需确认是否应命名化 status = writeFloat(ADDR_TARGET_ANGLE, data[4]); 安全相关阈值/时间/比例建议用具名常量或配置宏。
646 info SUP-MAG-001 sys/flash.cpp 459 业务代码中存在裸数字常量,需确认是否应命名化 status = writeFloat(ADDR_TARGET_VEL, data[5]); 安全相关阈值/时间/比例建议用具名常量或配置宏。
647 info SUP-MAG-001 sys/flash.cpp 507 业务代码中存在裸数字常量,需确认是否应命名化 u32 crc_data[2]; 安全相关阈值/时间/比例建议用具名常量或配置宏。
648 info SUP-MAG-001 sys/flash.cpp 511 业务代码中存在裸数字常量,需确认是否应命名化 return crc_block_data_calculate(crc_data, 2); 安全相关阈值/时间/比例建议用具名常量或配置宏。
649 info SUP-MAG-001 sys/flash.cpp 577 业务代码中存在裸数字常量,需确认是否应命名化 u32 write_data[4]; 安全相关阈值/时间/比例建议用具名常量或配置宏。
650 info SUP-MAG-001 sys/flash.cpp 580 业务代码中存在裸数字常量,需确认是否应命名化 write_data[2] = counter; 安全相关阈值/时间/比例建议用具名常量或配置宏。
651 info SUP-MAG-001 sys/flash.cpp 581 业务代码中存在裸数字常量,需确认是否应命名化 write_data[3] = crc; 安全相关阈值/时间/比例建议用具名常量或配置宏。
652 info SUP-MAG-001 sys/flash.cpp 588 业务代码中存在裸数字常量,需确认是否应命名化 for (u8 i = 0; i < 4; i++) { 安全相关阈值/时间/比例建议用具名常量或配置宏。
653 info SUP-MAG-001 sys/flash.cpp 820 业务代码中存在裸数字常量,需确认是否应命名化 temp_val[2] = *flash_ptr; 安全相关阈值/时间/比例建议用具名常量或配置宏。
654 info SUP-MAG-001 sys/flash.cpp 822 业务代码中存在裸数字常量,需确认是否应命名化 temp_val[3] = *flash_ptr; 安全相关阈值/时间/比例建议用具名常量或配置宏。
655 info SUP-MAG-001 sys/flash.cpp 824 业务代码中存在裸数字常量,需确认是否应命名化 temp_val[4] = *flash_ptr; 安全相关阈值/时间/比例建议用具名常量或配置宏。
656 info SUP-MAG-001 sys/flash.cpp 826 业务代码中存在裸数字常量,需确认是否应命名化 temp_val[5] = *flash_ptr; 安全相关阈值/时间/比例建议用具名常量或配置宏。
657 info SUP-MAG-001 sys/flash.cpp 832 业务代码中存在裸数字常量,需确认是否应命名化 temp_val[0], temp_val[1], temp_val[2], temp_val[3], 安全相关阈值/时间/比例建议用具名常量或配置宏。
658 info SUP-MAG-001 sys/flash.cpp 833 业务代码中存在裸数字常量,需确认是否应命名化 temp_val[4], temp_val[5]); 安全相关阈值/时间/比例建议用具名常量或配置宏。
659 info SUP-MAG-001 sys/flash.cpp 845 业务代码中存在裸数字常量,需确认是否应命名化 u32 current_addr = n_APP_LATEST_AVAL_ADDR + 4 * i; 安全相关阈值/时间/比例建议用具名常量或配置宏。
660 info SUP-MAG-001 sys/flash.cpp 864 业务代码中存在裸数字常量,需确认是否应命名化 temp_val[2] = *flash_ptr; 安全相关阈值/时间/比例建议用具名常量或配置宏。
661 info SUP-MAG-001 sys/flash.cpp 866 业务代码中存在裸数字常量,需确认是否应命名化 temp_val[3] = *flash_ptr; 安全相关阈值/时间/比例建议用具名常量或配置宏。
662 info SUP-MAG-001 sys/flash.cpp 868 业务代码中存在裸数字常量,需确认是否应命名化 temp_val[4] = *flash_ptr; 安全相关阈值/时间/比例建议用具名常量或配置宏。
663 info SUP-MAG-001 sys/flash.cpp 870 业务代码中存在裸数字常量,需确认是否应命名化 temp_val[5] = *flash_ptr; 安全相关阈值/时间/比例建议用具名常量或配置宏。
664 info SUP-MAG-001 sys/flash.cpp 874 业务代码中存在裸数字常量,需确认是否应命名化 temp_val[0], temp_val[1], temp_val[2], temp_val[3], 安全相关阈值/时间/比例建议用具名常量或配置宏。
665 info SUP-MAG-001 sys/flash.cpp 875 业务代码中存在裸数字常量,需确认是否应命名化 temp_val[4], temp_val[5]); 安全相关阈值/时间/比例建议用具名常量或配置宏。
666 info SUP-MAG-001 sys/flash.cpp 889 业务代码中存在裸数字常量,需确认是否应命名化 for (int i = 0; i < 8; i++) { 安全相关阈值/时间/比例建议用具名常量或配置宏。
667 info SUP-MAG-001 sys/flash.cpp 912 业务代码中存在裸数字常量,需确认是否应命名化 uint32_t reset_handler = *(__IO uint32_t *)(BOOTLOADER_START_ADDR + 4); 安全相关阈值/时间/比例建议用具名常量或配置宏。
668 info SUP-MAG-001 sys/flash.cpp 952 业务代码中存在裸数字常量,需确认是否应命名化 delay_1ms(1000); 安全相关阈值/时间/比例建议用具名常量或配置宏。
669 info SUP-MAG-001 sys/flash.cpp 969 业务代码中存在裸数字常量,需确认是否应命名化 (uint32_t *)APPLATEST_START_ADDR, APP_MAX_SIZE / 4); 安全相关阈值/时间/比例建议用具名常量或配置宏。
670 info SUP-MAG-001 sys/flash.cpp 972 业务代码中存在裸数字常量,需确认是否应命名化 uint32_t src_data = src_ptr[offset / 4]; 安全相关阈值/时间/比例建议用具名常量或配置宏。
671 info SUP-MAG-001 sys/flash.cpp 989 业务代码中存在裸数字常量,需确认是否应命名化 delay_1ms(1000); 安全相关阈值/时间/比例建议用具名常量或配置宏。
672 info SUP-MAG-001 sys/flash.cpp 997 业务代码中存在裸数字常量,需确认是否应命名化 offset += 4; 安全相关阈值/时间/比例建议用具名常量或配置宏。
673 info SUP-MAG-001 sys/flash.cpp 1000 业务代码中存在裸数字常量,需确认是否应命名化 if ((offset % 4096) == 0) { 安全相关阈值/时间/比例建议用具名常量或配置宏。
674 info SUP-MAG-001 sys/flash.cpp 1013 业务代码中存在裸数字常量,需确认是否应命名化 APP_MAX_SIZE / 4); 安全相关阈值/时间/比例建议用具名常量或配置宏。
675 info SUP-MAG-001 sys/health.cpp 25 业务代码中存在裸数字常量,需确认是否应命名化 constexpr u16 PROTECT_TIME = 6000; 安全相关阈值/时间/比例建议用具名常量或配置宏。
676 info SUP-MAG-001 sys/health.cpp 40 业务代码中存在裸数字常量,需确认是否应命名化 if (drv_temp == 255) 安全相关阈值/时间/比例建议用具名常量或配置宏。
677 info SUP-MAG-001 sys/health.cpp 42 业务代码中存在裸数字常量,需确认是否应命名化 if (mcu_temp == 255) 安全相关阈值/时间/比例建议用具名常量或配置宏。
678 info SUP-MAG-001 sys/health.cpp 63 业务代码中存在裸数字常量,需确认是否应命名化 u32 currents[3] = {(u32)(sampler.get_current('') * 1000), 安全相关阈值/时间/比例建议用具名常量或配置宏。
679 info SUP-MAG-001 sys/health.cpp 64 业务代码中存在裸数字常量,需确认是否应命名化 (u32)(sampler.get_current('') * 1000), 安全相关阈值/时间/比例建议用具名常量或配置宏。
680 info SUP-MAG-001 sys/health.cpp 65 业务代码中存在裸数字常量,需确认是否应命名化 (u32)(sampler.get_current('') * 1000)}; 安全相关阈值/时间/比例建议用具名常量或配置宏。
681 info SUP-MAG-001 sys/health.cpp 68 业务代码中存在裸数字常量,需确认是否应命名化 current_max = max(currents[0], currents[1], currents[2]); 安全相关阈值/时间/比例建议用具名常量或配置宏。
682 info SUP-MAG-001 sys/health.cpp 69 业务代码中存在裸数字常量,需确认是否应命名化 if (current_max < 2000) { 安全相关阈值/时间/比例建议用具名常量或配置宏。
683 info SUP-MAG-001 sys/health.cpp 72 业务代码中存在裸数字常量,需确认是否应命名化 } else if (current_max > 3800) { 安全相关阈值/时间/比例建议用具名常量或配置宏。
684 info SUP-MAG-001 sys/health.cpp 75 业务代码中存在裸数字常量,需确认是否应命名化 } else if (current_max > 3400) { 安全相关阈值/时间/比例建议用具名常量或配置宏。
685 info SUP-MAG-001 sys/health.cpp 78 业务代码中存在裸数字常量,需确认是否应命名化 } else if (current_max > 3000) { 安全相关阈值/时间/比例建议用具名常量或配置宏。
686 info SUP-MAG-001 sys/health.cpp 81 业务代码中存在裸数字常量,需确认是否应命名化 } else if (current_max > 2000) { 安全相关阈值/时间/比例建议用具名常量或配置宏。
687 info SUP-MAG-001 sys/health.h 46 业务代码中存在裸数字常量,需确认是否应命名化 u32 thermal_capacity = 3600000; 安全相关阈值/时间/比例建议用具名常量或配置宏。
688 info SUP-MAG-001 sys/health.h 48 业务代码中存在裸数字常量,需确认是否应命名化 u16 gapTimeMs = 10; 安全相关阈值/时间/比例建议用具名常量或配置宏。
689 info SUP-MAG-001 sys/health.h 52 业务代码中存在裸数字常量,需确认是否应命名化 : thermalRate(FLOAT_TO_Q16_16(0.995f)), 安全相关阈值/时间/比例建议用具名常量或配置宏。
690 info SUP-MAG-001 sys/health.h 53 业务代码中存在裸数字常量,需确认是否应命名化 recoveryRate(FLOAT_TO_Q16_16(0.33f)) {} 安全相关阈值/时间/比例建议用具名常量或配置宏。
691 info SUP-MAG-001 sys/initial.cpp 142 业务代码中存在裸数字常量,需确认是否应命名化 u8 versionData[24] = {0}; 安全相关阈值/时间/比例建议用具名常量或配置宏。
692 info SUP-MAG-001 sys/initial.cpp 147 业务代码中存在裸数字常量,需确认是否应命名化 versionData[1] = (softwareVersion.major >> 8) & 0xFF; 安全相关阈值/时间/比例建议用具名常量或配置宏。
693 info SUP-MAG-001 sys/initial.cpp 148 业务代码中存在裸数字常量,需确认是否应命名化 versionData[2] = softwareVersion.minor & 0xFF; 安全相关阈值/时间/比例建议用具名常量或配置宏。
694 info SUP-MAG-001 sys/initial.cpp 149 业务代码中存在裸数字常量,需确认是否应命名化 versionData[3] = (softwareVersion.minor >> 8) & 0xFF; 安全相关阈值/时间/比例建议用具名常量或配置宏。
695 info SUP-MAG-001 sys/initial.cpp 150 业务代码中存在裸数字常量,需确认是否应命名化 versionData[4] = softwareVersion.patch & 0xFF; 安全相关阈值/时间/比例建议用具名常量或配置宏。
696 info SUP-MAG-001 sys/initial.cpp 151 业务代码中存在裸数字常量,需确认是否应命名化 versionData[5] = (softwareVersion.patch >> 8) & 0xFF; 安全相关阈值/时间/比例建议用具名常量或配置宏。
697 info SUP-MAG-001 sys/initial.cpp 152 业务代码中存在裸数字常量,需确认是否应命名化 versionData[6] = softwareVersion.build & 0xFF; 安全相关阈值/时间/比例建议用具名常量或配置宏。
698 info SUP-MAG-001 sys/initial.cpp 153 业务代码中存在裸数字常量,需确认是否应命名化 versionData[7] = (softwareVersion.build >> 8) & 0xFF; 安全相关阈值/时间/比例建议用具名常量或配置宏。
699 info SUP-MAG-001 sys/initial.cpp 156 业务代码中存在裸数字常量,需确认是否应命名化 versionData[8] = hardwareVersion.major & 0xFF; 安全相关阈值/时间/比例建议用具名常量或配置宏。
700 info SUP-MAG-001 sys/initial.cpp 157 业务代码中存在裸数字常量,需确认是否应命名化 versionData[9] = (hardwareVersion.major >> 8) & 0xFF; 安全相关阈值/时间/比例建议用具名常量或配置宏。
701 info SUP-MAG-001 sys/initial.cpp 158 业务代码中存在裸数字常量,需确认是否应命名化 versionData[10] = hardwareVersion.minor & 0xFF; 安全相关阈值/时间/比例建议用具名常量或配置宏。
702 info SUP-MAG-001 sys/initial.cpp 159 业务代码中存在裸数字常量,需确认是否应命名化 versionData[11] = (hardwareVersion.minor >> 8) & 0xFF; 安全相关阈值/时间/比例建议用具名常量或配置宏。
703 info SUP-MAG-001 sys/initial.cpp 160 业务代码中存在裸数字常量,需确认是否应命名化 versionData[12] = hardwareVersion.patch & 0xFF; 安全相关阈值/时间/比例建议用具名常量或配置宏。
704 info SUP-MAG-001 sys/initial.cpp 161 业务代码中存在裸数字常量,需确认是否应命名化 versionData[13] = (hardwareVersion.patch >> 8) & 0xFF; 安全相关阈值/时间/比例建议用具名常量或配置宏。
705 info SUP-MAG-001 sys/initial.cpp 162 业务代码中存在裸数字常量,需确认是否应命名化 versionData[14] = hardwareVersion.build & 0xFF; 安全相关阈值/时间/比例建议用具名常量或配置宏。
706 info SUP-MAG-001 sys/initial.cpp 163 业务代码中存在裸数字常量,需确认是否应命名化 versionData[15] = (hardwareVersion.build >> 8) & 0xFF; 安全相关阈值/时间/比例建议用具名常量或配置宏。
707 info SUP-MAG-001 sys/initial.cpp 166 业务代码中存在裸数字常量,需确认是否应命名化 versionData[16] = bootVersion.major & 0xFF; 安全相关阈值/时间/比例建议用具名常量或配置宏。
708 info SUP-MAG-001 sys/initial.cpp 167 业务代码中存在裸数字常量,需确认是否应命名化 versionData[17] = (bootVersion.major >> 8) & 0xFF; 安全相关阈值/时间/比例建议用具名常量或配置宏。
709 info SUP-MAG-001 sys/initial.cpp 168 业务代码中存在裸数字常量,需确认是否应命名化 versionData[18] = bootVersion.minor & 0xFF; 安全相关阈值/时间/比例建议用具名常量或配置宏。
710 info SUP-MAG-001 sys/initial.cpp 169 业务代码中存在裸数字常量,需确认是否应命名化 versionData[19] = (bootVersion.minor >> 8) & 0xFF; 安全相关阈值/时间/比例建议用具名常量或配置宏。
711 info SUP-MAG-001 sys/initial.cpp 170 业务代码中存在裸数字常量,需确认是否应命名化 versionData[20] = bootVersion.patch & 0xFF; 安全相关阈值/时间/比例建议用具名常量或配置宏。
712 info SUP-MAG-001 sys/initial.cpp 171 业务代码中存在裸数字常量,需确认是否应命名化 versionData[21] = (bootVersion.patch >> 8) & 0xFF; 安全相关阈值/时间/比例建议用具名常量或配置宏。
713 info SUP-MAG-001 sys/initial.cpp 172 业务代码中存在裸数字常量,需确认是否应命名化 versionData[22] = bootVersion.build & 0xFF; 安全相关阈值/时间/比例建议用具名常量或配置宏。
714 info SUP-MAG-001 sys/initial.cpp 173 业务代码中存在裸数字常量,需确认是否应命名化 versionData[23] = (bootVersion.build >> 8) & 0xFF; 安全相关阈值/时间/比例建议用具名常量或配置宏。
715 info SUP-MAG-001 sys/initial.cpp 178 业务代码中存在裸数字常量,需确认是否应命名化 CAN0_transmiter.build_can_id(CANFD_VERSION_ID), 24, versionData); 安全相关阈值/时间/比例建议用具名常量或配置宏。
716 info SUP-MAG-001 sys/initial.cpp 186 业务代码中存在裸数字常量,需确认是否应命名化 char versionStr[32]; 安全相关阈值/时间/比例建议用具名常量或配置宏。
717 info SUP-MAG-001 sys/initial.cpp 219 业务代码中存在裸数字常量,需确认是否应命名化 status = fwdgt_config(time * 0.625, FWDGT_PSC_DIV64); 安全相关阈值/时间/比例建议用具名常量或配置宏。
718 info SUP-MAG-001 sys/initial.cpp 298 业务代码中存在裸数字常量,需确认是否应命名化 u32 temp_val[6]; 安全相关阈值/时间/比例建议用具名常量或配置宏。
719 info SUP-MAG-001 sys/initial.cpp 305 业务代码中存在裸数字常量,需确认是否应命名化 temp_val[2] = *flash_ptr1; 安全相关阈值/时间/比例建议用具名常量或配置宏。
720 info SUP-MAG-001 sys/initial.cpp 307 业务代码中存在裸数字常量,需确认是否应命名化 temp_val[3] = *flash_ptr1; 安全相关阈值/时间/比例建议用具名常量或配置宏。
721 info SUP-MAG-001 sys/initial.cpp 309 业务代码中存在裸数字常量,需确认是否应命名化 temp_val[4] = *flash_ptr1; 安全相关阈值/时间/比例建议用具名常量或配置宏。
722 info SUP-MAG-001 sys/initial.cpp 311 业务代码中存在裸数字常量,需确认是否应命名化 temp_val[5] = *flash_ptr1; 安全相关阈值/时间/比例建议用具名常量或配置宏。
723 info SUP-MAG-001 sys/initial.cpp 316 业务代码中存在裸数字常量,需确认是否应命名化 temp_val[0], temp_val[1], temp_val[2], temp_val[3], temp_val[4], 安全相关阈值/时间/比例建议用具名常量或配置宏。
724 info SUP-MAG-001 sys/initial.cpp 317 业务代码中存在裸数字常量,需确认是否应命名化 temp_val[5]); 安全相关阈值/时间/比例建议用具名常量或配置宏。
725 info SUP-MAG-001 sys/initial.cpp 332 业务代码中存在裸数字常量,需确认是否应命名化 u8 transmit_data[2] = {0x0A, 0xAC}; 安全相关阈值/时间/比例建议用具名常量或配置宏。
726 info SUP-MAG-001 sys/initial.cpp 334 业务代码中存在裸数字常量,需确认是否应命名化 CAN0_transmiter.CANFD_AsyncSend(CANFD_OTA_ACK_ID, 2, transmit_data); 安全相关阈值/时间/比例建议用具名常量或配置宏。
727 info SUP-MAG-001 sys/systick.cpp 159 业务代码中存在裸数字常量,需确认是否应命名化 delay_1ms(1000); 安全相关阈值/时间/比例建议用具名常量或配置宏。
728 info SUP-MAG-001 sys/systick.cpp 227 业务代码中存在裸数字常量,需确认是否应命名化 SCB->AIRCR = (0x05FA0000U | (SCB->AIRCR & (0x700U)) | (1U << 2)); 安全相关阈值/时间/比例建议用具名常量或配置宏。
@@ -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 的接口;多行声明、构造函数可能需要人工复核。