#ifndef __DETECTOR_H #define __DETECTOR_H #ifdef __cplusplus extern "C" { #endif /* Header File Including ------------------------------------------------------------------------ */ #include #include #include #include "PDRBase.h" #include "buffer.h" #include "AHRS.h" /* Macro Declaration ---------------------------------------------------------------------------- */ #define DETECTOR_NO_ERROR 0 #define DETECTOR_OUT_OF_MEMORY 1 #define MAG_BUF_LEN 256 #define MAG_LEN 6 /* Struct Declaration --------------------------------------------------------------------------- */ /* Global Variable Declaration ------------------------------------------------------------------ */ extern BUFFER_SHORT AccFrqBuf[3]; extern BUFFER_SHORT AccAmpBuf[3]; extern BUFFER_SHORT GyrFrqBuf[3]; extern BUFFER_SHORT GyrAmpBuf[3]; /* Function Declaration ------------------------------------------------------------------------- */ /**--------------------------------------------------------------------- * Function : GetDetectorObj * Description : 获取PDR运动分类器对象 * Date : 2020/02/16 logzhan *---------------------------------------------------------------------**/ Detector_t *GetDetectorObj(void); /**--------------------------------------------------------------------- * Function : Detector_Init * Description : 初始化运动分类器,识别用户处于哪一种运动模式 * Date : 2022/09/23 logzhan *---------------------------------------------------------------------**/ Detector_t* Detector_Init(void); /**--------------------------------------------------------------------- * Function : DetectorReset * Description : 重置PDR运动分类器 * Date : 2022/09/23 logzhan *---------------------------------------------------------------------**/ void DetectorReset(void); /**--------------------------------------------------------------------- * Function : DetectMotionType * Description : pdr运动类型检测 * Date : 2020/7/20 *---------------------------------------------------------------------**/ int DetectMotionType(void); /**--------------------------------------------------------------------- * Function : predict * Description : 判断手机携带方式(静止、手持、摆手等) * Date : 2020/7/20 logzhan *---------------------------------------------------------------------**/ int DetectorPredict(float* feature); /**--------------------------------------------------------------------- * Function : DetectorUpdateIMU * Description : 更新运动类型检测器的imu信息,如果到达一定的时间间隔,则会检测 * 用户的运动类型 * Date : 2022/09/23 *---------------------------------------------------------------------**/ void DetectorUpdateIMU(IMU_t* imu); #ifdef __cplusplus } #endif #endif