VVT minimum RPM fix #4545

This commit is contained in:
rusefillc 2022-09-27 22:41:26 -04:00
parent 022fd81880
commit 974f6f540d
2 changed files with 5 additions and 2 deletions

View File

@ -14,7 +14,7 @@ Release template (copy/paste this for new release):
-
### Added
-
- VVT minimum RPM setting #4545
### Fixed
- Enforce board configuration overrides more strictly #4614

View File

@ -105,7 +105,7 @@ expected<percent_t> VvtController::getClosedLoop(angle_t target, angle_t observa
void VvtController::setOutput(expected<percent_t> outputValue) {
float rpm = Sensor::getOrZero(SensorType::Rpm);
#if EFI_SHAFT_POSITION_INPUT
bool enabled = rpm > engineConfiguration->cranking.rpm /* todo: make this configurable? */
bool enabled = rpm > engineConfiguration->vvtControlMinRpm
&& engine->rpmCalculator.getSecondsSinceEngineStart(getTimeNowNt()) > engineConfiguration->vvtActivationDelayMs / MS_PER_SECOND
;
@ -150,6 +150,9 @@ void stopVvtControlPins() {
}
void initVvtActuators() {
if (engineConfiguration->vvtControlMinRpm < engineConfiguration->cranking.rpm) {
engineConfiguration->vvtControlMinRpm = engineConfiguration->cranking.rpm;
}
vvtTable1.init(config->vvtTable1, config->vvtTable1LoadBins,
config->vvtTable1RpmBins);