SensESP 3.4.1-alpha
Universal Signal K sensor toolkit ESP32
Loading...
Searching...
No Matches
sensesp::AngleCorrection Class Reference

Add a value to an angle input (in radians). The output value is wrapped to a range between [0, 2*pi]. This transform is useful for correcting e.g. a heading or a wind direction reading. More...

#include <sensesp/transforms/angle_correction.h>

Inheritance diagram for sensesp::AngleCorrection:
[legend]

Public Member Functions

 AngleCorrection (float offset, float min_angle=0, const String &config_path="")
 
virtual void set (const float &input) override
 
virtual bool to_json (JsonObject &root) override
 
virtual bool from_json (const JsonObject &config) override
 
- Public Member Functions inherited from sensesp::SymmetricTransform< float >
 SymmetricTransform (String config_path="")
 
- Public Member Functions inherited from sensesp::Transform< C, P >
 Transform (String config_path="")
 
Transform< C, P > * connect_from (ValueProducer< P > *producer0, ValueProducer< P > *producer1=NULL, ValueProducer< P > *producer2=NULL, ValueProducer< P > *producer3=NULL, ValueProducer< P > *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::ValueConsumer< C >
virtual void set (const C &new_value)
 
virtual void set_input (const C &new_value)
 
void connect_from (ValueProducer< C > *producer)
 
- Public Member Functions inherited from sensesp::ValueProducer< P >
 ValueProducer ()
 
 ValueProducer (const P &initial_value)
 
virtual const P & get () const
 
std::enable_if< std::is_base_of< ValueConsumer< typenameVConsumer::input_type >, VConsumer >::value &&std::is_convertible< P, 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.
 
std::enable_if< std::is_base_of< ValueConsumer< typenameVConsumer::input_type >, VConsumer >::value &&std::is_convertible< P, typenameVConsumer::input_type >::value, VConsumer * >::type connect_to (VConsumer *consumer)
 
std::enable_if< std::is_base_of< ValueConsumer< typenameVConsumer::input_type >, VConsumer >::value &&std::is_convertible< P, typenameVConsumer::input_type >::value, VConsumer * >::type connect_to (VConsumer &consumer)
 
void emit (const P &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

float offset_
 
float min_angle_
 
- Protected Attributes inherited from sensesp::Saveable
const String config_path_
 
- Protected Attributes inherited from sensesp::ValueProducer< P >
output_
 

Additional Inherited Members

- Public Types inherited from sensesp::ValueConsumer< C >
using input_type = C
 
- Static Public Member Functions inherited from sensesp::TransformBase
static const std::set< TransformBase * > & get_transforms ()
 
static void clear_registry ()
 

Detailed Description

Add a value to an angle input (in radians). The output value is wrapped to a range between [0, 2*pi]. This transform is useful for correcting e.g. a heading or a wind direction reading.

Parameters
offsetValue to be added, in radians.
min_angleIf you have output between -pi and pi, use -3.14159265, otherwise use 0. Default value is 0.
config_pathPath to configure this transform in the Config UI.

Definition at line 21 of file angle_correction.h.

Constructor & Destructor Documentation

◆ AngleCorrection()

sensesp::AngleCorrection::AngleCorrection ( float  offset,
float  min_angle = 0,
const String &  config_path = "" 
)

Definition at line 7 of file angle_correction.cpp.

Here is the call graph for this function:

Member Function Documentation

◆ from_json()

bool sensesp::AngleCorrection::from_json ( const JsonObject &  root)
overridevirtual

Deserializes the current object data from a JsonObject.

Reimplemented from sensesp::Serializable.

Definition at line 31 of file angle_correction.cpp.

◆ set()

void sensesp::AngleCorrection::set ( const float &  input)
overridevirtual

Definition at line 13 of file angle_correction.cpp.

Here is the call graph for this function:

◆ to_json()

bool sensesp::AngleCorrection::to_json ( JsonObject &  root)
overridevirtual

Serializes the current object data into a JsonObject.

Reimplemented from sensesp::Serializable.

Definition at line 25 of file angle_correction.cpp.

Member Data Documentation

◆ min_angle_

float sensesp::AngleCorrection::min_angle_
protected

Definition at line 31 of file angle_correction.h.

◆ offset_

float sensesp::AngleCorrection::offset_
protected

Definition at line 30 of file angle_correction.h.


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