mirror of https://github.com/FOME-Tech/fome-fw.git
Nick wonders if DC wastegate is still FUBAR #5075
This commit is contained in:
parent
19e67643aa
commit
85e0e3cbce
|
@ -257,8 +257,7 @@ expected<percent_t> EtbController::getSetpoint() {
|
||||||
case ETB_IdleValve:
|
case ETB_IdleValve:
|
||||||
return getSetpointIdleValve();
|
return getSetpointIdleValve();
|
||||||
case ETB_Wastegate:
|
case ETB_Wastegate:
|
||||||
firmwareError(OBD_PCM_Processor_Fault, "Wastegate should not run closed loop controller");
|
return getSetpointWastegate();
|
||||||
return unexpected;
|
|
||||||
default:
|
default:
|
||||||
return unexpected;
|
return unexpected;
|
||||||
}
|
}
|
||||||
|
@ -273,7 +272,7 @@ expected<percent_t> EtbController::getSetpointIdleValve() const {
|
||||||
return clampF(0, m_idlePosition, 100);
|
return clampF(0, m_idlePosition, 100);
|
||||||
}
|
}
|
||||||
|
|
||||||
percent_t EtbController::getWastegateOutput() const {
|
expected<percent_t> EtbController::getSetpointWastegate() const {
|
||||||
return clampF(0, m_wastegatePosition, 100);
|
return clampF(0, m_wastegatePosition, 100);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -630,13 +629,6 @@ void EtbController::update() {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (getFunction() == ETB_Wastegate) {
|
|
||||||
// boost controller runs it's own PID we just take the result
|
|
||||||
m_motor->enable();
|
|
||||||
m_motor->set(getWastegateOutput() / PERCENT_MULT);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool isOk = checkStatus();
|
bool isOk = checkStatus();
|
||||||
|
|
||||||
if (!isOk) {
|
if (!isOk) {
|
||||||
|
|
|
@ -47,7 +47,7 @@ public:
|
||||||
|
|
||||||
expected<percent_t> getSetpoint() override;
|
expected<percent_t> getSetpoint() override;
|
||||||
expected<percent_t> getSetpointEtb();
|
expected<percent_t> getSetpointEtb();
|
||||||
percent_t getWastegateOutput() const;
|
expected<percent_t> getSetpointWastegate() const;
|
||||||
expected<percent_t> getSetpointIdleValve() const;
|
expected<percent_t> getSetpointIdleValve() const;
|
||||||
|
|
||||||
expected<percent_t> getOpenLoop(percent_t target) override;
|
expected<percent_t> getOpenLoop(percent_t target) override;
|
||||||
|
|
|
@ -475,8 +475,6 @@ TEST(etb, setpointWastegateController) {
|
||||||
EtbController etb;
|
EtbController etb;
|
||||||
|
|
||||||
etb.init(ETB_Wastegate, nullptr, nullptr, nullptr, false);
|
etb.init(ETB_Wastegate, nullptr, nullptr, nullptr, false);
|
||||||
/*
|
|
||||||
* we need some unit test but this unit test seems pretty wrong
|
|
||||||
|
|
||||||
etb.setWastegatePosition(0);
|
etb.setWastegatePosition(0);
|
||||||
EXPECT_FLOAT_EQ(0, etb.getSetpoint().value_or(-1));
|
EXPECT_FLOAT_EQ(0, etb.getSetpoint().value_or(-1));
|
||||||
|
@ -490,7 +488,6 @@ TEST(etb, setpointWastegateController) {
|
||||||
EXPECT_FLOAT_EQ(0, etb.getSetpoint().value_or(-1));
|
EXPECT_FLOAT_EQ(0, etb.getSetpoint().value_or(-1));
|
||||||
etb.setWastegatePosition(110);
|
etb.setWastegatePosition(110);
|
||||||
EXPECT_FLOAT_EQ(100, etb.getSetpoint().value_or(-1));
|
EXPECT_FLOAT_EQ(100, etb.getSetpoint().value_or(-1));
|
||||||
*/
|
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST(etb, setpointLuaAdder) {
|
TEST(etb, setpointLuaAdder) {
|
||||||
|
|
Loading…
Reference in New Issue