1
0
mirror of https://github.com/esphome/esphome.git synced 2025-09-11 07:42:26 +01:00
This commit is contained in:
Otto Winter
2019-05-08 09:58:03 +02:00
parent c3d4ef284d
commit 521c080989
41 changed files with 396 additions and 148 deletions

View File

@@ -3,19 +3,23 @@
#include "esphome/core/component.h"
#include "esphome/core/esphal.h"
#include "esphome/components/sensor/sensor.h"
#include "esphome/components/voltage_sampler/voltage_sampler.h"
namespace esphome {
namespace adc {
class ADCSensor : public sensor::Sensor, public PollingComponent {
#ifdef USE_ADC_SENSOR_VCC
ADC_MODE(ADC_VCC)
#endif
class ADCSensor : public sensor::Sensor, public PollingComponent,
public voltage_sampler::VoltageSampler {
public:
#ifdef ARDUINO_ARCH_ESP32
/// Set the attenuation for this pin. Only available on the ESP32.
void set_attenuation(adc_attenuation_t attenuation);
#endif
// ========== INTERNAL METHODS ==========
// (In most use cases you won't need these)
/// Update adc values.
void update() override;
/// Setup ADc
@@ -24,6 +28,7 @@ class ADCSensor : public sensor::Sensor, public PollingComponent {
/// `HARDWARE_LATE` setup priority.
float get_setup_priority() const override;
void set_pin(uint8_t pin) { this->pin_ = pin; }
float sample() override;
#ifdef ARDUINO_ARCH_ESP8266
std::string unique_id() override;