From 7c5b5ce5b29bb875a649dffb00461bc15ad9c8d8 Mon Sep 17 00:00:00 2001 From: rusEfi Date: Sun, 5 Feb 2017 18:04:56 -0500 Subject: [PATCH] auto-sync --- java_console/ui/src/com/rusefi/Launcher.java | 2 +- .../ui/src/com/rusefi/maintenance/EraseChip.java | 2 +- .../src/com/rusefi/maintenance/FirmwareFlasher.java | 6 ++++-- .../com/rusefi/maintenance/ProcessStatusWindow.java | 11 +++++++++-- .../ui/src/com/rusefi/ui/config/IniFileModel.java | 2 +- 5 files changed, 16 insertions(+), 7 deletions(-) diff --git a/java_console/ui/src/com/rusefi/Launcher.java b/java_console/ui/src/com/rusefi/Launcher.java index ead3d3733c..a86d817c86 100644 --- a/java_console/ui/src/com/rusefi/Launcher.java +++ b/java_console/ui/src/com/rusefi/Launcher.java @@ -44,7 +44,7 @@ import static com.rusefi.ui.storage.PersistentConfiguration.getConfig; * @see EngineSnifferPanel */ public class Launcher { - public static final int CONSOLE_VERSION = 20170129; + public static final int CONSOLE_VERSION = 20170205; 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/maintenance/EraseChip.java b/java_console/ui/src/com/rusefi/maintenance/EraseChip.java index fb4c52b46d..7870274999 100644 --- a/java_console/ui/src/com/rusefi/maintenance/EraseChip.java +++ b/java_console/ui/src/com/rusefi/maintenance/EraseChip.java @@ -9,7 +9,7 @@ import java.awt.event.ActionEvent; public class EraseChip extends ProcessStatusWindow { private final JButton button = new JButton("Erase Chip"); - private static final String OPEN_OCD_COMMAND = FirmwareFlasher.OPENOCD_BIN + + private static final String OPEN_OCD_COMMAND = FirmwareFlasher.OPENOCD_CMD + " -c init -c targets -c \"halt\" -c \"flash erase_address 0x08000000 0x080000\" -c shutdown"; public EraseChip() { diff --git a/java_console/ui/src/com/rusefi/maintenance/FirmwareFlasher.java b/java_console/ui/src/com/rusefi/maintenance/FirmwareFlasher.java index bb1d9fc99c..36a7c727f1 100644 --- a/java_console/ui/src/com/rusefi/maintenance/FirmwareFlasher.java +++ b/java_console/ui/src/com/rusefi/maintenance/FirmwareFlasher.java @@ -12,7 +12,9 @@ import java.io.*; public class FirmwareFlasher extends ProcessStatusWindow { public static final String IMAGE_DEBUG_FILE = "rusefi_debug.bin"; public static final String IMAGE_RELEASE_FILE = "rusefi_release.bin"; - static final String OPENOCD_BIN = "openocd.exe -f stm32f429disc1.cfg"; + static final String OPENOCD_EXE = "openocd.exe"; + static final String BINARY_LOCATION = "openocd"; + static final String OPENOCD_CMD = BINARY_LOCATION + File.separator + OPENOCD_EXE + " -f stm32f429disc1.cfg"; private static final String SUCCESS_MESSAGE_TAG = "shutdown command invoked"; private static final String FAILED_MESSAGE_TAG = "failed"; private static final String NO_DRIVER_MESSAGE_TAG = "failed with LIBUSB_ERROR_NOT_SUPPORTED"; @@ -50,7 +52,7 @@ public class FirmwareFlasher extends ProcessStatusWindow { wnd.appendMsg(fileName + " not found, cannot proceed !!!"); return; } - StringBuffer error = executeCommand(OPENOCD_BIN + " -c \"program ../" + + StringBuffer error = executeCommand(OPENOCD_CMD + " -c \"program ../" + fileName + " verify reset exit 0x08000000\""); if (error.toString().contains(NO_DRIVER_MESSAGE_TAG)) { diff --git a/java_console/ui/src/com/rusefi/maintenance/ProcessStatusWindow.java b/java_console/ui/src/com/rusefi/maintenance/ProcessStatusWindow.java index f1846ce1c8..7cab62c72a 100644 --- a/java_console/ui/src/com/rusefi/maintenance/ProcessStatusWindow.java +++ b/java_console/ui/src/com/rusefi/maintenance/ProcessStatusWindow.java @@ -8,6 +8,7 @@ import java.io.*; * (c) Andrey Belomutskiy 2013-2017 */ public class ProcessStatusWindow { + public static boolean isWindows() { return System.getProperty("os.name").toLowerCase().contains("win"); } @@ -50,11 +51,17 @@ public class ProcessStatusWindow { } protected StringBuffer executeCommand(String command) { + StringBuffer error = new StringBuffer(); + String binaryFullName = FirmwareFlasher.BINARY_LOCATION + File.separator + FirmwareFlasher.OPENOCD_EXE; + if (!new File(binaryFullName).exists()) { + wnd.appendMsg(binaryFullName + " not found :("); + return error; + } + wnd.appendMsg("Executing " + command); StringBuffer output = new StringBuffer(); - StringBuffer error = new StringBuffer(); try { - File workingDir = new File("openocd"); + File workingDir = new File(FirmwareFlasher.BINARY_LOCATION); Process p = Runtime.getRuntime().exec(command, null, workingDir); startStreamThread(p, p.getInputStream(), output); startStreamThread(p, p.getErrorStream(), error); diff --git a/java_console/ui/src/com/rusefi/ui/config/IniFileModel.java b/java_console/ui/src/com/rusefi/ui/config/IniFileModel.java index bd22b98246..c0e4564cdc 100644 --- a/java_console/ui/src/com/rusefi/ui/config/IniFileModel.java +++ b/java_console/ui/src/com/rusefi/ui/config/IniFileModel.java @@ -58,7 +58,7 @@ public class IniFileModel { if (fields.isEmpty()) return; if (dialogUiName == null) - throw new NullPointerException("dialogUiName for" + fields); + dialogUiName = dialogId; dialogs.put(dialogUiName, new DialogModel(dialogId, dialogUiName, fields)); dialogId = null;