|
| Hysteresis (IN lower_threshold, IN upper_threshold, OUT low_output, OUT high_output, String config_path="") |
|
| LambdaTransform (std::function< OUT(IN)> function, String config_path="") |
|
| LambdaTransform (std::function< OUT(IN)> function, const ParamInfo *param_info, String config_path="") |
|
| LambdaTransform (std::function< OUT(IN, IN)> function, IN param1, const ParamInfo *param_info, String config_path="") |
|
| LambdaTransform (std::function< OUT(IN, IN, IN)> function, IN param1, IN param2, const ParamInfo *param_info, String config_path="") |
| LambdaTransform constructor for two-parameter function.
|
|
| LambdaTransform (std::function< OUT(IN, IN, IN, OUT)> function, IN param1, IN param2, OUT param3, const ParamInfo *param_info, String config_path="") |
|
| LambdaTransform (std::function< OUT(IN, IN, IN, OUT, OUT)> function, IN param1, IN param2, OUT param3, OUT param4, const ParamInfo *param_info, String config_path="") |
|
| LambdaTransform (std::function< OUT(IN, IN, IN, OUT, OUT, bool)> function, IN param1, IN param2, OUT param3, OUT param4, bool param5, const ParamInfo *param_info, String config_path="") |
|
| LambdaTransform (std::function< OUT(IN, IN, IN, OUT, OUT, bool, bool)> function, IN param1, IN param2, OUT param3, OUT param4, bool param5, bool param6, const ParamInfo *param_info, String config_path="") |
|
void | set_input (IN input, uint8_t input_channel=0) override |
|
void | get_configuration (JsonObject &doc) override |
|
bool | set_configuration (const JsonObject &config) override |
|
String | get_config_schema () override |
|
| 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) |
|
| TransformBase (String config_path="") |
|
| Configurable (String config_path="", String description="", int sort_order=1000) |
|
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 () |
|
| Startable (int priority=0) |
|
virtual void | start () |
|
const int | get_start_priority () |
|
void | set_start_priority (int priority) |
|
virtual void | set_input (T new_value, uint8_t input_channel=0) |
|
void | connect_from (ValueProducer< T > *producer, uint8_t input_channel=0) |
|
| 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) |
|
| Observable () |
|
| Observable (Observable &&other) |
| Move constructor.
|
|
void | notify () |
|
void | attach (std::function< void()> observer) |
|
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
-
IN | Input variable type |
OUT | Output variable type |
- Parameters
-
[in] | lower_threshold | Lower threshold value |
[in] | upper_threshold | Upper threshold value |
[in] | low_output | Output value when hysteresis function output is low |
[in] | high_output | Output value when hysteresis function output is high |
[in] | config_path | Configuration path for the transform |
Definition at line 33 of file hysteresis.h.