diff options
author | Julian Oes <julian@oes.ch> | 2013-06-15 20:06:30 +0200 |
---|---|---|
committer | Julian Oes <julian@oes.ch> | 2013-06-15 20:06:30 +0200 |
commit | 3230f2244685252a362f3933707407022d8ea759 (patch) | |
tree | c1455c20f936becea7fc0a2262d206cc6560c055 /src/modules/systemlib/pid/pid.h | |
parent | 9f5565de3221718ba12800a54ca1a0c06b7491ef (diff) | |
parent | 8559315f4f8b6515f2ba9ceadf2aa3b73af41bdc (diff) | |
download | px4-firmware-3230f2244685252a362f3933707407022d8ea759.tar.gz px4-firmware-3230f2244685252a362f3933707407022d8ea759.tar.bz2 px4-firmware-3230f2244685252a362f3933707407022d8ea759.zip |
Merge branch 'pid_fixes' into new_state_machine
Diffstat (limited to 'src/modules/systemlib/pid/pid.h')
-rw-r--r-- | src/modules/systemlib/pid/pid.h | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/modules/systemlib/pid/pid.h b/src/modules/systemlib/pid/pid.h index 64d668867..f89c36d75 100644 --- a/src/modules/systemlib/pid/pid.h +++ b/src/modules/systemlib/pid/pid.h @@ -59,16 +59,18 @@ typedef struct { float intmax; float sp; float integral; - float error_previous; + float error_previous_filtered; + float control_previous; float last_output; float limit; uint8_t mode; + float diff_filter_factor; uint8_t count; uint8_t saturated; } PID_t; -__EXPORT void pid_init(PID_t *pid, float kp, float ki, float kd, float intmax, float limit, uint8_t mode); -__EXPORT int pid_set_parameters(PID_t *pid, float kp, float ki, float kd, float intmax, float limit); +__EXPORT void pid_init(PID_t *pid, float kp, float ki, float kd, float intmax, float limit, float diff_filter_factor, uint8_t mode); +__EXPORT int pid_set_parameters(PID_t *pid, float kp, float ki, float kd, float intmax, float limit, float diff_filter_factor); //void pid_set(PID_t *pid, float sp); __EXPORT float pid_calculate(PID_t *pid, float sp, float val, float val_dot, float dt); |