mirror of https://github.com/rusefi/rusefi.git
only: NICE! these values actually mean something!
This commit is contained in:
parent
ef0269e674
commit
b04b6a9251
|
@ -12,7 +12,7 @@ void setDefaultCranking() {
|
||||||
|
|
||||||
// Ignition
|
// Ignition
|
||||||
engineConfiguration->ignitionDwellForCrankingMs = DEFAULT_CRANKING_DWELL_MS;
|
engineConfiguration->ignitionDwellForCrankingMs = DEFAULT_CRANKING_DWELL_MS;
|
||||||
engineConfiguration->crankingTimingAngle = 6;
|
engineConfiguration->crankingTimingAngle = DEFAULT_CRANKING_ANGLE;
|
||||||
|
|
||||||
// IAC
|
// IAC
|
||||||
engineConfiguration->crankingIACposition = 50;
|
engineConfiguration->crankingIACposition = 50;
|
||||||
|
|
|
@ -12,6 +12,7 @@ void setGdiWallWetting();
|
||||||
void setInline4();
|
void setInline4();
|
||||||
|
|
||||||
#define DEFAULT_CRANKING_DWELL_MS 6
|
#define DEFAULT_CRANKING_DWELL_MS 6
|
||||||
|
#define DEFAULT_CRANKING_ANGLE 6
|
||||||
|
|
||||||
void setPPSInputs(adc_channel_e pps1, adc_channel_e pps2);
|
void setPPSInputs(adc_channel_e pps1, adc_channel_e pps2);
|
||||||
void setPPSCalibration(float primaryUp, float primaryDown, float secondaryUp, float secondaryDown);
|
void setPPSCalibration(float primaryUp, float primaryDown, float secondaryUp, float secondaryDown);
|
||||||
|
|
|
@ -302,7 +302,7 @@ scheduling_s * EngineTestHelper::assertEvent5(const char *msg, int index, void *
|
||||||
scheduling_s *event = executor->getForUnitTest(index);
|
scheduling_s *event = executor->getForUnitTest(index);
|
||||||
assertEqualsM4(msg, " callback up/down", (void*)event->action.getCallback() == (void*) callback, 1);
|
assertEqualsM4(msg, " callback up/down", (void*)event->action.getCallback() == (void*) callback, 1);
|
||||||
efitimeus_t start = getTimeNowUs();
|
efitimeus_t start = getTimeNowUs();
|
||||||
assertEqualsM4(msg, " timestamp", expectedTimestamp, event->momentX - start);
|
assertEqualsM2(msg, expectedTimestamp, event->momentX - start, /*1us precision to address rounding etc*/1);
|
||||||
return event;
|
return event;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -38,6 +38,13 @@ public:
|
||||||
|
|
||||||
// convert ms time to angle at current RPM
|
// convert ms time to angle at current RPM
|
||||||
angle_t timeToAngle(float timeMs);
|
angle_t timeToAngle(float timeMs);
|
||||||
|
float angleToTimeUs(angle_t angle) {
|
||||||
|
return angle * engine.rpmCalculator.oneDegreeUs;
|
||||||
|
}
|
||||||
|
|
||||||
|
float angleToTimeMs(angle_t angle) {
|
||||||
|
return US2MS(angleToTimeUs(angle));
|
||||||
|
}
|
||||||
|
|
||||||
warningBuffer_t *recentWarnings();
|
warningBuffer_t *recentWarnings();
|
||||||
int getWarningCounter();
|
int getWarningCounter();
|
||||||
|
|
|
@ -10,6 +10,8 @@
|
||||||
|
|
||||||
TEST(issues, issueOneCylinderSpecialCase968) {
|
TEST(issues, issueOneCylinderSpecialCase968) {
|
||||||
EngineTestHelper eth(engine_type_e::GY6_139QMB);
|
EngineTestHelper eth(engine_type_e::GY6_139QMB);
|
||||||
|
angle_t timing = 4;
|
||||||
|
engineConfiguration->crankingTimingAngle = timing;
|
||||||
setTable(config->injectionPhase, -180.0f);
|
setTable(config->injectionPhase, -180.0f);
|
||||||
engineConfiguration->isFasterEngineSpinUpEnabled = false;
|
engineConfiguration->isFasterEngineSpinUpEnabled = false;
|
||||||
engine->tdcMarkEnabled = false;
|
engine->tdcMarkEnabled = false;
|
||||||
|
@ -29,10 +31,14 @@ TEST(issues, issueOneCylinderSpecialCase968) {
|
||||||
eth.fireTriggerEvents2(/* count */ 1, 50 /* ms */);
|
eth.fireTriggerEvents2(/* count */ 1, 50 /* ms */);
|
||||||
eth.assertRpm(600, "RPM");
|
eth.assertRpm(600, "RPM");
|
||||||
ASSERT_EQ(engine->triggerCentral.currentEngineDecodedPhase, 90 + Gy6139_globalTriggerAngleOffset);
|
ASSERT_EQ(engine->triggerCentral.currentEngineDecodedPhase, 90 + Gy6139_globalTriggerAngleOffset);
|
||||||
|
ASSERT_EQ(engine->engineState.timingAdvance[0], timing);
|
||||||
|
|
||||||
|
angle_t expectedAngle = 180 - Gy6139_globalTriggerAngleOffset + timing;
|
||||||
|
int expectedDeltaTimeUs = eth.angleToTimeUs(expectedAngle);
|
||||||
|
|
||||||
ASSERT_EQ( 2, engine->executor.size()) << "first revolution(s)";
|
ASSERT_EQ( 2, engine->executor.size()) << "first revolution(s)";
|
||||||
eth.assertEvent5("spark up#0", 0, (void*)turnSparkPinHigh, -45167);
|
eth.assertEvent5("spark up#0", 0, (void*)turnSparkPinHigh, -expectedDeltaTimeUs - MS2US(DEFAULT_CRANKING_DWELL_MS));
|
||||||
eth.assertEvent5("spark down#0", 1, (void*)fireSparkAndPrepareNextSchedule, -45167 + 1000 * DEFAULT_CRANKING_DWELL_MS);
|
eth.assertEvent5("spark down#0", 1, (void*)fireSparkAndPrepareNextSchedule, -expectedDeltaTimeUs);
|
||||||
|
|
||||||
|
|
||||||
eth.fireTriggerEvents2(/* count */ 1, 50 /* ms */);
|
eth.fireTriggerEvents2(/* count */ 1, 50 /* ms */);
|
||||||
|
|
Loading…
Reference in New Issue