ETB duty cycle jitter: only monitoring within this ticket #4833

This commit is contained in:
Andrey 2022-11-30 19:48:08 -05:00
parent d281091c12
commit e6993aa248
2 changed files with 5 additions and 6 deletions

View File

@ -624,9 +624,9 @@ expected<percent_t> EtbController::getOutput() {
if (!output) {
return output;
}
etbDutyAverage = m_dutyAverage.average(output.Value);
etbDutyAverage = m_dutyAverage.average(absF(output.Value));
etbDutyRateOfChange = m_dutyRocAverage.average(output.Value - prevOutput);
etbDutyRateOfChange = m_dutyRocAverage.average(absF(output.Value - prevOutput));
prevOutput = output.Value;
return output;
}

View File

@ -35,17 +35,16 @@ TEST(etb, integrated) {
Sensor::setMockValue(SensorType::AcceleratorPedal, 10, true);
etb->update();
ASSERT_NEAR(etb->etbDutyAverage, -9.89286, EPS3D);
ASSERT_NEAR(etb->etbDutyRateOfChange, -70.074, EPS3D);
ASSERT_NEAR(etb->etbDutyAverage, 70.0741, EPS3D);
ASSERT_NEAR(etb->etbDutyRateOfChange, 130.2554, EPS3D);
float destination;
int offset = ELECTRONIC_THROTTLE_BASE_ADDRESS + offsetof(electronic_throttle_s, etbDutyRateOfChange);
copyRange((uint8_t*)&destination, getLiveDataFragments(), offset, sizeof(destination));
ASSERT_NEAR(destination, -70.074, EPS3D);
ASSERT_NEAR(destination, 130.2554, EPS3D);
}
TEST(etb, integratedTpsJitter) {
EngineTestHelper eth(TEST_ENGINE); // we have a destructor so cannot move EngineTestHelper into utility method
EtbController *etb = initEtbIntegratedTest();