Files
Rader_IQ/.trae/documents/删除无用代码优化项目.md

2.8 KiB
Raw Blame History

删除无用代码优化项目

目标

在保持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_breathbp_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_bufbuf_idxI_meanQ_meanprev_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行的局部变量定义在函数内部已经有局部定义

实施步骤

  1. 修改main.cpp删除I2S相关配置、setup_i2s()函数、重复的雷达处理调用、冗余的WiFi连接成功消息和注释掉的代码
  2. 修改radar_vitals.cpp删除旧的信号处理函数、重复的相位解缠函数、旧的BPM计算函数、旧的主处理函数、未使用的系统参数和变量
  3. 修改ble_api.cpp:删除未使用的函数和无效的超时处理代码
  4. 修改io_flash.h:删除重复的常量定义
  5. 修改io_flash.cpp:删除重复的局部变量
  6. 编译项目:确保项目能够成功编译,没有错误
  7. 验证功能确保API功能保持不变

预期结果

  • 减少Flash占用提高代码可读性
  • 保持API功能不变确保系统正常运行
  • 消除冗余代码,减少维护成本