From 3f59e39bca29885de044a09a71f1ba1059ececa0 Mon Sep 17 00:00:00 2001 From: Matthew Kennedy Date: Thu, 26 Oct 2023 02:59:09 -0700 Subject: [PATCH] openblt maybe works on mac? --- .../maintenance/OpenbltBootCommanderRunner.java | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/java_console/ui/src/main/java/com/rusefi/maintenance/OpenbltBootCommanderRunner.java b/java_console/ui/src/main/java/com/rusefi/maintenance/OpenbltBootCommanderRunner.java index 6578c5d9ad..0ce8987005 100644 --- a/java_console/ui/src/main/java/com/rusefi/maintenance/OpenbltBootCommanderRunner.java +++ b/java_console/ui/src/main/java/com/rusefi/maintenance/OpenbltBootCommanderRunner.java @@ -5,15 +5,18 @@ import com.rusefi.io.UpdateOperationCallbacks; import java.io.File; import java.io.FileNotFoundException; +import java.util.Locale; public final class OpenbltBootCommanderRunner { + private static final String OS_NAME = System.getProperty("os.name").toLowerCase(Locale.ROOT); + private static final boolean IS_MAC = OS_NAME.contains("mac") || OS_NAME.contains("darwin"); + private static String getBootCommanderBinary() { - String osName = System.getProperty("os.name").toLowerCase(); - if (osName.contains("win")) { + if (OS_NAME.contains("win")) { return "BootCommander.exe"; } - if (osName.contains("mac") || osName.contains("darwin")) { + if (IS_MAC) { return "BootCommander_macos"; } @@ -24,6 +27,11 @@ public final class OpenbltBootCommanderRunner { private static final String OPENBLT_BINARY_LOCATION = Launcher.TOOLS_PATH + File.separator + "openblt"; public static void flashSerial(String port, String file, UpdateOperationCallbacks callbacks) { + // On macOS, prepend "/dev/" to the serial port name + if (IS_MAC) { + port = "/dev/" + port; + } + runOpenblt(file, callbacks, "-s=xcp -t=xcp_rs232 -d=" + port); } @@ -44,7 +52,7 @@ public final class OpenbltBootCommanderRunner { callbacks.log("Running BootCommander like: " + cmd); - ExecHelper.executeCommand(OPENBLT_BINARY_LOCATION, cmd, BOOT_COMMANDER, callbacks); + ExecHelper.executeCommand(".", cmd, OPENBLT_BINARY_LOCATION + "/" + BOOT_COMMANDER, callbacks); // TODO: check result