We are using a BME680 + BSEC on a Cortex-M0 platform.
For now, the frequency is the 3s provided by the integration example.
We would like to increase the speed. We understand that the BSEC is designed to output data every 3s, but can we increase the raw outputs speed of the BME680. And how to do it while we still use BSEC?
BME680 are working under Force mode when using BSEC lib.
So you are also able to make BME680 working more offten (higher ODR) with Force mode and just call the BSEC every 3 s to get IAQ value.
This means you need to feed in the data for BSEC lib and get the suggest sensor control setting from BSEC for next calling every 3 s.
The highest ODR are determined by the over sampling setting for gas, pressure and humidity sensors which you can find relationship in datasheet.
Thanks for your answer.
We don't understand how to change the oversampling setting.
We call bme680_set_sensor_settings() with the oversampling parameters provided by bsec_sensor_control().
Where can we change the oversampling parameter? In the BSEC configuration? Or between bsec_sensor_control() and bme680_set_sensor_settings()?
Do you have an example or a sample code for the oversampling tunning?
During typical usage, BSEC provides the sensors settings via bsec_sensor_control(), which is then process in bme680_bsec_trigger_measurement(). We would recommend to leave this section of the integration example untouched.
Changing the oversampling will not change the data rate, but as mentioned above it will reduce the maximal data rate available. To increase the raw data frequency, you would need to trigger additional measurements between the existing bsec_sensor_control() calls (reminder: setting the power mode to forced mode triggers one measurement).
Please note that you shall not trigger additional gas measurements, nor break BSEC timings (e.g. calling bsec_sensor_control() every 3s in LP mode), ortherwise BSEC will not operate as expected.