From 7ff810ea4aa153af61dc2198e7e50e34fac145d5 Mon Sep 17 00:00:00 2001 From: rusEfi Date: Sun, 5 Apr 2015 14:09:51 -0500 Subject: [PATCH] auto-sync --- unit_tests/main.cpp | 2 +- unit_tests/test_signal_executor.cpp | 21 ++++++++++++++++----- unit_tests/test_trigger_decoder.cpp | 20 ++++++++++++++++---- 3 files changed, 33 insertions(+), 10 deletions(-) diff --git a/unit_tests/main.cpp b/unit_tests/main.cpp index f258ce43da..5a722e42b4 100644 --- a/unit_tests/main.cpp +++ b/unit_tests/main.cpp @@ -124,7 +124,6 @@ int main(void) { testHistogram(); - testTriggerDecoder(); testMalfunctionCentral(); @@ -148,6 +147,7 @@ int main(void) { testMafFuelMath(); testPidController(); + testTriggerDecoder(); // resizeMap(); printf("Success 20150213\r\n"); diff --git a/unit_tests/test_signal_executor.cpp b/unit_tests/test_signal_executor.cpp index 2d7e3a9709..123a1a3edd 100644 --- a/unit_tests/test_signal_executor.cpp +++ b/unit_tests/test_signal_executor.cpp @@ -16,11 +16,21 @@ EventQueue schedulingQueue; -void scheduleTask(const char *msg, scheduling_s *scheduling, int delayUs, schfunc_t callback, void *param) { +bool_t debugSignalExecutor = false; + +void scheduleTask(const char *msg, scheduling_s *scheduling, int delayUs, + schfunc_t callback, void *param) { + if (debugSignalExecutor) { + printf("scheduleTask %d\r\n", delayUs); + } scheduleByTime(msg, scheduling, getTimeNowUs() + delayUs, callback, param); } -void scheduleByTime(const char *prefix, scheduling_s *scheduling, efitimeus_t time, schfunc_t callback, void *param) { +void scheduleByTime(const char *prefix, scheduling_s *scheduling, + efitimeus_t time, schfunc_t callback, void *param) { + if (debugSignalExecutor) { + printf("scheduleByTime %d\r\n", time); + } schedulingQueue.insertTask(scheduling, time, callback, param); } @@ -45,7 +55,8 @@ typedef struct { static void complexCallback(TestPwm *testPwm) { callbackCounter++; - eq.insertTask(&testPwm->s, complexTestNow + testPwm->period, (schfunc_t)complexCallback, testPwm); + eq.insertTask(&testPwm->s, complexTestNow + testPwm->period, + (schfunc_t) complexCallback, testPwm); } static void testSignalExecutor2(void) { @@ -58,8 +69,8 @@ static void testSignalExecutor2(void) { complexTestNow = 0; callbackCounter = 0; - eq.insertTask(&p1.s, 0, (schfunc_t)complexCallback, &p1); - eq.insertTask(&p2.s, 0, (schfunc_t)complexCallback, &p2); + eq.insertTask(&p1.s, 0, (schfunc_t) complexCallback, &p1); + eq.insertTask(&p2.s, 0, (schfunc_t) complexCallback, &p2); eq.executeAll(complexTestNow); assertEqualsM("callbackCounter #1", 2, callbackCounter); assertEquals(2, eq.size()); diff --git a/unit_tests/test_trigger_decoder.cpp b/unit_tests/test_trigger_decoder.cpp index 79aaea30e7..8839c4ce7d 100644 --- a/unit_tests/test_trigger_decoder.cpp +++ b/unit_tests/test_trigger_decoder.cpp @@ -60,7 +60,6 @@ static void testDodgeNeonDecoder(void) { EngineTestHelper eth(DODGE_NEON_1995); EXPAND_EngineTestHelper; - engine_configuration_s *ec = eth.ec; TriggerShape * shape = ð.engine.triggerShape; assertEquals(8, shape->getTriggerShapeSynchPointIndex()); @@ -293,8 +292,6 @@ static void testTriggerDecoder2(const char *msg, engine_type_e type, int synchPo EngineTestHelper eth(type); EXPAND_EngineTestHelper; - engine_configuration_s *ec = eth.ec; - initSpeedDensity(PASS_ENGINE_PARAMETER_F); TriggerShape *t = ð.engine.triggerShape; @@ -317,6 +314,7 @@ extern EventQueue schedulingQueue; extern int mockTps; static void testStartupFuelPumping(void) { + printf("*************************************************** testStartupFuelPumping\r\n"); EngineTestHelper eth(FORD_INLINE_6_1995); EXPAND_EngineTestHelper; @@ -361,6 +359,7 @@ static void assertREquals(void *expected, void *actual) { } extern engine_pins_s enginePins; +extern bool_t debugSignalExecutor; static void testRpmCalculator(void) { printf("*************************************************** testRpmCalculator\r\n"); @@ -399,8 +398,21 @@ static void testRpmCalculator(void) { // engine.rpmCalculator = ð.rpmState; prepareTimingMap(PASS_ENGINE_PARAMETER_F); + assertEqualsM("queue size", 0, schedulingQueue.size()); + + debugSignalExecutor = true; + timeNow += 5000; // 5ms eth.triggerCentral.handleShaftSignal(SHAFT_PRIMARY_UP PASS_ENGINE_PARAMETER); + + assertEquals(4.5, eth.engine.dwellAngle); + assertEqualsM("fuel", 3.03, eth.engine.fuelMs); + assertEqualsM("one degree", 111.1111, eth.engine.rpmCalculator.oneDegreeUs); + IgnitionEventList *ilist = ð.engine.engineConfiguration2->ignitionEvents[0]; + assertEqualsM("size", 6, ilist->size); + assertEqualsM("dwell angle", 0, ilist->elements[0].dwellPosition.eventAngle); + assertEqualsM("dwell offset", 8.5, ilist->elements[0].dwellPosition.angleOffset); + assertEqualsM("index #2", 0, eth.triggerCentral.triggerState.getCurrentIndex()); assertEqualsM("queue size", 6, schedulingQueue.size()); scheduling_s *ev1 = schedulingQueue.getForUnitText(0); @@ -523,6 +535,6 @@ void testTriggerDecoder(void) { testMazda323(); - testRpmCalculator(); testStartupFuelPumping(); + testRpmCalculator(); }