Flair
Framework Libre Air
PidThrust.h
Go to the documentation of this file.
1 // %flair:license{
2 // This file is part of the Flair framework distributed under the
3 // CECILL-C License, Version 1.0.
4 // %flair:license}
13 #ifndef PIDTHRUST_H
14 #define PIDTHRUST_H
15 
16 #include <ControlLaw.h>
17 
18 namespace flair {
19 namespace gui {
20 class LayoutPosition;
21 }
22 }
23 
24 class PidThrust_impl;
25 
26 namespace flair {
27 namespace filter {
33 class PidThrust : public ControlLaw {
34  friend class ::PidThrust_impl;
35 
36 public:
48  PidThrust(const gui::LayoutPosition *position, std::string name);
49 
54  ~PidThrust();
55 
60  void Reset(void);
61 
66  void ResetI(void);
67 
72  void ResetOffset(void);
73 
78  void SetOffset(void);
79 
85  float GetOffset(void);
86 
92  bool OffsetStepUp(void);
93 
100  bool OffsetStepDown(void);
101 
108  void SetValues(float p, float d);
109 
122  void UseDefaultPlot(const gui::LayoutPosition *position);
123 
124 private:
132  void UpdateFrom(const core::io_data *data);
133 
134  PidThrust_impl *pimpl_;
135 };
136 } // end namespace filter
137 } // end namespace flair
138 #endif // PIDTHRUST_H
Abstract class for data types.
Definition: io_data.h:77
void SetOffset(void)
Set offset to specified value in ground station.
Base class for control law input must be created by reimplemented class. output is created by this cl...
Definition: ControlLaw.h:36
namespace of the flair Framework
Definition: Ahrs.h:19
Class defining a Pid for Thrust. This Pid as an extra offset for compensating gravity.
Definition: PidThrust.h:33
bool OffsetStepUp(void)
Step up the offset according to specified value in ground station.
~PidThrust()
Destructor.
Base class for control law.
void SetValues(float p, float d)
Set input values.
void ResetI(void)
Reset integral to 0.
bool OffsetStepDown(void)
Step down the offset according to specified value in ground station.
float GetOffset(void)
Get offset.
PidThrust(const gui::LayoutPosition *position, std::string name)
Constructor.
void Reset(void)
Reset integral and offset to 0.
Class to define a position in a layout on the ground station.
Definition: LayoutPosition.h:28
void ResetOffset(void)
Reset offset to 0.
void UseDefaultPlot(const gui::LayoutPosition *position)
Use default plot.