From 750070a4968679912465b72688a71eda22c71179 Mon Sep 17 00:00:00 2001 From: Matthew Kennedy Date: Wed, 25 Nov 2020 18:14:06 -0800 Subject: [PATCH] fix etb wastegate percent output (#1988) * wastegate etb should use percent * percent_t * fix test --- firmware/controllers/actuators/boost_control.cpp | 7 ++++--- unit_tests/tests/test_boost.cpp | 2 +- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/firmware/controllers/actuators/boost_control.cpp b/firmware/controllers/actuators/boost_control.cpp index 5c41624698..eea5454126 100644 --- a/firmware/controllers/actuators/boost_control.cpp +++ b/firmware/controllers/actuators/boost_control.cpp @@ -146,13 +146,14 @@ expected BoostController::getClosedLoop(float target, float manifoldP void BoostController::setOutput(expected output) { // TODO: hook up safe duty cycle - float duty = PERCENT_TO_DUTY(output.value_or(/*CONFIG(boostControlSafeDutyCycle)*/ 0)); - + percent_t percent = output.value_or(/*CONFIG(boostControlSafeDutyCycle)*/ 0); + float duty = PERCENT_TO_DUTY(percent); + if (m_pwm) { m_pwm->setSimplePwmDutyCycle(duty); } - setEtbWastegatePosition(duty PASS_ENGINE_PARAMETER_SUFFIX); + setEtbWastegatePosition(percent PASS_ENGINE_PARAMETER_SUFFIX); } void BoostController::PeriodicTask() { diff --git a/unit_tests/tests/test_boost.cpp b/unit_tests/tests/test_boost.cpp index 20eb7bdfcc..10b8649be6 100644 --- a/unit_tests/tests/test_boost.cpp +++ b/unit_tests/tests/test_boost.cpp @@ -115,7 +115,7 @@ TEST(BoostControl, SetOutput) { INJECT_ENGINE_REFERENCE(&bc); // ETB wastegate position & PWM should both be set - EXPECT_CALL(etb, setWastegatePosition(0.25f)); + EXPECT_CALL(etb, setWastegatePosition(25.0f)); EXPECT_CALL(pwm, setSimplePwmDutyCycle(0.25f)); // Don't crash if not init'd (don't deref null ptr m_pwm)