CanGrow/include/Sensor/04_SHT3x.h

43 lines
1.1 KiB
C

/*
*
* include/Sensor/04_SHT3X.h - SHT3X I2C temp/humidity sensor
*
*
*
*/
#include <Adafruit_SHT31.h>
#define SENSOR_04_NAME "SHT3x"
const byte Sensor_04_SHT3X_Addr[] = { 0x44, 0x45 };
Adafruit_SHT31 SHT3X[sizeof(Sensor_04_SHT3X_Addr)];
/* Create main data array specifying max amount of readings */
float Sensor_04_SHT3X[sizeof(Sensor_04_SHT3X_Addr)][2];
void Sensor_04_SHT3X_Update(const byte AddrId) {
Sensor_04_SHT3X[AddrId][0] = SHT3X[AddrId].readTemperature();
Sensor_04_SHT3X[AddrId][1] = SHT3X[AddrId].readHumidity();
}
bool Sensor_04_SHT3X_Init(const byte AddrId) {
/* Sensor Init function
*
* returns true (1) when Init was successful
* returns false (0) if not.
*/
const static char LogLoc[] PROGMEM = "[Sensor:04_SHT3X:Init]";
bool returnCode;
if(SHT3X[AddrId].begin(Sensor_04_SHT3X_Addr[AddrId])) {
Log.notice(F("%s found at addr 0x%x" CR), LogLoc, Sensor_04_SHT3X_Addr[AddrId]);
Sensor_04_SHT3X_Update(AddrId);
returnCode = true;
} else {
Log.error(F("%s FAILED! Not found at addr 0x%x" CR), LogLoc, Sensor_04_SHT3X_Addr[AddrId]);
returnCode = false;
}
return returnCode;
}