Browse Source

Add sht3x sensors to the base of sensors

pull/2449/head
Daniël Koek 1 month ago
parent
commit
f8458683b3
  1. 2
      platformio.ini
  2. 20
      src/helpers/sensors/EnvironmentSensorManager.cpp

2
platformio.ini

@ -126,6 +126,7 @@ build_flags =
-D ENV_INCLUDE_BME280=1
-D ENV_INCLUDE_BMP280=1
-D ENV_INCLUDE_SHTC3=1
-D ENV_INCLUDE_SHT3X=1
-D ENV_INCLUDE_SHT4X=1
-D ENV_INCLUDE_LPS22HB=1
-D ENV_INCLUDE_INA3221=1
@ -145,6 +146,7 @@ lib_deps =
adafruit/Adafruit BME280 Library @ ^2.3.0
adafruit/Adafruit BMP280 Library @ ^2.6.8
adafruit/Adafruit SHTC3 Library @ ^1.0.1
adafruit/Adafruit SHT31 Library @ ^2.2.2
sensirion/Sensirion I2C SHT4x @ ^1.1.2
arduino-libraries/Arduino_LPS22HB @ ^1.0.2
adafruit/Adafruit MLX90614 Library @ ^2.1.5

20
src/helpers/sensors/EnvironmentSensorManager.cpp

@ -56,6 +56,12 @@ static Adafruit_BMP280 BMP280(TELEM_WIRE);
static Adafruit_SHTC3 SHTC3;
#endif
#if ENV_INCLUDE_SHT3X
#define TELEM_SHT3X_ADDRESS 0x44
#include <Adafruit_SHTC3.h>
static Adafruit_SHTC3 SHTC3;
#endif
#if ENV_INCLUDE_SHT4X
#define TELEM_SHT4X_ADDRESS 0x44
#include <SensirionI2cSht4x.h>
@ -269,6 +275,17 @@ static void query_shtc3(uint8_t ch, uint8_t, CayenneLPP& lpp) {
lpp.addRelativeHumidity(ch, humidity.relative_humidity);
}
#endif
#if ENV_INCLUDE_SHT3X
static uint8_t init_sht3x(TwoWire* wire, uint8_t) {
return SHT3X.begin(wire) ? 1 : 0;
}
static void query_sht3x(uint8_t ch, uint8_t, CayenneLPP& lpp) {
sensors_event_t humidity, temp;
SHT3X.getEvent(&humidity, &temp);
lpp.addTemperature(ch, temp.temperature);
lpp.addRelativeHumidity(ch, humidity.relative_humidity);
}
#endif
#if ENV_INCLUDE_SHT4X
static uint8_t init_sht4x(TwoWire* wire, uint8_t addr) {
@ -467,6 +484,9 @@ static const SensorDef SENSOR_TABLE[] = {
#if ENV_INCLUDE_SHTC3
{ 0x70, "SHTC3", init_shtc3, query_shtc3 },
#endif
#if ENV_INCLUDE_SHT3X
{ TELEM_SHT3X_ADDRESS, "SHT3X", init_sht3x, query_sht3x },
#endif
#if ENV_INCLUDE_SHT4X
{ TELEM_SHT4X_ADDRESS, "SHT4X", init_sht4x, query_sht4x },
#endif

Loading…
Cancel
Save