A discrete PID implementation optimized for embedded systems
using namespace pidlib;
int main(){
Pid<uint8_t> controller;
controller.init(10000, 1);
controller.tune(1, .5, .5);
controller.limit(0, 256);
while (1)
{
error = current_position - setpoint;
controll_signal = controller.run(error);
}
}
- Optimized for microcontrollers without floating points hardware
- Header only library. No
cpp
files to compile - No dynamic memory allocation
- Templating