PID reset counter
This commit is contained in:
parent
44f0df51f7
commit
fbd1eab289
|
@ -21,9 +21,9 @@ Pid::Pid(pid_s *pid) {
|
|||
|
||||
void Pid::init(pid_s *pid) {
|
||||
this->pid = pid;
|
||||
resetCounter = 0;
|
||||
|
||||
dTerm = iTerm = 0;
|
||||
prevResult = prevInput = prevTarget = prevError = 0;
|
||||
reset();
|
||||
}
|
||||
|
||||
bool Pid::isSame(pid_s *pid) {
|
||||
|
@ -74,8 +74,9 @@ void Pid::updateFactors(float pFactor, float iFactor, float dFactor) {
|
|||
}
|
||||
|
||||
void Pid::reset(void) {
|
||||
iTerm = 0;
|
||||
prevError = 0;
|
||||
dTerm = iTerm = 0;
|
||||
prevResult = prevInput = prevTarget = prevError = 0;
|
||||
resetCounter++;
|
||||
}
|
||||
|
||||
float Pid::getP(void) {
|
||||
|
|
|
@ -44,6 +44,7 @@ public:
|
|||
float dTerm; // we are remembering this only for debugging purposes
|
||||
void showPidStatus(Logging *logging, const char*msg);
|
||||
void sleep();
|
||||
int resetCounter;
|
||||
private:
|
||||
pid_s *pid;
|
||||
|
||||
|
|
Loading…
Reference in New Issue