This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

i configure the twi after 20 sec and keep it for 10 sec after that disable the twi.but after some time board is restting.

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);				
}
Parents Reply Children
No Data
Related