2.8 KiB
2.8 KiB
删除无用代码优化项目
目标
在保持API功能不变的情况下,删除项目中没有用的代码部分,减少Flash占用,提高代码可读性。
分析结果
通过对代码库的分析,我发现了以下可以删除的无用部分:
1. main.cpp
- I2S相关配置:第17-18行的I2S配置定义,因为使用的是直接ADC读取方式
- setup_i2s()函数:第127-131行,只是一个空函数,没有实际功能
- 重复的雷达处理调用:第166行的
radar_vitals_process(&sample, &vitals);调用,因为已经在第163行调用了radar_process(I_buf, Q_buf, DATA_LEN); - 冗余的WiFi连接成功消息:第357行,总是会执行,即使WiFi连接失败
- 注释掉的代码:第361-364行,已经被注释掉,没有实际功能
2. radar_vitals.cpp
- 旧的信号处理函数:第29-41行的
bp_breath和bp_heart函数,使用的是新的处理方法 - 重复的相位解缠函数:第44-50行的
unwrap函数,在radar_process中已经实现 - 旧的BPM计算函数:第53-80行的
calc_bpm函数,使用的是新的频率估计方法 - 旧的主处理函数:第203-252行的
radar_vitals_process函数,使用的是新的radar_process函数 - 未使用的系统参数:第12-15行的实时系统参数定义
- 未使用的缓冲区大小:第18行的
RADAR_BUFFER_SIZE定义 - 未使用的队列长度:第19行的
QUEUE_LENGTH定义 - 未使用的变量:第14-17行的
phase_buf、buf_idx、I_mean、Q_mean、prev_phase变量
3. ble_api.cpp
- 未使用的函数:第60-73行的
sendCustomJSONData函数 - 未使用的函数:第194-197行的
sendRawEchoResponse函数 - 无效的超时处理:第369-378行的超时处理代码,因为相关变量没有被设置
4. io_flash.h
- 重复的常量定义:第40-50行的常量定义,已经在
io_flash.cpp中定义
5. io_flash.cpp
- 重复的局部变量:第15-23行的局部变量定义,在函数内部已经有局部定义
实施步骤
- 修改main.cpp:删除I2S相关配置、setup_i2s()函数、重复的雷达处理调用、冗余的WiFi连接成功消息和注释掉的代码
- 修改radar_vitals.cpp:删除旧的信号处理函数、重复的相位解缠函数、旧的BPM计算函数、旧的主处理函数、未使用的系统参数和变量
- 修改ble_api.cpp:删除未使用的函数和无效的超时处理代码
- 修改io_flash.h:删除重复的常量定义
- 修改io_flash.cpp:删除重复的局部变量
- 编译项目:确保项目能够成功编译,没有错误
- 验证功能:确保API功能保持不变
预期结果
- 减少Flash占用,提高代码可读性
- 保持API功能不变,确保系统正常运行
- 消除冗余代码,减少维护成本