aboutsummaryrefslogtreecommitdiffstats
path: root/os/various
diff options
context:
space:
mode:
authorFabien Poussin <fabien.poussin@gmail.com>2018-03-22 18:16:20 +0100
committerFabien Poussin <fabien.poussin@gmail.com>2018-03-22 18:16:20 +0100
commit9e5aba8bd9da9fbba617f6abc95a4e1a2a841882 (patch)
tree71ade0fdfccb743be4c4af2a5e42bb02d2314691 /os/various
parent12552897f32efc7448810c8ccd70d3c22dadccf7 (diff)
downloadChibiOS-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.c4
-rw-r--r--os/various/pid.h6
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