From 80c188a679b984210f5a5bd3c55e0fe2ce28e1ed Mon Sep 17 00:00:00 2001 From: rusEfi Date: Thu, 12 Feb 2015 18:08:02 -0600 Subject: [PATCH] auto-sync --- .../controllers/algo/auto_generated_enums.cpp | 2 ++ .../engine_configuration_generated_structures.h | 6 ++++-- firmware/controllers/algo/rusefi_enums.h | 8 ++++++-- firmware/controllers/math/engine_math.cpp | 4 ++++ firmware/controllers/sensors/maf.cpp | 7 +++++-- firmware/controllers/sensors/maf.h | 2 ++ firmware/rusefi_config.ini | 2 +- firmware/tunerstudio/rusefi.ini | 2 +- .../models/src/com/irnems/core/EngineState.java | 4 ++++ .../models/src/com/irnems/core/Sensor.java | 3 +++ .../models/src/com/irnems/core/SensorStats.java | 15 +++++++++++---- .../models/src/com/rusefi/SensorConversion.java | 12 ++++++++++++ java_console/ui/src/com/rusefi/Launcher.java | 2 +- .../ui/src/com/rusefi/ui/widgets/SensorGauge.java | 8 ++++---- 14 files changed, 60 insertions(+), 17 deletions(-) create mode 100644 java_console/models/src/com/rusefi/SensorConversion.java diff --git a/firmware/controllers/algo/auto_generated_enums.cpp b/firmware/controllers/algo/auto_generated_enums.cpp index 239709b528..ab5ae3e4bd 100644 --- a/firmware/controllers/algo/auto_generated_enums.cpp +++ b/firmware/controllers/algo/auto_generated_enums.cpp @@ -269,6 +269,8 @@ case FO_1_THEN_3_THEN_4_THEN2: return "FO_1_THEN_3_THEN_4_THEN2"; case FO_1_THEN_5_THEN_3_THEN_6_THEN_2_THEN_4: return "FO_1_THEN_5_THEN_3_THEN_6_THEN_2_THEN_4"; +case FO_1_THEN_4_THEN_2_THEN_5_THEN_3_THEN_6: + return "FO_1_THEN_4_THEN_2_THEN_5_THEN_3_THEN_6"; case FO_ONE_CYLINDER: return "FO_ONE_CYLINDER"; case Force_4b_firing_order: diff --git a/firmware/controllers/algo/engine_configuration_generated_structures.h b/firmware/controllers/algo/engine_configuration_generated_structures.h index 42196cc5b7..be178925d2 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 Wed Feb 11 16:24:32 EST 2015 +// this section was generated by config_definition.jar on Thu Feb 12 18:38:18 EST 2015 // begin #include "rusefi_types.h" typedef struct { @@ -1074,6 +1074,8 @@ typedef struct { */ le_formula_t timingAdditive; /** + * kg/hour value. + * By the way 2.081989116 kg/h = 1 ft³/m * offset 6200 */ float mafDecoding[MAF_DECODING_COUNT]; @@ -1158,4 +1160,4 @@ typedef struct { } engine_configuration_s; // end -// this section was generated by config_definition.jar on Wed Feb 11 16:24:32 EST 2015 +// this section was generated by config_definition.jar on Thu Feb 12 18:38:18 EST 2015 diff --git a/firmware/controllers/algo/rusefi_enums.h b/firmware/controllers/algo/rusefi_enums.h index 851f1362f2..c10ce3c76a 100644 --- a/firmware/controllers/algo/rusefi_enums.h +++ b/firmware/controllers/algo/rusefi_enums.h @@ -257,12 +257,16 @@ typedef enum { FO_1_THEN_3_THEN_4_THEN2 = 1, FO_1_THEN_2_THEN_4_THEN3 = 2, FO_1_THEN_3_THEN_2_THEN4 = 3, - // 6 cylinder - FO_1_THEN_5_THEN_3_THEN_6_THEN_2_THEN_4 = 4, // 8 cylinder FO_1_8_4_3_6_5_7_2 = 5, // 5 cylinder FO_1_2_4_5_3 = 6, + + // 6 cylinder + FO_1_THEN_5_THEN_3_THEN_6_THEN_2_THEN_4 = 4, + FO_1_THEN_4_THEN_2_THEN_5_THEN_3_THEN_6 = 7, + + Force_4b_firing_order = ENUM_32_BITS, } firing_order_e; diff --git a/firmware/controllers/math/engine_math.cpp b/firmware/controllers/math/engine_math.cpp index 5f686165ae..74a821f7f7 100644 --- a/firmware/controllers/math/engine_math.cpp +++ b/firmware/controllers/math/engine_math.cpp @@ -286,6 +286,8 @@ static int order_1_THEN_3_THEN_4_THEN2[] = { 1, 3, 4, 2 }; static int order_1_THEN_5_THEN_3_THEN_6_THEN_2_THEN_4[] = { 1, 5, 3, 6, 2, 4 }; +static int order_1_THEN_4_THEN_2_THEN_5_THEN_3_THEN_6[] = {1, 4, 2, 5, 3, 6}; + static int order_1_8_4_3_6_5_7_2[] = { 1, 8, 4, 3, 6, 5, 7, 2 }; /** @@ -301,6 +303,8 @@ int getCylinderId(firing_order_e firingOrder, int index) { return order_1_THEN_3_THEN_4_THEN2[index]; case FO_1_THEN_5_THEN_3_THEN_6_THEN_2_THEN_4: return order_1_THEN_5_THEN_3_THEN_6_THEN_2_THEN_4[index]; + case FO_1_THEN_4_THEN_2_THEN_5_THEN_3_THEN_6: + return order_1_THEN_4_THEN_2_THEN_5_THEN_3_THEN_6[index]; case FO_1_8_4_3_6_5_7_2: return order_1_8_4_3_6_5_7_2[index]; diff --git a/firmware/controllers/sensors/maf.cpp b/firmware/controllers/sensors/maf.cpp index b2fa7bb625..86cacf16d9 100644 --- a/firmware/controllers/sensors/maf.cpp +++ b/firmware/controllers/sensors/maf.cpp @@ -30,9 +30,12 @@ void setBosch0280218037(engine_configuration_s *engineConfiguration) { engineConfiguration->mafDecoding[i] = 738; engineConfiguration->mafDecodingBins[i++] = 4.98046875; + /** + * unrealistic values just to make binary search happy + */ while (i < MAF_DECODING_COUNT) { - engineConfiguration->mafDecoding[i] = 738; - engineConfiguration->mafDecodingBins[i] = 4.98046875 + i; + engineConfiguration->mafDecoding[i] = 200; + engineConfiguration->mafDecodingBins[i] = 10 + i; i++; } } diff --git a/firmware/controllers/sensors/maf.h b/firmware/controllers/sensors/maf.h index 2ea4c2896d..0c1b9ca650 100644 --- a/firmware/controllers/sensors/maf.h +++ b/firmware/controllers/sensors/maf.h @@ -2,6 +2,8 @@ * @file maf.h * @brief * + * by the way 2.081989116 kg/h = 1 ft³/m + * * * @date Nov 15, 2013 * @author Andrey Belomutskiy, (c) 2012-2015 diff --git a/firmware/rusefi_config.ini b/firmware/rusefi_config.ini index 836cb1f262..551647a0af 100644 --- a/firmware/rusefi_config.ini +++ b/firmware/rusefi_config.ini @@ -473,7 +473,7 @@ custom pin_input_mode_e 4 scalar, F32, @OFFSET@, "ms", 1, 0, 0, 200, 1 le_formula_t timingMultiplier; le_formula_t timingAdditive; -float[MAF_DECODING_COUNT] mafDecoding;;"kg/hour", 1, 0, -500.0, 4000.0, 2 +float[MAF_DECODING_COUNT] mafDecoding;kg/hour value.\nBy the way 2.081989116 kg/h = 1 ft³/m;"kg/hour", 1, 0, -500.0, 4000.0, 2 float[MAF_DECODING_COUNT] mafDecodingBins;; "V", 1, 0, -5.0, 150.0, 2 diff --git a/firmware/tunerstudio/rusefi.ini b/firmware/tunerstudio/rusefi.ini index b921b2f164..943a5aecdf 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 Wed Feb 11 21:39:34 EST 2015 +; this section was generated by ConfigDefinition.jar on Thu Feb 12 18:38:19 EST 2015 pageSize = 15160 page = 1 diff --git a/java_console/models/src/com/irnems/core/EngineState.java b/java_console/models/src/com/irnems/core/EngineState.java index 67ba4de399..6212bdcc97 100644 --- a/java_console/models/src/com/irnems/core/EngineState.java +++ b/java_console/models/src/com/irnems/core/EngineState.java @@ -1,6 +1,7 @@ package com.irnems.core; import com.irnems.FileLog; +import com.rusefi.SensorConversion; import org.jetbrains.annotations.NotNull; import javax.swing.*; @@ -76,6 +77,9 @@ public class EngineState { SensorStats.startDelta(Sensor.INJECTOR_1_DWELL, Sensor.INJECTOR_2_DWELL, Sensor.INJ_1_2_DELTA); SensorStats.startDelta(Sensor.INJECTOR_3_DWELL, Sensor.INJECTOR_4_DWELL, Sensor.INJ_3_4_DELTA); + SensorStats.startConversion(Sensor.CLT, Sensor.CLT_F, SensorConversion.C_TO_F); + SensorStats.startConversion(Sensor.IAT, Sensor.IAT_F, SensorConversion.C_TO_F); + registerStringValueAction("adcfast_co", NOTHING); registerStringValueAction("adcfast_max", NOTHING); registerStringValueAction("adcfast_min", NOTHING); diff --git a/java_console/models/src/com/irnems/core/Sensor.java b/java_console/models/src/com/irnems/core/Sensor.java index 1844401d58..04c23dec3c 100644 --- a/java_console/models/src/com/irnems/core/Sensor.java +++ b/java_console/models/src/com/irnems/core/Sensor.java @@ -25,6 +25,9 @@ public enum Sensor { TPS("throttle", SensorCategory.SENSOR_INPUTS, "%", 100), VSS("Speed", SensorCategory.SENSOR_INPUTS, "kph", 100), + CLT_F("Coolant F", SensorCategory.SENSOR_INPUTS, "temperature, F", -40, 500), + IAT_F("Intake Air F", SensorCategory.SENSOR_INPUTS, "temperature, F", -40, 350), + TRG_0_DUTY("trg0 duty", SensorCategory.SENSOR_INPUTS, "%", 100), TRG_1_DUTY("trg1 duty", SensorCategory.SENSOR_INPUTS, "%", 100), diff --git a/java_console/models/src/com/irnems/core/SensorStats.java b/java_console/models/src/com/irnems/core/SensorStats.java index 82d6d6e98c..011189dc04 100644 --- a/java_console/models/src/com/irnems/core/SensorStats.java +++ b/java_console/models/src/com/irnems/core/SensorStats.java @@ -1,6 +1,7 @@ package com.irnems.core; import com.rusefi.CyclicBuffer; +import com.rusefi.SensorConversion; import com.rusefi.waves.WaveReport; /** @@ -9,7 +10,6 @@ import com.rusefi.waves.WaveReport; */ public class SensorStats { public static void start(final Sensor source, final Sensor destination) { - SensorCentral.getInstance().addListener(source, new SensorCentral.SensorListener() { int counter; @@ -34,8 +34,6 @@ public class SensorStats { } } }); - - } /** @@ -58,7 +56,6 @@ public class SensorStats { } public static void startDelta(Sensor input1, final Sensor input2, final Sensor destination) { - final CyclicBuffer cb = new CyclicBuffer(30); SensorCentral.getInstance().addListener(input1, new SensorCentral.SensorListener() { @Override public void onSensorUpdate(double value) { @@ -67,4 +64,14 @@ public class SensorStats { } }); } + + public static void startConversion(final Sensor source, final Sensor destination, final SensorConversion conversion) { + SensorCentral.getInstance().addListener(source, new SensorCentral.SensorListener() { + @Override + public void onSensorUpdate(double value) { + double converted = conversion.convertValue(value); + SensorCentral.getInstance().setValue(converted, destination); + } + }); + } } diff --git a/java_console/models/src/com/rusefi/SensorConversion.java b/java_console/models/src/com/rusefi/SensorConversion.java new file mode 100644 index 0000000000..724db1e071 --- /dev/null +++ b/java_console/models/src/com/rusefi/SensorConversion.java @@ -0,0 +1,12 @@ +package com.rusefi; + +public interface SensorConversion { + SensorConversion C_TO_F = new SensorConversion() { + @Override + public double convertValue(double c) { + return c * 9 / 5 + 32; + } + }; + + double convertValue(double value); +} \ No newline at end of file diff --git a/java_console/ui/src/com/rusefi/Launcher.java b/java_console/ui/src/com/rusefi/Launcher.java index b91155c6f1..d443a9b43c 100644 --- a/java_console/ui/src/com/rusefi/Launcher.java +++ b/java_console/ui/src/com/rusefi/Launcher.java @@ -23,7 +23,7 @@ import static com.rusefi.ui.storage.PersistentConfiguration.getConfig; * @see WavePanel */ public class Launcher extends FrameHelper { - public static final int CONSOLE_VERSION = 20150211; + public static final int CONSOLE_VERSION = 20150212; public static final boolean SHOW_STIMULATOR = true; public static final String TAB_INDEX = "main_tab"; private final String port; diff --git a/java_console/ui/src/com/rusefi/ui/widgets/SensorGauge.java b/java_console/ui/src/com/rusefi/ui/widgets/SensorGauge.java index 34151276ee..6f39636963 100644 --- a/java_console/ui/src/com/rusefi/ui/widgets/SensorGauge.java +++ b/java_console/ui/src/com/rusefi/ui/widgets/SensorGauge.java @@ -24,10 +24,10 @@ import java.util.Hashtable; public class SensorGauge { public static Component createGauge(final Sensor sensor) { - return createGauge2(sensor, null); + return createGauge(sensor, null); } - private static Component createGauge2(Sensor sensor, GaugeChangeListener listener) { + private static Component createGauge(Sensor sensor, GaugeChangeListener listener) { JPanel wrapper = new JPanel(new BorderLayout()); createGaugeBody(sensor, wrapper, listener); @@ -105,7 +105,7 @@ public class SensorGauge { ds.onChange(sensor); } }; - ds.content.add(createGauge2(sensor, listener), BorderLayout.CENTER); + ds.content.add(createGauge(sensor, listener), BorderLayout.CENTER); ds.content.add(ds.mockControlPanel, BorderLayout.SOUTH); @@ -113,7 +113,7 @@ public class SensorGauge { ds.show(e); } - final static Hashtable SLIDER_LABELS = new Hashtable(); + final static Hashtable SLIDER_LABELS = new Hashtable<>(); static { Format f = new DecimalFormat("0.0");