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

DigitalInputChange provides output whenever a digital pin changes its state. More...

#include <sensesp/sensors/digital_input.h>

Inheritance diagram for sensesp::DigitalInputChange:
[legend]

Public Member Functions

 DigitalInputChange (uint8_t pin, int pin_mode, int interrupt_type, String config_path="")
 
- Public Member Functions inherited from sensesp::DigitalInput
 DigitalInput (uint8_t pin, int pin_mode)
 
- Public Member Functions inherited from sensesp::Sensor< bool >
 Sensor (String config_path)
 
- Public Member Functions inherited from sensesp::SensorConfig
 SensorConfig (const 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::FileSystemSaveable
 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)
 
- Public Member Functions inherited from sensesp::Saveable
 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
 
- Public Member Functions inherited from sensesp::Serializable
- Public Member Functions inherited from sensesp::ValueProducer< bool >
 ValueProducer ()
 
 ValueProducer (const bool &initial_value)
 
virtual const bool & get () const
 
std::enable_if< std::is_base_of< ValueConsumer< typenameVConsumer::input_type >, VConsumer >::value &&std::is_convertible< bool, 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.
 
std::enable_if< std::is_base_of< ValueConsumer< typenameVConsumer::input_type >, VConsumer >::value &&std::is_convertible< bool, typenameVConsumer::input_type >::value, VConsumer * >::type connect_to (VConsumer *consumer)
 
std::enable_if< std::is_base_of< ValueConsumer< typenameVConsumer::input_type >, VConsumer >::value &&std::is_convertible< bool, typenameVConsumer::input_type >::value, VConsumer * >::type connect_to (VConsumer &consumer)
 
void emit (const bool &new_value)
 

Additional Inherited Members

- Protected Attributes inherited from sensesp::DigitalInput
uint8_t pin_
 
- Protected Attributes inherited from sensesp::Saveable
const String config_path_
 
- Protected Attributes inherited from sensesp::ValueProducer< bool >
bool output_
 

Detailed Description

DigitalInputChange provides output whenever a digital pin changes its state.

DigitalInputChange is triggered by an interrupt on the pin, so it is guaranteed to catch all state changes on the pin. However, output reporting occurs during the ReactESP event loop, so for extremely fast state changes (with a frequency of at least several tens of kHz), it is possible that the event loop can't keep up and only the latest value is processed.)

Parameters
pinThe GPIO pin to which the device is connected
pin_modeWill be INPUT or INPUT_PULLUP
interrupt_typeWill be RISING, FALLING, or CHANGE
config_pathThe path to configure Sensor parameters, if any
See also
Debounce

Definition at line 201 of file digital_input.h.

Constructor & Destructor Documentation

◆ DigitalInputChange()

sensesp::DigitalInputChange::DigitalInputChange ( uint8_t pin,
int pin_mode,
int interrupt_type,
String config_path = "" )
inline

Definition at line 203 of file digital_input.h.

Here is the call graph for this function:

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