h-bridge wastegate not alive on bench #4965

bugfix: not any DC is ETB :(
This commit is contained in:
rusefillc 2023-01-17 13:13:46 -05:00
parent be16d79e5b
commit 64ecfd26ca
1 changed files with 9 additions and 7 deletions

View File

@ -546,10 +546,11 @@ void EtbController::setOutput(expected<percent_t> outputValue) {
return;
}
// If ETB is allowed, output is valid, and we aren't paused, output to motor.
if (getLimpManager()->allowElectronicThrottle()
// If not ETB, or ETB is allowed, output is valid, and we aren't paused, output to motor.
if (!isEtbMode() ||
(getLimpManager()->allowElectronicThrottle()
&& outputValue
&& !engineConfiguration->pauseEtbControl) {
&& !engineConfiguration->pauseEtbControl)) {
m_motor->enable();
m_motor->set(ETB_PERCENT_TO_DUTY(outputValue.Value));
} else {
@ -806,16 +807,17 @@ static DcThread dcThread CCM_OPTIONAL;
static void showEtbInfo() {
#if EFI_PROD_CODE
efiPrintf("etbAutoTune=%d",
engine->etbAutoTune);
efiPrintf("etbAutoTune=%d", engine->etbAutoTune);
efiPrintf("TPS=%.2f", Sensor::getOrZero(SensorType::Tps1));
efiPrintf("etbControlPin=%s duty=%.2f freq=%d",
hwPortname(engineConfiguration->etbIo[0].controlPin),
efiPrintf("ETB1 duty=%.2f freq=%d",
engine->outputChannels.etb1DutyCycle,
engineConfiguration->etbFreq);
efiPrintf("ETB freq=%d",
engineConfiguration->etbFreq);
for (int i = 0; i < ETB_COUNT; i++) {
efiPrintf("ETB%d", i);
efiPrintf(" dir1=%s", hwPortname(engineConfiguration->etbIo[i].directionPin1));