OOP all the way, maybe too much OOP? :)
This commit is contained in:
parent
5ac8545060
commit
7395bb44e7
|
@ -58,7 +58,7 @@ float Pid::getUnclampedOutput(float target, float input, float dTime) {
|
||||||
|
|
||||||
previousError = error;
|
previousError = error;
|
||||||
|
|
||||||
return pTerm + iTerm + dTerm + parameters->offset;
|
return pTerm + iTerm + dTerm + getOffset();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -69,8 +69,8 @@ float Pid::getOutput(float target, float input, float dTime) {
|
||||||
|
|
||||||
if (output > parameters->maxValue) {
|
if (output > parameters->maxValue) {
|
||||||
output = parameters->maxValue;
|
output = parameters->maxValue;
|
||||||
} else if (output < parameters->minValue) {
|
} else if (output < getMinValue()) {
|
||||||
output = parameters->minValue;
|
output = getMinValue();
|
||||||
}
|
}
|
||||||
this->output = output;
|
this->output = output;
|
||||||
return output;
|
return output;
|
||||||
|
@ -114,6 +114,10 @@ float Pid::getOffset(void) const {
|
||||||
return parameters->offset;
|
return parameters->offset;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
float Pid::getMinValue(void) const {
|
||||||
|
return parameters->minValue;
|
||||||
|
}
|
||||||
|
|
||||||
void Pid::setErrorAmplification(float coef) {
|
void Pid::setErrorAmplification(float coef) {
|
||||||
errorAmplificationCoef = coef;
|
errorAmplificationCoef = coef;
|
||||||
}
|
}
|
||||||
|
@ -152,7 +156,7 @@ void Pid::sleep() {
|
||||||
void Pid::showPidStatus(Logging *logging, const char*msg) {
|
void Pid::showPidStatus(Logging *logging, const char*msg) {
|
||||||
scheduleMsg(logging, "%s settings: offset=%d P=%.5f I=%.5f D=%.5f period=%dms",
|
scheduleMsg(logging, "%s settings: offset=%d P=%.5f I=%.5f D=%.5f period=%dms",
|
||||||
msg,
|
msg,
|
||||||
parameters->offset,
|
getOffset(),
|
||||||
parameters->pFactor,
|
parameters->pFactor,
|
||||||
parameters->iFactor,
|
parameters->iFactor,
|
||||||
parameters->dFactor,
|
parameters->dFactor,
|
||||||
|
|
|
@ -53,7 +53,8 @@ public:
|
||||||
float getP(void) const;
|
float getP(void) const;
|
||||||
float getI(void) const;
|
float getI(void) const;
|
||||||
float getD(void) const;
|
float getD(void) const;
|
||||||
float getOffset(void) const;
|
virtual float getOffset(void) const;
|
||||||
|
virtual float getMinValue(void) const;
|
||||||
float getIntegration(void) const;
|
float getIntegration(void) const;
|
||||||
float getPrevError(void) const;
|
float getPrevError(void) const;
|
||||||
void setErrorAmplification(float coef);
|
void setErrorAmplification(float coef);
|
||||||
|
|
Loading…
Reference in New Issue