mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-08-24 16:53:50 +02:00
Bug 480077 Be more lenient on the *usbserial* port names.
Need to add support for /dev/tty.wchusbserial*.
Change-Id: I219070b7464eff1781baa57882c93d4b70032fb2
(cherry picked from commit 652943dfdf
)
This commit is contained in:
parent
98dee4063b
commit
a657aaa132
1 changed files with 9 additions and 8 deletions
|
@ -50,7 +50,7 @@ public class SerialPort {
|
||||||
private byte[] rbuff = new byte[256];
|
private byte[] rbuff = new byte[256];
|
||||||
private int rpos = 0;
|
private int rpos = 0;
|
||||||
private int rlen = 0;
|
private int rlen = 0;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int read() throws IOException {
|
public int read() throws IOException {
|
||||||
if (isOpen()) {
|
if (isOpen()) {
|
||||||
|
@ -120,7 +120,7 @@ public class SerialPort {
|
||||||
SerialPort.this.close();
|
SerialPort.this.close();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
private OutputStream outputStream = new OutputStream() {
|
private OutputStream outputStream = new OutputStream() {
|
||||||
@Override
|
@Override
|
||||||
public void write(int b) throws IOException {
|
public void write(int b) throws IOException {
|
||||||
|
@ -175,7 +175,8 @@ public class SerialPort {
|
||||||
/**
|
/**
|
||||||
* Create a serial port that connect to the given serial device.
|
* Create a serial port that connect to the given serial device.
|
||||||
*
|
*
|
||||||
* @param portName name for the serial device.
|
* @param portName
|
||||||
|
* name for the serial device.
|
||||||
*/
|
*/
|
||||||
public SerialPort(String portName) {
|
public SerialPort(String portName) {
|
||||||
this.portName = portName;
|
this.portName = portName;
|
||||||
|
@ -188,9 +189,9 @@ public class SerialPort {
|
||||||
private native int read1(long handle, byte[] b, int off, int len) throws IOException;
|
private native int read1(long handle, byte[] b, int off, int len) throws IOException;
|
||||||
|
|
||||||
private native void write0(long handle, int b) throws IOException;
|
private native void write0(long handle, int b) throws IOException;
|
||||||
|
|
||||||
private native void write1(long handle, byte[] b, int off, int len) throws IOException;
|
private native void write1(long handle, byte[] b, int off, int len) throws IOException;
|
||||||
|
|
||||||
private static native String getPortName(int i) throws IOException;
|
private static native String getPortName(int i) throws IOException;
|
||||||
|
|
||||||
private static String[] listDevs(final Pattern pattern) {
|
private static String[] listDevs(final Pattern pattern) {
|
||||||
|
@ -201,7 +202,7 @@ public class SerialPort {
|
||||||
return pattern.matcher(name).matches();
|
return pattern.matcher(name).matches();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
if (files == null) {
|
if (files == null) {
|
||||||
return new String[0];
|
return new String[0];
|
||||||
}
|
}
|
||||||
|
@ -221,10 +222,10 @@ public class SerialPort {
|
||||||
public static String[] list() throws IOException {
|
public static String[] list() throws IOException {
|
||||||
String osName = System.getProperty("os.name"); //$NON-NLS-1$
|
String osName = System.getProperty("os.name"); //$NON-NLS-1$
|
||||||
if (osName.equals("Mac OS X")) { //$NON-NLS-1$
|
if (osName.equals("Mac OS X")) { //$NON-NLS-1$
|
||||||
return listDevs(Pattern.compile("tty\\.(usbserial|usbmodem).*")); //$NON-NLS-1$
|
return listDevs(Pattern.compile("tty\\..*(usbserial|usbmodem).*")); //$NON-NLS-1$
|
||||||
} else if (osName.equals("Linux")) { //$NON-NLS-1$
|
} else if (osName.equals("Linux")) { //$NON-NLS-1$
|
||||||
return listDevs(Pattern.compile("ttyUSB.*")); //$NON-NLS-1$
|
return listDevs(Pattern.compile("ttyUSB.*")); //$NON-NLS-1$
|
||||||
} else if (osName.startsWith("Windows")) { //$NON-NLS-1$
|
} else if (osName.startsWith("Windows")) { //$NON-NLS-1$
|
||||||
List<String> ports = new ArrayList<>();
|
List<String> ports = new ArrayList<>();
|
||||||
int i = 0;
|
int i = 0;
|
||||||
for (String name = getPortName(i++); name != null; name = getPortName(i++)) {
|
for (String name = getPortName(i++); name != null; name = getPortName(i++)) {
|
||||||
|
|
Loading…
Add table
Reference in a new issue