openblt maybe works on mac?

This commit is contained in:
Matthew Kennedy 2023-10-26 02:59:09 -07:00
parent cdb875b634
commit 3f59e39bca
1 changed files with 12 additions and 4 deletions

View File

@ -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