emlabcpp
modern opinionated embedded C++ library
pid.h File Reference
#include "./min_max.h"
+ Include dependency graph for pid.h:

Go to the source code of this file.

Classes

struct  emlabcpp::pid_coefficients
 
struct  emlabcpp::pid_config
 Structure to configure the pid regulator. More...
 
struct  emlabcpp::pid< TimeType >
 Implementation of PID regulator, the object should be constructed and populated with pid<T>::conf structure with configuration values (p,i,d coeficients, min/max output vals). More...
 

Namespaces

 emlabcpp
 MIT License.
 

Functions

template<typename TimeType >
void emlabcpp::update_limits (pid< TimeType > &pid, min_max< float > lim)
 
template<typename TimeType >
void emlabcpp::update_output (pid< TimeType > &pid, float output)
 
template<typename TimeType >
float emlabcpp::update (pid< TimeType > &pid, TimeType now, float measured, float desired)
 Call this reularly, the meaning of time value 'now' is up to you, just be consistent. More...
 
template<typename TimeType >
void emlabcpp::reset (pid< TimeType > &pid, TimeType now, float last_measured)
 

Class Documentation

◆ emlabcpp::pid_coefficients

struct emlabcpp::pid_coefficients
Class Members
float d
float i
float p coeficients

◆ emlabcpp::pid_config

struct emlabcpp::pid_config

Structure to configure the pid regulator.

+ Collaboration diagram for emlabcpp::pid_config:
Class Members
pid_coefficients coefficients
min_max< float > limits limits the output of the pid regulator and internal anti-windup mechanism