auto-sync

This commit is contained in:
rusEfi 2017-02-12 20:05:02 -05:00
parent 41c387ef45
commit 24dbf8c153
2 changed files with 17 additions and 12 deletions

View File

@ -51,13 +51,25 @@ static msg_t AltCtrlThread(int param) {
if (shouldResetPid) {
alternatorPidResetCounter++;
altPid.reset();
shouldResetPid = false;
}
shouldResetPid = false;
#endif
int dt = maxI(10, engineConfiguration->alternatorDT);
chThdSleepMilliseconds(dt);
#if ! EFI_UNIT_TEST || defined(__DOXYGEN__)
if (engineConfiguration->debugMode == ALTERNATOR_PID) {
// this block could be executed even in on/off alternator control mode
// but at least we would reflect latest state
tsOutputChannels.debugFloatField1 = currentAltDuty;
altPid.postState(&tsOutputChannels);
tsOutputChannels.debugIntField3 = alternatorPidResetCounter;
}
#endif /* !EFI_UNIT_TEST */
// todo: migrate this to FSIO
bool alternatorShouldBeEnabledAtCurrentRpm = engine->rpmCalculator.rpmValue > engineConfiguration->cranking.rpm;
engine->isAlternatorControlEnabled = CONFIG(isAlternatorControlEnabled) && alternatorShouldBeEnabledAtCurrentRpm;
@ -91,13 +103,6 @@ static msg_t AltCtrlThread(int param) {
altPid.getP(), altPid.getI(), altPid.getD(), altPid.getIntegration());
}
#if ! EFI_UNIT_TEST || defined(__DOXYGEN__)
if (engineConfiguration->debugMode == ALTERNATOR_PID) {
tsOutputChannels.debugFloatField1 = currentAltDuty;
altPid.postState(&tsOutputChannels);
tsOutputChannels.debugIntField3 = alternatorPidResetCounter;
}
#endif /* !EFI_UNIT_TEST */
alternatorControl.setSimplePwmDutyCycle(currentAltDuty / 100);
}

View File

@ -110,10 +110,10 @@ void testFuelMap(void) {
printf("*************************************************** getStartingFuel\r\n");
// NAN in case we have issues with the CLT sensor
assertEqualsM("getStartingFuel nan", 4, getCrankingFuel3(NAN, 0 PASS_ENGINE_PARAMETER));
assertEqualsM("getStartingFuel#1", 23.7333, getCrankingFuel3(0, 4 PASS_ENGINE_PARAMETER));
assertEqualsM("getStartingFuel#2", 18.0419, getCrankingFuel3(8, 15 PASS_ENGINE_PARAMETER));
assertEqualsM("getStartingFuel#3", 11.2000, getCrankingFuel3(70, 0 PASS_ENGINE_PARAMETER));
assertEqualsM("getStartingFuel#3", 5.6000, getCrankingFuel3(70, 50 PASS_ENGINE_PARAMETER));
assertEqualsM("getStartingFuel#1", 17.8, getCrankingFuel3(0, 4 PASS_ENGINE_PARAMETER));
assertEqualsM("getStartingFuel#2", 14.6286, getCrankingFuel3(8, 15 PASS_ENGINE_PARAMETER));
assertEqualsM("getStartingFuel#3", 6.48, getCrankingFuel3(70, 0 PASS_ENGINE_PARAMETER));
assertEqualsM("getStartingFuel#4", 4.4023, getCrankingFuel3(70, 50 PASS_ENGINE_PARAMETER));
}