SensESP 2.7.2
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).
 
void start () override final
 
- Public Member Functions inherited from sensesp::SensorT< T >
 SensorT (String config_path="")
 
- Public Member Functions inherited from sensesp::Sensor
 Sensor (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::Configurable
 Configurable (String config_path="", String description="", int sort_order=1000)
 
virtual void get_configuration (JsonObject &configObject)
 
virtual bool set_configuration (const JsonObject &config)
 
virtual String get_config_schema ()
 
String get_description ()
 
void set_description (String description)
 Set the description of the Configurable.
 
int get_sort_order ()
 
void set_sort_order (int sort_order)
 
virtual void save_configuration ()
 
- Public Member Functions inherited from sensesp::Startable
 Startable (int priority=0)
 
const int get_start_priority ()
 
void set_start_priority (int priority)
 
- Public Member Functions inherited from sensesp::ValueProducer< T >
 ValueProducer ()
 
virtual const T & get () const
 
void connect_to (ValueConsumer< T > *consumer, uint8_t input_channel=0)
 
template<typename CT >
void connect_to (ValueConsumer< CT > *consumer, uint8_t input_channel=0)
 Connect a producer to a consumer of a different type.
 
template<typename T2 >
Transform< T, T2 > * connect_to (Transform< T, T2 > *consumer_producer, uint8_t input_channel=0)
 
template<typename TT , typename T2 >
Transform< TT, T2 > * connect_to (Transform< TT, T2 > *consumer_producer, uint8_t input_channel=0)
 Connect a producer to a transform with a different input type.
 
void emit (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::Configurable
String description_ = ""
 
int sort_order_ = 1000
 
- Protected Attributes inherited from sensesp::ValueProducer< T >
output
 

Additional Inherited Members

- Static Public Member Functions inherited from sensesp::Sensor
static const std::set< Sensor * > & get_sensors ()
 
- Static Public Member Functions inherited from sensesp::Startable
static void start_all ()
 
- Public Attributes inherited from sensesp::Configurable
const String config_path_
 
- Protected Member Functions inherited from sensesp::Configurable
virtual void load_configuration ()
 

Detailed Description

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

Definition at line 57 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 37 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 37 of file sensor.h.

Member Function Documentation

◆ start()

template<class T >
void sensesp::RepeatSensor< T >::start ( )
inlinefinaloverridevirtual

Called during the initialization process. Override this method to add runtime initialization code to your class

Reimplemented from sensesp::Startable.

Definition at line 95 of file sensor.h.

Here is the call graph for this function:

Member Data Documentation

◆ emitting_callback_

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

Definition at line 108 of file sensor.h.

◆ repeat_interval_ms_

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

Definition at line 106 of file sensor.h.

◆ returning_callback_

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

Definition at line 107 of file sensor.h.


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