diff --git a/firmware/config/engines/mazda_miata.cpp b/firmware/config/engines/mazda_miata.cpp index 8b005b94c1..9322c92012 100644 --- a/firmware/config/engines/mazda_miata.cpp +++ b/firmware/config/engines/mazda_miata.cpp @@ -229,6 +229,10 @@ void setMiata1990(engine_configuration_s *engineConfiguration) { // todo: idleValvePin } + +/** + * pin 1I/W9 - extra +5v + */ void setFordEscortGt(engine_configuration_s *engineConfiguration) { board_configuration_s *boardConfiguration = &engineConfiguration->bc; engineConfiguration->trigger.type = TT_MAZDA_DOHC_1_4; @@ -238,8 +242,13 @@ void setFordEscortGt(engine_configuration_s *engineConfiguration) { setFrankenso_01_LCD(boardConfiguration); setFrankenso0_1_joystick(engineConfiguration); + setDensoTODO(engineConfiguration); + + engineConfiguration->globalFuelCorrection = 0.75; engineConfiguration->specs.displacement = 1.839; - engineConfiguration->algorithm = LM_PLAIN_MAF; +// engineConfiguration->algorithm = LM_PLAIN_MAF; + engineConfiguration->algorithm = LM_SPEED_DENSITY; +// engineConfiguration->algorithm = LM_REAL_MAF; boardConfiguration->tunerStudioSerialSpeed = 9600; setFuelLoadBin(engineConfiguration, 1.2, 4.4); @@ -260,21 +269,30 @@ void setFordEscortGt(engine_configuration_s *engineConfiguration) { engineConfiguration->injector.flow = 265; engineConfiguration->hasBaroSensor = false; + engineConfiguration->hasMapSensor = true; + boardConfiguration->isFastAdcEnabled = true; engineConfiguration->map.sensor.type = MT_DENSO183; + engineConfiguration->map.sensor.hwChannel = EFI_ADC_4; - // set_global_trigger_offset_angle 659 - engineConfiguration->globalTriggerAngleOffset = 0; - // set_ignition_offset 170 + initEgoSensor(&engineConfiguration->afr, ES_BPSX_D1); + engineConfiguration->afr.hwChannel = EFI_ADC_2; + + + // set_global_trigger_offset_angle -40 + engineConfiguration->globalTriggerAngleOffset = -40; + // set_ignition_offset 0 engineConfiguration->ignitionBaseAngle = 0; - // set_injection_offset 510 - engineConfiguration->injectionAngle = 135; + // set_injection_offset 0 + engineConfiguration->injectionAngle = 0; - engineConfiguration->crankingTimingAngle = 10; + // set_cranking_timing_angle 3 + engineConfiguration->crankingTimingAngle = 3; engineConfiguration->crankingChargeAngle = 70; setWholeTimingTable(engineConfiguration, 10); - + // set_whole_fuel_map 5 + setWholeFuelMap(engineConfiguration, 5); setSingleCoilDwell(engineConfiguration); engineConfiguration->ignitionMode = IM_ONE_COIL; @@ -297,18 +315,16 @@ void setFordEscortGt(engine_configuration_s *engineConfiguration) { // Frankenso low out #4: // Frankenso low out #5: PE3 // Frankenso low out #6: PE4 - // Frankenso low out #7: PE0<>PD5 INJ 1&3 + // Frankenso low out #7: PE0<>PD5 // Frankenso low out #8: PE2 INJ // Frankenso low out #9: PB9 IDLE - // Frankenso low out #10: PE1<>PD3 + // Frankenso low out #10: PE1<>PD3 INJ 1&3 // Frankenso low out #11: PB8 // Frankenso low out #12: PB7 - boardConfiguration->injectionPins[0] = GPIOD_5; + boardConfiguration->injectionPins[0] = GPIOD_3; boardConfiguration->injectionPins[1] = GPIOE_2; - // set_whole_fuel_map 5 - setWholeFuelMap(engineConfiguration, 5); //setDefaultCrankingFuel(engineConfiguration); engineConfiguration->cranking.baseFuel = 5; @@ -328,7 +344,8 @@ void setFordEscortGt(engine_configuration_s *engineConfiguration) { setCommonNTCSensor(&engineConfiguration->iat); engineConfiguration->iat.bias_resistor = 2700; - engineConfiguration->tpsAdcChannel = EFI_ADC_2; + engineConfiguration->hasTpsSensor = false; + engineConfiguration->tpsAdcChannel = EFI_ADC_NONE; // engineConfiguration->map.sensor.hwChannel = EFI_ADC_4; engineConfiguration->mafAdcChannel = EFI_ADC_0; engineConfiguration->cltAdcChannel = EFI_ADC_12; diff --git a/java_console/autotest/src/com/rusefi/AutoTest.java b/java_console/autotest/src/com/rusefi/AutoTest.java index 83a23f6996..1b226b87e0 100644 --- a/java_console/autotest/src/com/rusefi/AutoTest.java +++ b/java_console/autotest/src/com/rusefi/AutoTest.java @@ -19,14 +19,9 @@ import static com.rusefi.TestingUtils.*; public class AutoTest { private static void mainTestBody() { testFordAspire(); - testMazdaProtege(); - test1995DodgeNeon(); - - sendCommand("set_engine_type 7"); testFord6(); - testFordFiesta(); } @@ -36,20 +31,20 @@ public class AutoTest { IoUtil.changeRpm(200); String msg = "ProtegeLX cranking"; chart = nextChart(); - double x = 100; + double x = 107; assertWave(msg, chart, WaveChart.SPARK_1, 0.194433, x, x + 180, x + 360, x + 540); - x = 135; - assertWaveFall(msg, chart, WaveChart.INJECTOR_1, 0.00626666, x, x + 180, x + 360, x + 540); - assertWaveFall(msg, chart, WaveChart.INJECTOR_2, 0.00626666, x, x + 180, x + 360, x + 540); + x = 0; + assertWaveFall(msg, chart, WaveChart.INJECTOR_1, 0.004666666666, x, x + 180, x + 360, x + 540); + assertWaveFall(msg, chart, WaveChart.INJECTOR_2, 0.004666666666, x, x + 180, x + 360, x + 540); msg = "ProtegeLX running"; IoUtil.changeRpm(2000); chart = nextChart(); x = 121; assertWave(msg, chart, WaveChart.SPARK_1, 0.13333333333333333, x, x + 180, x + 360, x + 540); - x = 135; - assertWaveFall(msg, chart, WaveChart.INJECTOR_1, 0.11733333333333336, x + 180, x + 540); - assertWaveFall(msg, chart, WaveChart.INJECTOR_2, 0.11733333333333336, x, x + 360); + x = 0; + assertWaveFall(msg, chart, WaveChart.INJECTOR_1, 0.09766666666666689, x + 180, x + 540); + assertWaveFall(msg, chart, WaveChart.INJECTOR_2, 0.09766666666666689, x, x + 360); } private static void test1995DodgeNeon() { @@ -96,6 +91,7 @@ public class AutoTest { } private static void testFord6() { + sendCommand("set_engine_type 7"); WaveChart chart; IoUtil.changeRpm(2000); chart = nextChart(); @@ -113,7 +109,8 @@ public class AutoTest { } private static void testFordAspire() { - String msg = "Aspire"; + sendCommand("set_engine_type 3"); + String msg; WaveChart chart; // todo: interesting changeRpm(100); sendCommand("set_cranking_rpm 500"); diff --git a/java_console/autotest/src/com/rusefi/TestingUtils.java b/java_console/autotest/src/com/rusefi/TestingUtils.java index 692a547fa8..27597f279f 100644 --- a/java_console/autotest/src/com/rusefi/TestingUtils.java +++ b/java_console/autotest/src/com/rusefi/TestingUtils.java @@ -29,7 +29,7 @@ public class TestingUtils { } private static double fixAngle(double angle) { - while (angle > 720) + while (angle >= 720) angle -= 720; return angle; } @@ -72,7 +72,7 @@ public class TestingUtils { for (WaveReport.UpDown ud : wr) { int eventTime = rise ? ud.upTime : ud.downTime; double angleByTime = revolutionLog.getCrankAngleByTime(eventTime); - assertCloseEnough(msg + " angle for " + key + "@" + eventTime, angleByTime, expectedAngles); + assertCloseEnough(msg + " angle for " + key + "@" + eventTime, fixAngle(angleByTime), expectedAngles); assertCloseEnough(msg + "width for " + key, ud.getDutyCycle(revolutionLog), width); }