Crate pid_loop[][src]

Expand description

A tiny no_std PID controller library.

This crate implements the classic PID loop over abstracted data type.

Introduction

A proportional–integral–derivative controller is a control loop mechanism employing feedback that is widely used in industrial control systems and a variety of other applications requiring continuously modulated control.

Examples

use pid_loop::PID;

let target = 42.0;
let mut controller = PID::new(2.0, 0.7, 0.3);
loop {
    let correction = controller.next(target, measure());
    apply_correction(correction);
    sleep();
}

fn sleep() { todo!() }
fn measure() -> f32 { todo!() }
fn apply_correction(_: f32) { todo!() }

Structs

PID controller