An open API service indexing awesome lists of open source software.

https://github.com/creoone/zipid

PID controller in ZIG. Driven by discrete time series. Protected from integral part run-out and overflow. Tested.
https://github.com/creoone/zipid

pid pid-controller zig ziglang

Last synced: 3 months ago
JSON representation

PID controller in ZIG. Driven by discrete time series. Protected from integral part run-out and overflow. Tested.

Awesome Lists containing this project

README

        

# ZiPID

PID controller implementation in ZIG

_Supports integral clamping and overflow protection_

## Usage

```zig
var pid: ziPID = .{ .proportional = 1.0, .integral = 0.1, .derivative = 1.0 };
const deviation = -0.4; // control value -4/10th measurement units away from target/setpoint
const delta = 16e-3; // ~60 times per time unit
const output = pid.advance(deviation, delta);
```

## Testing

Go to [sources/zipid.tests.zig](./sources/zipid.tests.zig)