Merge remote-tracking branch 'origin/master' into master

This commit is contained in:
rusefillc 2020-12-13 20:28:03 -05:00
commit 56a98b781e
3 changed files with 18 additions and 11 deletions

View File

@ -159,21 +159,28 @@ void initIdleHardware(Logging* sharedLogger DECLARE_ENGINE_PARAMETER_SUFFIX) {
// This greatly improves PID accuracy for steppers with a small number of steps // This greatly improves PID accuracy for steppers with a small number of steps
idlePositionSensitivityThreshold = 1.0f / engineConfiguration->idleStepperTotalSteps; idlePositionSensitivityThreshold = 1.0f / engineConfiguration->idleStepperTotalSteps;
} else if (!engineConfiguration->useETBforIdleControl) { } else if (engineConfiguration->useETBforIdleControl || CONFIG(idle).solenoidPin == GPIO_UNASSIGNED) {
// here we do nothing for ETB idle and for no idle
} else {
// we are here for single or double solenoid idle
/** /**
* Start PWM for idleValvePin * Start PWM for idleValvePin
*/ */
// todo: even for double-solenoid mode we can probably use same single SimplePWM // todo: even for double-solenoid mode we can probably use same single SimplePWM
// todo: open question why do we pass 'OutputPin' into 'startSimplePwmExt' if we have custom applyIdleSolenoidPinState listener anyway? // todo: open question why do we pass 'OutputPin' into 'startSimplePwmExt' if we have custom applyIdleSolenoidPinState listener anyway?
if (CONFIG(idle).solenoidPin != GPIO_UNASSIGNED) { startSimplePwm(&idleSolenoidOpen, "Idle Valve Open",
startSimplePwm(&idleSolenoidOpen, "Idle Valve Open", &engine->executor,
&engine->executor, &enginePins.idleSolenoidPin,
&enginePins.idleSolenoidPin, CONFIG(idle).solenoidFrequency, PERCENT_TO_DUTY(CONFIG(manIdlePosition)),
CONFIG(idle).solenoidFrequency, PERCENT_TO_DUTY(CONFIG(manIdlePosition)), (pwm_gen_callback*)applyIdleSolenoidPinState);
(pwm_gen_callback*)applyIdleSolenoidPinState);
} if (CONFIG(isDoubleSolenoidIdle)) {
if (CONFIG(secondSolenoidPin) == GPIO_UNASSIGNED) {
firmwareError(OBD_PCM_Processor_Fault, "Second idle pin should be configured for double solenoid mode.");
return;
}
if (CONFIG(isDoubleSolenoidIdle) && CONFIG(secondSolenoidPin) != GPIO_UNASSIGNED) {
startSimplePwm(&idleSolenoidClose, "Idle Valve Close", startSimplePwm(&idleSolenoidClose, "Idle Valve Close",
&engine->executor, &engine->executor,
&enginePins.secondIdleSolenoidPin, &enginePins.secondIdleSolenoidPin,

View File

@ -1,2 +1,2 @@
#pragma once #pragma once
#define VCS_DATE 20201213 #define VCS_DATE 20201214

View File

@ -2701,7 +2701,7 @@ event 30 1 1 651.50
event 31 1 0 674.00 event 31 1 0 674.00
event 32 1 1 696.50 event 32 1 1 696.50
event 33 1 0 719.00 event 33 1 0 719.00
TRIGGERTYPE 51 14 TT_51 192.00 TRIGGERTYPE 51 14 TT_SUBARU_7_WITHOUT_6 192.00
# duty 0.95 0.00 # duty 0.95 0.00
event 0 0 1 0.00 event 0 0 1 0.00
event 1 0 0 5.00 event 1 0 0 5.00