38 #include "drv_digital_out.h" 39 #include "drv_digital_in.h" 40 #include "drv_i2c_master.h" 52 #define HEARTRATE2_MAP_MIKROBUS( cfg, mikrobus ) \ 53 cfg.scl = MIKROBUS( mikrobus, MIKROBUS_SCL ); \ 54 cfg.sda = MIKROBUS( mikrobus, MIKROBUS_SDA ); \ 55 cfg.an = MIKROBUS( mikrobus, MIKROBUS_AN ); \ 56 cfg.cs = MIKROBUS( mikrobus, MIKROBUS_CS ); \ 57 cfg.int_pin = MIKROBUS( mikrobus, MIKROBUS_INT ) 64 #define HEARTRATE2_RETVAL uint8_t 66 #define HEARTRATE2_OK_OK 0x00 67 #define HEARTRATE2_INIT_ERROR 0xFF 74 #define HEARTRATE2_SLAVE_ADDRESS 0x62 81 #define HEARTRATE2_REG_INT_STATUS_1 0x00 82 #define HEARTRATE2_REG_INT_STATUS_2 0x01 83 #define HEARTRATE2_REG_INT_ENABLE_1 0x02 84 #define HEARTRATE2_REG_INT_ENABLE_2 0x03 85 #define HEARTRATE2_REG_FIFO_WRITE_PTR 0x04 86 #define HEARTRATE2_REG_FIFO_READ_PTR 0x05 87 #define HEARTRATE2_REG_OVERFLOW_CNT 0x06 88 #define HEARTRATE2_REG_FIFO_DATA_CNT 0x07 89 #define HEARTRATE2_REG_FIFO_DATA_REG 0x08 90 #define HEARTRATE2_REG_FIFO_CFG_1 0x09 91 #define HEARTRATE2_REG_FIFO_CFG_2 0x0A 92 #define HEARTRATE2_REG_SYSTEM_CTRL 0x0D 93 #define HEARTRATE2_REG_PPG_SYNC_CTRL 0x10 94 #define HEARTRATE2_REG_PPG_CFG_1 0x11 95 #define HEARTRATE2_REG_PPG_CFG_2 0x12 96 #define HEARTRATE2_REG_PPG_CFG_3 0x13 97 #define HEARTRATE2_REG_PROX_INT_THRESHOLD 0x14 98 #define HEARTRATE2_REG_PHOTO_DIODE_BIAS 0x15 99 #define HEARTRATE2_REG_PICKET_FENCE 0x16 100 #define HEARTRATE2_REG_LED_SQUENCE_REG_1 0x20 101 #define HEARTRATE2_REG_LED_SQUENCE_REG_2 0x21 102 #define HEARTRATE2_REG_LED_SQUENCE_REG_3 0x22 103 #define HEARTRATE2_REG_LED_1_PA 0x23 104 #define HEARTRATE2_REG_LED_2_PA 0x24 105 #define HEARTRATE2_REG_LED_3_PA 0x25 106 #define HEARTRATE2_REG_LED_PILOT_PA 0x29 107 #define HEARTRATE2_REG_LED_RANGE_1 0x2A 108 #define HEARTRATE2_REG_S1_HI_RES_DAC_1 0x2C 109 #define HEARTRATE2_REG_S2_HI_RES_DAC_1 0x2D 110 #define HEARTRATE2_REG_S3_HI_RES_DAC_1 0x2E 111 #define HEARTRATE2_REG_S4_HI_RES_DAC_1 0x2F 112 #define HEARTRATE2_REG_S5_HI_RES_DAC_1 0x30 113 #define HEARTRATE2_REG_S6_HI_RES_DAC_1 0x31 114 #define HEARTRATE2_REG_DIE_TEMP_CFG 0x40 115 #define HEARTRATE2_REG_DIE_TEMP_INT 0x41 116 #define HEARTRATE2_REG_DIE_TEMP_FRAC 0x42 117 #define HEARTRATE2_REG_DAC_CALIBRATION_EN 0x50 118 #define HEARTRATE2_REG_SHA_CMD 0xF0 119 #define HEARTRATE2_REG_SHA_CFG 0xF1 120 #define HEARTRATE2_REG_MEM_CTRL 0xF2 121 #define HEARTRATE2_REG_MEM_INDEX 0xF3 122 #define HEARTRATE2_REG_MEM_DATA 0xF4 123 #define HEARTRATE2_REG_REV_ID 0xFE 124 #define HEARTRATE2_REG_PART_ID 0xFF 131 #define HEARTRATE2_SYS_CTRL_SW_RESET 0x01 132 #define HEARTRATE2_SYS_CTRL_SHUT_DOWN 0x02 133 #define HEARTRATE2_SYS_CTRL_POWER_ON 0x00 134 #define HEARTRATE2_SYS_CTRL_LOW_PWR_MODE 0x04 135 #define HEARTRATE2_SYS_CTRL_SINGLE_PPG 0x08 136 #define HEARTRATE2_SYS_CTRL_DUAL_PPG 0x00 143 #define HEARTRATE2_PPG_CFG_1_ALC_ENABLE 0x00 144 #define HEARTRATE2_PPG_CFG_1_ALC_DISABLE 0x80 145 #define HEARTRATE2_PPG_CFG_1_ADD_OFFSET 0x40 146 #define HEARTRATE2_PPG_CFG_1_NO_OFFSET 0x00 147 #define HEARTRATE2_PPG_CFG_1_ADC_RANGE_4096 0x00 148 #define HEARTRATE2_PPG_CFG_1_ADC_RANGE_8192 0x04 149 #define HEARTRATE2_PPG_CFG_1_ADC_RANGE_16384 0x08 150 #define HEARTRATE2_PPG_CFG_1_ADC_RANGE_32768 0x0C 151 #define HEARTRATE2_PPG_CFG_1_PPG_TINT_21p3 0x00 152 #define HEARTRATE2_PPG_CFG_1_PPG_TINT_35p9 0x01 153 #define HEARTRATE2_PPG_CFG_1_PPG_TINT_65p2 0x02 154 #define HEARTRATE2_PPG_CFG_1_PPG_TINT_123p8 0x03 161 #define HEARTRATE2_PPG_CFG_2_CLK_FREQ_24p995_N1 0x00 162 #define HEARTRATE2_PPG_CFG_2_CLK_FREQ_50p027_N1 0x08 163 #define HEARTRATE2_PPG_CFG_2_CLK_FREQ_84p021_N1 0x10 164 #define HEARTRATE2_PPG_CFG_2_CLK_FREQ_99p902_N1 0x18 165 #define HEARTRATE2_PPG_CFG_2_CLK_FREQ_199p805_N1 0x20 166 #define HEARTRATE2_PPG_CFG_2_CLK_FREQ_399p610_N1 0x28 167 #define HEARTRATE2_PPG_CFG_2_CLK_FREQ_24p995_N2 0x30 168 #define HEARTRATE2_PPG_CFG_2_CLK_FREQ_50p027_N2 0x38 169 #define HEARTRATE2_PPG_CFG_2_CLK_FREQ_84p021_N2 0x40 170 #define HEARTRATE2_PPG_CFG_2_CLK_FREQ_99p902_N2 0x48 171 #define HEARTRATE2_PPG_CFG_2_CLK_FREQ_8p000_N1 0x50 172 #define HEARTRATE2_PPG_CFG_2_CLK_FREQ_16p000_N1 0x58 173 #define HEARTRATE2_PPG_CFG_2_CLK_FREQ_32p000_N1 0x60 174 #define HEARTRATE2_PPG_CFG_2_CLK_FREQ_64p000_N1 0x68 175 #define HEARTRATE2_PPG_CFG_2_CLK_FREQ_128p000_N1 0x70 176 #define HEARTRATE2_PPG_CFG_2_CLK_FREQ_256p000_N1 0x78 177 #define HEARTRATE2_PPG_CFG_2_CLK_FREQ_512p000_N1 0x80 178 #define HEARTRATE2_PPG_CFG_2_CLK_FREQ_1024p000_N1 0x88 179 #define HEARTRATE2_PPG_CFG_2_CLK_FREQ_2048p000_N1 0x90 180 #define HEARTRATE2_PPG_CFG_2_CLK_FREQ_4096p000_N1 0x98 181 #define HEARTRATE2_PPG_CFG_2_SMP_AVG_1 0x00 182 #define HEARTRATE2_PPG_CFG_2_SMP_AVG_2 0x01 183 #define HEARTRATE2_PPG_CFG_2_SMP_AVG_4 0x02 184 #define HEARTRATE2_PPG_CFG_2_SMP_AVG_8 0x03 185 #define HEARTRATE2_PPG_CFG_2_SMP_AVG_16 0x04 186 #define HEARTRATE2_PPG_CFG_2_SMP_AVG_32 0x05 187 #define HEARTRATE2_PPG_CFG_2_SMP_AVG_64 0x06 188 #define HEARTRATE2_PPG_CFG_2_SMP_AVG_128 0x07 195 #define HEARTRATE2_PPG_CFG_3_LED_SETLNG_4 0x00 196 #define HEARTRATE2_PPG_CFG_3_LED_SETLNG_6 0x40 197 #define HEARTRATE2_PPG_CFG_3_LED_SETLNG_8 0x80 198 #define HEARTRATE2_PPG_CFG_3_LED_SETLNG_12 0xC0 199 #define HEARTRATE2_PPG_CFG_3_FILTER_CDM 0x00 200 #define HEARTRATE2_PPG_CFG_3_FILTER_FDM 0x20 201 #define HEARTRATE2_PPG_CFG_3_BURST_RATE_8HZ 0x00 202 #define HEARTRATE2_PPG_CFG_3_BURST_RATE_32HZ 0x02 203 #define HEARTRATE2_PPG_CFG_3_BURST_RATE_84HZ 0x04 204 #define HEARTRATE2_PPG_CFG_3_BURST_RATE_256HZ 0x06 205 #define HEARTRATE2_PPG_CFG_3_BURST_ENABLE 0x01 206 #define HEARTRATE2_PPG_CFG_3_BURST_DISABLE 0x00 213 #define HEARTRATE2_PHOTO_DIODE_BIAS1_0_65_PF 0x01 214 #define HEARTRATE2_PHOTO_DIODE_BIAS1_65_130_PF 0x05 215 #define HEARTRATE2_PHOTO_DIODE_BIAS1_130_260_PF 0x06 216 #define HEARTRATE2_PHOTO_DIODE_BIAS1_260_520_PF 0x07 217 #define HEARTRATE2_PHOTO_DIODE_BIAS2_0_65_PF 0x10 218 #define HEARTRATE2_PHOTO_DIODE_BIAS2_65_130_PF 0x50 219 #define HEARTRATE2_PHOTO_DIODE_BIAS2_130_260_PF 0x60 220 #define HEARTRATE2_PHOTO_DIODE_BIAS2_260_520_PF 0x70 227 #define HEARTRATE2_LED_RANGE1_LED1_CURRENT_31_MA 0x00 228 #define HEARTRATE2_LED_RANGE1_LED1_CURRENT_62_MA 0x01 229 #define HEARTRATE2_LED_RANGE1_LED1_CURRENT_93_MA 0x02 230 #define HEARTRATE2_LED_RANGE1_LED1_CURRENT_124_MA 0x03 231 #define HEARTRATE2_LED_RANGE1_LED2_CURRENT_31_MA 0x00 232 #define HEARTRATE2_LED_RANGE1_LED2_CURRENT_62_MA 0x04 233 #define HEARTRATE2_LED_RANGE1_LED2_CURRENT_93_MA 0x08 234 #define HEARTRATE2_LED_RANGE1_LED2_CURRENT_124_MA 0x0C 235 #define HEARTRATE2_LED_RANGE1_LED3_CURRENT_31_MA 0x00 236 #define HEARTRATE2_LED_RANGE1_LED3_CURRENT_62_MA 0x10 237 #define HEARTRATE2_LED_RANGE1_LED3_CURRENT_93_MA 0x20 238 #define HEARTRATE2_LED_RANGE1_LED3_CURRENT_124_MA 0x30 245 #define HEARTRATE2_FIFO_CFG_2_FLUSH_FIFO 0x10 246 #define HEARTRATE2_FIFO_CFG_2_FIFO_READ_DATA_CLR 0x08 247 #define HEARTRATE2_FIFO_CFG_2_FIFO_STAT_DATA_CLR 0x00 248 #define HEARTRATE2_FIFO_CFG_2_FULL_TYPE_RPT 0x00 249 #define HEARTRATE2_FIFO_CFG_2_FULL_TYPE_ONCE 0x04 250 #define HEARTRATE2_FIFO_CFG_2_FIFO_ROLL_OVER 0x02 251 #define HEARTRATE2_FIFO_CFG_2_FIFO_STOP 0x00 258 #define HEARTRATE2_INT_1_FULL 0x80 259 #define HEARTRATE2_INT_1_NOT_FULL 0x00 260 #define HEARTRATE2_INT_1_DATA_RDY 0x40 261 #define HEARTRATE2_INT_1_DATA_NOT_RDY 0x00 262 #define HEARTRATE2_INT_1_ALC_OVERFLOW 0x20 263 #define HEARTRATE2_INT_1_ALC_NORMAL 0x00 264 #define HEARTRATE2_INT_1_PROXIMITY_INT 0x10 265 #define HEARTRATE2_INT_1_PROXIMITY_NORMAL 0x00 266 #define HEARTRATE2_INT_1_LED_COMPLIANT 0x08 267 #define HEARTRATE2_INT_1_LED_NOT_COMPLIANT 0x00 268 #define HEARTRATE2_INT_1_DIE_TEMP_RDY 0x04 269 #define HEARTRATE2_INT_1_DIE_TEMP_NOT_RDY 0x00 270 #define HEARTRATE2_INT_1_PWR_RDY 0x01 271 #define HEARTRATE2_INT_1_PWR_NOT_RDY 0x00 278 #define HEARTRATE2_INT_1_FULL 0x80 279 #define HEARTRATE2_INT_1_NOT_FULL 0x00 280 #define HEARTRATE2_INT_1_DATA_RDY 0x40 281 #define HEARTRATE2_INT_1_DATA_NOT_RDY 0x00 282 #define HEARTRATE2_INT_1_ALC_OVERFLOW 0x20 283 #define HEARTRATE2_INT_1_ALC_NORMAL 0x00 284 #define HEARTRATE2_INT_1_PROXIMITY_INT 0x10 285 #define HEARTRATE2_INT_1_PROXIMITY_NORMAL 0x00 286 #define HEARTRATE2_INT_1_LED_COMPLIANT 0x08 287 #define HEARTRATE2_INT_1_LED_NOT_COMPLIANT 0x00 288 #define HEARTRATE2_INT_1_DIE_TEMP_RDY 0x04 289 #define HEARTRATE2_INT_1_DIE_TEMP_NOT_RDY 0x00 290 #define HEARTRATE2_INT_1_PWR_RDY 0x01 291 #define HEARTRATE2_INT_1_PWR_NOT_RDY 0x00 292 #define HEARTRATE2_INT_2_SHA_AUTHENTICATION_DONE 0x01 293 #define HEARTRATE2_INT_2_SHA_AUTHENTICATION_NOT_DONE 0x00 300 #define HEARTRATE2_FIFO_TAG_PPG1_LEDC1 0x01 301 #define HEARTRATE2_FIFO_TAG_PPG1_LEDC2 0x02 302 #define HEARTRATE2_FIFO_TAG_PPG1_LEDC3 0x03 303 #define HEARTRATE2_FIFO_TAG_PPG1_LEDC4 0x04 304 #define HEARTRATE2_FIFO_TAG_PPG1_LEDC5 0x05 305 #define HEARTRATE2_FIFO_TAG_PPG1_LEDC6 0x06 306 #define HEARTRATE2_FIFO_TAG_PPF1_LEDC1 0x0D 307 #define HEARTRATE2_FIFO_TAG_PPF1_LEDC2 0x0E 308 #define HEARTRATE2_FIFO_TAG_PPF1_LEDC3 0x0F 309 #define HEARTRATE2_FIFO_TAG_PROX1 0x19 310 #define HEARTRATE2_FIFO_TAG_SUB_DAC_UPDATE 0x1D 311 #define HEARTRATE2_FIFO_TAG_INVALID_DATA 0x1E 312 #define HEARTRATE2_FIFO_TAG_TIME_STAMP 0x1F 319 #define HEARTRATE2_LEDSQ_GREEN 0x1 320 #define HEARTRATE2_LEDSQ_IR 0x2 321 #define HEARTRATE2_LEDSQ_RED 0x3 322 #define HEARTRATE2_LEDSQ_PILOT_LED1 0x8 323 #define HEARTRATE2_LEDSQ_DIRECT_AMBIENT 0x9 324 #define HEARTRATE2_LEDSQ_OFF 0x0 331 #define HEARTRATE2_DEV_ID 0x36 332 #define HEARTRATE2_ERROR 0xEE 333 #define HEARTRATE2_OK 0xFF 340 #define HEARTRATE2_INT_ENABLE 0x01 341 #define HEARTRATE2_INT_DISABLE 0x00 348 #define HEARTRATE2_PPG_CFG_ALC_EN 0x01 349 #define HEARTRATE2_PPG_CFG_ALC_DS 0x00 356 #define HEARTRATE2_PPG_CFG_OFFSET_ADD 0x01 357 #define HEARTRATE2_PPG_CFG_OFFSET_NO 0x00 364 #define HEARTRATE2_PPG_CFG_TINT_14p8_US 0x00 365 #define HEARTRATE2_PPG_CFG_TINT_29p4_US 0x01 366 #define HEARTRATE2_PPG_CFG_TINT_58p7_US 0x02 367 #define HEARTRATE2_PPG_CFG_TINT_117p3_US 0x03 374 #define HEARTRATE2_PPG_CFG_LED_RANGE_4k 0x00 375 #define HEARTRATE2_PPG_CFG_LED_RANGE_8k 0x01 376 #define HEARTRATE2_PPG_CFG_LED_RANGE_16k 0x02 377 #define HEARTRATE2_PPG_CFG_LED_RANGE_32k 0x03 384 #define HEARTRATE2_PPG_CFG_SMP_RATE_P1_24sps 0x00 385 #define HEARTRATE2_PPG_CFG_SMP_RATE_P1_50sps 0x01 386 #define HEARTRATE2_PPG_CFG_SMP_RATE_P1_84sps 0x02 387 #define HEARTRATE2_PPG_CFG_SMP_RATE_P1_99sps 0x03 388 #define HEARTRATE2_PPG_CFG_SMP_RATE_P1_199sps 0x04 389 #define HEARTRATE2_PPG_CFG_SMP_RATE_P1_399sps 0x05 390 #define HEARTRATE2_PPG_CFG_SMP_RATE_P2_24sps 0x06 391 #define HEARTRATE2_PPG_CFG_SMP_RATE_P2_50sps 0x07 392 #define HEARTRATE2_PPG_CFG_SMP_RATE_P2_84sps 0x08 393 #define HEARTRATE2_PPG_CFG_SMP_RATE_P2_99sps 0x09 394 #define HEARTRATE2_PPG_CFG_SMP_RATE_P1_8sps 0x0A 395 #define HEARTRATE2_PPG_CFG_SMP_RATE_P1_16sps 0x0B 396 #define HEARTRATE2_PPG_CFG_SMP_RATE_P1_32sps 0x0C 397 #define HEARTRATE2_PPG_CFG_SMP_RATE_P1_64sps 0x0D 398 #define HEARTRATE2_PPG_CFG_SMP_RATE_P1_128sps 0x0E 399 #define HEARTRATE2_PPG_CFG_SMP_RATE_P1_256sps 0x0F 400 #define HEARTRATE2_PPG_CFG_SMP_RATE_P1_512sps 0x10 401 #define HEARTRATE2_PPG_CFG_SMP_RATE_P1_1024sps 0x11 402 #define HEARTRATE2_PPG_CFG_SMP_RATE_P1_2048sps 0x12 403 #define HEARTRATE2_PPG_CFG_SMP_RATE_P1_4096sps 0x13 410 #define HEARTRATE2_PPG_CFG_SMP_AVG_1 0x00 411 #define HEARTRATE2_PPG_CFG_SMP_AVG_2 0x01 412 #define HEARTRATE2_PPG_CFG_SMP_AVG_4 0x02 413 #define HEARTRATE2_PPG_CFG_SMP_AVG_8 0x03 414 #define HEARTRATE2_PPG_CFG_SMP_AVG_16 0x04 415 #define HEARTRATE2_PPG_CFG_SMP_AVG_32 0x05 416 #define HEARTRATE2_PPG_CFG_SMP_AVG_64 0x06 417 #define HEARTRATE2_PPG_CFG_SMP_AVG_128 0x07 424 #define HEARTRATE2_LED_RANGE_CURRENT_31_MA 0x00 425 #define HEARTRATE2_LED_RANGE_CURRENT_62_MA 0x01 426 #define HEARTRATE2_LED_RANGE_CURRENT_93_MA 0x02 427 #define HEARTRATE2_LED_RANGE_CURRENT_124_MA 0x03 434 #define HEARTRATE2_CONFIG_GREEN 0xAA 435 #define HEARTRATE2_CONFIG_IR 0xBB 436 #define HEARTRATE2_CONFIG_RED 0xCC 443 #define HEARTRATE2_PIN_HIGH 1 444 #define HEARTRATE2_PIN_LOW 0 451 #define HEARTRATE2_TEMPERATURE_RESOLUTION 0.0625f 452 #define HEARTRATE2_TEMPERATURE_MASK 0x0F 459 #define HEARTRATE2_FIFO_DATA_MASK 0x07FFFF 460 #define HEARTRATE2_FIFO_RES 19 461 #define HEARTRATE2_FIFO_TAG_MASK 0x1F 468 #define HEARTRATE2_LEDSQ_SHIFT 4 475 #define HEARTRATE2_INT_SHIFT_FULL 7 476 #define HEARTRATE2_INT_SHIFT_DATA_RDY 6 477 #define HEARTRATE2_INT_SHIFT_ALC_OVF 5 478 #define HEARTRATE2_INT_SHIFT_PROXY 4 479 #define HEARTRATE2_INT_SHIFT_LED_COMPLIANT 3 480 #define HEARTRATE2_INT_SHIFT_DIE_TEMEP 2 481 #define HEARTRATE2_INT_SHIFT_PWR_RDY 0 482 #define HEARTRATE2_INT_SHIFT_SHA 0 483 #define HEARTRATE2_INT_MASK 0x01 490 #define HEARTRATE2_PPG_CFG_ALC 7 491 #define HEARTRATE2_PPG_CFG_OFFSET 6 492 #define HEARTRATE2_PPG_CFG_ADC_RANGE 2 493 #define HEARTRATE2_PPG_CFG_TINT 0 494 #define HEARTRATE2_PPG_CFG_SMP_RATE 3 495 #define HEARTRATE2_PPG_CFG_SMP_AVG 0 502 #define HEARTRATE2_LED_RANGE_SHIFT_GREEN 0 503 #define HEARTRATE2_LED_RANGE_SHIFT_IR 2 504 #define HEARTRATE2_LED_RANGE_SHIFT_RED 4 838 #endif // _HEARTRATE2_H_ uint8_t ir
Definition: heartrate2.h:552
i2c_master_t i2c
Definition: heartrate2.h:600
uint8_t heartrate2_led_sequence_config(heartrate2_t *ctx, heartrate2_ledsq_cfg_t *ledsq)
Function for configurating led sequence registers.
uint8_t red
Definition: heartrate2.h:543
digital_in_t int_pin
Definition: heartrate2.h:596
void heartrate2_default_cfg(heartrate2_t *ctx, uint8_t cfg_led)
Click Default Configuration function.
uint8_t pwr_rdy
Definition: heartrate2.h:580
float heartrate2_read_temp(heartrate2_t *ctx)
Function for reading temperature of device.
void heartrate2_read_fifo(heartrate2_t *ctx, heartrate2_fifo_data_t *fifo)
Generic function for reading data from fifo registar.
digital_out_t cs
Definition: heartrate2.h:591
void heartrate2_ledpa_config(heartrate2_t *ctx, heartrate2_ledpa_t *ledpa)
Function for configurating led pa registers.
Structure setting led current range.
Definition: heartrate2.h:549
uint8_t heartrate2_get_int(heartrate2_t *ctx)
Function for reading int pin status.
pin_name_t an
Definition: heartrate2.h:620
uint8_t heartrate2_led_range_curr_config(heartrate2_t *ctx, heartrate2_led_range_curr_t *led_range)
Function for configurating led current range registers.
Structure configurating ppg.
Definition: heartrate2.h:559
uint8_t sha
Definition: heartrate2.h:581
uint8_t proxy
Definition: heartrate2.h:577
uint8_t slave_address
Definition: heartrate2.h:604
Structure configurating led sequence.
Definition: heartrate2.h:526
uint8_t ledsq1
Definition: heartrate2.h:528
uint8_t heartrate2_int_control(heartrate2_t *ctx, heartrate2_int_t *int_ctrl)
Function for configurating interrupt registers.
uint8_t led_range
Definition: heartrate2.h:564
uint8_t ledsq2
Definition: heartrate2.h:529
uint8_t red
Definition: heartrate2.h:553
uint8_t ledsq3
Definition: heartrate2.h:530
uint8_t alc_ovf
Definition: heartrate2.h:576
pin_name_t cs
Definition: heartrate2.h:621
Click ctx object definition.
Definition: heartrate2.h:587
uint8_t data_rdy
Definition: heartrate2.h:575
uint8_t ir
Definition: heartrate2.h:542
uint8_t ledsq6
Definition: heartrate2.h:533
uint8_t led_compliant
Definition: heartrate2.h:578
uint32_t data_val
Definition: heartrate2.h:519
void heartrate2_set_en(heartrate2_t *ctx, uint8_t state)
Function for setting en pin status.
uint8_t i2c_address
Definition: heartrate2.h:627
void heartrate2_cfg_setup(heartrate2_cfg_t *cfg)
Config Object Initialization function.
uint8_t heartrate2_generic_read(heartrate2_t *ctx, uint8_t reg_adr)
Generic read function.
void heartrate2_soft_reset(heartrate2_t *ctx)
Function for restarting device.
void heartrate2_read_buf(heartrate2_t *ctx, uint8_t reg_adr, uint8_t *read_buf, uint8_t buf_size)
Function for reading data buffer from registar.
uint8_t heartrate2_get_gp(heartrate2_t *ctx)
Function for reading gp pin status.
uint8_t offset
Definition: heartrate2.h:562
uint8_t ppg_tint
Definition: heartrate2.h:563
digital_in_t an
Definition: heartrate2.h:595
HEARTRATE2_RETVAL heartrate2_init(heartrate2_t *ctx, heartrate2_cfg_t *cfg)
Initialization function.
pin_name_t scl
Definition: heartrate2.h:615
uint8_t green
Definition: heartrate2.h:541
#define HEARTRATE2_RETVAL
Definition: heartrate2.h:64
uint8_t ledsq4
Definition: heartrate2.h:531
uint8_t ledsq5
Definition: heartrate2.h:532
uint8_t full_fifo
Definition: heartrate2.h:574
Structure for interrupt status.
Definition: heartrate2.h:572
void heartrate2_generic_write(heartrate2_t *ctx, uint8_t reg_adr, uint8_t write_data)
Generic write function.
Structure led brightness.
Definition: heartrate2.h:539
uint8_t alc
Definition: heartrate2.h:561
Structure for reading fifo data.
Definition: heartrate2.h:517
void heartrate2_int_status(heartrate2_t *ctx, heartrate2_int_t *int_status)
Function for reading interrupt status.
uint8_t smp_rate
Definition: heartrate2.h:565
uint8_t tag
Definition: heartrate2.h:520
Click configuration structure definition.
Definition: heartrate2.h:611
uint8_t heartrate2_ppg_config(heartrate2_t *ctx, heartrate2_ppg_cfg_t *ppg_cfg)
Function for configurating ppg registers.
uint8_t green
Definition: heartrate2.h:551
uint32_t i2c_speed
Definition: heartrate2.h:626
pin_name_t sda
Definition: heartrate2.h:616
uint8_t smp_freq
Definition: heartrate2.h:566
pin_name_t int_pin
Definition: heartrate2.h:622
uint8_t die_temp
Definition: heartrate2.h:579