SensESP 3.2.2
Universal Signal K sensor toolkit ESP32
Loading...
Searching...
No Matches
sensesp::Hysteresis< IN, OUT > Class Template Reference

Hysteresis function. More...

#include <sensesp/transforms/hysteresis.h>

Inheritance diagram for sensesp::Hysteresis< IN, OUT >:
[legend]

Public Member Functions

 Hysteresis (IN lower_threshold, IN upper_threshold, OUT low_output, OUT high_output, String config_path="")
Public Member Functions inherited from sensesp::LambdaTransform< IN, OUT, IN, IN, OUT, OUT >
 LambdaTransform (std::function< OUT(IN)> function, const String &config_path="")
void set (const IN &input) override
bool to_json (JsonObject &doc) override
bool from_json (const JsonObject &config) override
const ParamInfoget_param_info () const
Public Member Functions inherited from sensesp::Transform< IN, OUT >
 Transform (String config_path="")
Transform< IN, OUT > * connect_from (ValueProducer< OUT > *producer0, ValueProducer< OUT > *producer1=NULL, ValueProducer< OUT > *producer2=NULL, ValueProducer< OUT > *producer3=NULL, ValueProducer< OUT > *producer4=NULL)
Public Member Functions inherited from sensesp::TransformBase
 TransformBase (const String &config_path)
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::ValueConsumer< IN >
virtual void set_input (const IN &new_value)
void connect_from (ValueProducer< IN > *producer)
Public Member Functions inherited from sensesp::ValueProducer< OUT >
 ValueProducer ()
virtual const OUT & get () const
std::enable_if< std::is_base_of< ValueConsumer< typenameVConsumer::input_type >, VConsumer >::value &&std::is_convertible< OUT, 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.
void emit (const OUT &new_value)
Public Member Functions inherited from sensesp::Observable
 Observable ()
 Observable (Observable &&other)
 Move constructor.
void notify ()
void attach (std::function< void()> observer)

Additional Inherited Members

Public Types inherited from sensesp::ValueConsumer< IN >
using input_type
Static Public Member Functions inherited from sensesp::TransformBase
static const std::set< TransformBase * > & get_transforms ()
Public Attributes inherited from sensesp::LambdaTransform< IN, OUT, IN, IN, OUT, OUT >
IN param1_
IN param2_
OUT param3_
OUT param4_
bool param5_
bool param6_
Protected Attributes inherited from sensesp::Saveable
const String config_path_
Protected Attributes inherited from sensesp::ValueProducer< OUT >
OUT output_

Detailed Description

template<class IN, class OUT>
class sensesp::Hysteresis< IN, OUT >

Hysteresis function.

Hysteresis is a threshold switch with a dead zone: to prevent switching back and forth at the threshold value, input has to rise above the upper threshold before being switched high, and has to decrease below the lower threshold before being switched back low.

Template Parameters
INInput variable type
OUTOutput variable type
Parameters
[in]lower_thresholdLower threshold value
[in]upper_thresholdUpper threshold value
[in]low_outputOutput value when hysteresis function output is low
[in]high_outputOutput value when hysteresis function output is high
[in]config_pathConfiguration path for the transform

Definition at line 33 of file hysteresis.h.

Constructor & Destructor Documentation

◆ Hysteresis()

template<class IN, class OUT>
sensesp::Hysteresis< IN, OUT >::Hysteresis ( IN lower_threshold,
IN upper_threshold,
OUT low_output,
OUT high_output,
String config_path = "" )
inline

Definition at line 35 of file hysteresis.h.

Here is the call graph for this function:

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