Newer
Older

Zoe Michaela Dietmar Pfister
committed
//
// Created by zoe on 11/4/22.
//
#ifndef ESPCAM_SHT85_HPP
#define ESPCAM_SHT85_HPP
#include "../espnow/Message.hpp"
#include "../time/Time.hpp"

Zoe Michaela Dietmar Pfister
committed
#include "ForteSensor.hpp"

Zoe Michaela Dietmar Pfister
committed
#include "RTClib.h" // adafruit/RTClib @^2.1.1
#include "SHTSensor.h" // sensirion/arduino-sht@^1.2.2
#include "SPI.h"
#include "esp_log.h"

Zoe Michaela Dietmar Pfister
committed
#include <Arduino.h>
#include <Wire.h>
// Pin definitions for I2C (SHT85, RTC)
// This is different from the pins on the ESP32-C3-DevKit boards!

marieschroeder
committed
#define SDA 13
#define SCL 12
struct outDataSht85 {
Measurement temperature;
Measurement humidity;

Zoe Michaela Dietmar Pfister
committed
};
class SHT85 : public ForteSensor<outDataSht85> {

Zoe Michaela Dietmar Pfister
committed
public:
void setup() override;
outDataSht85 readData() override;

Zoe Michaela Dietmar Pfister
committed
std::list<Message> buildMessages() override;
[[nodiscard]] SensorInformation getSensorInformation() const override;

Zoe Michaela Dietmar Pfister
committed

Zoe Michaela Dietmar Pfister
committed
private:
SHTSensor sht; // I2C address: 0x44
const SensorInformation
sensorInformation{HardwareName::SHT85, SensorProtocol::I2C};

Zoe Michaela Dietmar Pfister
committed
};
#endif // ESPCAM_SHT85_HPP