From 08650ccdbcb975c8e12dc7a99def2b52facba6cb Mon Sep 17 00:00:00 2001 From: rusEfi Date: Mon, 31 Oct 2016 21:02:36 -0400 Subject: [PATCH] auto-sync --- firmware/controllers/math/engine_math.cpp | 6 ++++ firmware/controllers/system/event_queue.cpp | 2 +- firmware/controllers/trigger/spark_logic.cpp | 8 ++--- .../controllers/trigger/trigger_rover.cpp | 20 ++++++------- unit_tests/efifeatures.h | 2 ++ unit_tests/main.cpp | 29 ++++++++++--------- 6 files changed, 36 insertions(+), 31 deletions(-) diff --git a/firmware/controllers/math/engine_math.cpp b/firmware/controllers/math/engine_math.cpp index 8884454fd0..0c1b44ccff 100644 --- a/firmware/controllers/math/engine_math.cpp +++ b/firmware/controllers/math/engine_math.cpp @@ -105,6 +105,12 @@ static void addIgnitionEvent(angle_t localAdvance, angle_t dwellAngle, IgnitionE event->advance = localAdvance; findTriggerPosition(&event->dwellPosition, localAdvance - dwellAngle PASS_ENGINE_PARAMETER); + +#if EFI_UNIT_TEST || defined(__DOXYGEN__) + printf("addIgnitionEvent %s ind=%d\n", output->name, event->dwellPosition.eventIndex); + // scheduleMsg(logger, "addIgnitionEvent %s ind=%d", output->name, event->dwellPosition->eventIndex); +#endif /* FUEL_MATH_EXTREME_LOGGING */ + } void initializeIgnitionActions(angle_t advance, angle_t dwellAngle, diff --git a/firmware/controllers/system/event_queue.cpp b/firmware/controllers/system/event_queue.cpp index c38a0b80bb..0b178e5010 100644 --- a/firmware/controllers/system/event_queue.cpp +++ b/firmware/controllers/system/event_queue.cpp @@ -173,7 +173,7 @@ int EventQueue::executeAll(efitime_t now) { int howFarOff = now - current->momentX; maxHowFarOff = maxI(maxHowFarOff, howFarOff); #if EFI_UNIT_TEST || defined(__DOXYGEN__) - printf("execute %d %d\r\n", (long)current, (long)current->param); + printf("execute current=%d param=%d\r\n", (long)current, (long)current->param); #endif current->callback(current->param); // even with overflow it's safe to subtract here diff --git a/firmware/controllers/trigger/spark_logic.cpp b/firmware/controllers/trigger/spark_logic.cpp index db98960484..202bbf0989 100644 --- a/firmware/controllers/trigger/spark_logic.cpp +++ b/firmware/controllers/trigger/spark_logic.cpp @@ -79,12 +79,8 @@ static ALWAYS_INLINE void handleSparkEvent(bool limitedSpark, uint32_t trgEventI * The start of charge is always within the current trigger event range, so just plain time-based scheduling */ if (!limitedSpark) { -#if EFI_UNIT_TEST || defined(__DOXYGEN__) - printf("spark charge delay=%f\r\n", chargeDelayUs); -#endif - #if SPARK_EXTREME_LOGGING || defined(__DOXYGEN__) - scheduleMsg(logger, "scheduling sparkUp ind=%d %d %s %d %d later", trgEventIndex, getRevolutionCounter(), iEvent->output->name, (int)getTimeNowUs(), (int)chargeDelayUs); + scheduleMsg(logger, "scheduling sparkUp ind=%d %d %s now=%d %d later", trgEventIndex, getRevolutionCounter(), iEvent->output->name, (int)getTimeNowUs(), (int)chargeDelayUs); #endif /* FUEL_MATH_EXTREME_LOGGING */ /** @@ -111,7 +107,7 @@ static ALWAYS_INLINE void handleSparkEvent(bool limitedSpark, uint32_t trgEventI #endif #if SPARK_EXTREME_LOGGING || defined(__DOXYGEN__) - scheduleMsg(logger, "scheduling sparkDown ind=%d %d %s %d %d later", trgEventIndex, getRevolutionCounter(), iEvent->output->name, (int)getTimeNowUs(), (int)timeTillIgnitionUs); + scheduleMsg(logger, "scheduling sparkDown ind=%d %d %s now=%d %d later", trgEventIndex, getRevolutionCounter(), iEvent->output->name, (int)getTimeNowUs(), (int)timeTillIgnitionUs); #endif /* FUEL_MATH_EXTREME_LOGGING */ scheduleTask(true, "spark1 down", sDown, (int) timeTillIgnitionUs, (schfunc_t) &turnSparkPinLow, iEvent->output); diff --git a/firmware/controllers/trigger/trigger_rover.cpp b/firmware/controllers/trigger/trigger_rover.cpp index 1a35e8bbc0..90c5c3c541 100644 --- a/firmware/controllers/trigger/trigger_rover.cpp +++ b/firmware/controllers/trigger/trigger_rover.cpp @@ -20,32 +20,32 @@ void initializeRoverK(TriggerShape *s) { float base = 0; for (int i = 0; i < 2; i++) { - s->addEvent(base + tooth / 2, T_PRIMARY, TV_RISE); - s->addEvent(base + tooth, T_PRIMARY, TV_FALL); + s->addEvent2(base + tooth / 2, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER); + s->addEvent2(base + tooth, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER); base += tooth; } base += tooth; for (int i = 0; i < 2; i++) { - s->addEvent(base + tooth / 2, T_PRIMARY, TV_RISE); - s->addEvent(base + tooth, T_PRIMARY, TV_FALL); + s->addEvent2(base + tooth / 2, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER); + s->addEvent2(base + tooth, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER); base += tooth; } base += tooth; for (int i = 0; i < 14; i++) { - s->addEvent(base + tooth / 2, T_PRIMARY, TV_RISE); - s->addEvent(base + tooth, T_PRIMARY, TV_FALL); + s->addEvent2(base + tooth / 2, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER); + s->addEvent2(base + tooth, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER); base += tooth; } base += tooth; for (int i = 0; i < 3; i++) { - s->addEvent(base + tooth / 2, T_PRIMARY, TV_RISE); - s->addEvent(base + tooth, T_PRIMARY, TV_FALL); + s->addEvent2(base + tooth / 2, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER); + s->addEvent2(base + tooth, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER); base += tooth; } base += tooth; for (int i = 0; i < 11; i++) { - s->addEvent(base + tooth / 2, T_PRIMARY, TV_RISE); - s->addEvent(base + tooth, T_PRIMARY, TV_FALL); + s->addEvent2(base + tooth / 2, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER); + s->addEvent2(base + tooth, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER); base += tooth; } diff --git a/unit_tests/efifeatures.h b/unit_tests/efifeatures.h index a4b67edbc0..d0e0c5fa13 100644 --- a/unit_tests/efifeatures.h +++ b/unit_tests/efifeatures.h @@ -10,6 +10,8 @@ #define EFI_ENABLE_ASSERTS TRUE +#define SPARK_EXTREME_LOGGING TRUE + #define EFI_GPIO TRUE #define EFI_UNIT_TEST TRUE diff --git a/unit_tests/main.cpp b/unit_tests/main.cpp index 27c59d6a76..356bb39439 100644 --- a/unit_tests/main.cpp +++ b/unit_tests/main.cpp @@ -124,6 +124,7 @@ int getRevolutionCounter(void) { } int main(void) { + testSparkReverseOrderBug319(); testFuelSchedulerBug299smallAndLarge(); testFuelSchedulerBug299smallAndMedium(); testLogicExpressions(); @@ -172,13 +173,18 @@ int main(void) { testTriggerDecoder(); // resizeMap(); - printf("Success 20150407\r\n"); + printf("Success 20161031\r\n"); printAllTriggers(); return EXIT_SUCCESS; } -bool warning(obd_code_e code, const char *fmt, ...) { - printf("Warning: %s\r\n", fmt); +bool warning(obd_code_e code, const char *format, ...) { + printf("Warning: "); + va_list ap; + va_start(ap, format); + vprintf(format, ap); + va_end(ap); + printf("\r\n"); } bool hasFirmwareErrorFlag = false; @@ -195,16 +201,6 @@ void print(const char *format, ...) { va_end(ap); } -//void fatal3(char *msg, char *file, int line) { -// printf(msg); -// exit(-1); -//} - -int warning(const char *fmt, ...) { - printf(fmt); - exit(-1); -} - bool isCranking(void) { return 0; } @@ -212,5 +208,10 @@ bool isCranking(void) { void initLogging(LoggingWithStorage *logging, const char *name) { } -void scheduleMsg(Logging *logging, const char *fmt, ...) { +void scheduleMsg(Logging *logging, const char *format, ...) { + va_list ap; + va_start(ap, format); + vprintf(format, ap); + va_end(ap); + printf("\r\n"); }