fix:resident 字段修复(误伤了,重新放开)
feat:增加防抖功能。
This commit is contained in:
+2
-2
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user