diff --git a/firmware/config/engines/dodge_neon.cpp b/firmware/config/engines/dodge_neon.cpp index 9bee565e2b..19a723bd04 100644 --- a/firmware/config/engines/dodge_neon.cpp +++ b/firmware/config/engines/dodge_neon.cpp @@ -130,7 +130,7 @@ void setDodgeNeon1995EngineConfiguration(engine_configuration_s *engineConfigura // set_ignition_offset 350 engineConfiguration->ignitionBaseAngle = 350; // set_injection_offset 510 - engineConfiguration->injectionAngle = 510; + engineConfiguration->injectionAngle = 510 + 497; /** * that's 1995 config @@ -189,6 +189,7 @@ void setDodgeNeonNGCEngineConfiguration(engine_configuration_s *engineConfigurat // set_global_trigger_offset_angle 46 engineConfiguration->globalTriggerAngleOffset = 46; + engineConfiguration->injectionAngle = 46; engineConfiguration->crankingInjectionMode = IM_SIMULTANEOUS; engineConfiguration->injectionMode = IM_SEQUENTIAL; diff --git a/firmware/config/engines/ford_aspire.cpp b/firmware/config/engines/ford_aspire.cpp index 38ee3d504d..8a2803985a 100644 --- a/firmware/config/engines/ford_aspire.cpp +++ b/firmware/config/engines/ford_aspire.cpp @@ -100,8 +100,8 @@ void setFordAspireEngineConfiguration(engine_configuration_s *engineConfiguratio engineConfiguration->specs.firingOrder = FO_1_THEN_3_THEN_4_THEN2; engineConfiguration->globalTriggerAngleOffset = 175; - engineConfiguration->ignitionBaseAngle = 98 - 11; - engineConfiguration->injectionAngle = 59; + engineConfiguration->ignitionBaseAngle = 87; + engineConfiguration->injectionAngle = 59 + 175; setDefaultAspireMaps(engineConfiguration); // set_cranking_rpm 550 diff --git a/firmware/config/engines/mazda_miata.cpp b/firmware/config/engines/mazda_miata.cpp index 5eb971ab04..e940643aae 100644 --- a/firmware/config/engines/mazda_miata.cpp +++ b/firmware/config/engines/mazda_miata.cpp @@ -263,7 +263,7 @@ void setFordEscortGt(engine_configuration_s *engineConfiguration) { // set_ignition_offset 170 engineConfiguration->ignitionBaseAngle = 0; // set_injection_offset 510 - engineConfiguration->injectionAngle = 0; + engineConfiguration->injectionAngle = 135; engineConfiguration->crankingTimingAngle = 10; engineConfiguration->crankingChargeAngle = 70; diff --git a/firmware/controllers/math/engine_math.cpp b/firmware/controllers/math/engine_math.cpp index 876963d469..f201b9f5a8 100644 --- a/firmware/controllers/math/engine_math.cpp +++ b/firmware/controllers/math/engine_math.cpp @@ -65,6 +65,10 @@ float getEngineLoadT(DECLARE_ENGINE_PARAMETER_F) { return getMap(); case LM_ALPHA_N: return getTPS(PASS_ENGINE_PARAMETER_F); + case LM_REAL_MAF: { + int mafAdc = getAdcValue(engineConfiguration->mafAdcChannel); + return getMafT(engineConfiguration); + } default: firmwareError("Unexpected engine load parameter: %d", engineConfiguration->algorithm); return -1; @@ -152,7 +156,7 @@ void FuelSchedule::addFuelEvents(injection_mode_e mode DECLARE_ENGINE_PARAMETER_ ; list->reset(); - float baseAngle = tdcPosition() + engineConfiguration->injectionAngle; + float baseAngle = engineConfiguration->injectionAngle; switch (mode) { case IM_SEQUENTIAL: diff --git a/firmware/rusefi.cpp b/firmware/rusefi.cpp index 23ad9c6be1..0fd852725b 100644 --- a/firmware/rusefi.cpp +++ b/firmware/rusefi.cpp @@ -258,5 +258,5 @@ int getRusEfiVersion(void) { return 1; // this is here to make the compiler happy about the unused array if (UNUSED_CCM_SIZE == 0) return 1; // this is here to make the compiler happy about the unused array - return 20150211; + return 20150212; } diff --git a/java_console/autotest/src/com/rusefi/AutoTest.java b/java_console/autotest/src/com/rusefi/AutoTest.java index e57af0b1b8..6e5fb3156b 100644 --- a/java_console/autotest/src/com/rusefi/AutoTest.java +++ b/java_console/autotest/src/com/rusefi/AutoTest.java @@ -24,7 +24,7 @@ public class AutoTest { testMazdaProtege(); - testDodgeNeon(); + test1995DodgeNeon(); sendCommand("set_engine_type 7"); testFord6(); @@ -54,7 +54,7 @@ public class AutoTest { assertWave(msg, chart, WaveChart.INJECTOR_2, 0.11733333333333336, x + 180, x + 540); } - private static void testDodgeNeon() { + private static void test1995DodgeNeon() { sendCommand("set_engine_type 2"); WaveChart chart; sendCommand("set_whole_fuel_map 3"); @@ -62,7 +62,7 @@ public class AutoTest { sendCommand("set_ignition_mode 1"); chart = nextChart(); - String msg = "Neon"; + String msg = "1995 Neon"; float x = 110; assertWave(msg, chart, WaveChart.INJECTOR_4, 0.133, x + 540); assertWave(msg, chart, WaveChart.INJECTOR_2, 0.133, x); @@ -164,10 +164,12 @@ public class AutoTest { chart = nextChart(); - assertWave(chart, WaveChart.INJECTOR_1, 0.086, 238.75); - assertWave(chart, WaveChart.INJECTOR_2, 0.086, 53.04); - assertWave(chart, WaveChart.INJECTOR_3, 0.086, 417.04); - assertWave(chart, WaveChart.INJECTOR_4, 0.086, 594.04); + msg = "aspire running"; + + assertWave(msg, chart, WaveChart.INJECTOR_1, 0.086, 238.75); + assertWave(msg, chart, WaveChart.INJECTOR_2, 0.086, 53.04); + assertWave(msg, chart, WaveChart.INJECTOR_3, 0.086, 417.04); + assertWave(msg, chart, WaveChart.INJECTOR_4, 0.086, 594.04); x = 22; assertWave(chart, WaveChart.SPARK_1, 0.133, x, x + 180, x + 360, x + 540); @@ -191,6 +193,7 @@ public class AutoTest { assertNull("chart for " + WaveChart.SPARK_2, chart.get(WaveChart.SPARK_2)); sendCommand("set_global_trigger_offset_angle 130"); + sendCommand("set_injection_offset 189"); chart = nextChart(); x = 580; assertWave(chart, WaveChart.SPARK_1, 0.133, x, x + 180, x + 360, x + 540);