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

A transform that takes boolean inputs and adds button behaviors familiar to many device end users. DEPRECATED: use AceButton for button inputs. More...

#include <sensesp/transforms/press_repeater.h>

Inheritance diagram for sensesp::PressRepeater:
[legend]

Public Member Functions

 PressRepeater (const String &config_path="", int integer_false=0, int repeat_start_interval=1500, int repeat_interval=250)
 
virtual void set (const bool &new_value) override
 
virtual bool to_json (JsonObject &root) override
 
virtual bool from_json (const JsonObject &config) 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 (const T &new_value)
 
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)
 

Protected Attributes

int integer_false_
 
int repeat_start_interval_
 
int repeat_interval_
 
elapsedMillis last_value_sent_
 
bool pushed_
 
bool repeating_
 
- Protected Attributes inherited from sensesp::Saveable
const String config_path_
 
- Protected Attributes inherited from sensesp::ValueProducer< T >
output_
 

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 ()
 

Detailed Description

A transform that takes boolean inputs and adds button behaviors familiar to many device end users. DEPRECATED: use AceButton for button inputs.

It emits a value only when the state of the input changes (i.e. when the input changes from TRUE to FALSE, and vice versa). In addition, if the input remains TRUE longer than repeat_start_interval milliseconds, it will emit TRUE once again, and then again every repeat_interval milliseconds until the input returns to FALSE.

An example use case would be a DigitalInput connected to a button that represents the "Volume Up" or "Volume Down" of a sound system.

As a convenience for wiring up to DigitalInputValue and other producers that emit integers, PressRepeater can also consume integer values. As long as the integer value coming in does not match integer_false, PressRepeater will act as if TRUE was passed to it.

Parameters
config_pathThe path to configure this transform in Config UI
integer_falseWhatever integer value (of your input) you want to be the same as boolean "false". Default is 0.
repeat_start_intervalHow long the input must be TRUE before the first repeated output, in ms. Default is 1500.
repeat_intervalHow often to repeat the repeated output, in ms. The default is 250.

Definition at line 43 of file press_repeater.h.

Constructor & Destructor Documentation

◆ PressRepeater()

sensesp::PressRepeater::PressRepeater ( const String & config_path = "",
int integer_false = 0,
int repeat_start_interval = 1500,
int repeat_interval = 250 )

Definition at line 5 of file press_repeater.cpp.

Here is the call graph for this function:

Member Function Documentation

◆ from_json()

bool sensesp::PressRepeater::from_json ( const JsonObject & root)
overridevirtual

Deserializes the current object data from a JsonObject.

Reimplemented from sensesp::Serializable.

Definition at line 54 of file press_repeater.cpp.

◆ set()

void sensesp::PressRepeater::set ( const bool & new_value)
overridevirtual

Definition at line 35 of file press_repeater.cpp.

Here is the call graph for this function:

◆ to_json()

bool sensesp::PressRepeater::to_json ( JsonObject & root)
overridevirtual

Serializes the current object data into a JsonObject.

Reimplemented from sensesp::Serializable.

Definition at line 48 of file press_repeater.cpp.

Member Data Documentation

◆ integer_false_

int sensesp::PressRepeater::integer_false_
protected

Definition at line 54 of file press_repeater.h.

◆ last_value_sent_

elapsedMillis sensesp::PressRepeater::last_value_sent_
protected

Definition at line 57 of file press_repeater.h.

◆ pushed_

bool sensesp::PressRepeater::pushed_
protected

Definition at line 58 of file press_repeater.h.

◆ repeat_interval_

int sensesp::PressRepeater::repeat_interval_
protected

Definition at line 56 of file press_repeater.h.

◆ repeat_start_interval_

int sensesp::PressRepeater::repeat_start_interval_
protected

Definition at line 55 of file press_repeater.h.

◆ repeating_

bool sensesp::PressRepeater::repeating_
protected

Definition at line 59 of file press_repeater.h.


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