PDR/1.Software/PDR 1.2.0/include/Detector.h

82 lines
2.8 KiB
C
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

#ifndef __DETECTOR_H
#define __DETECTOR_H
#ifdef __cplusplus
extern "C" {
#endif
/* Header File Including ------------------------------------------------------------------------ */
#include <stdint.h>
#include <stdlib.h>
#include <time.h>
#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