Pixart Heart Rate lib

Dependents:   PAH8011_nRF52_Program PixArt_PAH8011_HeartRate_NUCLEO-L476RG PixArt_PAH8011_HR_NUCLEO-L476RG

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers pah8series_data_c.h Source File

pah8series_data_c.h

00001 #ifndef __PAH8SERIES_DATA_C_H__
00002 #define __PAH8SERIES_DATA_C_H__
00003 
00004 #include <stdint.h>
00005 
00006 typedef struct {
00007     uint8_t                     frame_count;
00008     uint32_t                    time;
00009     uint8_t                     touch_flag;
00010     uint32_t                    nf_ppg_channel;
00011     uint32_t                    nf_ppg_per_channel;
00012     int32_t                     *ppg_data;
00013     uint32_t                    nf_mems;
00014     int16_t                     *mems_data;
00015 } pah8series_data_t;
00016 
00017 typedef enum {
00018     PAH8SERIES_PARAM_IDX_SAMPLE_RATE = 0,
00019     PAH8SERIES_PARAM_IDX_GSENSOR_MODE,
00020     PAH8SERIES_PARAM_IDX_PPG_CH_NUM,
00021     PAH8SERIES_PARAM_IDX_HAS_IR_CH,
00022     PAH8SERIES_PARAM_IDX_SIGNAL_GRADE,
00023     PAH8SERIES_PARAM_IDX_IIR_SMOOTH_PRED,
00024     PAH8SERIES_PARAM_IDX_IIR_LP,
00025     PAH8SERIES_PARAM_IDX_FIRST_HR_MULTIPLE_OFFSET_MEMS_THR,
00026     PAH8SERIES_PARAM_IDX_FIRST_HR_IN_MOTION_FLAG,
00027     PAH8SERIES_PARAM_IDX_FIRST_HR_MEMS_QUALITY_THR,
00028     PAH8SERIES_PARAM_IDX_FIRST_HR_PPG_QUALITY_THR,
00029     PAH8SERIES_PARAM_IDX_STATIC_MODE,
00030     PAH8SERIES_PARAM_IDX_STATIC_HR_UP_IDX,
00031     PAH8SERIES_PARAM_IDX_STATIC_HR_DN_IDX,
00032     PAH8SERIES_PARAM_IDX_IS_AUTO,
00033     PAH8SERIES_PARAM_IDX_IS_TAG,
00034     PAH8SERIES_PARAM_IDX_IS_8002,
00035     PAH8SERIES_PARAM_IDX_FIRST_HR_6SEC,
00036     PAH8SERIES_PARAM_IDX_HR_MODEL_TIME_CONST,
00037     PAH8SERIES_PARAM_IDX_HR_MODEL_PROGRESS_RATIO,
00038     PAH8SERIES_PARAM_IDX_INIT_WALK_HR,
00039     PAH8SERIES_PARAM_IDX_WALK_HR_UP_IDX,
00040     PAH8SERIES_PARAM_IDX_WALK_HR_DN_IDX,
00041     PAH8SERIES_PARAM_IDX_HR_TOO_LOW_IDX,
00042     PAH8SERIES_PARAM_IDX_EN_LWPS,
00043     PAH8SERIES_PARAM_IDX_EN_JUDGE_WALK,
00044     PAH8SERIES_PARAM_IDX_EN_CHK_HR_GT_MOTION,
00045     PAH8SERIES_PARAM_IDX_EN_HI_QUALITY_HR_JMP,
00046     PAH8SERIES_PARAM_IDX_EN_SPLIT_MOTION_PEAK,
00047     PAH8SERIES_PARAM_IDX_EN_LOCAL_FIRST_PEAK_TRACK,
00048     PAH8SERIES_PARAM_IDX_LOCAL_FIRST_PEAK_FRM_ALIVE_THR,
00049     PAH8SERIES_PARAM_IDX_EN_GLOBAL_FIRST_PEAK_TRACK,
00050     PAH8SERIES_PARAM_IDX_GLOBAL_FIRST_PEAK_FRM_ALIVE_THR,
00051     PAH8SERIES_PARAM_IDX_EN_FORCE_HR_OUT_IN10S,
00052     PAH8SERIES_PARAM_IDX_DEFAULT_HR_OUT_IN10S,
00053     PAH8SERIES_PARAM_IDX_FIRST_HR_HALF_1X_ENERGY_THT,
00054     PAH8SERIES_PARAM_IDX_HR_IN_MOTION_SEARCH_ST,
00055     PAH8SERIES_PARAM_IDX_HR_IN_MOTION_SEARCH_END,
00056     PAH8SERIES_PARAM_IDX_EN_MA_WALK,
00057     PAH8SERIES_PARAM_IDX_EN_HAND_CLAP,
00058     PAH8SERIES_PARAM_IDX_EN_NOR_PRE_DIFF_NOR,
00059     PAH8SERIES_PARAM_IDX_EN_HALF_HR_CHK,
00060     PAH8SERIES_PARAM_IDX_EN_NON_MOTION_FIRST_PEAK_TRACK,
00061     PAH8SERIES_PARAM_IDX_NON_MOTION_FIRST_PEAK_ALIVE_FRM_THR,
00062     PAH8SERIES_PARAM_IDX_PPG_NORMALIZE_LEN,
00063     PAH8SERIES_PARAM_IDX_PPG_DIFF_NORMALIZE_LEN,
00064     PAH8SERIES_PARAM_IDX_EN_CHK_HQ_3X_PPG,
00065     PAH8SERIES_PARAM_IDX_EN_POST_HR_PROCESS,
00066     //v519
00067     PAH8SERIES_PARAM_IDX_SET_EN_JAFMI,
00068     PAH8SERIES_PARAM_IDX_SET_EN_TIME_DOMAIN_CONFIRM,
00069     PAH8SERIES_PARAM_IDX_SET_RESERVE_PEAK_RATIO_THR,
00070     PAH8SERIES_PARAM_IDX_SET_SUPPORT_HR_IDX_OFFSET,
00071     PAH8SERIES_PARAM_IDX_SET_SUPPORT_CHECK_STEP_FREQ,
00072     //v520
00073     PAH8SERIES_PARAM_IDX_SET_SUPPORT_FOUND_HR_IDX,
00074     PAH8SERIES_PARAM_IDX_SET_SUPPORT_SIGNAL_LEVEL_CHECK,
00075     //v521
00076     PAH8SERIES_PARAM_IDX_SET_FORCE_OUT_SAMPLE_COUNT_10S,
00077     //v526
00078     PAH8SERIES_PARAM_IDX_SET_FLAG_LIMIT_HR_UB,
00079     PAH8SERIES_PARAM_IDX_SET_LIMIT_HR_UB,
00080     //v528
00081     PAH8SERIES_PARAM_IDX_SET_SUPPORT_FAST_POST_HR_IDX_FLAG,
00082     //v532
00083     PAH8SERIES_PARAM_IDX_SET_FLAG_LIMIT_HR_LB,
00084     PAH8SERIES_PARAM_IDX_SET_LIMIT_HR_LB,
00085         
00086     PAH8SERIES_NF_PARAM_IDX,
00087 } pah8series_param_idx_t;
00088 
00089 typedef enum {
00090     MSG_SUCCESS = 0,
00091     MSG_ALG_NOT_OPEN,
00092     MSG_ALG_REOPEN,
00093     MSG_MEMS_LEN_TOO_SHORT,
00094     MSG_NO_TOUCH,
00095     MSG_PPG_LEN_TOO_SHORT,
00096     MSG_FRAME_LOSS,
00097     MSG_INVALID_ARGUMENT,
00098     MSG_PROCESS_NOT_FINISHED,
00099     MSG_ADDR_NOT_4BYTE_ALIGNED,
00100 
00101     MSG_NO_MEM = 14,
00102     MSG_ECG_LEN_TOO_SHORT = 15,
00103 
00104     MSG_HR_READY = 0x30,
00105     MSG_SIGNAL_POOR = 0x40
00106 } pah8series_msg_code_t;
00107 
00108 
00109 #endif // PAH8002_DATA_H__
00110