if(sensor_en_time==read_time_interval)
{
sensor_en_flag=true;
data_store_flag=true;
}
if((sensor_en_time)>read_time_interval)
{
sensor_dis_time++;
}
if(sensor_en_flag)
{
nrf_gpio_cfg_output(13);
nrf_delay_ms(5);
nrf_gpio_pin_set(13);
nrf_delay_ms(5);
twi_config();
nrf_delay_ms(5);
sensor_en_flag=false;
uint8_t const mode_en_config[] = {0x06,0x0b};
uint8_t const spo2_en_config[] = {0x07,0x00};//{ 0x07,0x00};//0x03 PULSE WIDTH
uint8_t const led_en_config[] = {0x09,0xff};
//initialize the max30100 pulse oximetre sensor
nrf_drv_twi_tx(&m_twi,MAX30100_ADDRESS,mode_en_config,sizeof(mode_en_config),false);
nrf_drv_twi_tx(&m_twi,MAX30100_ADDRESS,spo2_en_config,sizeof(spo2_en_config),false);
nrf_drv_twi_tx(&m_twi,MAX30100_ADDRESS,led_en_config,sizeof(led_en_config),false);
}
//
if(sensor_dis_time>TIMER_10_SEC)
{
sensor_dis_flag=true;
sensor_en_time=0;
sensor_dis_time=0;
}
if(sensor_dis_flag)
{
sensor_dis_flag=false;
nrf_drv_twi_tx(&m_twi,MAX30100_ADDRESS,mode_dis_config,sizeof(mode_dis_config),false);
twi_disable();
nrf_delay_ms(5);
data_store_flag=false;
nrf_gpio_pin_clear(13);
nrf_delay_ms(5);
}