SensESP 3.0.1
Universal Signal K sensor toolkit ESP32
Loading...
Searching...
No Matches
sensesp::RepeatSensor< T > Class Template Reference

#include <sensesp/sensors/sensor.h>

Inheritance diagram for sensesp::RepeatSensor< T >:
[legend]

Public Member Functions

 RepeatSensor (unsigned int repeat_interval_ms, std::function< T()> callback)
 Construct a new RepeatSensor object.
 
 RepeatSensor (unsigned int repeat_interval_ms, std::function< void(RepeatSensor< T > *)> callback)
 Construct a new RepeatSensor object (supporting asynchronous callbacks).
 
- Public Member Functions inherited from sensesp::Sensor< T >
 Sensor (String config_path)
 
- Public Member Functions inherited from sensesp::SensorConfig
 SensorConfig (const String &config_path)
 
- Public Member Functions inherited from sensesp::Observable
 Observable ()
 
 Observable (Observable &&other)
 Move constructor.
 
void notify ()
 
void attach (std::function< void()> observer)
 
- 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::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)
 

Protected Attributes

unsigned int repeat_interval_ms_
 
std::function< T()> returning_callback_ = nullptr
 
std::function< void(RepeatSensor< T > *)> emitting_callback_ = nullptr
 
- Protected Attributes inherited from sensesp::Saveable
const String config_path_
 
- Protected Attributes inherited from sensesp::ValueProducer< T >
output_
 

Detailed Description

template<class T>
class sensesp::RepeatSensor< T >

Definition at line 52 of file sensor.h.

Constructor & Destructor Documentation

◆ RepeatSensor() [1/2]

template<class T >
sensesp::RepeatSensor< T >::RepeatSensor ( unsigned int repeat_interval_ms,
std::function< T()> callback )
inline

Construct a new RepeatSensor object.

RepeatSensor is a sensor that calls a callback function at given intervals and produces the value returned by the callback function. It can be used to wrap any generic Arduino sensor library into a SensESP sensor.

Parameters
repeat_interval_msThe repeating interval, in milliseconds.
callbackA callback function that returns the value the sensor will produce.
Template Parameters
TThe type of the value returned by the callback function.

Definition at line 30 of file sensor.h.

◆ RepeatSensor() [2/2]

template<class T >
sensesp::RepeatSensor< T >::RepeatSensor ( unsigned int repeat_interval_ms,
std::function< void(RepeatSensor< T > *)> callback )
inline

Construct a new RepeatSensor object (supporting asynchronous callbacks).

RepeatSensor is a sensor that calls a callback function at given intervals and produces the value returned by the callback function. It can be used to wrap any generic Arduino sensor library into a SensESP sensor.

Parameters
repeat_interval_msThe repeating interval, in milliseconds.
callbackA callback function that requires RepeatSensor<T>::emit() to be called when output becomes available.
Template Parameters
TThe type of the value returned by the callback function.

Definition at line 30 of file sensor.h.

Member Data Documentation

◆ emitting_callback_

template<class T >
std::function<void(RepeatSensor<T>*)> sensesp::RepeatSensor< T >::emitting_callback_ = nullptr
protected

Definition at line 100 of file sensor.h.

◆ repeat_interval_ms_

template<class T >
unsigned int sensesp::RepeatSensor< T >::repeat_interval_ms_
protected

Definition at line 98 of file sensor.h.

◆ returning_callback_

template<class T >
std::function<T()> sensesp::RepeatSensor< T >::returning_callback_ = nullptr
protected

Definition at line 99 of file sensor.h.


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