feat:增加跌倒防抖帧

fix:修复开机错误跌倒报警。
This commit is contained in:
2026-08-18 14:51:57 +08:00
parent 03129c9ed8
commit 78458361fa
5 changed files with 54 additions and 26 deletions
+1 -1
View File
@@ -19,7 +19,7 @@
// --- 雷达型号选择 ---
#define RADAR_TYPE_ABD1 0 // R60ABD1: 心率/呼吸精准, 跌倒一般
#define RADAR_TYPE_AFD1 1 // R60AFD1: 跌倒/姿态精准, 无心率呼吸
#define RADAR_TYPE RADAR_TYPE_ABD1 // AFD1 (跌倒/姿态精准, 卫生间用)
#define RADAR_TYPE RADAR_TYPE_AFD1 // AFD1 (跌倒/姿态精准, 卫生间用)
// --- 毫米波雷达 ---
#define RADAR_UART_PORT Serial2
+5
View File
@@ -75,6 +75,7 @@ private:
void _extractWorkStatus(const RadarFrame& frame);
void _extractDetectRange(const RadarFrame& frame);
void _filterMotion(bool rawMotion); // 运动状态 3 帧去抖
void _filterFall(bool rawFall); // 跌倒状态 2 帧去抖 (防 AFD1 自检期噪声)
uint8_t _calcChecksum(const uint8_t* data, uint16_t len);
void _notifyUpdate();
@@ -100,6 +101,10 @@ private:
// 运动状态防抖 (体动信号常因小动作抖动, 加 3 帧持续才确认)
uint8_t _motionCnt; // 连续一致计数
bool _lastRawMotion; // 上一次原始值
// 跌倒状态防抖 (AFD1 自检期 fall 位可能为随机值, 2 帧持续才确认)
uint8_t _fallCnt; // 连续一致计数
bool _lastRawFall; // 上一次原始值
};
#endif // RADAR_MANAGER_H