@SuppressWarnings("unchecked") private static String requestPort() { JComboBox<String> portNameSelector = new JComboBox<>(); portNameSelector.setModel(new DefaultComboBoxModel<String>()); String[] portNames; if (SerialNativeInterface.getOsType() == SerialNativeInterface.OS_MAC_OS_X) { // for MAC OS default pattern of jssc library is too restrictive portNames = SerialPortList.getPortNames("/dev/", Pattern.compile("tty\\..*")); } else { portNames = SerialPortList.getPortNames(); } for (String portName : portNames) { portNameSelector.addItem(portName); } if (portNameSelector.getItemCount() == 0) { JOptionPane.showMessageDialog(null, "Cannot find any serial port", "Error", JOptionPane.ERROR_MESSAGE); System.exit(1); } JPanel panel = new JPanel(); panel.setLayout(new GridBagLayout()); panel.add(new JLabel("Port ")); panel.add(portNameSelector); if (JOptionPane.showConfirmDialog(null, panel, "Select the port", JOptionPane.OK_CANCEL_OPTION) == JOptionPane.OK_OPTION) { return portNameSelector.getSelectedItem().toString(); } else { System.exit(0); } return ""; }
@SuppressWarnings("unchecked") private static String requestPort() { JComboBox<String> portNameSelector = new JComboBox<>(); portNameSelector.setModel(new DefaultComboBoxModel<String>()); String[] portNames; if (SerialNativeInterface.getOsType() == SerialNativeInterface.OS_MAC_OS_X) { // for MAC OS default pattern of jssc library is too restrictive portNames = SerialPortList.getPortNames("/dev/", Pattern.compile("tty\\..*")); } else { portNames = SerialPortList.getPortNames(); } for (String portName : portNames) { portNameSelector.addItem(portName); } if (portNameSelector.getItemCount() == 0) { JOptionPane.showMessageDialog(null, "Cannot find any serial port", "Error", JOptionPane.ERROR_MESSAGE); System.exit(1); } JPanel panel = new JPanel(); panel.setLayout(new GridBagLayout()); panel.add(new JLabel("Port ")); panel.add(portNameSelector); if (JOptionPane.showConfirmDialog(null, panel, "Select the port", JOptionPane.OK_CANCEL_OPTION) == JOptionPane.OK_OPTION) { return portNameSelector.getSelectedItem().toString(); } else { System.exit(0); } return ""; }
@SuppressWarnings("unchecked") private static String requestPort() { JComboBox<String> portNameSelector = new JComboBox<>(); portNameSelector.setModel(new DefaultComboBoxModel<String>()); String[] portNames; if (SerialNativeInterface.getOsType() == SerialNativeInterface.OS_MAC_OS_X) { // for MAC OS default pattern of jssc library is too restrictive portNames = SerialPortList.getPortNames("/dev/", Pattern.compile("tty\\..*")); } else { portNames = SerialPortList.getPortNames(); } for (String portName : portNames) { portNameSelector.addItem(portName); } if (portNameSelector.getItemCount() == 0) { JOptionPane.showMessageDialog(null, "Cannot find any serial port", "Error", JOptionPane.ERROR_MESSAGE); System.exit(1); } JPanel panel = new JPanel(); panel.setLayout(new GridBagLayout()); panel.add(new JLabel("Port ")); panel.add(portNameSelector); if (JOptionPane.showConfirmDialog(null, panel, "Select the port", JOptionPane.OK_CANCEL_OPTION) == JOptionPane.OK_OPTION) { return portNameSelector.getSelectedItem().toString(); } else { System.exit(0); } return ""; }
@SuppressWarnings("unchecked") private static String requestPort() { JComboBox<String> portNameSelector = new JComboBox<>(); portNameSelector.setModel(new DefaultComboBoxModel<String>()); String[] portNames; if (SerialNativeInterface.getOsType() == SerialNativeInterface.OS_MAC_OS_X) { // for MAC OS default pattern of jssc library is too restrictive portNames = SerialPortList.getPortNames("/dev/", Pattern.compile("tty\\..*")); } else { portNames = SerialPortList.getPortNames(); } for (String portName : portNames) { portNameSelector.addItem(portName); } if (portNameSelector.getItemCount() == 0) { JOptionPane.showMessageDialog(null, "Cannot find any serial port", "Error", JOptionPane.ERROR_MESSAGE); System.exit(1); } JPanel panel = new JPanel(); panel.setLayout(new GridBagLayout()); panel.add(new JLabel("Port ")); panel.add(portNameSelector); if (JOptionPane.showConfirmDialog(null, panel, "Select the port", JOptionPane.OK_CANCEL_OPTION) == JOptionPane.OK_OPTION) { return portNameSelector.getSelectedItem().toString(); } else { System.exit(0); } return ""; }
@Override public boolean isPortNameRegexMatch(String portName) { switch (SerialNativeInterface.getOsType()) { case SerialNativeInterface.OS_LINUX: return Pattern.matches(Common.envProps.getString("serial.port.linux.regex", "((cu|ttyS|ttyUSB|ttyACM|ttyAMA|rfcomm|ttyO|COM)[0-9]{1,3}|rs(232|485)-[0-9])"), portName); case SerialNativeInterface.OS_MAC_OS_X: return Pattern.matches( Common.envProps.getString("serial.port.osx.regex", "(cu|tty)..*"), portName); // Was "tty.(serial|usbserial|usbmodem).*") case SerialNativeInterface.OS_WINDOWS: return Pattern.matches(Common.envProps.getString("serial.port.windows.regex", ""), portName); default: return false; } }
Map<String, Boolean> portOwnership = new HashMap<String, Boolean>(); switch (SerialNativeInterface.getOsType()) { case SerialNativeInterface.OS_LINUX: portNames = SerialPortList.getPortNames(