A transform that takes boolean inputs and adds button behaviors familiar to many device end users. DEPRECATED: use AceButton for button inputs.
More...
|
| 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 |
|
| SymmetricTransform (String config_path="") |
|
| 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) |
|
| TransformBase (const String &config_path) |
|
| 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) |
|
| 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 |
|
virtual void | set (const T &new_value) |
|
virtual void | set_input (const T &new_value) |
|
void | connect_from (ValueProducer< T > *producer) |
|
| 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) |
|
| Observable () |
|
| Observable (Observable &&other) |
| Move constructor.
|
|
void | notify () |
|
void | attach (std::function< void()> observer) |
|
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_path | The path to configure this transform in Config UI |
integer_false | Whatever integer value (of your input) you want to be the same as boolean "false". Default is 0. |
repeat_start_interval | How long the input must be TRUE before the first repeated output, in ms. Default is 1500. |
repeat_interval | How often to repeat the repeated output, in ms. The default is 250. |
Definition at line 43 of file press_repeater.h.