PX4 Firmware
PX4 Autopilot Software http://px4.io
control::BlockPI Class Reference

A proportional-integral controller. More...

#include <BlockPI.hpp>

Inheritance diagram for control::BlockPI:
Collaboration diagram for control::BlockPI:

Public Member Functions

 BlockPI (SuperBlock *parent, const char *name)
 
virtual ~BlockPI ()=default
 
float update (float input)
 
float getKP ()
 
float getKI ()
 
BlockIntegralgetIntegral ()
 
- Public Member Functions inherited from control::SuperBlock
 SuperBlock (SuperBlock *parent, const char *name)
 
 ~SuperBlock ()=default
 
 SuperBlock (const SuperBlock &)=delete
 
SuperBlockoperator= (const SuperBlock &)=delete
 
 SuperBlock (SuperBlock &&)=delete
 
SuperBlockoperator= (SuperBlock &&)=delete
 
void setDt (float dt) override
 
void updateParams () override
 
- Public Member Functions inherited from control::Block
 Block (SuperBlock *parent, const char *name)
 
virtual ~Block ()=default
 
 Block (const Block &)=delete
 
Blockoperator= (const Block &)=delete
 
 Block (Block &&)=delete
 
Blockoperator= (Block &&)=delete
 
void getName (char *name, size_t n)
 
float getDt ()
 
- Public Member Functions inherited from ListNode< Block *>
void setSibling (Block * sibling)
 
const Block * getSibling () const
 

Private Attributes

BlockIntegral _integral
 
control::BlockParamFloat _kP
 
control::BlockParamFloat _kI
 

Additional Inherited Members

- Protected Member Functions inherited from control::SuperBlock
List< Block * > & getChildren ()
 
void updateChildParams ()
 
- Protected Member Functions inherited from control::Block
virtual void updateParamsSubclass ()
 
SuperBlockgetParent ()
 
List< BlockParamBase * > & getParams ()
 
- Protected Attributes inherited from control::SuperBlock
List< Block * > _children
 
- Protected Attributes inherited from control::Block
const char * _name
 
SuperBlock_parent
 
float _dt {0.0f}
 
List< BlockParamBase * > _params
 
- Protected Attributes inherited from ListNode< Block *>
Block * _list_node_sibling
 

Detailed Description

A proportional-integral controller.

http://en.wikipedia.org/wiki/PID_controller

Definition at line 62 of file BlockPI.hpp.

Constructor & Destructor Documentation

◆ BlockPI()

control::BlockPI::BlockPI ( SuperBlock parent,
const char *  name 
)
inline

Definition at line 66 of file BlockPI.hpp.

◆ ~BlockPI()

virtual control::BlockPI::~BlockPI ( )
virtualdefault

Member Function Documentation

◆ getIntegral()

BlockIntegral& control::BlockPI::getIntegral ( )
inline

Definition at line 81 of file BlockPI.hpp.

Referenced by control::blockPITest(), and blockPITest().

Here is the caller graph for this function:

◆ getKI()

float control::BlockPI::getKI ( )
inline

Definition at line 80 of file BlockPI.hpp.

Referenced by control::blockPITest(), and blockPITest().

Here is the caller graph for this function:

◆ getKP()

float control::BlockPI::getKP ( )
inline

Definition at line 79 of file BlockPI.hpp.

Referenced by control::blockPITest(), and blockPITest().

Here is the caller graph for this function:

◆ update()

float control::BlockPI::update ( float  input)
inline

Definition at line 73 of file BlockPI.hpp.

Referenced by control::blockPITest(), and blockPITest().

Here is the caller graph for this function:

Member Data Documentation

◆ _integral

BlockIntegral control::BlockPI::_integral
private

Definition at line 83 of file BlockPI.hpp.

◆ _kI

control::BlockParamFloat control::BlockPI::_kI
private

Definition at line 85 of file BlockPI.hpp.

◆ _kP

control::BlockParamFloat control::BlockPI::_kP
private

Definition at line 84 of file BlockPI.hpp.


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