use BSEC2 for ESP32-C3

This commit is contained in:
Thomas Göttgens
2023-05-05 18:09:06 +02:00
parent 7c9d0a022a
commit 10f41e376c
4 changed files with 42 additions and 13 deletions

View File

@@ -1,22 +1,35 @@
#include "../mesh/generated/meshtastic/telemetry.pb.h"
#include "TelemetrySensor.h"
#ifdef USE_BSEC2
#include <bsec2.h>
#else
#include <bsec.h>
#endif // USE_BSEC2
#define STATE_SAVE_PERIOD UINT32_C(360 * 60 * 1000) // That's 6 hours worth of millis()
const uint8_t bsec_config_iaq[] = {
#ifdef USE_BSEC2
#include "config/Default_H2S_NonH2S/Default_H2S_NonH2S.h"
#else
const uint8_t Default_H2S_NonH2S_config[] = {
#include <config/generic_33v_3s_4d/bsec_iaq.txt>
};
#endif // USE_BSEC2
class BME680Sensor : virtual public TelemetrySensor
{
private:
#ifdef USE_BSEC2
Bsec2 bme680;
#else
Bsec bme680;
#endif // USE_BSEC2
protected:
virtual void setup() override;
const char *bsecConfigFileName = "/prefs/bsec.dat";
uint8_t bsecState[BSEC_MAX_STATE_BLOB_SIZE] = {0};
uint8_t accuracy = 0;
uint16_t stateUpdateCounter = 0;
bsec_virtual_sensor_t sensorList[13] = {BSEC_OUTPUT_IAQ,
BSEC_OUTPUT_STATIC_IAQ,