Framework Libre Air
flair::filter::NestedSat Class Reference

Class defining a PID with saturations. More...

#include <NestedSat.h>

+ Inheritance diagram for flair::filter::NestedSat:

Public Member Functions

 NestedSat (const gui::LayoutPosition *position, std::string name)
 Constructor. More...
 ~NestedSat ()
 Destructor. More...
void SetValues (float p_ref, float p, float d)
 Set input values. More...
void ConvertSatFromDegToRad (void)
 Convert saturation parameters in radians. More...
- Public Member Functions inherited from flair::filter::ControlLaw
 ControlLaw (const core::Object *parent, std::string name, uint32_t nb_out=1)
 Constructor. More...
 ~ControlLaw ()
 Destructor. More...
float Output (uint32_t index=0) const
 Output value. More...
virtual void UseDefaultPlot (const gui::LayoutPosition *position)
 Use default plot. More...
void Update (core::Time time)
 Update using provided datas. More...
virtual void Reset ()
 Reset the internal state of the control law. More...
- Public Member Functions inherited from flair::core::IODevice
 IODevice (const Object *parent, std::string name)
 Constructor. More...
virtual ~IODevice ()
 Destructor. More...
void AddDeviceToLog (const IODevice *device)
 Add an IODevice to the logs. More...
void AddDataToLog (const io_data *data)
 Add an io_data to the log. More...
void OutputToShMem (bool enabled)
 Send the output to a shared memory. More...
virtual DataType const & GetInputDataType () const
virtual DataType const & GetOutputDataType () const
- Public Member Functions inherited from flair::core::Object
 Object (const Object *parent=NULL, std::string name="", std::string type="")
 Constructor. More...
virtual ~Object ()
 Destructor. More...
std::string ObjectName (void) const
 Name. More...
std::string ObjectType (void) const
 Type. More...
const ObjectParent (void) const
 Parent. More...
std::vector< const Object * > * TypeChilds (void) const
 Childs of the same type. More...
std::vector< const Object * > * Childs (void) const
 Childs. More...
void Information (const char *function, int line, const char *format,...) const
 Formatted information. More...
void Warning (const char *function, const char *format,...) const
 Formatted warning. More...
void Error (const char *function, const char *format,...) const
 Formatted error. More...
bool ErrorOccured (bool recursive=true) const
 Has an errror occured? More...

Additional Inherited Members

- Public Types inherited from flair::core::Object
enum  color_t { Auto = 0, Red = 31, Green = 32, Orange = 33 }
- Public Attributes inherited from flair::core::IODevice
Time lastUpdate
- Protected Member Functions inherited from flair::core::IODevice
void ProcessUpdate (io_data *data)
 Process the childs of type IODevice, and log if needed. More...
- Protected Attributes inherited from flair::filter::ControlLaw
 input matrix More...
 output matrix More...

Detailed Description

Class defining a PID with saturations.

The output of this control law is calculated as follows:
where p, p_ref and d are input values (see SetValues()),
where sat_ref, sat_dref and sat_u are settings availables on the ground station,
where k is a conversion factor (see ConvertSatFromDegToRad()).

Constructor & Destructor Documentation

flair::filter::NestedSat::NestedSat ( const gui::LayoutPosition position,
std::string  name 


Construct a NestedSat at given place position.
The NestedSat will automatically be child of position->getLayout() Layout. After calling this function, position will be deleted as it is no longer usefull.

positionposition to display settings
flair::filter::NestedSat::~NestedSat ( )


Member Function Documentation

void flair::filter::NestedSat::SetValues ( float  p_ref,
float  p,
float  d 

Set input values.

p_refproportional reference
pproportional value
dderivative value
void flair::filter::NestedSat::ConvertSatFromDegToRad ( void  )

Convert saturation parameters in radians.

If this function is called, saturation parameters on the ground station will be interpreted as degrees.
Thus, an internal conversion from degrees to radians will be done (k=PI/180).