12-13-2019 01:44 AM
Hi.
Why does it take the BSEC 5 minutes (exactly) to start to produce valid IAQ signals, and is there a way to speed that up?
Here's what output_ready produces every time:
...
output_ready [284.354675]: timestamp_NS=284354687000, bsec_status=0, iaq=25.00, iaq_accuracy=0
output_ready [287.576751]: timestamp_NS=287576750000, bsec_status=0, iaq=25.00, iaq_accuracy=0
output_ready [290.797851]: timestamp_NS=290797843000, bsec_status=0, iaq=25.00, iaq_accuracy=0
output_ready [294.019897]: timestamp_NS=294019906000, bsec_status=0, iaq=25.00, iaq_accuracy=0
output_ready [297.241973]: timestamp_NS=297241968000, bsec_status=0, iaq=25.00, iaq_accuracy=0
output_ready [300.463073]: timestamp_NS=300463062000, bsec_status=0, iaq=25.00, iaq_accuracy=1
output_ready [303.685119]: timestamp_NS=303685125000, bsec_status=0, iaq=21.78, iaq_accuracy=1
output_ready [306.907196]: timestamp_NS=306907187000, bsec_status=0, iaq=23.73, iaq_accuracy=1
output_ready [310.129241]: timestamp_NS=310129250000, bsec_status=0, iaq=23.23, iaq_accuracy=1
output_ready [313.351318]: timestamp_NS=313351312000, bsec_status=0, iaq=25.88, iaq_accuracy=1
...
The sample rate is BSEC_SAMPLE_RATE_LP.
Thanks,
Kevin
void output_ready(int64_t timestamp_ns, float iaq, uint8_t iaq_accuracy, float temperature, float humidity, float pressure, float raw_temperature, float raw_humidity, float raw_gas, bsec_library_return_t bsec_status, float static_iaq, float co2_equivalent, float breath_voc_equivalent) { float timestamp_sec = timestamp_ns / 1000000000.0; printf("output_ready [%1.6f]: timestamp_NS=%lld, bsec_status=%d, iaq=%1.2f, iaq_accuracy=%d\n", timestamp_sec, timestamp_ns, bsec_status, iaq, iaq_accuracy); }
12-13-2019 08:39 AM
12-13-2019 06:28 PM - edited 12-13-2019 06:34 PM
Thanks o_o.
With such an important piece of information as a 5 to 25 minute delay in the IAQ, I wonder why this isn't documented in the BSEC Integration Guide nor anywhere else I've read. Hmmm....
A more important question is: The data changes you are speaking about is not the IAQ data, right? Because that doesn't change for 5 (or 25) minutes. Are you speaking about the raw values that DO seem to change right after startup? The direct hardware sensor registers, not software data coming out of the BSEC?
I assume there is no way to have the BSEC start outputting the IAQ right away after a power up, right?
Thanks for the info!
12-14-2019 09:47 AM
12-14-2019 06:19 PM - edited 12-15-2019 02:33 AM
Ah, OK. Things are slowly coming into focus for me. Thanks!
After the run-in period, when I breath on the sensor the IAQ will jump to 500. You mentioned that the IAQ reading can still change even during the run-in period however when I breath on it during the run in period I don't see any change in the IAQ (stays at 25) until after the 5 minutes - then it tracks my breath accordingly. I tried hand sanitizer too and same result during the run-in period - no change at all. However the raw_gas value does change dramatically when breathing on it even during the run-in. So could it be that there is indeed no movement in the IAQ during run-in? Does it need to be enabled during run-in? Or maybe I'm missing something.
Thanks again!