diff --git a/firmware/config/engines/engines.mk b/firmware/config/engines/engines.mk index 0dbf5b1d88..74caba1075 100644 --- a/firmware/config/engines/engines.mk +++ b/firmware/config/engines/engines.mk @@ -12,6 +12,7 @@ ENGINES_SRC_CPP = $(PROJECT_DIR)/config/engines/ford_aspire.cpp \ $(PROJECT_DIR)/config/engines/nissan_primera.cpp \ $(PROJECT_DIR)/config/engines/mazda_miata_nb.cpp \ $(PROJECT_DIR)/config/engines/honda_accord.cpp \ + $(PROJECT_DIR)/config/engines/subaru.cpp \ $(PROJECT_DIR)/config/engines/snow_blower.cpp \ $(PROJECT_DIR)/config/engines/GY6_139QMB.cpp \ $(PROJECT_DIR)/config/engines/rover_v8.cpp \ diff --git a/firmware/config/engines/subaru.cpp b/firmware/config/engines/subaru.cpp new file mode 100644 index 0000000000..fdcb3ac255 --- /dev/null +++ b/firmware/config/engines/subaru.cpp @@ -0,0 +1,12 @@ +/** + * @file subaru.cpp + * + * @date Sep 14, 2014 + * @author Andrey Belomutskiy, (c) 2012-2014 + */ + +#include "subaru.h" + +void setSubaru2003Wrx(engine_configuration_s *engineConfiguration, board_configuration_s *boardConfiguration) { + +} diff --git a/firmware/config/engines/subaru.h b/firmware/config/engines/subaru.h new file mode 100644 index 0000000000..75f6be3f77 --- /dev/null +++ b/firmware/config/engines/subaru.h @@ -0,0 +1,14 @@ +/** + * @file subaru.h + * + * @date Sep 14, 2014 + * @author Andrey Belomutskiy, (c) 2012-2014 + */ +#ifndef SUBARU_H_ +#define SUBARU_H_ + +#include "engine_configuration.h" + +void setSubaru2003Wrx(engine_configuration_s *engineConfiguration, board_configuration_s *boardConfiguration); + +#endif /* SUBARU_H_ */ diff --git a/firmware/controllers/algo/engine_configuration.cpp b/firmware/controllers/algo/engine_configuration.cpp index 8c02e76f15..56e083dc6b 100644 --- a/firmware/controllers/algo/engine_configuration.cpp +++ b/firmware/controllers/algo/engine_configuration.cpp @@ -49,6 +49,7 @@ #include "citroenBerlingoTU3JP.h" #include "rover_v8.h" #include "mitsubishi.h" +#include "subaru.h" static volatile int globalConfigurationVersion = 0; @@ -467,6 +468,9 @@ void resetConfigurationExt(Logging * logger, engine_type_e engineType, engine_co case ROVER_V8: setRoverv8(engineConfiguration, boardConfiguration); break; + case SUBARU_2003_WRX: + setSubaru2003Wrx(engineConfiguration, boardConfiguration); + break; default: firmwareError("Unexpected engine type: %d", engineType); diff --git a/firmware/controllers/algo/rusefi_enums.h b/firmware/controllers/algo/rusefi_enums.h index 0d08f5272a..e82d483efa 100644 --- a/firmware/controllers/algo/rusefi_enums.h +++ b/firmware/controllers/algo/rusefi_enums.h @@ -85,7 +85,9 @@ typedef enum { MIATA_1994 = 20, MIATA_1996 = 21, - ET_UNUSED = 22, + SUBARU_2003_WRX = 22, + + ET_UNUSED = 23, Force_4b_engine_type = ENUM_SIZE_HACK, } engine_type_e; diff --git a/firmware/rusefi.cpp b/firmware/rusefi.cpp index 2e2288c13a..1463ba730f 100644 --- a/firmware/rusefi.cpp +++ b/firmware/rusefi.cpp @@ -235,5 +235,5 @@ void firmwareError(const char *fmt, ...) { } int getRusEfiVersion(void) { - return 20140913; + return 20140914; } diff --git a/java_console/ui/src/com/irnems/Launcher.java b/java_console/ui/src/com/irnems/Launcher.java index 902e073290..49039f2a9b 100644 --- a/java_console/ui/src/com/irnems/Launcher.java +++ b/java_console/ui/src/com/irnems/Launcher.java @@ -19,7 +19,7 @@ import javax.swing.*; * @see WavePanel */ public class Launcher extends FrameHelper { - public static final int CONSOLE_VERSION = 20140913; + public static final int CONSOLE_VERSION = 20140914; public static final boolean SHOW_STIMULATOR = true; private final String port; diff --git a/java_console/ui/src/com/rusefi/ui/ZoomControl.java b/java_console/ui/src/com/rusefi/ui/ZoomControl.java index 506450c4f5..885892b7a6 100644 --- a/java_console/ui/src/com/rusefi/ui/ZoomControl.java +++ b/java_console/ui/src/com/rusefi/ui/ZoomControl.java @@ -42,6 +42,7 @@ public class ZoomControl extends JPanel { add(currentValue); JButton plus = new JButton("+"); + plus.setMnemonic('z'); plus.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { @@ -62,6 +63,7 @@ public class ZoomControl extends JPanel { add(resetZoom); JButton minus = new JButton("-"); + plus.setMnemonic('x'); minus.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { diff --git a/java_console/ui/src/com/rusefi/ui/widgets/UpDownImage.java b/java_console/ui/src/com/rusefi/ui/widgets/UpDownImage.java index 52fedc87be..d4f2337093 100644 --- a/java_console/ui/src/com/rusefi/ui/widgets/UpDownImage.java +++ b/java_console/ui/src/com/rusefi/ui/widgets/UpDownImage.java @@ -27,6 +27,7 @@ import java.util.TreeMap; public class UpDownImage extends JPanel { private static final SimpleDateFormat FORMAT = new SimpleDateFormat("yyyy-MM-dd'T'hh:mm:ss"); private static final int LINE_SIZE = 20; + private static final Color TIME_SCALE_COLOR = Color.red; private long lastUpdateTime; private ZoomProvider zoomProvider = ZoomProvider.DEFAULT; @@ -193,9 +194,19 @@ public class UpDownImage extends JPanel { private void paintScaleLines(Graphics2D g2, Dimension d) { int fromMs = translator.getMinTime() / WaveReport.mult; g2.setStroke(LONG_STROKE); - g2.setColor(Color.red); + g2.setColor(TIME_SCALE_COLOR); int toMs = translator.getMaxTime() / WaveReport.mult; + + if (toMs - fromMs > d.getWidth() / 5) { + /** + * we should not paint time scale lines if the chart is so long that the whole screen would be covered with + * lines + * todo: maybe draw scale lines in seconds, not milliseconds? + */ + return; + } + for (int ms = fromMs; ms <= toMs; ms++) { int tick = ms * WaveReport.mult; int x = translator.timeToScreen(tick, d.width, zoomProvider);