SensESP 3.0.1
Universal Signal K sensor toolkit ESP32
|
Implements debounce code for a button or switch. More...
#include <sensesp/transforms/debounce.h>
Public Member Functions | |
Debounce (int ms_min_delay=15, String config_path="") | |
virtual void | set (const T &input) override |
Public Member Functions inherited from sensesp::SymmetricTransform< T > | |
SymmetricTransform (String config_path="") | |
Public Member Functions inherited from sensesp::Transform< T, T > | |
Transform (String config_path="") | |
Transform< T, T > * | connect_from (ValueProducer< T > *producer0, ValueProducer< T > *producer1=NULL, ValueProducer< T > *producer2=NULL, ValueProducer< T > *producer3=NULL, ValueProducer< T > *producer4=NULL) |
Public Member Functions inherited from sensesp::TransformBase | |
TransformBase (const String &config_path) | |
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::ValueConsumer< T > | |
virtual void | set_input (const T &new_value) |
void | connect_from (ValueProducer< T > *producer) |
Public Member Functions inherited from sensesp::ValueProducer< T > | |
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) |
Public Member Functions inherited from sensesp::Observable | |
Observable () | |
Observable (Observable &&other) | |
Move constructor. | |
void | notify () |
void | attach (std::function< void()> observer) |
Additional Inherited Members | |
Public Types inherited from sensesp::ValueConsumer< T > | |
using | input_type = T |
Static Public Member Functions inherited from sensesp::TransformBase | |
static const std::set< TransformBase * > & | get_transforms () |
Protected Attributes inherited from sensesp::Saveable | |
const String | config_path_ |
Protected Attributes inherited from sensesp::ValueProducer< T > | |
T | output_ |
Implements debounce code for a button or switch.
It's a passthrough transform that will output a value only if it's different from the previous output, and only if it's been ms_min_delay ms since the input was received.
T | The type of value being passed through Debounce. |
ms_min_delay | The minimum amount of time that must have passed since the input was received by this Transform in order for the output to occur. If you are using this to debounce the output from DigitalInputChange , ms_min_delay should be set at least a little bit longer than DigitalInputChange::read_delay . |
DigitalInputChange::read_delay is 10 ms by default, and Debounce::ms_min_delay is 15 ms by default. If that doesn't adequately debounce your button or switch, adjust both of those values until it does.
config_path | The path for configuring ms_min_delay with the Config UI. |
Definition at line 32 of file debounce.h.
|
inline |
|
inlineoverridevirtual |
Used to set an input of this consumer. It is called automatically by a ValueProducer but can also be called manually.
new_value | the value of the input |
Reimplemented from sensesp::ValueConsumer< T >.
Definition at line 39 of file debounce.h.