40static volatile uint8_t gs_flag;
41static uint32_t gs_raw_red[32];
42static uint32_t gs_raw_ir[32];
43static uint32_t gs_raw_green[32];
70static void a_max30105_interface_test_receive_callback(uint8_t type)
81 res =
max30105_read(&gs_handle, (uint32_t *)gs_raw_red, (uint32_t *)gs_raw_ir, (uint32_t *)gs_raw_green, (uint8_t *)&len);
driver max30105 fifo test header file
uint8_t max30105_init(max30105_handle_t *handle)
initialize the chip
uint8_t max30105_read(max30105_handle_t *handle, uint32_t *raw_red, uint32_t *raw_ir, uint32_t *raw_green, uint8_t *len)
read the data
uint8_t max30105_irq_handler(max30105_handle_t *handle)
irq handler
uint8_t max30105_set_fifo_sample_averaging(max30105_handle_t *handle, max30105_sample_averaging_t sample)
set the fifo sample averaging
uint8_t max30105_set_fifo_almost_full(max30105_handle_t *handle, uint8_t value)
set the fifo almost full value
uint8_t max30105_info(max30105_info_t *info)
get chip's information
uint8_t max30105_set_led_red_pulse_amplitude(max30105_handle_t *handle, uint8_t amp)
set the red led pulse amplitude
uint8_t max30105_set_shutdown(max30105_handle_t *handle, max30105_bool_t enable)
set the shutdown
struct max30105_handle_s max30105_handle_t
max30105 handle structure definition
uint8_t max30105_proximity_threshold_convert_to_register(max30105_handle_t *handle, uint32_t adc, uint8_t *reg)
convert the proximity threshold to the register raw data
uint8_t max30105_set_mode(max30105_handle_t *handle, max30105_mode_t mode)
set the mode
uint8_t max30105_set_fifo_roll(max30105_handle_t *handle, max30105_bool_t enable)
enable or disable the fifo roll
max30105_bool_t
max30105 bool enumeration definition
uint8_t max30105_set_led_proximity_pulse_amplitude(max30105_handle_t *handle, uint8_t amp)
set the proximity led pulse amplitude
uint8_t max30105_set_interrupt(max30105_handle_t *handle, max30105_interrupt_t type, max30105_bool_t enable)
set the interrupt bool
uint8_t max30105_set_led_green_pulse_amplitude(max30105_handle_t *handle, uint8_t amp)
set the green led pulse amplitude
uint8_t max30105_set_adc_resolution(max30105_handle_t *handle, max30105_adc_resolution_t resolution)
set the adc resolution
uint8_t max30105_set_particle_sensing_adc_range(max30105_handle_t *handle, max30105_particle_sensing_adc_range_t range)
set the particle sensing adc range
uint8_t max30105_set_proximity_interrupt_threshold(max30105_handle_t *handle, uint8_t threshold)
set the proximity interrupt threshold
uint8_t max30105_set_particle_sensing_sample_rate(max30105_handle_t *handle, max30105_particle_sensing_sample_rate_t rate)
set the particle sensing sample rate
struct max30105_info_s max30105_info_t
max30105 information structure definition
uint8_t max30105_read_temperature(max30105_handle_t *handle, uint16_t *raw, float *temp)
read the temperature
uint8_t max30105_get_interrupt_status(max30105_handle_t *handle, max30105_interrupt_status_t status, max30105_bool_t *enable)
get the interrupt status
uint8_t max30105_deinit(max30105_handle_t *handle)
close the chip
uint8_t max30105_set_led_ir_pulse_amplitude(max30105_handle_t *handle, uint8_t amp)
set the ir led pulse amplitude
uint8_t max30105_set_die_temperature(max30105_handle_t *handle, max30105_bool_t enable)
enable or disable die temperature
uint8_t max30105_set_slot(max30105_handle_t *handle, max30105_slot_t slot, max30105_led_t led)
set the led slot
@ MAX30105_INTERRUPT_FIFO_FULL_EN
@ MAX30105_INTERRUPT_DIE_TEMP_RDY_EN
@ MAX30105_INTERRUPT_ALC_OVF_EN
@ MAX30105_INTERRUPT_DATA_RDY_EN
@ MAX30105_INTERRUPT_PROX_INT_EN
@ MAX30105_INTERRUPT_STATUS_ALC_OVF
@ MAX30105_INTERRUPT_STATUS_DIE_TEMP_RDY
@ MAX30105_INTERRUPT_STATUS_FIFO_FULL
@ MAX30105_INTERRUPT_STATUS_DATA_RDY
@ MAX30105_INTERRUPT_STATUS_PWR_RDY
@ MAX30105_INTERRUPT_STATUS_PROX_INT
@ MAX30105_PARTICLE_SENSING_SAMPLE_RATE_100_HZ
@ MAX30105_SAMPLE_AVERAGING_8
@ MAX30105_ADC_RESOLUTION_18_BIT
@ MAX30105_MODE_GREEN_RED_IR
@ MAX30105_PARTICLE_SENSING_ADC_RANGE_4096
@ MAX30105_LED_IR_LED2_PA
@ MAX30105_LED_RED_LED1_PA
@ MAX30105_LED_GREEN_LED3_PA
void max30105_interface_delay_ms(uint32_t ms)
interface delay ms
void max30105_interface_debug_print(const char *const fmt,...)
interface print format data
uint8_t max30105_interface_iic_write(uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len)
interface iic bus write
uint8_t max30105_interface_iic_deinit(void)
interface iic bus deinit
uint8_t max30105_interface_iic_read(uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len)
interface iic bus read
uint8_t max30105_interface_iic_init(void)
interface iic bus init
#define DRIVER_MAX30105_LINK_DEBUG_PRINT(HANDLE, FUC)
link debug_print function
#define DRIVER_MAX30105_LINK_DELAY_MS(HANDLE, FUC)
link delay_ms function
#define DRIVER_MAX30105_LINK_IIC_WRITE(HANDLE, FUC)
link iic_write function
#define DRIVER_MAX30105_LINK_RECEIVE_CALLBACK(HANDLE, FUC)
link receive_callback function
#define DRIVER_MAX30105_LINK_IIC_READ(HANDLE, FUC)
link iic_read function
#define DRIVER_MAX30105_LINK_IIC_INIT(HANDLE, FUC)
link iic_init function
#define DRIVER_MAX30105_LINK_INIT(HANDLE, STRUCTURE)
initialize max30105_handle_t structure
#define DRIVER_MAX30105_LINK_IIC_DEINIT(HANDLE, FUC)
link iic_deinit function
uint8_t max30105_fifo_test_irq_handler(void)
fifo test irq handler
uint8_t max30105_fifo_test(uint32_t times)
fifo test
float supply_voltage_max_v
char manufacturer_name[32]
float supply_voltage_min_v