#ifndef ADC_H #define ADC_H #include "AdcSetting.h" class Adc { public: virtual ~Adc() = 0; virtual void begin() = 0; virtual int32_t sampleValue(int16_t channel, boolean sgl = true) = 0; virtual int32_t sampleValue() = 0; virtual double sampleVoltage(int16_t channel, boolean sgl = true) = 0; virtual double sampleVoltage() = 0; void setAdcSetting(AdcSetting adcSetting); AdcSetting getAdcSetting(); protected: Adc(); int16_t _lastChannel; AdcSetting _adcSetting; private: }; #endif //ADC_H