diff options
author | Fabien Poussin <fabien.poussin@gmail.com> | 2018-03-22 18:16:20 +0100 |
---|---|---|
committer | Fabien Poussin <fabien.poussin@gmail.com> | 2018-03-22 18:16:20 +0100 |
commit | 9e5aba8bd9da9fbba617f6abc95a4e1a2a841882 (patch) | |
tree | 71ade0fdfccb743be4c4af2a5e42bb02d2314691 /os/various | |
parent | 12552897f32efc7448810c8ccd70d3c22dadccf7 (diff) | |
download | ChibiOS-Contrib-9e5aba8bd9da9fbba617f6abc95a4e1a2a841882.tar.gz ChibiOS-Contrib-9e5aba8bd9da9fbba617f6abc95a4e1a2a841882.tar.bz2 ChibiOS-Contrib-9e5aba8bd9da9fbba617f6abc95a4e1a2a841882.zip |
Adding basic PID demo.
Diffstat (limited to 'os/various')
-rw-r--r-- | os/various/pid.c | 4 | ||||
-rw-r--r-- | os/various/pid.h | 6 |
2 files changed, 5 insertions, 5 deletions
diff --git a/os/various/pid.c b/os/various/pid.c index 07209ec..f704b29 100644 --- a/os/various/pid.c +++ b/os/various/pid.c @@ -55,7 +55,7 @@ bool pid_compute(pid_t* p) float dInput = (input - p->lastInput); p->outputSum += (p->ki * error); - /* Add Proportional on Measurement, if P_ON_M is specified */ + /* Add Proportional on Measurement, if PID_ON_M is specified */ if(!p->pOnE) p->outputSum -= p->kp * dInput; if(p->outputSum > p->outMax) p->outputSum = p->outMax; @@ -91,7 +91,7 @@ void pid_setTunings(pid_t* p, float Kp, float Ki, float Kd, int POn) if (Kp < 0 || Ki < 0 || Kd < 0) return; p->pOn = POn; - p->pOnE = POn == PID_P_ON_E; + p->pOnE = POn == PID_ON_E; p->dispKp = Kp; p->dispKi = Ki; diff --git a/os/various/pid.h b/os/various/pid.h index d20b35d..74d116d 100644 --- a/os/various/pid.h +++ b/os/various/pid.h @@ -8,8 +8,8 @@ #define PID_MANUAL 0 #define PID_DIRECT 0 #define PID_REVERSE 1 -#define PID_P_ON_M 0 -#define PID_P_ON_E 1 +#define PID_ON_M 0 +#define PID_ON_E 1 typedef struct { @@ -48,7 +48,7 @@ void pid_create(pid_t* p, float* Input, float* Output, float* Setpoint, // * co float Kp, float Ki, float Kd, int POn, int Direction); // Setpoint. Initial tuning parameters are also set here. // (overload for specifying proportional mode) -void pid_setmode(pid_t* p, int mode); // * sets PID to either Manual (0) or Auto (non-0) +void pid_setMode(pid_t* p, int mode); // * sets PID to either Manual (0) or Auto (non-0) bool pid_compute(pid_t* p); // * performs the PID calculation. it should be // called every time loop() cycles. ON/OFF and |