SensESP 3.4.1-alpha
Universal Signal K sensor toolkit ESP32
Loading...
Searching...
No Matches
sensesp::Repeat< FROM, TO > Class Template Reference

Repeat the input at specific intervals. More...

#include <sensesp/transforms/repeat.h>

Inheritance diagram for sensesp::Repeat< FROM, TO >:
[legend]

Public Member Functions

 Repeat (unsigned long interval)
 
virtual ~Repeat ()
 
virtual void set (const FROM &input) override
 
- Public Member Functions inherited from sensesp::Transform< FROM, TO >
 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)
 
- Public Member Functions inherited from sensesp::TransformBase
 TransformBase (const String &config_path)
 
virtual ~TransformBase ()
 
- 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
virtual bool to_json (JsonObject &root)
 
virtual bool from_json (const JsonObject &root)
 
- 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 ()
 
int attach (std::function< void()> observer)
 Attach an observer callback.
 
void detach (int id)
 Remove a previously attached observer by its ID.
 

Protected Attributes

unsigned long interval_
 
reactesp::RepeatEvent * repeat_event_ = nullptr
 
- 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 ()
 
static void clear_registry ()
 

Detailed Description

template<typename FROM, typename TO>
class sensesp::Repeat< FROM, TO >

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.

Parameters
intervalMaximum time, in ms, before the previous value is emitted again.
config_pathPath to configure this transform in the Config UI.

Definition at line 28 of file repeat.h.

Constructor & Destructor Documentation

◆ Repeat()

template<typename FROM , typename TO >
sensesp::Repeat< FROM, TO >::Repeat ( unsigned long  interval)
inline

Definition at line 30 of file repeat.h.

◆ ~Repeat()

template<typename FROM , typename TO >
virtual sensesp::Repeat< FROM, TO >::~Repeat ( )
inlinevirtual

Definition at line 36 of file repeat.h.

Here is the call graph for this function:

Member Function Documentation

◆ set()

template<typename FROM , typename TO >
virtual void sensesp::Repeat< FROM, TO >::set ( const FROM &  input)
inlineoverridevirtual

Reimplemented in sensesp::RepeatStopping< T >, and sensesp::RepeatExpiring< T >.

Definition at line 42 of file repeat.h.

Here is the call graph for this function:

Member Data Documentation

◆ interval_

template<typename FROM , typename TO >
unsigned long sensesp::Repeat< FROM, TO >::interval_
protected

Definition at line 53 of file repeat.h.

◆ repeat_event_

template<typename FROM , typename TO >
reactesp::RepeatEvent* sensesp::Repeat< FROM, TO >::repeat_event_ = nullptr
protected

Definition at line 54 of file repeat.h.


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