diff --git a/src/native/osx32/libnsp.dylib b/src/native/osx32/libnsp.dylib index 3678898..32cfce6 100755 Binary files a/src/native/osx32/libnsp.dylib and b/src/native/osx32/libnsp.dylib differ diff --git a/src/native/osx64/libnsp.dylib b/src/native/osx64/libnsp.dylib index 3678898..32cfce6 100755 Binary files a/src/native/osx64/libnsp.dylib and b/src/native/osx64/libnsp.dylib differ diff --git a/src/org/hwo/io/NewSerialPort/NewSerialPort.java b/src/org/hwo/io/NewSerialPort/NewSerialPort.java index ef7cab8..24f81cb 100644 --- a/src/org/hwo/io/NewSerialPort/NewSerialPort.java +++ b/src/org/hwo/io/NewSerialPort/NewSerialPort.java @@ -297,6 +297,8 @@ public class NewSerialPort { return getPortNamesLIN(); case WINDOWS: return getPortNamesWIN(); + case OSX: + return getPortNamesOSX(); default: return new String[0]; } @@ -339,6 +341,26 @@ public class NewSerialPort { return portNames.toArray(new String[0]); } + static public String[] getPortNamesOSX() + { + ArrayList portNames = new ArrayList(); + + File devDir = new File("/dev"); + File[] list = devDir.listFiles(new FilenameFilter() { + + @Override + public boolean accept(File arg0, String arg1) { + if (arg1.startsWith("tty.") || arg1.startsWith("ttyS")) + return true; + return false; + } + }); + + for (File file:list) + portNames.add("/dev/" + file.getName()); + + return portNames.toArray(new String[0]); + } }