1 | //
|
2 | // Created by alexn on 23.06.2023.
|
3 | //
|
4 |
|
5 | #include "Regelungstechnik.h"
|
6 | void config_Integrator(Integrator *data,float K){
|
7 | data->K = K;
|
8 | }
|
9 |
|
10 | void add_val_Integrator(Integrator *data,float newval,float dt){
|
11 | data->val += newval * data->K * dt;
|
12 | }
|
13 |
|
14 | void config_P(P *data,float K){
|
15 | data->K=K;
|
16 | }
|
17 |
|
18 | void recall_P(P *data,float val){
|
19 | data->val= val * data->K;
|
20 | }
|
21 |
|
22 | void config_PI(PI *data,float KP,float KI){
|
23 | config_P(&data->P,KP);
|
24 | config_Integrator(&data->I,KI);
|
25 | }
|
26 |
|
27 | void add_val_PI(PI *data,float newval, float dt){
|
28 | add_val_Integrator(&data->I,newval,dt);
|
29 | recall_P(&data->P,newval);
|
30 | data->val=data->P.val+data->I.val;
|
31 | }
|