diff --git a/java_console/io/src/main/java/com/rusefi/io/LinkManager.java b/java_console/io/src/main/java/com/rusefi/io/LinkManager.java index ce403561f6..d25659de2f 100644 --- a/java_console/io/src/main/java/com/rusefi/io/LinkManager.java +++ b/java_console/io/src/main/java/com/rusefi/io/LinkManager.java @@ -17,6 +17,7 @@ import java.io.Closeable; import java.io.IOException; import java.util.Arrays; import java.util.Objects; +import java.util.TreeSet; import java.util.concurrent.*; import static com.devexperts.logging.Logging.getLogging; @@ -117,10 +118,11 @@ public class LinkManager implements Closeable { public static String[] getCommPorts() { SerialPort[] ports = SerialPort.getCommPorts(); - String[] result = new String[ports.length]; - for (int i = 0; i < ports.length; i++) - result[i] = ports[i].getSystemPortName(); - return result; + // wow sometimes driver returns same port name more than once?! + TreeSet names = new TreeSet<>(); + for (SerialPort port : ports) + names.add(port.getSystemPortName()); + return names.toArray(new String[0]); } public BinaryProtocol getCurrentStreamState() { diff --git a/java_console/shared_io/src/main/java/com/rusefi/rusEFIVersion.java b/java_console/shared_io/src/main/java/com/rusefi/rusEFIVersion.java index e1ec3e91b0..e6bf0fb60d 100644 --- a/java_console/shared_io/src/main/java/com/rusefi/rusEFIVersion.java +++ b/java_console/shared_io/src/main/java/com/rusefi/rusEFIVersion.java @@ -6,7 +6,7 @@ import java.net.URL; import java.util.concurrent.atomic.AtomicReference; public class rusEFIVersion { - public static final int CONSOLE_VERSION = 20211023; + public static final int CONSOLE_VERSION = 20211027; public static AtomicReference firmwareVersion = new AtomicReference<>("N/A"); public static long classBuildTimeMillis() {