auto-sync

This commit is contained in:
rusEfi 2015-04-05 14:09:51 -05:00
parent a89f620812
commit 7ff810ea4a
3 changed files with 33 additions and 10 deletions

View File

@ -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");

View File

@ -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());

View File

@ -60,7 +60,6 @@ static void testDodgeNeonDecoder(void) {
EngineTestHelper eth(DODGE_NEON_1995);
EXPAND_EngineTestHelper;
engine_configuration_s *ec = eth.ec;
TriggerShape * shape = &eth.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 = &eth.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 = &eth.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 = &eth.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();
}