outputSum is now capped after merging with output

This commit is contained in:
Marco D'Agostini 2018-08-26 10:22:45 -05:00 committed by GitHub
parent 9b4ca0e5b6
commit 39dfdfb7dc
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -71,9 +71,6 @@ bool PID::Compute()
/*Add Proportional on Measurement, if P_ON_M is specified*/
if(!pOnE) outputSum-= kp * dInput;
if(outputSum > outMax) outputSum= outMax;
else if(outputSum < outMin) outputSum= outMin;
/*Add Proportional on Error, if P_ON_E is specified*/
double output;
if(pOnE) output = kp * error;
@ -82,6 +79,9 @@ bool PID::Compute()
/*Compute Rest of PID Output*/
output += outputSum - kd * dInput;
if(outputSum > outMax) outputSum= outMax;
else if(outputSum < outMin) outputSum= outMin;
if(output > outMax) output = outMax;
else if(output < outMin) output = outMin;
*myOutput = output;