Skip to content
Snippets Groups Projects
TEROS10.hpp 1017 B
Newer Older
#ifndef Terros10_HEADERGUARD
#define Terros10_HEADERGUARD
#include "../espnow/Message.hpp"
#include "ADS1115_WE.h"
#include "ForteSensor.hpp"
#include "esp_log.h"
#include <Wire.h>

class TEROS10 : public ForteSensor<Measurement> {
public:
    void setVoltageRange(ADS1115_RANGE newVoltageRange);
    void setChannel(ADS1115_MUX newChannel);
    [[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;