outputSum is now capped after merging with output
This commit is contained in:
parent
9b4ca0e5b6
commit
39dfdfb7dc
@ -71,9 +71,6 @@ bool PID::Compute()
|
|||||||
/*Add Proportional on Measurement, if P_ON_M is specified*/
|
/*Add Proportional on Measurement, if P_ON_M is specified*/
|
||||||
if(!pOnE) outputSum-= kp * dInput;
|
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*/
|
/*Add Proportional on Error, if P_ON_E is specified*/
|
||||||
double output;
|
double output;
|
||||||
if(pOnE) output = kp * error;
|
if(pOnE) output = kp * error;
|
||||||
@ -82,6 +79,9 @@ bool PID::Compute()
|
|||||||
/*Compute Rest of PID Output*/
|
/*Compute Rest of PID Output*/
|
||||||
output += outputSum - kd * dInput;
|
output += outputSum - kd * dInput;
|
||||||
|
|
||||||
|
if(outputSum > outMax) outputSum= outMax;
|
||||||
|
else if(outputSum < outMin) outputSum= outMin;
|
||||||
|
|
||||||
if(output > outMax) output = outMax;
|
if(output > outMax) output = outMax;
|
||||||
else if(output < outMin) output = outMin;
|
else if(output < outMin) output = outMin;
|
||||||
*myOutput = output;
|
*myOutput = output;
|
||||||
|
Loading…
Reference in New Issue
Block a user