fix:resident 字段修复(误伤了,重新放开)

feat:增加防抖功能。
This commit is contained in:
2026-08-17 16:23:55 +08:00
parent b960682d73
commit 03129c9ed8
4 changed files with 60 additions and 7 deletions
+2 -2
View File
@@ -19,7 +19,7 @@
// --- 雷达型号选择 ---
#define RADAR_TYPE_ABD1 0 // R60ABD1: 心率/呼吸精准, 跌倒一般
#define RADAR_TYPE_AFD1 1 // R60AFD1: 跌倒/姿态精准, 无心率呼吸
#define RADAR_TYPE RADAR_TYPE_AFD1 // AFD1 (跌倒/姿态精准, 卫生间用)
#define RADAR_TYPE RADAR_TYPE_ABD1 // AFD1 (跌倒/姿态精准, 卫生间用)
// --- 毫米波雷达 ---
#define RADAR_UART_PORT Serial2
@@ -132,7 +132,7 @@
#define HEART_RATE_MIN 50
#define HEART_RATE_MAX 120
#define BREATH_RATE_MIN 10
#define BREATH_RATE_MAX 28
#define BREATH_RATE_MAX 26
#define TEMP_LOW 5.0f
#define TEMP_HIGH 45.0f
#define HUMI_LOW 15.0f
+5
View File
@@ -74,6 +74,7 @@ private:
void _extractSleep(const RadarFrame& frame);
void _extractWorkStatus(const RadarFrame& frame);
void _extractDetectRange(const RadarFrame& frame);
void _filterMotion(bool rawMotion); // 运动状态 3 帧去抖
uint8_t _calcChecksum(const uint8_t* data, uint16_t len);
void _notifyUpdate();
@@ -95,6 +96,10 @@ private:
bool _stablePresence; // 防抖后的稳定有人/无人
uint8_t _presenceCnt; // 连续一致计数
bool _lastRawPresence; // 上一次原始值
// 运动状态防抖 (体动信号常因小动作抖动, 加 3 帧持续才确认)
uint8_t _motionCnt; // 连续一致计数
bool _lastRawMotion; // 上一次原始值
};
#endif // RADAR_MANAGER_H