|
| AnalogInput (uint8_t pin=A0, unsigned int read_delay=200, const String &config_path="", float output_scale=1024.) |
|
virtual bool | to_json (JsonObject &root) override |
|
virtual bool | from_json (const JsonObject &config) override |
|
| Sensor (String config_path) |
|
| SensorConfig (const String &config_path) |
|
| Observable () |
|
| Observable (Observable &&other) |
| Move constructor.
|
|
void | notify () |
|
void | attach (std::function< void()> observer) |
|
| FileSystemSaveable (const String &config_path) |
|
virtual bool | load () override |
| Load and populate the object from a persistent storage.
|
|
virtual bool | save () override |
| Save the object to a persistent storage.
|
|
virtual bool | clear () override |
| Delete the data from a persistent storage.
|
|
bool | find_config_file (const String &config_path, String &filename) |
|
| Saveable (const String &config_path) |
|
virtual bool | refresh () |
| Refresh the object. This may or may not access the persistent storage but is not expected to overwrite the object's state.
|
|
const String & | get_config_path () const |
|
| ValueProducer () |
|
| ValueProducer (const T &initial_value) |
|
virtual const T & | get () const |
|
template<typename VConsumer > |
std::enable_if< std::is_base_of< ValueConsumer< typenameVConsumer::input_type >, VConsumer >::value &&std::is_convertible< T, typenameVConsumer::input_type >::value, std::shared_ptr< VConsumer > >::type | connect_to (std::shared_ptr< VConsumer > consumer) |
| Connect a producer to a transform with a different input type.
|
|
template<typename VConsumer > |
std::enable_if< std::is_base_of< ValueConsumer< typenameVConsumer::input_type >, VConsumer >::value &&std::is_convertible< T, typenameVConsumer::input_type >::value, VConsumer * >::type | connect_to (VConsumer *consumer) |
|
template<typename VConsumer > |
std::enable_if< std::is_base_of< ValueConsumer< typenameVConsumer::input_type >, VConsumer >::value &&std::is_convertible< T, typenameVConsumer::input_type >::value, VConsumer * >::type | connect_to (VConsumer &consumer) |
|
void | emit (const T &new_value) |
|
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] | pin | The 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_delay | Time delay between consecutive readings, in ms |
[in] | config_path | Configuration path for the sensor |
[in] | output_scale | The 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 43 of file analog_input.h.