From ff3130128448cdc86b737b2190acde2a1cc61faf Mon Sep 17 00:00:00 2001 From: Matthew Kennedy Date: Fri, 9 Jul 2021 12:51:30 -0700 Subject: [PATCH] trailing coils (#2937) * gpio wiring * plumbing --- firmware/console/status_loop.cpp | 2 +- firmware/controllers/algo/engine2.cpp | 2 +- firmware/controllers/system/efi_gpio.cpp | 4 ++++ 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/firmware/console/status_loop.cpp b/firmware/console/status_loop.cpp index 5b6bc5ab7a..1985e2fb75 100644 --- a/firmware/console/status_loop.cpp +++ b/firmware/console/status_loop.cpp @@ -229,7 +229,7 @@ void printOverallStatus(efitimesec_t nowSeconds) { int cylCount = minI(CONFIG(specs.cylindersCount), MAX_CYLINDER_COUNT); for (int i = 0; i < cylCount; i++) { printOutPin(enginePins.coils[i].getShortName(), CONFIG(ignitionPins)[i]); - + printOutPin(enginePins.trailingCoils[i].getShortName(), CONFIG(trailingCoilPins)[i]); printOutPin(enginePins.injectors[i].getShortName(), CONFIG(injectionPins)[i]); } for (int i = 0; i < AUX_DIGITAL_VALVE_COUNT;i++) { diff --git a/firmware/controllers/algo/engine2.cpp b/firmware/controllers/algo/engine2.cpp index dc4e065659..703b27a569 100644 --- a/firmware/controllers/algo/engine2.cpp +++ b/firmware/controllers/algo/engine2.cpp @@ -173,7 +173,7 @@ void EngineState::periodicFastCallback(DECLARE_ENGINE_PARAMETER_SIGNATURE) { timingAdvance = getAdvance(rpm, ignitionLoad PASS_ENGINE_PARAMETER_SUFFIX); // TODO: calculate me from a table! - trailingSparkAngle = 10; + trailingSparkAngle = CONFIG(trailingSparkAngle); multispark.count = getMultiSparkCount(rpm PASS_ENGINE_PARAMETER_SUFFIX); diff --git a/firmware/controllers/system/efi_gpio.cpp b/firmware/controllers/system/efi_gpio.cpp index 4225c70929..4fd62fd93f 100644 --- a/firmware/controllers/system/efi_gpio.cpp +++ b/firmware/controllers/system/efi_gpio.cpp @@ -42,6 +42,8 @@ static const char *sparkNames[] = { "Coil 1", "Coil 2", "Coil 3", "Coil 4", "Coi static const char *trailNames[] = { "Trail 1", "Trail 2", "Trail 3", "Trail 4", "Trail 5", "Trail 6", "Trail 7", "Trail 8", "Trail 9", "Trail 10", "Trail 11", "Trail 12"}; +static const char* trailShortNames[] = { "t1", "t2", "t3", "t4", "t5", "t6", "t7", "t8", "t9", "tA", "tB", "tD" }; + const char *vvtNames[] = { PROTOCOL_VVT1_NAME, PROTOCOL_VVT2_NAME, @@ -138,6 +140,7 @@ EnginePins::EnginePins() : enginePins.coils[i].shortName = sparkShortNames[i]; enginePins.trailingCoils[i].name = trailNames[i]; + enginePins.trailingCoils[i].shortName = trailShortNames[i]; enginePins.injectors[i].injectorIndex = i; enginePins.injectors[i].name = injectorNames[i]; @@ -236,6 +239,7 @@ void EnginePins::reset() { void EnginePins::stopIgnitionPins(DECLARE_ENGINE_PARAMETER_SIGNATURE) { for (int i = 0; i < MAX_CYLINDER_COUNT; i++) { unregisterOutputIfPinOrModeChanged(enginePins.coils[i], ignitionPins[i], ignitionPinMode); + unregisterOutputIfPinOrModeChanged(enginePins.trailingCoils[i], trailingCoilPins[i], ignitionPinMode); } }