PID Controller
Generic PID with anti-windup and output clamping.
Header: core/ecu_pid.h
-
void ecu_pid_init(ecu_pid_t *pid, const ecu_pid_config_t *cfg)
Initialise a PID controller.
- Parameters:
pid – [out] PID state to initialise.
cfg – [in] Tuning parameters.
-
void ecu_pid_reset(ecu_pid_t *pid)
Reset integral and derivative history.
- Parameters:
pid – [inout] PID state.
-
float ecu_pid_update(ecu_pid_t *pid, float setpoint, float measured, float dt)
Compute one PID output.
- Parameters:
pid – [inout] PID state.
setpoint – [in] Desired value.
measured – [in] Current measured value.
dt – [in] Time step in seconds.
- Returns:
Clamped PID output.
-
struct ecu_pid_config_t
- #include <ecu_pid.h>
PID tuning and limit parameters.