Flair
Framework Libre Air
flair::filter::PidThrust Class Reference

Class defining a Pid for Thrust.
This Pid as an extra offset for compensating gravity. More...

#include <PidThrust.h>

+ Inheritance diagram for flair::filter::PidThrust:

Public Member Functions

 PidThrust (const gui::LayoutPosition *position, std::string name)
 Constructor. More...
 
 ~PidThrust ()
 Destructor. More...
 
void Reset (void)
 Reset the control law equivalent to: ResetI(); SetDefaultOffset(); SetValues(0,0);. More...
 
void ResetI (void)
 Reset integral to 0. More...
 
void SetOffset (float value)
 Set offset to a specified value. More...
 
void SetDefaultOffset (void)
 Set offset to specified value in ground station. More...
 
float GetOffset (void) const
 Get offset. More...
 
float GetIntegral (void) const
 Get intergral part. More...
 
bool OffsetStepUp (void)
 Step up the offset according to specified value in ground station. More...
 
bool OffsetStepDown (void)
 Step down the offset according to specified value in ground station. More...
 
void SetValues (float p, float d)
 Set input values. More...
 
void UseDefaultPlot (const gui::LayoutPosition *position)
 Use default plot. 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...
 
void Update (core::Time time)
 Update using provided datas. 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...
 
bool IsReady (void) const
 is device ready 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 }
 
- Protected Member Functions inherited from flair::core::IODevice
void ProcessUpdate (io_data *data)
 Process the childs of type IODevice, and log if needed. More...
 
void SetIsReady (bool status)
 set is ready More...
 
- Protected Attributes inherited from flair::filter::ControlLaw
core::Matrixinput
 input matrix More...
 
core::Matrixoutput
 output matrix More...
 

Detailed Description

Class defining a Pid for Thrust.
This Pid as an extra offset for compensating gravity.

Constructor & Destructor Documentation

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

Constructor.

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

Parameters
positionposition to display settings
namename
flair::filter::PidThrust::~PidThrust ( )

Destructor.

Member Function Documentation

void flair::filter::PidThrust::Reset ( void  )
virtual

Reset the control law equivalent to: ResetI(); SetDefaultOffset(); SetValues(0,0);.

Reimplemented from flair::filter::ControlLaw.

void flair::filter::PidThrust::ResetI ( void  )

Reset integral to 0.

void flair::filter::PidThrust::SetOffset ( float  value)

Set offset to a specified value.

Parameters
valuedesired value
void flair::filter::PidThrust::SetDefaultOffset ( void  )

Set offset to specified value in ground station.

float flair::filter::PidThrust::GetOffset ( void  ) const

Get offset.

Returns
current offset
float flair::filter::PidThrust::GetIntegral ( void  ) const

Get intergral part.

Returns
current integral part
bool flair::filter::PidThrust::OffsetStepUp ( void  )

Step up the offset according to specified value in ground station.

Returns
false if offset is at its maximum (1) value, true otherwise
bool flair::filter::PidThrust::OffsetStepDown ( void  )

Step down the offset according to specified value in ground station.

Returns
false if offset is at its minimum (specified in ground station) value, true otherwise
void flair::filter::PidThrust::SetValues ( float  p,
float  d 
)

Set input values.

Parameters
pproportional value
dderivative value
void flair::filter::PidThrust::UseDefaultPlot ( const gui::LayoutPosition position)
virtual

Use default plot.

Plot the output values at position.
Plot consists of 4 curves: proportional part, derivative part, integral part and the sum of the three.
After calling this function, position will be deleted as it is no longer usefull.

Parameters
positionposition to display plot

Reimplemented from flair::filter::ControlLaw.