BME 680 Using without BSEC Library

Hi. I am trying to use bme680 without BSEC library with stm32f103. I included bme api files. All things looks good but I found interesting moment that I cant understand.Β  For some days I recieved gas resistence from 5000 ohms to 15000 ohms. At this moment my part of source code was:

Β 

led_on;
// BME680 ---------------------------------------------------------------------//	
bme680_port_init();	
BME680_On;		 
I2C_Port_Init(100000); // ΠΈΠ½ΠΈΡ‚ I2C Π½Π° ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ 100 ΠΊΠ“Ρ†
delay_ms_tim(50);
led_off;
delay_ms_tim(450);	
		
// BME680 Sensor Initialisation
gas_sensor.dev_id = 0xEC;
gas_sensor.intf =  BME680_I2C_INTF;
gas_sensor.read =  bus_read;
gas_sensor.write = bus_write;
gas_sensor.delay_ms = delay_ms_tim;  
gas_sensor.amb_temp = 25;	
#ifdef debug			
UART1_Transmit_string("\n bme680_init..."); 
#endif	
rslt = bme680_init(&gas_sensor);
			
if (rslt != BME680_OK){
			bme680_is_present = false;
      #ifdef debug	
      UART1_Transmit_string("\nBME680 not found"); 
      #endif	
      }
			else{	
       bme680_is_present = true;
			 #ifdef debug
       sprintf(uart_buf,"\nBME680 Init OK -> Chip ID 0x%x", gas_sensor.chip_id);  
       UART1_Transmit_string(uart_buf);
       #endif
			 // Set the temperature, pressure and humidity settings 
			 gas_sensor.tph_sett.os_hum = BME680_OS_1X;
			 gas_sensor.tph_sett.os_pres = BME680_OS_16X;
			 gas_sensor.tph_sett.os_temp = BME680_OS_2X;
			 //gas_sensor.tph_sett.filter = BME680_FILTER_SIZE_3;

			 // Set the remaining gas sensor settings and link the heating profile 
			 gas_sensor.gas_sett.run_gas = BME680_ENABLE_GAS_MEAS;
			 //gas_sensor.gas_sett.heatr_dur = 1000;
			 // Create a ramp heat waveform in 3 steps 
			 gas_sensor.gas_sett.heatr_temp = 320; // degree Celsius 
			 gas_sensor.gas_sett.heatr_dur = 150; // milliseconds 

			 // УстанавливаСм Ρ€Π΅ΠΆΠΈΠΌ ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ измСрСния 
			 // Must be set before writing the sensor configuration 
			 gas_sensor.power_mode = BME680_FORCED_MODE; 

			 // Set the required sensor settings needed 
			 set_required_settings = BME680_OST_SEL | BME680_OSP_SEL | BME680_OSH_SEL | BME680_FILTER_SEL | BME680_GAS_SENSOR_SEL;

			 // Set the profile duration		
			 //bme680_set_profile_dur(2000, &gas_sensor); // in ms
								
			 // Get the profile duration of the sensor 		
			 bme680_get_profile_dur(&meas_period, &gas_sensor);
			 #ifdef debug
			 sprintf(uart_buf,"\nBME680 profile duration: %i ms", meas_period);  
			 UART1_Transmit_string(uart_buf);
			 #endif	

       // Set the desired sensor configuration 
       rslt = bme680_set_sensor_settings(set_required_settings, &gas_sensor);
           #ifdef debug
           //sprintf(uart_buf,"\nBME680 set settings -> %s", rslt ? "Error" : "Ok");  
           //UART1_Transmit_string(uart_buf);
           #endif
					 
       // Set the power mode 
       rslt = bme680_set_sensor_mode(&gas_sensor);
           #ifdef debug
           //sprintf(uart_buf,"\nBME680 set forced mode -> %s", rslt ? "Error" : "Ok");  
           //UART1_Transmit_string(uart_buf);
					 #endif
          			
delay_ms_tim(meas_period); // Delay till BME680 measurement is ready 
	
rslt = bme680_get_sensor_data(&data, &gas_sensor);
	
#ifdef debug
sprintf(uart_buf,"\n\nT: %.2f degC, P: %.2f mmHg, H %.2f %%rH ", data.temperature, data.pressure / 100.0f * 75 / 100, data.humidity );
UART1_Transmit_string(uart_buf);
#endif     

With this code I had temperature readout less than real for 1C, humidity less thanΒ real for 15%. I am using 10 sec pause with standby mode after end of measurement. Then I decided to check for what purpose function bme680_set_profile_dur(2000, &gas_sensor).Β  After this changing now I have at start gas resistanse 35000 ohms and 1 hour later 25000 ohms. When I comment againΒ bme680_set_profile_dur() function I still recieve gas resistance in 25000 - 35000 range and the same unreal T and H values. Can you tell me what is real range of resistance I must recieve in typical home room and why T and H values are wrong? How oversampling and filter settings affectc on measurements?

10 replies