only:refactoring
This commit is contained in:
parent
1155d8e1b7
commit
da8f5144c3
|
@ -30,6 +30,14 @@ public:
|
|||
return cvsReader.lineIndex();
|
||||
}
|
||||
|
||||
void setReadingOffset(int offset) {
|
||||
cvsReader.readingOffset = offset;
|
||||
}
|
||||
|
||||
void setFlipOnRead(bool v) {
|
||||
cvsReader.flipOnRead = v;
|
||||
}
|
||||
|
||||
void processLine(EngineTestHelper *eth) {
|
||||
cvsReader.processLine(eth);
|
||||
}
|
||||
|
|
|
@ -4,10 +4,10 @@
|
|||
|
||||
#include "pch.h"
|
||||
|
||||
#include "logicdata_csv_reader.h"
|
||||
#include "engine_csv_reader.h"
|
||||
|
||||
TEST(real4b11, running) {
|
||||
CsvReader reader(1, /* vvtCount */ 0);
|
||||
EngineCsvReader reader(1, /* vvtCount */ 0);
|
||||
|
||||
reader.open("tests/trigger/resources/4b11-running.csv");
|
||||
EngineTestHelper eth(engine_type_e::TEST_ENGINE);
|
||||
|
@ -16,8 +16,6 @@ TEST(real4b11, running) {
|
|||
|
||||
eth.setTriggerType(trigger_type_e::TT_36_2_1);
|
||||
|
||||
bool gotRpm = false;
|
||||
|
||||
while (reader.haveMore()) {
|
||||
reader.processLine(ð);
|
||||
|
||||
|
@ -25,21 +23,14 @@ TEST(real4b11, running) {
|
|||
float angleError = getTriggerCentral()->triggerToothAngleError;
|
||||
EXPECT_TRUE(angleError < 3 && angleError > -3) << "tooth angle of " << angleError << " at timestamp " << (getTimeNowNt() / 1e8);
|
||||
|
||||
auto rpm = Sensor::getOrZero(SensorType::Rpm);
|
||||
if (!gotRpm && rpm) {
|
||||
gotRpm = true;
|
||||
|
||||
// We should get first RPM on exactly the first sync point - this means the instant RPM pre-sync event copy all worked OK
|
||||
EXPECT_EQ(reader.lineIndex(), 30);
|
||||
EXPECT_NEAR(rpm, 1436.23f, 0.1);
|
||||
}
|
||||
reader.assertFirstRpm(1436, 30);
|
||||
}
|
||||
|
||||
ASSERT_EQ(0, eth.recentWarnings()->getCount());
|
||||
}
|
||||
|
||||
TEST(real4b11, runningDoubledEdge) {
|
||||
CsvReader reader(1, /* vvtCount */ 0);
|
||||
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");
|
||||
|
@ -49,20 +40,9 @@ TEST(real4b11, runningDoubledEdge) {
|
|||
|
||||
eth.setTriggerType(trigger_type_e::TT_36_2_1);
|
||||
|
||||
|
||||
bool gotRpm = false;
|
||||
|
||||
while (reader.haveMore()) {
|
||||
reader.processLine(ð);
|
||||
|
||||
auto rpm = Sensor::getOrZero(SensorType::Rpm);
|
||||
if (!gotRpm && rpm) {
|
||||
gotRpm = true;
|
||||
|
||||
// We should get first RPM on exactly the first sync point - this means the instant RPM pre-sync event copy all worked OK
|
||||
EXPECT_EQ(reader.lineIndex(), 30);
|
||||
EXPECT_NEAR(rpm, 1436.23f, 0.1);
|
||||
}
|
||||
reader.assertFirstRpm(1436, 30);
|
||||
}
|
||||
|
||||
// Should get a warning for the doubled edge, but NOT one for a trigger error!
|
||||
|
|
|
@ -5,10 +5,10 @@
|
|||
|
||||
#include "pch.h"
|
||||
|
||||
#include "logicdata_csv_reader.h"
|
||||
#include "engine_csv_reader.h"
|
||||
|
||||
TEST(real4g93, cranking) {
|
||||
CsvReader reader(1, /* vvtCount */ 1);
|
||||
EngineCsvReader reader(1, /* vvtCount */ 1);
|
||||
|
||||
reader.open("tests/trigger/resources/4g93-cranking.csv");
|
||||
EngineTestHelper eth(engine_type_e::TEST_ENGINE);
|
||||
|
@ -21,9 +21,6 @@ TEST(real4g93, cranking) {
|
|||
|
||||
eth.setTriggerType(trigger_type_e::TT_MITSU_4G63_CRANK);
|
||||
|
||||
bool gotRpm = false;
|
||||
bool gotSync = false;
|
||||
|
||||
static const float gapRatios[2][4] = {
|
||||
{ 0, NAN, INFINITY, 0.89f }, // no sync
|
||||
{ 0.4f, 3.788f, 0.62f, 1.02f }
|
||||
|
@ -37,23 +34,16 @@ TEST(real4g93, cranking) {
|
|||
|
||||
TriggerCentral *tc = getTriggerCentral();
|
||||
|
||||
auto rpm = Sensor::getOrZero(SensorType::Rpm);
|
||||
if (!gotRpm && rpm) {
|
||||
gotRpm = true;
|
||||
|
||||
// We should get first RPM on exactly the first sync point - this means the instant RPM pre-sync event copy all worked OK
|
||||
EXPECT_EQ(reader.lineIndex(), 6);
|
||||
EXPECT_NEAR(rpm, 132.77f, 0.1);
|
||||
}
|
||||
reader.assertFirstRpm(133, 6);
|
||||
auto rpm = Sensor::getOrZero(SensorType::Rpm);
|
||||
|
||||
if (!gotSync && tc->triggerState.hasSynchronizedPhase()) {
|
||||
gotSync = true;
|
||||
if (!reader.gotSync && tc->triggerState.hasSynchronizedPhase()) {
|
||||
reader.gotSync = true;
|
||||
|
||||
EXPECT_EQ(reader.lineIndex(), 17);
|
||||
EXPECT_NEAR(rpm, 204.01f, 0.1);
|
||||
}
|
||||
// float instantRpm = tc->instantRpm.getInstantRpm();
|
||||
// not looking too bad horrible printf("rpm=%f instant=%f\n", rpm, instantRpm);
|
||||
|
||||
TriggerDecoderBase& vvtDecoder = tc->vvtState[/*bankIndex*/0][/*camIndex*/0];
|
||||
|
||||
|
@ -68,14 +58,14 @@ TEST(real4g93, cranking) {
|
|||
}
|
||||
}
|
||||
|
||||
ASSERT_TRUE(gotRpm);
|
||||
ASSERT_TRUE(gotSync);
|
||||
ASSERT_TRUE(reader.gotRpm);
|
||||
ASSERT_TRUE(reader.gotSync);
|
||||
|
||||
ASSERT_EQ(0, eth.recentWarnings()->getCount());
|
||||
}
|
||||
|
||||
TEST(real4g93, crankingOn11) {
|
||||
CsvReader reader(2, /* vvtCount */ 0);
|
||||
EngineCsvReader reader(2, /* vvtCount */ 0);
|
||||
|
||||
reader.open("tests/trigger/resources/4g93-cranking.csv");
|
||||
EngineTestHelper eth(engine_type_e::TEST_ENGINE);
|
||||
|
@ -85,26 +75,14 @@ TEST(real4g93, crankingOn11) {
|
|||
|
||||
eth.setTriggerType(trigger_type_e::TT_MAZDA_MIATA_NA);
|
||||
|
||||
bool gotRpm = false;
|
||||
while (reader.haveMore()) {
|
||||
reader.processLine(ð);
|
||||
|
||||
auto rpm = Sensor::getOrZero(SensorType::Rpm);
|
||||
if (!gotRpm && rpm) {
|
||||
gotRpm = true;
|
||||
|
||||
// We should get first RPM on exactly the first sync point - this means the instant RPM pre-sync event copy all worked OK
|
||||
EXPECT_EQ(reader.lineIndex(), 7);
|
||||
EXPECT_NEAR(rpm, 168.43f, 0.1);
|
||||
}
|
||||
|
||||
// float instantRpm = engine->triggerCentral.instantRpm.getInstantRpm();
|
||||
// printf("%d rpm=%f instant=%f\n", reader.lineIndex(), rpm, instantRpm);
|
||||
reader.assertFirstRpm(168, 7);
|
||||
}
|
||||
}
|
||||
|
||||
TEST(real4g93, crankingCamOnly) {
|
||||
CsvReader reader(1, /* vvtCount */ 0);
|
||||
EngineCsvReader reader(1, /* vvtCount */ 0);
|
||||
|
||||
reader.open("tests/trigger/resources/4g93-cranking-cam-only.csv");
|
||||
EngineTestHelper eth(engine_type_e::TEST_ENGINE);
|
||||
|
@ -113,31 +91,28 @@ TEST(real4g93, crankingCamOnly) {
|
|||
|
||||
eth.setTriggerType(trigger_type_e::TT_MITSU_4G9x_CAM);
|
||||
|
||||
bool gotRpm = false;
|
||||
bool gotSync = false;
|
||||
|
||||
while (reader.haveMore()) {
|
||||
reader.processLine(ð);
|
||||
|
||||
// Expect that all teeth are in the correct spot
|
||||
auto rpm = Sensor::getOrZero(SensorType::Rpm);
|
||||
if (!gotRpm && rpm) {
|
||||
gotRpm = true;
|
||||
if (!reader.gotRpm && rpm) {
|
||||
reader.gotRpm = true;
|
||||
|
||||
// We should get first RPM on exactly the first sync point - this means the instant RPM pre-sync event copy all worked OK
|
||||
EXPECT_EQ(reader.lineIndex(), 17);
|
||||
EXPECT_NEAR(rpm, 194.61f, 0.1);
|
||||
}
|
||||
|
||||
if (!gotSync && engine->triggerCentral.triggerState.getShaftSynchronized() && engine->triggerCentral.triggerState.hasSynchronizedPhase()) {
|
||||
gotSync = true;
|
||||
if (!reader.gotSync && engine->triggerCentral.triggerState.getShaftSynchronized() && engine->triggerCentral.triggerState.hasSynchronizedPhase()) {
|
||||
reader.gotSync = true;
|
||||
|
||||
EXPECT_EQ(reader.lineIndex(), 17);
|
||||
}
|
||||
}
|
||||
|
||||
ASSERT_TRUE(gotRpm);
|
||||
ASSERT_TRUE(gotSync);
|
||||
ASSERT_TRUE(reader.gotRpm);
|
||||
ASSERT_TRUE(reader.gotSync);
|
||||
|
||||
ASSERT_EQ(1, eth.recentWarnings()->getCount());
|
||||
}
|
||||
|
|
|
@ -1,61 +1,41 @@
|
|||
#include "pch.h"
|
||||
|
||||
#include "logicdata_csv_reader.h"
|
||||
#include "engine_csv_reader.h"
|
||||
|
||||
TEST(realBQS, realHarleyCranking) {
|
||||
CsvReader reader(/*triggerCount*/1, /* vvtCount */ 0);
|
||||
reader.readingOffset = 1;
|
||||
EngineCsvReader reader(/*triggerCount*/1, /* vvtCount */ 0);
|
||||
reader.setReadingOffset(1);
|
||||
reader.open("tests/ignition_injection/resources/hd-req-sync_3.csv");
|
||||
reader.flipOnRead = true;
|
||||
reader.setFlipOnRead(true);
|
||||
|
||||
EngineTestHelper eth(engine_type_e::ET_BOSCH_QUICK_START);
|
||||
|
||||
bool gotRpm = false;
|
||||
while (reader.haveMore()) {
|
||||
reader.processLine(ð);
|
||||
|
||||
auto rpm = Sensor::getOrZero(SensorType::Rpm);
|
||||
if (gotRpm) {
|
||||
if (reader.gotRpm) {
|
||||
ASSERT_TRUE(Sensor::get(SensorType::Rpm).Valid);
|
||||
}
|
||||
|
||||
if (!gotRpm && rpm) {
|
||||
gotRpm = true;
|
||||
|
||||
EXPECT_EQ(reader.lineIndex(), 163);
|
||||
EXPECT_NEAR(rpm, 184, 1);
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
reader.assertFirstRpm(184, 163);
|
||||
}
|
||||
ASSERT_TRUE(Sensor::get(SensorType::Rpm).Valid);
|
||||
|
||||
}
|
||||
|
||||
TEST(realBQS, readAsPrimarySensor) {
|
||||
CsvReader reader(/*triggerCount*/1, /* vvtCount */ 0);
|
||||
EngineCsvReader reader(/*triggerCount*/1, /* vvtCount */ 0);
|
||||
reader.open("tests/trigger/resources/BQS-longer.csv");
|
||||
reader.flipOnRead = true;
|
||||
reader.setFlipOnRead(true);
|
||||
|
||||
EngineTestHelper eth(engine_type_e::ET_BOSCH_QUICK_START);
|
||||
|
||||
bool gotRpm = false;
|
||||
while (reader.haveMore()) {
|
||||
reader.processLine(ð);
|
||||
|
||||
auto rpm = Sensor::getOrZero(SensorType::Rpm);
|
||||
if (!gotRpm && rpm) {
|
||||
gotRpm = true;
|
||||
|
||||
EXPECT_EQ(reader.lineIndex(), 13);
|
||||
EXPECT_NEAR(rpm, 2035.53466f, 0.1);
|
||||
break;
|
||||
}
|
||||
|
||||
reader.assertFirstRpm(2036, 13);
|
||||
}
|
||||
ASSERT_TRUE(Sensor::get(SensorType::Rpm).Valid);
|
||||
ASSERT_FLOAT_EQ(Sensor::get(SensorType::Rpm).Value, 2035.53467);
|
||||
ASSERT_NEAR(Sensor::get(SensorType::Rpm).Value, 1874, 1);
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -22,7 +22,6 @@ TEST(realCas24Plus1, spinningOnBench) {
|
|||
engineConfiguration->vvtMode[0] = VVT_SINGLE_TOOTH;
|
||||
eth.setTriggerType(trigger_type_e::TT_12_TOOTH_CRANK);
|
||||
|
||||
bool gotRpm = false;
|
||||
bool gotFullSync = false;
|
||||
|
||||
while (reader.haveMore()) {
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
#include "pch.h"
|
||||
|
||||
#include "logicdata_csv_reader.h"
|
||||
#include "engine_csv_reader.h"
|
||||
|
||||
TEST(crankingGm24x_5, gmRealCrankingFromFile) {
|
||||
CsvReader reader(1, /* vvtCount */ 0);
|
||||
EngineCsvReader reader(1, /* vvtCount */ 0);
|
||||
|
||||
reader.open("tests/trigger/resources/gm_24x_cranking.csv");
|
||||
EngineTestHelper eth(engine_type_e::TEST_ENGINE);
|
||||
|
@ -12,8 +12,6 @@ TEST(crankingGm24x_5, gmRealCrankingFromFile) {
|
|||
|
||||
eth.setTriggerType(trigger_type_e::TT_GM_24x_5);
|
||||
|
||||
bool gotRpm = false;
|
||||
|
||||
while (reader.haveMore()) {
|
||||
reader.processLine(ð);
|
||||
|
||||
|
@ -21,14 +19,7 @@ TEST(crankingGm24x_5, gmRealCrankingFromFile) {
|
|||
float angleError = getTriggerCentral()->triggerToothAngleError;
|
||||
EXPECT_TRUE(angleError < 3 && angleError > -3) << "tooth angle of " << angleError << " at timestamp " << (getTimeNowNt() / 1e8);
|
||||
|
||||
auto rpm = Sensor::getOrZero(SensorType::Rpm);
|
||||
if (!gotRpm && rpm) {
|
||||
gotRpm = true;
|
||||
|
||||
// We should get first RPM on exactly the first sync point - this means the instant RPM pre-sync event copy all worked OK
|
||||
EXPECT_EQ(reader.lineIndex(), 23);
|
||||
EXPECT_NEAR(rpm, 77.0f, 0.1);
|
||||
}
|
||||
reader.assertFirstRpm(77, 23);
|
||||
}
|
||||
|
||||
ASSERT_EQ( 0, eth.recentWarnings()->getCount())<< "warningCounter#vwRealCranking";
|
||||
|
|
Loading…
Reference in New Issue