imsensors/include/imsensors/ppg/ppg_pah8001.h

27 lines
641 B
C

#ifndef PPG_PAH8001_H
#define PPG_PAH8001_H
#include "imsensors/common/sensors_common.h"
typedef enum {
IMS_PPG_ALG_A,
IMS_PPG_ALG_C,
} ims_pah8001_alg_t;
typedef struct {
ims_i2c_xfer_t i2c_xfer;
ims_delay_t delay;
} ims_pah8001_cb_t;
typedef struct {
ims_pah8001_cb_t cb;
void *pdev;
} ims_pah8001_t;
ims_ret_t ims_pah8001_init(ims_pah8001_t *pah);
ims_ret_t ims_pah8001_power(ims_pah8001_t *pah, const bool on);
ims_ret_t ims_pah8001_touched(ims_pah8001_t *pah, bool *touched);
ims_ret_t ims_pah8001_read_alg_hr(ims_pah8001_t *pah, ims_pah8001_alg_t alg, uint8_t *hr);
#endif // PPG_PAH8001_H