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