Does your clock time have 32 bits output or 64 bits?
its 32 bits -> type is uint32_t
get_timestamp_us is micro second unit. Why did you multiply 1000000 and devide clock_second?
the output of clock_time is the system time in ticks, not ms or us which is why I've had to divide by CLOCK_SECOND which converts to s, and multiply before the divide to not lose resolution and get us.
Hello acanthe,
I understood.
If you don't have any system clock which is 64 bits, need to make it your own timestamp.
Since, BSEC library checks it how long it BME688 can sleep.
Thanks,
Hi,
I managed to fix the problem, the cause was that I had divided by 128 to get the clock in seconds BEFORE i cast to int64_t. Casting afterwards allowed the clock the manage its max value as it normally would do. In other words, because the clock never reached the max value of a uint32_t the clock never knew it had reset.
The sensor takes 10 or so minutes but it seems to be getting accuracy readings now (1/2/3) which is great.
Thanks for your help Minhwan walking through the steps.