#ifndef Terros10_HEADERGUARD #define Terros10_HEADERGUARD #include "../espnow/Message.hpp" #include "ADS1115_WE.h" #include "ForteSensor.hpp" #include "Definitions.h" #include "esp_log.h" #include <Wire.h> class TEROS10 : public ForteSensor<Measurement> { public: void setup() override; Measurement readData() override; void setVoltageRange(ADS1115_RANGE newVoltageRange); void setChannel(ADS1115_MUX newChannel); std::list<Message> buildMessages() override; [[nodiscard]] SensorInformation getSensorInformation() const override; TEROS10(ADS1115_MUX channel, ADS1115_RANGE voltageRange); TEROS10(ADS1115_MUX channel, ADS1115_RANGE voltageRange, uint8_t address); private: float readChannel(ADS1115_MUX compareChannel); ADS1115_WE ads; const SensorInformation sensorInformation{HardwareName::TEROS10, SensorProtocol::Analog}; ADS1115_MUX channel; ADS1115_RANGE voltageRange = ADS1115_RANGE::ADS1115_RANGE_4096; bool sensorConnected = false; }; #endif