// // Created by alexn on 23.06.2023. // #include "Regelungstechnik.h" void config_Integrator(Integrator *data,float K){ data->K = K; } void add_val_Integrator(Integrator *data,float newval,float dt){ data->val += newval * data->K * dt; } void config_P(P *data,float K){ data->K=K; } void recall_P(P *data,float val){ data->val= val * data->K; } void config_PI(PI *data,float KP,float KI){ config_P(&data->P,KP); config_Integrator(&data->I,KI); } void add_val_PI(PI *data,float newval, float dt){ add_val_Integrator(&data->I,newval,dt); recall_P(&data->P,newval); data->val=data->P.val+data->I.val; }