diff --git a/firmware/controllers/trigger/decoders/trigger_subaru.cpp b/firmware/controllers/trigger/decoders/trigger_subaru.cpp index eac8d312a0..610b96538d 100644 --- a/firmware/controllers/trigger/decoders/trigger_subaru.cpp +++ b/firmware/controllers/trigger/decoders/trigger_subaru.cpp @@ -47,16 +47,36 @@ void initialize36_2_2_2(TriggerShape *s DECLARE_ENGINE_PARAMETER_S) { } void initializeSubaru7_6(TriggerShape *s DECLARE_ENGINE_PARAMETER_S) { - s->initialize(FOUR_STROKE_CAM_SENSOR, false); + s->initialize(FOUR_STROKE_CAM_SENSOR, true); + + float magic = 333; float width = 5; s->addEvent2(25 - width, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER); s->addEvent2(25, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER); + s->addEvent2(magic - 180 - 87 - width, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER); + s->addEvent2(magic - 180 - 87, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER); + + + s->addEvent2(magic - 180 - 55 - width, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER); + s->addEvent2(magic - 180 - 55, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER); + + s->addEvent2(magic - 180 - width, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER); + s->addEvent2(magic - 180, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER); + s->addEvent2(182 - width, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER); s->addEvent2(182, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER); + s->addEvent2(magic - 87 - width, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER); + s->addEvent2(magic - 87, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER); + s->addEvent2(magic - 55 - width, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER); + s->addEvent2(magic - 55, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER); + s->addEvent2(magic - width, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER); + s->addEvent2(magic, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER); + + s->addEvent2(343 - width, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER); s->addEvent2(343, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER); @@ -66,9 +86,24 @@ void initializeSubaru7_6(TriggerShape *s DECLARE_ENGINE_PARAMETER_S) { s->addEvent2(384 - width, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER); s->addEvent2(384, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER); + s->addEvent2(magic + 180 - 87 - width, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER); + s->addEvent2(magic + 180 - 87, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER); + s->addEvent2(magic + 180 - 55 - width, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER); + s->addEvent2(magic + 180 - 55, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER); + s->addEvent2(magic + 180 - width, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER); + s->addEvent2(magic + 180, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER); + + s->addEvent2(538 - width, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER); s->addEvent2(538, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER); + s->addEvent2(magic + 360 - 87 - width, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER); + s->addEvent2(magic + 360 - 87, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER); + s->addEvent2(magic + 360 - 55 - width, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER); + s->addEvent2(magic + 360 - 55, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER); + s->addEvent2(magic + 360 - width, T_SECONDARY, TV_RISE PASS_ENGINE_PARAMETER); + s->addEvent2(magic + 360, T_SECONDARY, TV_FALL PASS_ENGINE_PARAMETER); + s->addEvent2(720 - width, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER); s->addEvent2(720, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER); diff --git a/firmware/rusefi.cpp b/firmware/rusefi.cpp index 810c4c9c01..781b7a5088 100644 --- a/firmware/rusefi.cpp +++ b/firmware/rusefi.cpp @@ -249,5 +249,5 @@ int getRusEfiVersion(void) { return 123; // this is here to make the compiler happy about the unused array if (UNUSED_CCM_SIZE[0] * 0 != 0) return 3211; // this is here to make the compiler happy about the unused array - return 20170107; + return 20170108; } diff --git a/java_console/ui/src/com/rusefi/Launcher.java b/java_console/ui/src/com/rusefi/Launcher.java index 4e7347ef4d..f492fc953e 100644 --- a/java_console/ui/src/com/rusefi/Launcher.java +++ b/java_console/ui/src/com/rusefi/Launcher.java @@ -38,7 +38,7 @@ import static com.rusefi.ui.storage.PersistentConfiguration.getConfig; * @see EngineSnifferPanel */ public class Launcher { - public static final int CONSOLE_VERSION = 20170106; + public static final int CONSOLE_VERSION = 20170108; 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/engine/EngineSnifferPanel.java b/java_console/ui/src/com/rusefi/ui/engine/EngineSnifferPanel.java index cbd5cdfd6e..766e01b419 100644 --- a/java_console/ui/src/com/rusefi/ui/engine/EngineSnifferPanel.java +++ b/java_console/ui/src/com/rusefi/ui/engine/EngineSnifferPanel.java @@ -133,6 +133,7 @@ public class EngineSnifferPanel { if (!LinkManager.isLogViewer()) { JPanel lowerButtons = new JPanel(new FlowLayout(FlowLayout.RIGHT, 5, 0)); + lowerButtons.add(new ConfigField(Fields.GLOBALTRIGGERANGLEOFFSET, "Triger Offset").getContent()); lowerButtons.add(new BitConfigField(Fields.ISENGINECHARTENABLED, "Collect Engine Data").getContent()); lowerButtons.add(new ConfigField(Fields.SENSORCHARTFREQUENCY, "Frequency").getContent()); lowerButtons.add(new ConfigField(Fields.ENGINECHARTSIZE, "Engine Sniffer size").getContent());