auto-sync
This commit is contained in:
parent
94b719e951
commit
eacbf308ba
|
@ -38,8 +38,8 @@ static msg_t AltCtrlThread(int param) {
|
|||
|
||||
currentAltDuty = altPid.getValue(14, getVBatt(engineConfiguration), 1);
|
||||
if (boardConfiguration->isVerboseAlternator) {
|
||||
scheduleMsg(logger, "alt duty: %f/vbatt=%f/p=%f/i=%f", currentAltDuty, getVBatt(engineConfiguration),
|
||||
altPid.getP(), altPid.getI());
|
||||
scheduleMsg(logger, "alt duty: %f/vbatt=%f/p=%f/i=%f/d=%f int=%f", currentAltDuty, getVBatt(engineConfiguration),
|
||||
altPid.getP(), altPid.getI(), altPid.getD(), altPid.getIntegration());
|
||||
}
|
||||
|
||||
alternatorControl.setSimplePwmDutyCycle(currentAltDuty / 100);
|
||||
|
|
|
@ -36,7 +36,6 @@ float Pid::getValue(float target, float input, float dTime) {
|
|||
} else if (result < minResult) {
|
||||
integration += minResult - result;
|
||||
result = minResult;
|
||||
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
@ -61,6 +60,10 @@ float Pid::getI(void) {
|
|||
return iFactor;
|
||||
}
|
||||
|
||||
float Pid::getIntegration(void) {
|
||||
return integration;
|
||||
}
|
||||
|
||||
float Pid::getD(void) {
|
||||
return dFactor;
|
||||
}
|
||||
|
|
|
@ -17,6 +17,7 @@ public:
|
|||
void reset(void);
|
||||
float getP(void);
|
||||
float getI(void);
|
||||
float getIntegration(void);
|
||||
float getD(void);
|
||||
private:
|
||||
float pFactor;
|
||||
|
|
|
@ -48,5 +48,14 @@ void testPidController(void) {
|
|||
assertEquals(10, pid.getValue(14, 16, 0.1));
|
||||
assertEquals(10, pid.getValue(14, 16, 1));
|
||||
|
||||
pid.updateFactors(29, 0, 0);
|
||||
assertEquals(10, pid.getValue(14, 16, 1));
|
||||
assertEquals(68, pid.getIntegration());
|
||||
|
||||
assertEquals(10, pid.getValue(14, 16, 1));
|
||||
assertEquals(68, pid.getIntegration());
|
||||
|
||||
assertEquals(10, pid.getValue(14, 16, 1));
|
||||
assertEquals(68, pid.getIntegration());
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue