I am using the BSEC software with a BME680 on a Microchip SAMD21 processor. I have the code setup using the example code bsec_iot_example
It is initialzed using the code below
Then run in a loop as in example with code below.
I am not seeing any output from the output_ready function. This function is never called by the BSEC library.
Library version is BSEC 22.214.171.124
The I2C routines seem to be working fine. Here are a couple plots of I2C Traffic.
Zoomed in you can see when we read the 1D register the new data flag is never set. And the sensor data is always 80 00 00 meaning its being skipped.
What could be the cause of the the system is set to LP config so I should see new data every 3 seconds.... I never see new data.
Solved! Go to Solution.
I have looked at your i2c trace, and the reason why you are seeing num_bsec_inputs as 0, is because the first byte read back from 0x1d (based on your I2C trace) is 0 and that means (bit 7: new_data_0) is also 0, so the statement if (data.status & BME680_NEW_DATA_MSK) yields false.
It would be helpful if you share more I2C trace data (preferrably from the start of the device to a point where 0x1d reads back, and preferrably the original trace format (assuming it's logicdata extension for easier analysis). I can look into it when you share the trace data.
P.S. it would be appreciated if you could also compress the trace data (because the original format might be much bigger in size)