SensESP 2.7.2
Universal Signal K sensor toolkit ESP32
Loading...
Searching...
No Matches
sensesp::AnalogInput Class Reference

Sensor for reading the MCU analog input pins. More...

#include <sensesp/sensors/analog_input.h>

Inheritance diagram for sensesp::AnalogInput:
[legend]

Public Member Functions

 AnalogInput (uint8_t pin=A0, unsigned int read_delay=200, String config_path="", float output_scale=1024.)
 
void start () override final
 
- Public Member Functions inherited from sensesp::SensorT< T >
 SensorT (String config_path="")
 
- Public Member Functions inherited from sensesp::Sensor
 Sensor (String config_path="")
 
- Public Member Functions inherited from sensesp::Observable
 Observable ()
 
 Observable (Observable &&other)
 Move constructor.
 
void notify ()
 
void attach (std::function< void()> observer)
 
- Public Member Functions inherited from sensesp::Configurable
 Configurable (String config_path="", String description="", int sort_order=1000)
 
String get_description ()
 
void set_description (String description)
 Set the description of the Configurable.
 
int get_sort_order ()
 
void set_sort_order (int sort_order)
 
virtual void save_configuration ()
 
- Public Member Functions inherited from sensesp::Startable
 Startable (int priority=0)
 
const int get_start_priority ()
 
void set_start_priority (int priority)
 
- Public Member Functions inherited from sensesp::ValueProducer< T >
 ValueProducer ()
 
virtual const T & get () const
 
void connect_to (ValueConsumer< T > *consumer, uint8_t input_channel=0)
 
template<typename CT >
void connect_to (ValueConsumer< CT > *consumer, uint8_t input_channel=0)
 Connect a producer to a consumer of a different type.
 
template<typename T2 >
Transform< T, T2 > * connect_to (Transform< T, T2 > *consumer_producer, uint8_t input_channel=0)
 
template<typename TT , typename T2 >
Transform< TT, T2 > * connect_to (Transform< TT, T2 > *consumer_producer, uint8_t input_channel=0)
 Connect a producer to a transform with a different input type.
 
void emit (T new_value)
 

Additional Inherited Members

- Static Public Member Functions inherited from sensesp::Sensor
static const std::set< Sensor * > & get_sensors ()
 
- Static Public Member Functions inherited from sensesp::Startable
static void start_all ()
 
- Public Attributes inherited from sensesp::Configurable
const String config_path_
 
- Protected Member Functions inherited from sensesp::Configurable
virtual void load_configuration ()
 
- Protected Attributes inherited from sensesp::Configurable
String description_ = ""
 
int sort_order_ = 1000
 
- Protected Attributes inherited from sensesp::ValueProducer< T >
output
 

Detailed Description

Sensor for reading the MCU analog input pins.

Read an analog input pin and return the result scaled onto a given range. Note that the ADCs in ESP32 are quite nonlinear and noisy and unlikely to give very accurate results. For accurate ADC results, SensESP supports the ADS1015 and ADS1115 ADC's.

Parameters
[in]pinThe GPIO pin to read. On ESP32, at the moment only ADC channel 1 (pins 32..39) is supported because ADC2 clashes with Wi-Fi.
[in]read_delayTime delay between consecutive readings, in ms
[in]config_pathConfiguration path for the sensor
[in]output_scaleThe scale of the converted input value that AnalogInput produces. The maximum raw analog value returned by the ADC on different platforms varies, but AnalogInput takes that into account by converting them to a number between zero and 'output_scale'. This allows the same code to run on both platforms. The default value for 'output_scale' is 1024, which means output will be from 0 to 1023. If you want your output to be on a different scale, use this parameter to indicate the X in the 0 to X scale. For example, if you want your output to be expressed as a percentage (0 to 100), make this parameter be 100. If you want your output to be the original voltage read by the AnalogIn pin, make this parameter be the maximum voltage that can go into the pin (probably 3.3). If you want your output to be the original voltage that was intput into a physical voltage divider circuit before being read by the AnalogIn pin, make this parameter be the maximum voltage that you would send into the voltage divider circuit.

Definition at line 41 of file analog_input.h.

Constructor & Destructor Documentation

◆ AnalogInput()

sensesp::AnalogInput::AnalogInput ( uint8_t  pin = A0,
unsigned int  read_delay = 200,
String  config_path = "",
float  output_scale = 1024. 
)

Definition at line 8 of file analog_input.cpp.

Here is the call graph for this function:

Member Function Documentation

◆ start()

void sensesp::AnalogInput::start ( )
finaloverridevirtual

Called during the initialization process. Override this method to add runtime initialization code to your class

Reimplemented from sensesp::Startable.

Definition at line 20 of file analog_input.cpp.

Here is the call graph for this function:

The documentation for this class was generated from the following files: