It is technically possible to put your MCU in sleep/STOP mode between samples but you need to meet some BSEC requirements:
It is mandatory for BSEC to receive absolute timestamps. This could be achieved by different means, for example with a Real-Time Clock (RTC), by getting the absolute time externally (if your device has some connectivity features), or for prototyping/POC designs you could try to keep track of a counter in some internal memory to recover an appropriate absolute timestamp before the next sample.
The majority of BSEC processes and variables are running or stored in RAM. If the STOP/sleep mode your MCU looses this RAM content, then BSEC cannot operate properly. In this case, it is still possible to run BSEC, but you will need to save (respectively restore) BSEC's state after (respectively before) processing every sample. This state would therefore need to be stored in some Non-Volatile Memory.
... View more
Well ! That certainly did the trick. Not only was I able to compile the bsec example "basic" sketch but subsequently found I could compile the "IAQ_IAC" example sketch provided by dfrobot in my version of the dfrobot library (which has latest version of bsec library merged in). I now need to fine tune things a bit because my dfrobot results don't exactly match bsec results, but at least I have a good place to start. THANKS heaps and cheers. PS May I suggest that some words could be added to the BSEC integration document, to help others.
... View more