Hi, I am interfacing the BME680 with an ESP32 using ESP-IDF. I am not able to read temperature or humidity or gas resistance from BME680. I am only able to read random adc values from the sensor for temperature, pressure, humidity and 0 as my gas resistance. And am not using BSEC to read data from BME680. I have written the sensor driver and I am pretty sure that whatever configurations I am doing initially is properly reflected on the sensor side too as I have verified the I2C signal for each configuration I am doing individually using a scope and rad back the value written to the registers after it is set. I am doing the initial configuration for the sensor in the following order: 1. Reset the sensor 2. Reading chip ID and its matching with the one mentioned in the datasheet 3. Reading the calibration data 4. Setting the oversamping rate for temperature(4X), pressure(2X) and humidity(1X). 5. Setting IIR filter to 7 6. Enabling gas measurement by setting run_gas bit to 1 7. Setting index to 0 8. Setting heater duration to 200ms 9. Setting heater temperature to 320 10. Putting sensor in forced mode 11. I wait for 3 seconds each time to read data from sensor and put it again to forced mode. 12. Once 3 seconds has elapsed, I wait until any current ongoing measuremnt to be finished by checking the status register. 13. Then, I check if the data available is a new data or not by reading the status register. 14. If the data is new, I proceed with calculating temperature, pressure and air quality. Any insight as to where I am wrong or if I missed anything would be really helpful.
... View more