diff --git a/firmware/config/engines/dodge_ram.cpp b/firmware/config/engines/dodge_ram.cpp index 0b0870ab60..55822927ec 100644 --- a/firmware/config/engines/dodge_ram.cpp +++ b/firmware/config/engines/dodge_ram.cpp @@ -22,7 +22,7 @@ void setDodgeRam1996(DECLARE_ENGINE_PARAMETER_F) { engineConfiguration->trigger.type = TT_DODGE_RAM; engineConfiguration->injector.flow = 243.6; // 23.2lb/h engineConfiguration->map.sensor.type = MT_DODGE_NEON_2003; - engineConfiguration->algorithm = LM_ALPHA_N; + engineConfiguration->algorithm = LM_SPEED_DENSITY; // set_cranking_charge_angle 30 engineConfiguration->crankingChargeAngle = 30; @@ -67,6 +67,9 @@ void setDodgeRam1996(DECLARE_ENGINE_PARAMETER_F) { // set_global_fuel_correction 1 + // set_whole_timing_map 10 + setWholeTimingTable(10 PASS_ENGINE_PARAMETER); + boardConfiguration->alternatorControlPin = GPIOD_7; engineConfiguration->alternatorControlPFactor = 22; diff --git a/firmware/integration/Fields.java b/firmware/integration/Fields.java index c57755a189..f3c8523227 100644 --- a/firmware/integration/Fields.java +++ b/firmware/integration/Fields.java @@ -13,6 +13,9 @@ public class Fields { public static final Field triggerType = new Field(@@trigger_type_offset@@, FieldType.INT, @@trigger_type_enum@@); public static final Field algorithm = new Field(@@algorithm_offset@@, FieldType.INT, @@algo_enum@@); + public static final Field gloFuelCorr = new Field(@@globalFuelCorrection_offset@@, FieldType.FLOAT); + public static final Field gloTriggerOffset = new Field(@@globalTriggerAngleOffset_offset@@, FieldType.FLOAT); + public static final Field triggerInputPins1 = new Field(@@triggerInputPins1_offset@@, FieldType.INT, @@brain_input_pin_enum@@); public static final Field triggerInputPins2 = new Field(@@triggerInputPins2_offset@@, FieldType.INT, "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "GPIOA_5", "INVALID", "INVALID", "GPIOA_8", "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", "GPIOC_6", "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", "GPIOE_5", "INVALID", "GPIOE_7", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "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"); public static final Field triggerInputPins3 = new Field(@@triggerInputPins3_offset@@, FieldType.INT, "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "GPIOA_5", "INVALID", "INVALID", "GPIOA_8", "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", "GPIOC_6", "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", "GPIOE_5", "INVALID", "GPIOE_7", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "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"); diff --git a/java_console/models/src/com/rusefi/config/Fields.java b/java_console/models/src/com/rusefi/config/Fields.java index 9ec6d2dbdf..6f3e5be8fc 100644 --- a/java_console/models/src/com/rusefi/config/Fields.java +++ b/java_console/models/src/com/rusefi/config/Fields.java @@ -13,6 +13,9 @@ public class Fields { public static final Field triggerType = new Field(536, FieldType.INT, "custom toothed wheel", "ford aspire", "dodge neon", "Miata NA", "Miata NB", "GM_7X", "Cooper", "Mazda SOHC 4", "60/2", "36/1", "Accord CD", "MITSU", "ACCORD 2", "ACCORD DIP", "Neon 2003", "MAZDA D 1+4", "1+1", "1+60/2", "Single Tooth", "Dodge Ram 1+16", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"); public static final Field algorithm = new Field(424, FieldType.INT, "MAF", "Alpha-N/TPS", "MAP", "SPEED DENSITY"); + public static final Field gloFuelCorr = new Field(568, FieldType.FLOAT); + public static final Field gloTriggerOffset = new Field(460, FieldType.FLOAT); + public static final Field triggerInputPins1 = new Field(920, FieldType.INT, "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "PA5", "INVALID", "INVALID", "PA8", "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", "PC6", "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", "PE5", "INVALID", "PE7", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "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"); public static final Field triggerInputPins2 = new Field(924, FieldType.INT, "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "GPIOA_5", "INVALID", "INVALID", "GPIOA_8", "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", "GPIOC_6", "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", "GPIOE_5", "INVALID", "GPIOE_7", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "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"); public static final Field triggerInputPins3 = new Field(928, FieldType.INT, "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "GPIOA_5", "INVALID", "INVALID", "GPIOA_8", "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", "GPIOC_6", "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", "GPIOE_5", "INVALID", "GPIOE_7", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "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"); diff --git a/java_console/ui/src/com/rusefi/Launcher.java b/java_console/ui/src/com/rusefi/Launcher.java index f44e5ea93c..96527d9b19 100644 --- a/java_console/ui/src/com/rusefi/Launcher.java +++ b/java_console/ui/src/com/rusefi/Launcher.java @@ -32,7 +32,7 @@ import static com.rusefi.ui.storage.PersistentConfiguration.getConfig; * @see com.rusefi.StartupFrame */ public class Launcher { - public static final int CONSOLE_VERSION = 20150518; + public static final int CONSOLE_VERSION = 20150520; public static final boolean SHOW_STIMULATOR = false; private static final String TAB_INDEX = "main_tab"; protected static final String PORT_KEY = "port"; diff --git a/java_console/ui/src/com/rusefi/ui/RecentCommands.java b/java_console/ui/src/com/rusefi/ui/RecentCommands.java index 4e39193afe..dd99b60778 100644 --- a/java_console/ui/src/com/rusefi/ui/RecentCommands.java +++ b/java_console/ui/src/com/rusefi/ui/RecentCommands.java @@ -30,6 +30,7 @@ public class RecentCommands { private static final String ALTINFO = "altinfo"; private static final String ACCELINFO = "accelinfo"; private static final String TSINFO = "tsinfo"; + private static final String FUELINFO = "fuelinfo"; private final static Map COMMAND_ICONS = new TreeMap<>(String.CASE_INSENSITIVE_ORDER); @@ -44,6 +45,7 @@ public class RecentCommands { COMMAND_ICONS.put(ALTINFO, infoIcon); COMMAND_ICONS.put(ACCELINFO, infoIcon); COMMAND_ICONS.put(TSINFO, infoIcon); + COMMAND_ICONS.put(TSINFO, infoIcon); } private final JPanel content = new JPanel(new GridLayout(NUMBER_OF_COMMANDS + 1, 1)); @@ -106,6 +108,7 @@ public class RecentCommands { add(IDLEINFO); add(ALTINFO); add(ACCELINFO); + add(FUELINFO); } public void add(String command) { diff --git a/java_console/ui/src/com/rusefi/ui/SettingsTab.java b/java_console/ui/src/com/rusefi/ui/SettingsTab.java index 7894f96de7..81affc06a1 100644 --- a/java_console/ui/src/com/rusefi/ui/SettingsTab.java +++ b/java_console/ui/src/com/rusefi/ui/SettingsTab.java @@ -1,6 +1,7 @@ package com.rusefi.ui; import com.rusefi.config.Fields; +import com.rusefi.ui.config.ConfigField; import com.rusefi.ui.config.EnumConfigField; import com.rusefi.ui.util.UiUtils; @@ -19,6 +20,10 @@ public class SettingsTab { // panel.add(UiUtils.wrap(new EnumConfigField(Fields.triggerInputPins3, "trigger #3 input").getContent())); panel.add(UiUtils.wrap(new EnumConfigField(Fields.injector1, "injector #1").getContent())); + + panel.add(UiUtils.wrap(new ConfigField(Fields.gloFuelCorr, "fuel corr").getContent())); + panel.add(UiUtils.wrap(new ConfigField(Fields.gloTriggerOffset, "trig offset").getContent())); + panel.add(UiUtils.wrap(RecentCommands.createButton(new AtomicBoolean(), "writeconfig"))); }