diff options
author | Julian Oes <joes@student.ethz.ch> | 2012-12-19 17:54:18 -0800 |
---|---|---|
committer | Julian Oes <joes@student.ethz.ch> | 2012-12-19 17:54:18 -0800 |
commit | 06407b166f262c40b9e1887e6b4b71466fe4e57a (patch) | |
tree | 1fa45c19d0ccccbb55945b1cbaad200663af50d6 /apps/systemlib | |
parent | 28b3ecd9c6c3c64d5f6d6a7cb04f8a9bb5dcb27a (diff) | |
download | px4-firmware-06407b166f262c40b9e1887e6b4b71466fe4e57a.tar.gz px4-firmware-06407b166f262c40b9e1887e6b4b71466fe4e57a.tar.bz2 px4-firmware-06407b166f262c40b9e1887e6b4b71466fe4e57a.zip |
My PID integral part fixes
Diffstat (limited to 'apps/systemlib')
-rw-r--r-- | apps/systemlib/pid/pid.c | 6 | ||||
-rw-r--r-- | apps/systemlib/pid/pid.h | 1 |
2 files changed, 7 insertions, 0 deletions
diff --git a/apps/systemlib/pid/pid.c b/apps/systemlib/pid/pid.c index 0358caa25..49315cdc9 100644 --- a/apps/systemlib/pid/pid.c +++ b/apps/systemlib/pid/pid.c @@ -183,3 +183,9 @@ __EXPORT float pid_calculate(PID_t *pid, float sp, float val, float val_dot, flo return pid->last_output; } + + +__EXPORT void pid_reset_integral(PID_t *pid) +{ + pid->integral = 0; +} diff --git a/apps/systemlib/pid/pid.h b/apps/systemlib/pid/pid.h index b51afef9e..64d668867 100644 --- a/apps/systemlib/pid/pid.h +++ b/apps/systemlib/pid/pid.h @@ -72,6 +72,7 @@ __EXPORT int pid_set_parameters(PID_t *pid, float kp, float ki, float kd, float //void pid_set(PID_t *pid, float sp); __EXPORT float pid_calculate(PID_t *pid, float sp, float val, float val_dot, float dt); +__EXPORT void pid_reset_integral(PID_t *pid); #endif /* PID_H_ */ |