52 lines
1.6 KiB
C++
52 lines
1.6 KiB
C++
// Mitsubishi 4B11 trigger pattern
|
|
// Crank: 36-2-1
|
|
// Cam: Single tooth (half moon)
|
|
|
|
#include "pch.h"
|
|
|
|
#include "engine_csv_reader.h"
|
|
|
|
TEST(real4b11, running) {
|
|
EngineCsvReader reader(1, /* vvtCount */ 0);
|
|
|
|
reader.open("tests/trigger/resources/4b11-running.csv");
|
|
EngineTestHelper eth(engine_type_e::TEST_ENGINE);
|
|
engineConfiguration->isFasterEngineSpinUpEnabled = true;
|
|
engineConfiguration->alwaysInstantRpm = true;
|
|
|
|
eth.setTriggerType(trigger_type_e::TT_36_2_1);
|
|
|
|
while (reader.haveMore()) {
|
|
reader.processLine(ð);
|
|
|
|
// Expect that all teeth are in the correct spot
|
|
float angleError = getTriggerCentral()->triggerToothAngleError;
|
|
EXPECT_TRUE(angleError < 3 && angleError > -3) << "tooth angle of " << angleError << " at timestamp " << (getTimeNowNt() / 1e8);
|
|
|
|
reader.assertFirstRpm(1436, 30);
|
|
}
|
|
|
|
ASSERT_EQ(0, eth.recentWarnings()->getCount());
|
|
}
|
|
|
|
TEST(real4b11, runningDoubledEdge) {
|
|
EngineCsvReader reader(1, /* vvtCount */ 0);
|
|
|
|
// This log has an extra duplicate edge at 5.393782 seconds (hand added)
|
|
reader.open("tests/trigger/resources/4b11-running-doubled-edge.csv");
|
|
EngineTestHelper eth(engine_type_e::TEST_ENGINE);
|
|
engineConfiguration->isFasterEngineSpinUpEnabled = true;
|
|
engineConfiguration->alwaysInstantRpm = true;
|
|
|
|
eth.setTriggerType(trigger_type_e::TT_36_2_1);
|
|
|
|
while (reader.haveMore()) {
|
|
reader.processLine(ð);
|
|
reader.assertFirstRpm(1436, 30);
|
|
}
|
|
|
|
// Should get a warning for the doubled edge, but NOT one for a trigger error!
|
|
ASSERT_EQ(1, eth.recentWarnings()->getCount());
|
|
ASSERT_EQ(ObdCode::CUSTOM_PRIMARY_DOUBLED_EDGE, eth.recentWarnings()->get(0).Code);
|
|
}
|