RSeries astromech firmware
PID< T > Class Template Reference

#include <drive/PID.h>

Public Types

enum  Direction { kDirect, kReverse }
 
enum  { kManual = 0, kAuto = 1 }
 

Public Member Functions

 PID (T &input, T &output, T &setpoint, T kp, T ki, T kd, Direction direction=kDirect, bool proportialOnError=true)
 Constructor. More...
 
bool process ()
 
void setAutomatic (bool automatic)
 
getOutputMin () const
 
getOutputMax () const
 
void setOutputLimits (T outputMin, T outputMax)
 
void setTunings (T Kp, T Ki, T Kd, bool pOnError)
 
void setTunings (T Kp, T Ki, T Kd)
 
void setDirection (Direction direction)
 
void setSampleTime (unsigned sampleTime)
 
bool getProportialOnMeasurement () const
 
bool getProportialOnError () const
 
getKp () const
 
getKi () const
 
getKd () const
 
int getAutomatic () const
 
int getDirection () const
 

Member Enumeration Documentation

◆ anonymous enum

template<typename T >
anonymous enum
Enumerator
kManual 
kAuto 

◆ Direction

template<typename T >
enum PID::Direction
Enumerator
kDirect 
kReverse 

Constructor & Destructor Documentation

◆ PID()

template<typename T >
PID< T >::PID ( T &  input,
T &  output,
T &  setpoint,
kp,
ki,
kd,
Direction  direction = kDirect,
bool  proportialOnError = true 
)
inline

Constructor.

Creates a PID controller linked to the specified Input, Output, and Setpoint. The PID algorithm is in parallel form.

Member Function Documentation

◆ getAutomatic()

template<typename T >
int PID< T >::getAutomatic ( ) const
inline

◆ getDirection()

template<typename T >
int PID< T >::getDirection ( ) const
inline

◆ getKd()

template<typename T >
T PID< T >::getKd ( ) const
inline

◆ getKi()

template<typename T >
T PID< T >::getKi ( ) const
inline

◆ getKp()

template<typename T >
T PID< T >::getKp ( ) const
inline

◆ getOutputMax()

template<typename T >
T PID< T >::getOutputMax ( ) const
inline

◆ getOutputMin()

template<typename T >
T PID< T >::getOutputMin ( ) const
inline

◆ getProportialOnError()

template<typename T >
bool PID< T >::getProportialOnError ( ) const
inline

◆ getProportialOnMeasurement()

template<typename T >
bool PID< T >::getProportialOnMeasurement ( ) const
inline

◆ process()

template<typename T >
bool PID< T >::process ( )
inline

◆ setAutomatic()

template<typename T >
void PID< T >::setAutomatic ( bool  automatic)
inline

◆ setDirection()

template<typename T >
void PID< T >::setDirection ( Direction  direction)
inline

◆ setOutputLimits()

template<typename T >
void PID< T >::setOutputLimits ( outputMin,
outputMax 
)
inline

◆ setSampleTime()

template<typename T >
void PID< T >::setSampleTime ( unsigned  sampleTime)
inline

◆ setTunings() [1/2]

template<typename T >
void PID< T >::setTunings ( Kp,
Ki,
Kd 
)
inline

◆ setTunings() [2/2]

template<typename T >
void PID< T >::setTunings ( Kp,
Ki,
Kd,
bool  pOnError 
)
inline

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