Pixart Heart Rate lib
Dependents: PAH8011_nRF52_Program PixArt_PAH8011_HeartRate_NUCLEO-L476RG PixArt_PAH8011_HR_NUCLEO-L476RG
pah8series_data_c.h@0:84b0090bdfee, 2017-10-27 (annotated)
- Committer:
- bell_huang
- Date:
- Fri Oct 27 08:31:49 2017 +0000
- Revision:
- 0:84b0090bdfee
Init version
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
bell_huang | 0:84b0090bdfee | 1 | #ifndef __PAH8SERIES_DATA_C_H__ |
bell_huang | 0:84b0090bdfee | 2 | #define __PAH8SERIES_DATA_C_H__ |
bell_huang | 0:84b0090bdfee | 3 | |
bell_huang | 0:84b0090bdfee | 4 | #include <stdint.h> |
bell_huang | 0:84b0090bdfee | 5 | |
bell_huang | 0:84b0090bdfee | 6 | typedef struct { |
bell_huang | 0:84b0090bdfee | 7 | uint8_t frame_count; |
bell_huang | 0:84b0090bdfee | 8 | uint32_t time; |
bell_huang | 0:84b0090bdfee | 9 | uint8_t touch_flag; |
bell_huang | 0:84b0090bdfee | 10 | uint32_t nf_ppg_channel; |
bell_huang | 0:84b0090bdfee | 11 | uint32_t nf_ppg_per_channel; |
bell_huang | 0:84b0090bdfee | 12 | int32_t *ppg_data; |
bell_huang | 0:84b0090bdfee | 13 | uint32_t nf_mems; |
bell_huang | 0:84b0090bdfee | 14 | int16_t *mems_data; |
bell_huang | 0:84b0090bdfee | 15 | } pah8series_data_t; |
bell_huang | 0:84b0090bdfee | 16 | |
bell_huang | 0:84b0090bdfee | 17 | typedef enum { |
bell_huang | 0:84b0090bdfee | 18 | PAH8SERIES_PARAM_IDX_SAMPLE_RATE = 0, |
bell_huang | 0:84b0090bdfee | 19 | PAH8SERIES_PARAM_IDX_GSENSOR_MODE, |
bell_huang | 0:84b0090bdfee | 20 | PAH8SERIES_PARAM_IDX_PPG_CH_NUM, |
bell_huang | 0:84b0090bdfee | 21 | PAH8SERIES_PARAM_IDX_HAS_IR_CH, |
bell_huang | 0:84b0090bdfee | 22 | PAH8SERIES_PARAM_IDX_SIGNAL_GRADE, |
bell_huang | 0:84b0090bdfee | 23 | PAH8SERIES_PARAM_IDX_IIR_SMOOTH_PRED, |
bell_huang | 0:84b0090bdfee | 24 | PAH8SERIES_PARAM_IDX_IIR_LP, |
bell_huang | 0:84b0090bdfee | 25 | PAH8SERIES_PARAM_IDX_FIRST_HR_MULTIPLE_OFFSET_MEMS_THR, |
bell_huang | 0:84b0090bdfee | 26 | PAH8SERIES_PARAM_IDX_FIRST_HR_IN_MOTION_FLAG, |
bell_huang | 0:84b0090bdfee | 27 | PAH8SERIES_PARAM_IDX_FIRST_HR_MEMS_QUALITY_THR, |
bell_huang | 0:84b0090bdfee | 28 | PAH8SERIES_PARAM_IDX_FIRST_HR_PPG_QUALITY_THR, |
bell_huang | 0:84b0090bdfee | 29 | PAH8SERIES_PARAM_IDX_STATIC_MODE, |
bell_huang | 0:84b0090bdfee | 30 | PAH8SERIES_PARAM_IDX_STATIC_HR_UP_IDX, |
bell_huang | 0:84b0090bdfee | 31 | PAH8SERIES_PARAM_IDX_STATIC_HR_DN_IDX, |
bell_huang | 0:84b0090bdfee | 32 | PAH8SERIES_PARAM_IDX_IS_AUTO, |
bell_huang | 0:84b0090bdfee | 33 | PAH8SERIES_PARAM_IDX_IS_TAG, |
bell_huang | 0:84b0090bdfee | 34 | PAH8SERIES_PARAM_IDX_IS_8002, |
bell_huang | 0:84b0090bdfee | 35 | PAH8SERIES_PARAM_IDX_FIRST_HR_6SEC, |
bell_huang | 0:84b0090bdfee | 36 | PAH8SERIES_PARAM_IDX_HR_MODEL_TIME_CONST, |
bell_huang | 0:84b0090bdfee | 37 | PAH8SERIES_PARAM_IDX_HR_MODEL_PROGRESS_RATIO, |
bell_huang | 0:84b0090bdfee | 38 | PAH8SERIES_PARAM_IDX_INIT_WALK_HR, |
bell_huang | 0:84b0090bdfee | 39 | PAH8SERIES_PARAM_IDX_WALK_HR_UP_IDX, |
bell_huang | 0:84b0090bdfee | 40 | PAH8SERIES_PARAM_IDX_WALK_HR_DN_IDX, |
bell_huang | 0:84b0090bdfee | 41 | PAH8SERIES_PARAM_IDX_HR_TOO_LOW_IDX, |
bell_huang | 0:84b0090bdfee | 42 | PAH8SERIES_PARAM_IDX_EN_LWPS, |
bell_huang | 0:84b0090bdfee | 43 | PAH8SERIES_PARAM_IDX_EN_JUDGE_WALK, |
bell_huang | 0:84b0090bdfee | 44 | PAH8SERIES_PARAM_IDX_EN_CHK_HR_GT_MOTION, |
bell_huang | 0:84b0090bdfee | 45 | PAH8SERIES_PARAM_IDX_EN_HI_QUALITY_HR_JMP, |
bell_huang | 0:84b0090bdfee | 46 | PAH8SERIES_PARAM_IDX_EN_SPLIT_MOTION_PEAK, |
bell_huang | 0:84b0090bdfee | 47 | PAH8SERIES_PARAM_IDX_EN_LOCAL_FIRST_PEAK_TRACK, |
bell_huang | 0:84b0090bdfee | 48 | PAH8SERIES_PARAM_IDX_LOCAL_FIRST_PEAK_FRM_ALIVE_THR, |
bell_huang | 0:84b0090bdfee | 49 | PAH8SERIES_PARAM_IDX_EN_GLOBAL_FIRST_PEAK_TRACK, |
bell_huang | 0:84b0090bdfee | 50 | PAH8SERIES_PARAM_IDX_GLOBAL_FIRST_PEAK_FRM_ALIVE_THR, |
bell_huang | 0:84b0090bdfee | 51 | PAH8SERIES_PARAM_IDX_EN_FORCE_HR_OUT_IN10S, |
bell_huang | 0:84b0090bdfee | 52 | PAH8SERIES_PARAM_IDX_DEFAULT_HR_OUT_IN10S, |
bell_huang | 0:84b0090bdfee | 53 | PAH8SERIES_PARAM_IDX_FIRST_HR_HALF_1X_ENERGY_THT, |
bell_huang | 0:84b0090bdfee | 54 | PAH8SERIES_PARAM_IDX_HR_IN_MOTION_SEARCH_ST, |
bell_huang | 0:84b0090bdfee | 55 | PAH8SERIES_PARAM_IDX_HR_IN_MOTION_SEARCH_END, |
bell_huang | 0:84b0090bdfee | 56 | PAH8SERIES_PARAM_IDX_EN_MA_WALK, |
bell_huang | 0:84b0090bdfee | 57 | PAH8SERIES_PARAM_IDX_EN_HAND_CLAP, |
bell_huang | 0:84b0090bdfee | 58 | PAH8SERIES_PARAM_IDX_EN_NOR_PRE_DIFF_NOR, |
bell_huang | 0:84b0090bdfee | 59 | PAH8SERIES_PARAM_IDX_EN_HALF_HR_CHK, |
bell_huang | 0:84b0090bdfee | 60 | PAH8SERIES_PARAM_IDX_EN_NON_MOTION_FIRST_PEAK_TRACK, |
bell_huang | 0:84b0090bdfee | 61 | PAH8SERIES_PARAM_IDX_NON_MOTION_FIRST_PEAK_ALIVE_FRM_THR, |
bell_huang | 0:84b0090bdfee | 62 | PAH8SERIES_PARAM_IDX_PPG_NORMALIZE_LEN, |
bell_huang | 0:84b0090bdfee | 63 | PAH8SERIES_PARAM_IDX_PPG_DIFF_NORMALIZE_LEN, |
bell_huang | 0:84b0090bdfee | 64 | PAH8SERIES_PARAM_IDX_EN_CHK_HQ_3X_PPG, |
bell_huang | 0:84b0090bdfee | 65 | PAH8SERIES_PARAM_IDX_EN_POST_HR_PROCESS, |
bell_huang | 0:84b0090bdfee | 66 | //v519 |
bell_huang | 0:84b0090bdfee | 67 | PAH8SERIES_PARAM_IDX_SET_EN_JAFMI, |
bell_huang | 0:84b0090bdfee | 68 | PAH8SERIES_PARAM_IDX_SET_EN_TIME_DOMAIN_CONFIRM, |
bell_huang | 0:84b0090bdfee | 69 | PAH8SERIES_PARAM_IDX_SET_RESERVE_PEAK_RATIO_THR, |
bell_huang | 0:84b0090bdfee | 70 | PAH8SERIES_PARAM_IDX_SET_SUPPORT_HR_IDX_OFFSET, |
bell_huang | 0:84b0090bdfee | 71 | PAH8SERIES_PARAM_IDX_SET_SUPPORT_CHECK_STEP_FREQ, |
bell_huang | 0:84b0090bdfee | 72 | //v520 |
bell_huang | 0:84b0090bdfee | 73 | PAH8SERIES_PARAM_IDX_SET_SUPPORT_FOUND_HR_IDX, |
bell_huang | 0:84b0090bdfee | 74 | PAH8SERIES_PARAM_IDX_SET_SUPPORT_SIGNAL_LEVEL_CHECK, |
bell_huang | 0:84b0090bdfee | 75 | //v521 |
bell_huang | 0:84b0090bdfee | 76 | PAH8SERIES_PARAM_IDX_SET_FORCE_OUT_SAMPLE_COUNT_10S, |
bell_huang | 0:84b0090bdfee | 77 | //v526 |
bell_huang | 0:84b0090bdfee | 78 | PAH8SERIES_PARAM_IDX_SET_FLAG_LIMIT_HR_UB, |
bell_huang | 0:84b0090bdfee | 79 | PAH8SERIES_PARAM_IDX_SET_LIMIT_HR_UB, |
bell_huang | 0:84b0090bdfee | 80 | //v528 |
bell_huang | 0:84b0090bdfee | 81 | PAH8SERIES_PARAM_IDX_SET_SUPPORT_FAST_POST_HR_IDX_FLAG, |
bell_huang | 0:84b0090bdfee | 82 | //v532 |
bell_huang | 0:84b0090bdfee | 83 | PAH8SERIES_PARAM_IDX_SET_FLAG_LIMIT_HR_LB, |
bell_huang | 0:84b0090bdfee | 84 | PAH8SERIES_PARAM_IDX_SET_LIMIT_HR_LB, |
bell_huang | 0:84b0090bdfee | 85 | |
bell_huang | 0:84b0090bdfee | 86 | PAH8SERIES_NF_PARAM_IDX, |
bell_huang | 0:84b0090bdfee | 87 | } pah8series_param_idx_t; |
bell_huang | 0:84b0090bdfee | 88 | |
bell_huang | 0:84b0090bdfee | 89 | typedef enum { |
bell_huang | 0:84b0090bdfee | 90 | MSG_SUCCESS = 0, |
bell_huang | 0:84b0090bdfee | 91 | MSG_ALG_NOT_OPEN, |
bell_huang | 0:84b0090bdfee | 92 | MSG_ALG_REOPEN, |
bell_huang | 0:84b0090bdfee | 93 | MSG_MEMS_LEN_TOO_SHORT, |
bell_huang | 0:84b0090bdfee | 94 | MSG_NO_TOUCH, |
bell_huang | 0:84b0090bdfee | 95 | MSG_PPG_LEN_TOO_SHORT, |
bell_huang | 0:84b0090bdfee | 96 | MSG_FRAME_LOSS, |
bell_huang | 0:84b0090bdfee | 97 | MSG_INVALID_ARGUMENT, |
bell_huang | 0:84b0090bdfee | 98 | MSG_PROCESS_NOT_FINISHED, |
bell_huang | 0:84b0090bdfee | 99 | MSG_ADDR_NOT_4BYTE_ALIGNED, |
bell_huang | 0:84b0090bdfee | 100 | |
bell_huang | 0:84b0090bdfee | 101 | MSG_NO_MEM = 14, |
bell_huang | 0:84b0090bdfee | 102 | MSG_ECG_LEN_TOO_SHORT = 15, |
bell_huang | 0:84b0090bdfee | 103 | |
bell_huang | 0:84b0090bdfee | 104 | MSG_HR_READY = 0x30, |
bell_huang | 0:84b0090bdfee | 105 | MSG_SIGNAL_POOR = 0x40 |
bell_huang | 0:84b0090bdfee | 106 | } pah8series_msg_code_t; |
bell_huang | 0:84b0090bdfee | 107 | |
bell_huang | 0:84b0090bdfee | 108 | |
bell_huang | 0:84b0090bdfee | 109 | #endif // PAH8002_DATA_H__ |
bell_huang | 0:84b0090bdfee | 110 |