From 0f38ea38b24c85861602dec6554c82b7227d773d Mon Sep 17 00:00:00 2001 From: Admin Date: Tue, 3 Mar 2026 14:28:13 +0800 Subject: [PATCH] =?UTF-8?q?chore:=20=E4=BB=8EGit=E4=BB=93=E5=BA=93?= =?UTF-8?q?=E4=B8=AD=E7=A7=BB=E9=99=A4.trae=E6=96=87=E4=BB=B6=E5=A4=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 删除了.trae文件夹及其所有内容,这些文件是IDE自动生成的文档和计划文件, 不属于工程代码的一部分。.trae文件夹已在.gitignore中被忽略。 --- .trae/documents/plan_20260203_063543.md | 58 ------------------- .trae/documents/plan_20260204_063627.md | 37 ------------ .trae/documents/修复编译错误计划.md | 26 --------- .trae/documents/删除无用代码优化项目.md | 49 ---------------- .../备份并删除radar_manager.h文件.md | 22 ------- 5 files changed, 192 deletions(-) delete mode 100644 .trae/documents/plan_20260203_063543.md delete mode 100644 .trae/documents/plan_20260204_063627.md delete mode 100644 .trae/documents/修复编译错误计划.md delete mode 100644 .trae/documents/删除无用代码优化项目.md delete mode 100644 .trae/documents/备份并删除radar_manager.h文件.md diff --git a/.trae/documents/plan_20260203_063543.md b/.trae/documents/plan_20260203_063543.md deleted file mode 100644 index 0da299c..0000000 --- a/.trae/documents/plan_20260203_063543.md +++ /dev/null @@ -1,58 +0,0 @@ -# 修改蓝牙发送雷达数据模式 - -## 1. 需求分析 -- 修改蓝牙发送机制,实现基于数据变化的发送 -- 当心率、呼吸、存在检测、体动状态、睡眠状态发生变化时才发送 -- 根据小程序设定的时间间隔进行定时检测 -- 如果检测到变化,立即更新数据 -- 按设定间隔检测数据更新,有变化则发送全部数据 - -## 2. 实现方案 - -### 2.1 添加数据存储结构 -- 在 `radar_manager.h` 中添加 `LastSentData` 结构体,用于存储上一次发送的数据 -- 包含需要检测变化的字段:心率、呼吸率、存在状态、运动状态、睡眠状态 - -### 2.2 修改全局变量 -- 在 `radar_manager.cpp` 中添加 `lastSentData` 全局变量 -- 添加 `lastCheckTime` 变量用于记录上次检测时间 - -### 2.3 实现数据变化检测函数 -- 添加 `isDataChanged()` 函数,比较当前数据与上次发送数据 -- 实现阈值判断,避免微小波动导致频繁发送 - -### 2.4 重写 BLE 数据发送任务 -- 修改 `bleSendTask` 任务,实现以下逻辑: - 1. 定时检测数据变化(基于 `continuousSendInterval`) - 2. 检测到变化时立即发送数据 - 3. 发送后更新 `lastSentData` 为当前数据 - 4. 保持与现有命令处理的兼容性 - -### 2.5 保持命令处理逻辑 -- 保留 `processStartContinuousSend` 和 `processStopContinuousSend` 函数 -- 确保小程序可以正常控制发送模式和间隔 - -## 3. 代码修改点 - -### 3.1 radar_manager.h -- 添加 `LastSentData` 结构体定义 -- 在全局变量声明中添加 `lastSentData` 和相关变量 - -### 3.2 radar_manager.cpp -- 初始化 `lastSentData` 变量 -- 实现 `isDataChanged()` 函数 -- 重写 `bleSendTask` 任务函数 -- 确保数据发送格式与现有代码保持一致 - -## 4. 技术要点 -- 使用阈值检测避免微小数据波动导致的频繁发送 -- 保持定时检测机制,确保数据及时性 -- 维持与现有 BLE API 的兼容性 -- 按照现有代码的注释格式编写新代码 -- 确保内存使用合理,避免内存泄漏 - -## 5. 预期效果 -- 减少不必要的蓝牙数据传输 -- 只在数据发生实际变化时发送 -- 保持数据的实时性和准确性 -- 与现有小程序控制逻辑完全兼容 \ No newline at end of file diff --git a/.trae/documents/plan_20260204_063627.md b/.trae/documents/plan_20260204_063627.md deleted file mode 100644 index b08a0ee..0000000 --- a/.trae/documents/plan_20260204_063627.md +++ /dev/null @@ -1,37 +0,0 @@ -## 实现BLE API规范计划 - -### 步骤1: 分析现有实现 -- 检查main_backup.cpp.bak中的BLE命令处理函数实现 -- 确认它们是否符合BLE_API.md中定义的API规范 -- 识别需要移植的函数 - -### 步骤2: 移植BLE命令处理函数 -- 将以下函数从main_backup.cpp.bak移植到main.cpp中: - - processWiFiConfigCommand() - 处理WiFi配置命令 - - processScanWiFi() - 处理WiFi扫描命令 - - processGetSavedNetworks() - 处理获取已保存网络命令 - - processEchoRequest() - 处理回显测试命令 - - processSetDeviceId() - 处理设置设备ID命令 - - processQueryStatus() - 处理查询状态命令 - - processQueryRadarData() - 处理查询雷达数据命令 - - processStartContinuousSend() - 处理启动持续发送命令 - - processStopContinuousSend() - 处理停止持续发送命令 - -### 步骤3: 更新processBLEConfig函数 -- 更新main.cpp中的processBLEConfig()函数,添加命令处理逻辑 -- 实现JSON解析和命令分发功能 -- 确保按照API规范处理所有支持的命令 - -### 步骤4: 添加必要的辅助函数 -- 添加sendRawEchoResponse()函数,处理回显测试响应 -- 确保所有函数都按照API规范返回正确的响应格式 - -### 步骤5: 验证实现 -- 编译项目,确保没有错误 -- 检查所有函数是否符合API规范 -- 确认响应格式是否与API文档一致 - -### 预期结果 -- 项目能够成功编译 -- BLE命令处理函数符合BLE_API.md中定义的API规范 -- 设备能够正确处理所有支持的BLE命令并返回符合规范的响应 \ No newline at end of file diff --git a/.trae/documents/修复编译错误计划.md b/.trae/documents/修复编译错误计划.md deleted file mode 100644 index 78c7b61..0000000 --- a/.trae/documents/修复编译错误计划.md +++ /dev/null @@ -1,26 +0,0 @@ -# 修复编译错误计划 - -## 问题分析 -编译时出现了多个错误,主要是因为删除了 `radar_manager.cpp` 和 `radar_manager.h` 文件后,`main.cpp` 中仍然引用了这些文件中定义的变量和函数。 - -## 修复步骤 - -### 1. 修复 SAMPLE_RATE 重复定义 -- 删除 `main.cpp` 中的 `SAMPLE_RATE` 定义,使用 `radar_vitals.h` 中的定义 - -### 2. 添加缺失的 BLE 相关代码 -- 添加 `MyServerCallbacks` 类定义 -- 添加 `MyCallbacks` 类定义 -- 添加 `processBLEConfig` 函数定义 -- 添加 `sendStatusToBLE` 函数定义 - -### 3. 修复其他未声明的变量和函数 -- 确保所有使用的变量和函数都有正确的声明 - -### 4. 测试编译 -- 运行 PlatformIO 编译命令,确保所有错误都已修复 - -## 预期结果 -- 编译成功,没有错误 -- 系统能够正常启动和运行 -- 新的雷达模块能够正常工作 \ No newline at end of file diff --git a/.trae/documents/删除无用代码优化项目.md b/.trae/documents/删除无用代码优化项目.md deleted file mode 100644 index cead5a5..0000000 --- a/.trae/documents/删除无用代码优化项目.md +++ /dev/null @@ -1,49 +0,0 @@ -# 删除无用代码优化项目 - -## 目标 -在保持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行的局部变量定义,在函数内部已经有局部定义 - -## 实施步骤 -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功能不变,确保系统正常运行 -- 消除冗余代码,减少维护成本 \ No newline at end of file diff --git a/.trae/documents/备份并删除radar_manager.h文件.md b/.trae/documents/备份并删除radar_manager.h文件.md deleted file mode 100644 index 6777a7c..0000000 --- a/.trae/documents/备份并删除radar_manager.h文件.md +++ /dev/null @@ -1,22 +0,0 @@ -## 备份并删除radar_manager.h文件计划 - -### 步骤1: 确认文件引用情况 -- 检查是否有其他文件引用了radar_manager.h -- 验证main.cpp中确实没有包含radar_manager.h - -### 步骤2: 备份文件 -- 将radar_manager.h文件重命名为radar_manager.h.bak作为备份 - -### 步骤3: 删除文件 -- 删除radar_manager.h文件 - -### 步骤4: 验证编译 -- 运行platformio编译命令,确保项目能够成功编译 -- 检查是否有任何编译错误 - -### 步骤5: 清理临时文件 -- 确认项目编译成功后,可以选择删除备份文件(如果需要) - -### 预期结果 -- 项目能够成功编译,没有任何错误 -- 证明radar_manager.h文件是冗余的,可以安全删除 \ No newline at end of file