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

DigitalInputState polls the state of an input pin every read_delay ms. More...

#include <sensesp/sensors/digital_input.h>

Inheritance diagram for sensesp::DigitalInputState:
[legend]

Public Member Functions

 DigitalInputState (uint8_t pin, int pin_mode, int read_delay=1000, 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

DigitalInputState polls the state of an input pin every read_delay ms.

It is useful for sampling the state of an input at constant time intervals when you are not interested in rapid changes within those time intervals.

You can use it for monitoring a device (such as a bilge pump) that should (or shouldn't) normally be on (or off). If you use the Signal K to InfluxDb Plugin and Grafana, you can easily see the frequency and duration of the device being on and off.

Parameters
pinThe GPIO pin to which the device is connected.
pin_modeWill be INPUT or INPUT_PULLUP.
read_delayHow often you want to read the pin, in ms.
config_pathThe path to configuring read_delay in the Config UI.

Definition at line 50 of file digital_input.h.

Constructor & Destructor Documentation

◆ DigitalInputState()

sensesp::DigitalInputState::DigitalInputState ( uint8_t pin,
int pin_mode,
int read_delay = 1000,
String config_path = "" )
inline

Definition at line 52 of file digital_input.h.

Here is the call graph for this function:

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