Newer
Older
#ifndef Terros10_HEADERGUARD
#define Terros10_HEADERGUARD
#include "../espnow/Message.hpp"
#include "ADS1115_WE.h"
#include "Definitions.h"
class TEROS10 : public ForteSensor<Measurement> {
public:

Zoe Michaela Dietmar Pfister
committed
void setup() override;

Zoe Michaela Dietmar Pfister
committed
Measurement readData() override;
void setVoltageRange(ADS1115_RANGE newVoltageRange);
void setChannel(ADS1115_MUX newChannel);

Zoe Michaela Dietmar Pfister
committed
std::list<Message> buildMessages() override;

Zoe Michaela Dietmar Pfister
committed
[[nodiscard]] SensorInformation getSensorInformation() const override;
TEROS10(ADS1115_MUX channel, ADS1115_RANGE voltageRange);
TEROS10(ADS1115_MUX channel, ADS1115_RANGE voltageRange, uint8_t address);
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;

Zoe Michaela Dietmar Pfister
committed
bool sensorConnected = false;