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

DigitalInputDebounceCounter counts interrupts and reports the count every read_delay ms, but ignores events that happen within ignore_interval_ms. More...

#include <sensesp/sensors/digital_input.h>

Inheritance diagram for sensesp::DigitalInputDebounceCounter:
[legend]

Public Member Functions

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

Additional Inherited Members

- Protected Member Functions inherited from sensesp::DigitalInputCounter
 DigitalInputCounter (uint8_t pin, int pin_mode, int interrupt_type, unsigned int read_delay, String config_path, std::function< void()> interrupt_handler)
 
- Protected Attributes inherited from sensesp::DigitalInputCounter
unsigned int read_delay_
 
volatile unsigned int counter_ = 0
 
- 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< int >
int output_
 

Detailed Description

DigitalInputDebounceCounter counts interrupts and reports the count every read_delay ms, but ignores events that happen within ignore_interval_ms.

You can use this class if, for example, you have a noisy reed switch that generates multiple interrupts every time it is actuated.

Parameters
pinThe GPIO pin to which the device is connected
pin_modeWill be INPUT or INPUT_PULLUP
interrupt_typeWill be RISING, FALLING, or CHANGE
read_delay_msHow often you want to read the pin, in ms
ignore_interval_msIgnore events within this interval after a recorded event.
config_pathThe path to configuring read_delay in the Config UI

Definition at line 158 of file digital_input.h.

Constructor & Destructor Documentation

◆ DigitalInputDebounceCounter()

sensesp::DigitalInputDebounceCounter::DigitalInputDebounceCounter ( uint8_t pin,
int pin_mode,
int interrupt_type,
unsigned int read_delay,
unsigned int ignore_interval_ms,
String config_path = "" )
inline

Definition at line 160 of file digital_input.h.


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