From db802c54252b03a957617347c0df4dcd69b83b43 Mon Sep 17 00:00:00 2001 From: rusEfi Date: Thu, 12 Feb 2015 22:04:26 -0600 Subject: [PATCH] auto-sync --- firmware/config/engines/dodge_neon.cpp | 2 -- firmware/config/engines/ford_1995_inline_6.cpp | 2 +- firmware/config/engines/ford_aspire.cpp | 2 +- firmware/controllers/algo/engine.h | 2 +- firmware/controllers/algo/engine_configuration.cpp | 2 +- .../algo/engine_configuration_generated_structures.h | 10 +++++++--- firmware/controllers/algo/rusefi_enums.h | 7 +++++++ firmware/controllers/sensors/maf.cpp | 4 ++++ firmware/controllers/sensors/maf.h | 1 + firmware/rusefi_config.ini | 3 ++- firmware/tunerstudio/rusefi.ini | 5 +++-- java_console/autotest/src/com/rusefi/AutoTest.java | 12 ++++++------ 12 files changed, 34 insertions(+), 18 deletions(-) diff --git a/firmware/config/engines/dodge_neon.cpp b/firmware/config/engines/dodge_neon.cpp index db98163a9c..50ccbc9d61 100644 --- a/firmware/config/engines/dodge_neon.cpp +++ b/firmware/config/engines/dodge_neon.cpp @@ -393,8 +393,6 @@ void setDodgeNeonNGCEngineConfiguration(engine_configuration_s *engineConfigurat engineConfiguration->canReadEnabled = false; engineConfiguration->canNbcType = CAN_BUS_NBC_BMW; // engineConfiguration->canNbcType = CAN_BUS_MAZDA_RX8; - - setMap(engineConfiguration->injectionPhase, -180); } #endif /* EFI_SUPPORT_DODGE_NEON */ diff --git a/firmware/config/engines/ford_1995_inline_6.cpp b/firmware/config/engines/ford_1995_inline_6.cpp index 03d2ee4c8a..a5140f75c3 100644 --- a/firmware/config/engines/ford_1995_inline_6.cpp +++ b/firmware/config/engines/ford_1995_inline_6.cpp @@ -47,7 +47,7 @@ void setFordInline6(engine_configuration_s *engineConfiguration, board_configura engineConfiguration->globalTriggerAngleOffset = 0; engineConfiguration->ignitionBaseAngle = 13; - engineConfiguration->injectionAngle = 27.269999; + engineConfiguration->injectionAngle = 207.269999; setThermistorConfiguration(&engineConfiguration->clt, -10.0, 160310.0, 60.0, 7700.0, 120.0, 1180.0); engineConfiguration->clt.bias_resistor = 2700; diff --git a/firmware/config/engines/ford_aspire.cpp b/firmware/config/engines/ford_aspire.cpp index 8a2803985a..d15cd4deb4 100644 --- a/firmware/config/engines/ford_aspire.cpp +++ b/firmware/config/engines/ford_aspire.cpp @@ -101,7 +101,7 @@ void setFordAspireEngineConfiguration(engine_configuration_s *engineConfiguratio engineConfiguration->specs.firingOrder = FO_1_THEN_3_THEN_4_THEN2; engineConfiguration->globalTriggerAngleOffset = 175; engineConfiguration->ignitionBaseAngle = 87; - engineConfiguration->injectionAngle = 59 + 175; + engineConfiguration->injectionAngle = 54 + 360; setDefaultAspireMaps(engineConfiguration); // set_cranking_rpm 550 diff --git a/firmware/controllers/algo/engine.h b/firmware/controllers/algo/engine.h index 320f2084e7..d74fb7a404 100644 --- a/firmware/controllers/algo/engine.h +++ b/firmware/controllers/algo/engine.h @@ -191,7 +191,7 @@ public: Table2D sparkTable; /** - * fast MAF decoding lookup table with ~0.2 volt step + * fast kg/hour MAF decoding lookup table with ~0.2 volt step * This table is build based on MAF decoding curve */ float mafDecodingLookup[MAF_DECODING_CACHE_SIZE]; diff --git a/firmware/controllers/algo/engine_configuration.cpp b/firmware/controllers/algo/engine_configuration.cpp index 7a625043c8..85af770fee 100644 --- a/firmware/controllers/algo/engine_configuration.cpp +++ b/firmware/controllers/algo/engine_configuration.cpp @@ -193,7 +193,7 @@ void setDefaultConfiguration(engine_configuration_s *engineConfiguration, board_ setWholeVEMap(engineConfiguration, 0.8); setMap(engineConfiguration->afrTable, 14.7); - setMap(engineConfiguration->injectionPhase, 0); + setMap(engineConfiguration->injectionPhase, -180); setRpmTableBin(engineConfiguration->injPhaseRpmBins, FUEL_RPM_COUNT); setTableBin2(engineConfiguration->injPhaseLoadBins, FUEL_LOAD_COUNT, 10, 300, 1); diff --git a/firmware/controllers/algo/engine_configuration_generated_structures.h b/firmware/controllers/algo/engine_configuration_generated_structures.h index be178925d2..63b222f445 100644 --- a/firmware/controllers/algo/engine_configuration_generated_structures.h +++ b/firmware/controllers/algo/engine_configuration_generated_structures.h @@ -1,4 +1,4 @@ -// this section was generated by config_definition.jar on Thu Feb 12 18:38:18 EST 2015 +// this section was generated by config_definition.jar on Thu Feb 12 22:08:45 EST 2015 // begin #include "rusefi_types.h" typedef struct { @@ -583,7 +583,11 @@ typedef struct { /** * offset 780 */ - int unusedbs[6]; + maf_sensor_type_e mafSensorType; + /** + * offset 784 + */ + int unusedbs[5]; /** * offset 804 */ @@ -1160,4 +1164,4 @@ typedef struct { } engine_configuration_s; // end -// this section was generated by config_definition.jar on Thu Feb 12 18:38:18 EST 2015 +// this section was generated by config_definition.jar on Thu Feb 12 22:08:45 EST 2015 diff --git a/firmware/controllers/algo/rusefi_enums.h b/firmware/controllers/algo/rusefi_enums.h index c10ce3c76a..69e8d6161c 100644 --- a/firmware/controllers/algo/rusefi_enums.h +++ b/firmware/controllers/algo/rusefi_enums.h @@ -541,6 +541,13 @@ typedef enum { Internal_ForceMyEnumIntSize_analog_chart = ENUM_32_BITS, } analog_chart_e; +typedef enum { + CUSTOM = 0, + Bosch0280218037 = 1, + Bosch0280218004 = 2, + Internal_ForceMyEnumIntSize_maf_sensor = ENUM_32_BITS, +} maf_sensor_type_e; + typedef enum { /** * This is the default mode in which ECU controls timing dynamically diff --git a/firmware/controllers/sensors/maf.cpp b/firmware/controllers/sensors/maf.cpp index 3816ccb0a2..97593a83e7 100644 --- a/firmware/controllers/sensors/maf.cpp +++ b/firmware/controllers/sensors/maf.cpp @@ -50,3 +50,7 @@ void setBosch0280218037(engine_configuration_s *engineConfiguration) { i++; } } + +void setBosch0280218004(engine_configuration_s *engineConfiguration) { + +} diff --git a/firmware/controllers/sensors/maf.h b/firmware/controllers/sensors/maf.h index d5bc12897d..16c4e2b761 100644 --- a/firmware/controllers/sensors/maf.h +++ b/firmware/controllers/sensors/maf.h @@ -19,5 +19,6 @@ float getMaf(void); float getRealMaf(DECLARE_ENGINE_PARAMETER_F); void setBosch0280218037(engine_configuration_s *engineConfiguration); +void setBosch0280218004(engine_configuration_s *engineConfiguration); #endif diff --git a/firmware/rusefi_config.ini b/firmware/rusefi_config.ini index 551647a0af..8bfe7c3f2a 100644 --- a/firmware/rusefi_config.ini +++ b/firmware/rusefi_config.ini @@ -385,7 +385,8 @@ custom fsio_setting_t 4 scalar, F32, @OFFSET@, "Val", 1, 0, 0, custom analog_chart_e 4 bits, S32, @OFFSET@, [0:1], "none", "trigger", "MAP", "INVALID" analog_chart_e analogChartMode; - int[6] unusedbs; +maf_sensor_type_e mafSensorType; + int[5] unusedbs; custom le_formula_t 200 array, U08, @OFFSET@, [200],"char", 1, 0, 0.0, 3.0, 2 le_formula_t[LE_COMMAND_COUNT iterate] le_formulas; diff --git a/firmware/tunerstudio/rusefi.ini b/firmware/tunerstudio/rusefi.ini index 63200c2b1c..91ec54b4d5 100644 --- a/firmware/tunerstudio/rusefi.ini +++ b/firmware/tunerstudio/rusefi.ini @@ -37,7 +37,7 @@ enable2ndByteCanID = false ; see PAGE_0_SIZE in C source code ; CONFIG_DEFINITION_START -; this section was generated by ConfigDefinition.jar on Thu Feb 12 18:38:19 EST 2015 +; this section was generated by ConfigDefinition.jar on Thu Feb 12 22:08:46 EST 2015 pageSize = 15160 page = 1 @@ -357,7 +357,8 @@ page = 1 joystickCPin = bits, U32, 1640, [0:6], "GPIOA_0", "GPIOA_1", "GPIOA_2", "GPIOA_3", "GPIOA_4", "GPIOA_5", "GPIOA_6", "GPIOA_7", "GPIOA_8", "GPIOA_9", "GPIOA_10", "GPIOA_11", "GPIOA_12", "GPIOA_13", "GPIOA_14", "GPIOA_15", "GPIOB_0", "GPIOB_1", "GPIOB_2", "GPIOB_3", "GPIOB_4", "GPIOB_5", "GPIOB_6", "GPIOB_7", "GPIOB_8", "GPIOB_9", "GPIOB_10", "GPIOB_11", "GPIOB_12", "GPIOB_13", "GPIOB_14", "GPIOB_15", "GPIOC_0", "GPIOC_1", "GPIOC_2", "GPIOC_3", "GPIOC_4", "GPIOC_5", "GPIOC_6", "GPIOC_7", "GPIOC_8", "GPIOC_9", "GPIOC_10", "GPIOC_11", "GPIOC_12", "GPIOC_13", "GPIOC_14", "GPIOC_15", "GPIOD_0", "GPIOD_1", "GPIOD_2", "GPIOD_3", "GPIOD_4", "GPIOD_5", "GPIOD_6", "GPIOD_7", "GPIOD_8", "GPIOD_9", "GPIOD_10", "GPIOD_11", "GPIOD_12", "GPIOD_13", "GPIOD_14", "GPIOD_15", "GPIOE_0", "GPIOE_1", "GPIOE_2", "GPIOE_3", "GPIOE_4", "GPIOE_5", "GPIOE_6", "GPIOE_7", "GPIOE_8", "GPIOE_9", "GPIOE_10", "GPIOE_11", "GPIOE_12", "GPIOE_13", "GPIOE_14", "GPIOE_15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID" joystickDPin = bits, U32, 1644, [0:6], "GPIOA_0", "GPIOA_1", "GPIOA_2", "GPIOA_3", "GPIOA_4", "GPIOA_5", "GPIOA_6", "GPIOA_7", "GPIOA_8", "GPIOA_9", "GPIOA_10", "GPIOA_11", "GPIOA_12", "GPIOA_13", "GPIOA_14", "GPIOA_15", "GPIOB_0", "GPIOB_1", "GPIOB_2", "GPIOB_3", "GPIOB_4", "GPIOB_5", "GPIOB_6", "GPIOB_7", "GPIOB_8", "GPIOB_9", "GPIOB_10", "GPIOB_11", "GPIOB_12", "GPIOB_13", "GPIOB_14", "GPIOB_15", "GPIOC_0", "GPIOC_1", "GPIOC_2", "GPIOC_3", "GPIOC_4", "GPIOC_5", "GPIOC_6", "GPIOC_7", "GPIOC_8", "GPIOC_9", "GPIOC_10", "GPIOC_11", "GPIOC_12", "GPIOC_13", "GPIOC_14", "GPIOC_15", "GPIOD_0", "GPIOD_1", "GPIOD_2", "GPIOD_3", "GPIOD_4", "GPIOD_5", "GPIOD_6", "GPIOD_7", "GPIOD_8", "GPIOD_9", "GPIOD_10", "GPIOD_11", "GPIOD_12", "GPIOD_13", "GPIOD_14", "GPIOD_15", "GPIOE_0", "GPIOE_1", "GPIOE_2", "GPIOE_3", "GPIOE_4", "GPIOE_5", "GPIOE_6", "GPIOE_7", "GPIOE_8", "GPIOE_9", "GPIOE_10", "GPIOE_11", "GPIOE_12", "GPIOE_13", "GPIOE_14", "GPIOE_15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID" analogChartMode = bits, S32, 1648, [0:1], "none", "trigger", "MAP", "INVALID" -;skipping unusedbs offset 1652 +;skipping mafSensorType offset 1652 +;skipping unusedbs offset 1656 le_formulas1 = array, U08, 1676, [200],"char", 1, 0, 0.0, 3.0, 2 le_formulas2 = array, U08, 1876, [200],"char", 1, 0, 0.0, 3.0, 2 le_formulas3 = array, U08, 2076, [200],"char", 1, 0, 0.0, 3.0, 2 diff --git a/java_console/autotest/src/com/rusefi/AutoTest.java b/java_console/autotest/src/com/rusefi/AutoTest.java index a815c2f9df..83a23f6996 100644 --- a/java_console/autotest/src/com/rusefi/AutoTest.java +++ b/java_console/autotest/src/com/rusefi/AutoTest.java @@ -48,8 +48,8 @@ public class AutoTest { 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, x + 360); - assertWaveFall(msg, chart, WaveChart.INJECTOR_2, 0.11733333333333336, x + 180, x + 540); + assertWaveFall(msg, chart, WaveChart.INJECTOR_1, 0.11733333333333336, x + 180, x + 540); + assertWaveFall(msg, chart, WaveChart.INJECTOR_2, 0.11733333333333336, x, x + 360); } private static void test1995DodgeNeon() { @@ -61,9 +61,9 @@ public class AutoTest { chart = nextChart(); String msg = "1995 Neon"; - float x = 110; + float x = -70; assertWaveFall(msg, chart, WaveChart.INJECTOR_4, 0.133, x + 540); - assertWaveFall(msg, chart, WaveChart.INJECTOR_2, 0.133, x); + assertWaveFall(msg, chart, WaveChart.INJECTOR_2, 0.133, x + 720); assertWaveFall(msg, chart, WaveChart.INJECTOR_1, 0.133, x + 180); assertWaveFall(msg, chart, WaveChart.INJECTOR_3, 0.133, x + 360); @@ -77,7 +77,7 @@ public class AutoTest { sendCommand("set_mock_map_voltage 1"); sendCommand("set_algorithm 3"); chart = nextChart(); - x = 110; + x = -70; assertWaveFall(msg, chart, WaveChart.INJECTOR_4, 0.463, x + 540); } @@ -191,7 +191,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"); + sendCommand("set_injection_offset 369"); chart = nextChart(); x = 580; assertWave(chart, WaveChart.SPARK_1, 0.133, x, x + 180, x + 360, x + 540);