09-26-2023 05:55 PM
Hi,
I am trying to use the BSEC library with STM32WLE5 from example and I have a problem with "next_call" time.
in the main I use the next code:
while(1){
return_values_init ret = bsec_iot_init(BSEC_SAMPLE_RATE_LP, state_load, config_load, bme);
if (ret.bme68x_status)
{
/* Could not intialize BME68x */
return (int)ret.bme68x_status;
}
else if (ret.bsec_status)
{
/* Could not intialize BSEC library */
return (int)ret.bsec_status;
}
/* Call to endless loop function which reads and processes data based on sensor settings */
/* State is saved every 10.000 samples, which means every 10.000 * 3 secs = 500 minutes */
bsec_iot_loop(bme68x_delay_us, get_timestamp_us, output_ready, state_save, 1);
}
only after starting I received valid data from the sensor, but only one time. The second reading data from the sensor doesn't work
I have checked and found problem with a struct sensor_settings. It has wrong data:
10-06-2023 06:06 PM
Hi Stelsing,
Which BSEC version you used?
And do you want to get IAQ for your application?
10-06-2023 11:10 PM
Hi @Stelsing,
3000164000 looks okay since it's nano unit time. It means that next call would be after 3s later.
You need to check two things.
1) Which unit system clock are you using for get_timestamp_us? It should be 64bit micro unit. You can share it here.
2) Could you run in release mode? Not debug mode. Some system clock doesn't work properly in debug mode.
Thank you.