aboutsummaryrefslogtreecommitdiff
path: root/src/modules/systemlib/pid/pid.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/modules/systemlib/pid/pid.c')
-rw-r--r--src/modules/systemlib/pid/pid.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/src/modules/systemlib/pid/pid.c b/src/modules/systemlib/pid/pid.c
index d0e67d3ea..0188a51c4 100644
--- a/src/modules/systemlib/pid/pid.c
+++ b/src/modules/systemlib/pid/pid.c
@@ -101,7 +101,7 @@ __EXPORT int pid_set_parameters(PID_t *pid, float kp, float ki, float kd, float
}
if (isfinite(diff_filter_factor)) {
- pid->limit = diff_filter_factor;
+ pid->diff_filter_factor = diff_filter_factor;
} else {
ret = 1;
@@ -179,8 +179,7 @@ __EXPORT float pid_calculate(PID_t *pid, float sp, float val, float val_dot, flo
}
// Calculate the output. Limit output magnitude to pid->limit
- float output = (pid->error_previous * pid->kp) + (i * pid->ki) + (d * pid->kd);
-
+ float output = (error * pid->kp) + (i * pid->ki) + (d * pid->kd);
if (output > pid->limit) output = pid->limit;
if (output < -pid->limit) output = -pid->limit;