Repeat the input at specific intervals. More...
#include <sensesp/transforms/repeat.h>
Public Member Functions | |
Repeat (unsigned long interval) | |
virtual void | set (const FROM &input) override |
![]() | |
Transform (String config_path="") | |
Transform< FROM, TO > * | connect_from (ValueProducer< TO > *producer0, ValueProducer< TO > *producer1=NULL, ValueProducer< TO > *producer2=NULL, ValueProducer< TO > *producer3=NULL, ValueProducer< TO > *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 bool | to_json (JsonObject &root) |
virtual bool | from_json (const JsonObject &root) |
![]() | |
virtual void | set_input (const FROM &new_value) |
void | connect_from (ValueProducer< FROM > *producer) |
![]() | |
ValueProducer () | |
ValueProducer (const TO &initial_value) | |
virtual const TO & | get () const |
std::enable_if< std::is_base_of< ValueConsumer< typenameVConsumer::input_type >, VConsumer >::value &&std::is_convertible< TO, 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< TO, 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< TO, typenameVConsumer::input_type >::value, VConsumer * >::type | connect_to (VConsumer &consumer) |
void | emit (const TO &new_value) |
![]() | |
Observable () | |
Observable (Observable &&other) | |
Move constructor. | |
void | notify () |
void | attach (std::function< void()> observer) |
Protected Attributes | |
unsigned long | interval_ |
reactesp::RepeatEvent * | repeat_event_ = nullptr |
![]() | |
const String | config_path_ |
![]() | |
TO | output_ |
Additional Inherited Members | |
![]() | |
using | input_type |
![]() | |
static const std::set< TransformBase * > & | get_transforms () |
Repeat the input at specific intervals.
Ensures that values that do not change frequently are still reported at a specified interval. If the value has not changed in interval milliseconds, the current value is emmitted again.
The repetition only occurs if the value has changed.
interval | Maximum time, in ms, before the previous value is emitted again. |
config_path | Path to configure this transform in the Config UI. |
|
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< FROM >.
Reimplemented in sensesp::RepeatExpiring< T >, and sensesp::RepeatStopping< T >.
Definition at line 36 of file repeat.h.
|
protected |
|
protected |