From e8bbea21be574f55448c50f7f0e73ff3985584bc Mon Sep 17 00:00:00 2001 From: Andrey Date: Wed, 21 Jul 2021 23:24:23 -0400 Subject: [PATCH] Nissan VVT trigger decoder #2887 --- unit_tests/logicdata_csv_reader.cpp | 5 ++++- .../tests/trigger/test_real_cranking_nissan_vq40.cpp | 7 ++++--- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/unit_tests/logicdata_csv_reader.cpp b/unit_tests/logicdata_csv_reader.cpp index b831d0459d..70e278e7c7 100644 --- a/unit_tests/logicdata_csv_reader.cpp +++ b/unit_tests/logicdata_csv_reader.cpp @@ -84,7 +84,10 @@ void CsvReader::processLine(EngineTestHelper *eth) { efitick_t nowNt = getTimeNowNt(); trigger_value_e event = newVvtState[vvtIndex] ^ engineConfiguration->invertCamVVTSignal ? TV_RISE : TV_FALL; - hwHandleVvtCamSignal(event, nowNt, vvtIndex PASS_ENGINE_PARAMETER_SUFFIX); + // todo: configurable selection of vvt mode - dual bank or dual cam single bank + int bankIndex = vvtIndex; + int camIndex = 0; + hwHandleVvtCamSignal(event, nowNt, bankIndex *2 + camIndex PASS_ENGINE_PARAMETER_SUFFIX); currentVvtState[vvtIndex] = newVvtState[vvtIndex]; diff --git a/unit_tests/tests/trigger/test_real_cranking_nissan_vq40.cpp b/unit_tests/tests/trigger/test_real_cranking_nissan_vq40.cpp index 342e0a6dce..a50c30455c 100644 --- a/unit_tests/tests/trigger/test_real_cranking_nissan_vq40.cpp +++ b/unit_tests/tests/trigger/test_real_cranking_nissan_vq40.cpp @@ -13,15 +13,16 @@ TEST(realCrankingVQ40, normalCranking) { int indeces[] = {0}; reader.open("tests/trigger/resources/nissan_vq40_cranking-1.csv", indeces); - WITH_ENGINE_TEST_HELPER (ET_HELLEN_121_NISSAN); + WITH_ENGINE_TEST_HELPER (HELLEN_121_NISSAN); while (reader.haveMore()) { reader.processLine(ð); } EXPECT_NEAR(engine->triggerCentral.getVVTPosition(/*bankIndex*/0, /*camIndex*/0), -46.817, 1e-2); - // todo: read second channel - EXPECT_NEAR(engine->triggerCentral.getVVTPosition(/*bankIndex*/1, /*camIndex*/0), 0, 1e-2); + EXPECT_NEAR(engine->triggerCentral.getVVTPosition(/*bankIndex*/1, /*camIndex*/0), -47.411, 1e-2); ASSERT_EQ(241, GET_RPM())<< reader.lineIndex(); + // TODO: why warnings? + ASSERT_EQ(2, eth.recentWarnings()->getCount()); }