Im using a BME688 with BME688-API and BSEC-188.8.131.52.
When I run my code, the function bsec_sensor_control(time_stamp_final, &sensor_settings) returns '0' the first time, but then returns '100', which means 'Difference between actual and defined sampling intervals of bsec_sensor_control() greater than allowed'.
I've seen that my time_stamp is right, as you can see in the photo.
What could be the problem?
Solved! Go to Solution.
I think you are testing in high performance mode and the tick between each call is around 0.3 ~ 1.4/5s.
And, the result is expected.
Since default heat profile for high performance has 10 steps which have different duration, time should be different for each step.
Please let me know if you have any questions.
first of all, thanks for answering.
I have done what you said and know the result of bsec_sensor_control() is ok, but I have seen that the next_call time is 5minutes, so I have to wait this time each loop.
Is there any way to decrease nex_call?
I think you are using ULP mode.
Please check in your source if there is BSEC_SAMPLE_RATE_ULP or BSEC_SAMPLE_RATE_LP or BSEC_SAMPLE_RATE_HIGH_PERFORMANCE.
If your mode is not BSEC_SAMPLE_RATE_ULP, but running every 5m, please let me know.
If you are using BSEC_SAMPLE_RATE_ULP mode, please change it as BSEC_SAMPLE_RATE_LP.
I am getting the data in every 5 min if it is a low power mode. But can you tell me how can I get the data in every 5 min using the ULP. While using the ULP and calling the function in bsec_sensor_control() sends the "BSEC_W_SC_CALL_TIMING_VIOLATION" please tell me how I can fix it in ULP mode..