I'm running some code on the bme dev-kit (x8). Right now, I am looking at raw sensor data from the API -- not looking at BSEC. The code reads raw data from 1 of the 8 sensors and prints the data to serial. The problem is that depending on which of the 8 sensors I read from, the readings change. I can choose the sensor via #define SENS_NUM. For example, I define SENS_NUM as 0 and I get one set of raw gas resistance readings, but I define SENS_NUM as 1 and get a completely different set of raw gas resistance readings. It also appears that after running these sensors for some time, the raw gas resistance readings change, as if the sensor is recalibrating itself. The datasheet for the BME688 sensor mentions that some calibration parameters exist, but it does not say where they come from--who computed them, that is. I'd like some more information about these calibration values. Are the calibration values constant throughout the life of a BME688 sensor? Or are they updated periodically? It appears to me that they do not change. If they are updated periodically, who updates them? Is is the sensor's ASIC, or the BSEC library? It's not the sensor API (bme68x.h) because I've inspected the source code and do not see them writing to the calibration registers at all. If they are not updated, why are the raw gas resistance readings changing over time?
... View more