diff --git a/java_console/.gitignore b/java_console/.gitignore index 57bddcd111..1b13cb9418 100644 --- a/java_console/.gitignore +++ b/java_console/.gitignore @@ -4,5 +4,6 @@ output.c currenttune.msq rusefi.ini openocd +DfuSe rusefi_*.* triggers \ No newline at end of file diff --git a/java_console/io/src/com/rusefi/io/serial/PortHolder.java b/java_console/io/src/com/rusefi/io/serial/PortHolder.java index 785a50a056..32360f0e0c 100644 --- a/java_console/io/src/com/rusefi/io/serial/PortHolder.java +++ b/java_console/io/src/com/rusefi/io/serial/PortHolder.java @@ -19,6 +19,9 @@ import java.awt.*; * (c) Andrey Belomutskiy */ public class PortHolder { + /** + * Nasty code: this field is not final, we have UI which overrides this default! + */ public static int BAUD_RATE = 115200; private static PortHolder instance = new PortHolder(); private final Object portLock = new Object(); diff --git a/java_console/ui/src/com/rusefi/Launcher.java b/java_console/ui/src/com/rusefi/Launcher.java index 5b18329197..7cde6badaa 100644 --- a/java_console/ui/src/com/rusefi/Launcher.java +++ b/java_console/ui/src/com/rusefi/Launcher.java @@ -375,12 +375,10 @@ public class Launcher { port = args[0]; - if (isPortDefined && port.toLowerCase().startsWith("auto")) { - String autoDetectedPort = PortDetector.autoDetectSerial(); - if (autoDetectedPort == null) { + if (isPortDefined) { + port = PortDetector.autoDetectSerialIfNeeded(port); + if (port == null) { isPortDefined = false; - } else { - port = autoDetectedPort; } } diff --git a/java_console/ui/src/com/rusefi/autodetect/PortDetector.java b/java_console/ui/src/com/rusefi/autodetect/PortDetector.java index 224564a1cb..b7ccd13ae9 100644 --- a/java_console/ui/src/com/rusefi/autodetect/PortDetector.java +++ b/java_console/ui/src/com/rusefi/autodetect/PortDetector.java @@ -46,4 +46,10 @@ public class PortDetector { } return autoDetectedPort; } + + public static String autoDetectSerialIfNeeded(String port) { + if (!port.toLowerCase().startsWith("auto")) + return port; + return autoDetectSerial(); + } }