本文整理匯總了Java中gnu.io.CommPortIdentifier.getPortIdentifier方法的典型用法代碼示例。如果您正苦於以下問題:Java CommPortIdentifier.getPortIdentifier方法的具體用法?Java CommPortIdentifier.getPortIdentifier怎麽用?Java CommPortIdentifier.getPortIdentifier使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類gnu.io.CommPortIdentifier
的用法示例。
在下文中一共展示了CommPortIdentifier.getPortIdentifier方法的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: connect
import gnu.io.CommPortIdentifier; //導入方法依賴的package包/類
/**
* {@inheritDoc}
*/
public void connect() throws EpsonProjectorException {
try {
logger.debug("Open connection to serial port '{}'", serialPortName);
CommPortIdentifier portIdentifier = CommPortIdentifier.getPortIdentifier(serialPortName);
CommPort commPort = portIdentifier.open(this.getClass().getName(),2000);
serialPort = (SerialPort) commPort;
serialPort.setSerialPortParams(9600, SerialPort.DATABITS_8,
SerialPort.STOPBITS_1, SerialPort.PARITY_NONE);
serialPort.enableReceiveThreshold(1);
serialPort.disableReceiveTimeout();
in = serialPort.getInputStream();
out = serialPort.getOutputStream();
out.flush();
if (in.markSupported()) {
in.reset();
}
// RXTX serial port library causes high CPU load
// Start event listener, which will just sleep and slow down event loop
serialPort.addEventListener(this);
serialPort.notifyOnDataAvailable(true);
} catch (Exception e) {
throw new EpsonProjectorException(e);
}
}
示例2: connect
import gnu.io.CommPortIdentifier; //導入方法依賴的package包/類
void connect(String destination) throws Exception {
CommPortIdentifier portIdentifier = CommPortIdentifier.getPortIdentifier(destination);
if (portIdentifier.isCurrentlyOwned()) {
log.warning("Error: Port for Dynamixel-Communication is currently in use");
} else {
CommPort commPort = portIdentifier.open(this.getClass().getName(), 2000);
if (commPort instanceof SerialPort) {
SerialPort serialPort = (SerialPort) commPort;
serialPort.setSerialPortParams(57600, SerialPort.DATABITS_8, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE);
in = serialPort.getInputStream();
out = serialPort.getOutputStream();
serialReader = new SerialReader(in);
serialPort.addEventListener(serialReader);
serialPort.notifyOnDataAvailable(true);
connected = true;
log.info("Connected to Dynamixel!");
} else {
log.warning("Error: Cannot connect to Dynamixel!");
}
}
}
示例3: connect
import gnu.io.CommPortIdentifier; //導入方法依賴的package包/類
void connect(String destination) throws Exception {
CommPortIdentifier portIdentifier = CommPortIdentifier.getPortIdentifier(destination);
if (portIdentifier.isCurrentlyOwned()) {
log.warning("Error: Port for Pan-Tilt-Communication is currently in use");
} else {
CommPort commPort = portIdentifier.open(this.getClass().getName(), 2000);
if (commPort instanceof SerialPort) {
SerialPort serialPort = (SerialPort) commPort;
serialPort.setSerialPortParams(9600, SerialPort.DATABITS_8, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE);
in = serialPort.getInputStream();
out = serialPort.getOutputStream();
serialPort.addEventListener(new SerialReader(in));
serialPort.notifyOnDataAvailable(true);
connected = true;
log.info("Connected to Pan-Tilt-Unit!");
} else {
log.warning("Error: Cannot connect to Pan-Tilt-Unit!");
}
}
}
示例4: connect
import gnu.io.CommPortIdentifier; //導入方法依賴的package包/類
void connect(String destination) throws Exception {
CommPortIdentifier portIdentifier = CommPortIdentifier.getPortIdentifier(destination);
if (portIdentifier.isCurrentlyOwned()) {
log.warning("Error: Port for Dynamixel-Communication is currently in use");
} else {
CommPort commPort = portIdentifier.open(this.getClass().getName(), 2000);
if (commPort instanceof SerialPort) {
SerialPort serialPort = (SerialPort) commPort;
serialPort.setSerialPortParams(57142, SerialPort.DATABITS_8, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE);
in = serialPort.getInputStream();
out = serialPort.getOutputStream();
serialPort.addEventListener(new SerialReader(in));
serialPort.notifyOnDataAvailable(true);
log.info("Connected to Dynamixel!");
} else {
log.warning("Error: Cannot connect to Dynamixel!");
}
}
}
示例5: openPort
import gnu.io.CommPortIdentifier; //導入方法依賴的package包/類
private void openPort() {
appendString("opening " + portName + "...");
try {
CommPortIdentifier cpi = CommPortIdentifier.getPortIdentifier(portName);
port = (SerialPort) cpi.open(portName, 1000);
port.setSerialPortParams(
Integer.parseInt(baudText.getText()),
SerialPort.DATABITS_8,
SerialPort.STOPBITS_1,
SerialPort.PARITY_NONE);
// port.setFlowControlMode(SerialPort.FLOWCONTROL_NONE);
port.setFlowControlMode(SerialPort.FLOWCONTROL_RTSCTS_IN
| SerialPort.FLOWCONTROL_RTSCTS_OUT);
port.setFlowControlMode(SerialPort.FLOWCONTROL_NONE);
port.addEventListener(this);
port.notifyOnDataAvailable(true);
port.notifyOnCTS(true);
isr = new InputStreamReader(port.getInputStream());
os = port.getOutputStream();
} catch (Exception e) {
log.warning(e.toString());
appendString(e.toString());
} finally {
updateFlags();
appendString("done.\n");
}
}
示例6: connect
import gnu.io.CommPortIdentifier; //導入方法依賴的package包/類
/** Method to connect to an available port */
@SuppressWarnings("static-access")
private void connect(String portName) throws Exception {
CommPortIdentifier commPortIdentifier = CommPortIdentifier.getPortIdentifier(portName);
if (commPortIdentifier.isCurrentlyOwned()) {
System.out.println("Error: Port is currently in use");
} else {
CommPort commPort = commPortIdentifier.open(this.getClass().getName(), 2000);
if (commPort instanceof SerialPort) {
SerialPort serialPort = (SerialPort) commPort;
serialPort.setSerialPortParams(References.BAUDRATE, SerialPort.DATABITS_8, SerialPort.STOPBITS_1,
SerialPort.PARITY_NONE);
this.inputStream = serialPort.getInputStream();
this.outputStream = serialPort.getOutputStream();
References.SERIAL_READER = new SerialReader(this.inputStream);
readThread = new Thread(References.SERIAL_READER);
readThread.start();
} else {
System.out.println("Error: Only serial ports allowed");
}
}
}
示例7: open
import gnu.io.CommPortIdentifier; //導入方法依賴的package包/類
@Override
public void open() {
try{
CommPortIdentifier portIdentifier = CommPortIdentifier.getPortIdentifier(portName);
if (portIdentifier.isCurrentlyOwned())
System.out.println("Error: Port is currently in use");
else {
CommPort port = portIdentifier.open(this.getClass().getName(), getTimeout());//for now class name
if (port instanceof SerialPort){
serial = (SerialPort) port;
serial.setSerialPortParams(baudrate, SerialPort.DATABITS_8
, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE);
serial.enableReceiveTimeout(timeout);
this.in = serial.getInputStream();
this.out = serial.getOutputStream();
isOpened = true;
}
else
System.out.println("Error: Only serial ports are handled");
}
}
catch (PortInUseException | UnsupportedCommOperationException | NoSuchPortException | IOException e) {
if(serial != null)
serial.close();
serial = null;
e.printStackTrace();
}
}
示例8: RpLidarLowLevelDriver
import gnu.io.CommPortIdentifier; //導入方法依賴的package包/類
/**
* Initializes serial connection
*
* @param portName Path to serial port
* @param listener Listener for in comming packets
* @throws Exception
*/
public RpLidarLowLevelDriver(final String portName, final RpLidarListener listener) throws Exception {
log.info("Opening port " + portName);
this.listener = listener;
//Configuration for Serial port operations
final CommPortIdentifier portIdentifier = CommPortIdentifier.getPortIdentifier(portName);
final CommPort commPort = portIdentifier.open("FOO", 2000);
serialPort = (SerialPort) commPort;
serialPort.setSerialPortParams(115200, SerialPort.DATABITS_8, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE);
serialPort.setFlowControlMode(SerialPort.FLOWCONTROL_NONE);
serialPort.setDTR(false); // lovely undocumented feature where if true the motor stops spinning
in = serialPort.getInputStream();
out = serialPort.getOutputStream();
readThread = new ReadSerialThread();
new Thread(readThread).start();
}
示例9: getPort
import gnu.io.CommPortIdentifier; //導入方法依賴的package包/類
public static FMilaSerialPort getPort(int speed, String port) throws IOException {
SerialPort serialPort;
try {
CommPortIdentifier comm = CommPortIdentifier.getPortIdentifier(port);
if (comm.isCurrentlyOwned()) {
throw new IOException("StationInUseError");
}
serialPort = comm.open("4mila", 2000);
serialPort.setSerialPortParams(speed, SerialPort.DATABITS_8, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE);
serialPort.setFlowControlMode(SerialPort.FLOWCONTROL_NONE);
serialPort.disableReceiveTimeout();
serialPort.disableReceiveFraming();
serialPort.disableReceiveThreshold();
serialPort.notifyOnDataAvailable(true);
serialPort.notifyOnOutputEmpty(true);
}
catch (PortInUseException | UnsupportedCommOperationException | NoSuchPortException e) {
throw new IOException(e.getMessage(), e);
}
return new RXTXSerialPort(serialPort);
}
示例10: connect
import gnu.io.CommPortIdentifier; //導入方法依賴的package包/類
public void connect(String portName) throws Exception {
CommPortIdentifier portIdentifier = CommPortIdentifier.getPortIdentifier(portName);
LOG.info("Found the " + portName + " port.");
if (portIdentifier.isCurrentlyOwned()) {
LOG.error("Port is currently in use");
} else {
CommPort commPort = portIdentifier.open(this.getClass().getName(), 2000);
LOG.info("Opened port " + portName);
if (commPort instanceof SerialPort) {
SerialPort serialPort = (SerialPort) commPort;
serialPort.setSerialPortParams(115200, SerialPort.DATABITS_8, SerialPort.PARITY_EVEN, SerialPort.FLOWCONTROL_NONE);
printWriter = new PrintWriter(serialPort.getOutputStream());
bufferedReader = new BufferedReader(new InputStreamReader(serialPort.getInputStream()));
// For skipping AnA string
skipInput();
} else {
LOG.error("Only serial ports are handled by this example.");
}
}
}
示例11: newLink
import gnu.io.CommPortIdentifier; //導入方法依賴的package包/類
@Override
public LinkDelegate newLink(SerialLinkConfig config)
throws NoSuchPortException, PortInUseException,
UnsupportedCommOperationException, IOException {
CommPortIdentifier portIdentifier = CommPortIdentifier
.getPortIdentifier(config.getPort());
checkState(!portIdentifier.isCurrentlyOwned(),
"Port %s is currently in use", config.getPort());
final SerialPort serialPort = serialPort(config, portIdentifier);
StreamConnection connection = new StreamConnection(
serialPort.getInputStream(), serialPort.getOutputStream(),
config.getProto());
ConnectionBasedLink connectionBasedLink = new ConnectionBasedLink(
connection, config.getProto());
@SuppressWarnings("resource")
Link link = config.isQos() ? new QosLink(connectionBasedLink)
: connectionBasedLink;
waitForArdulink(config, connectionBasedLink);
return new LinkDelegate(link) {
@Override
public void close() throws IOException {
super.close();
serialPort.close();
}
};
}
示例12: connect
import gnu.io.CommPortIdentifier; //導入方法依賴的package包/類
private void connect(String portName) throws Exception {
CommPortIdentifier portIdentifier = CommPortIdentifier.getPortIdentifier(portName);
if (portIdentifier.isCurrentlyOwned())
throw new PortInUseException();
CommPort commPort = portIdentifier.open(this.getClass().getName(), COMPORT_PORT);
if (commPort instanceof SerialPort) {
SerialPort serialPort = (SerialPort) commPort;
serialPort.setSerialPortParams(BAUD_RATE, SerialPort.DATABITS_8, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE);
InputStream in = serialPort.getInputStream();
OutputStream out = serialPort.getOutputStream();
new Thread(new SerialReader(in)).start();
new Thread(new SerialWriter(out)).start();
} else {
throw new PortUnreachableException("ERROR - Only serial ports are handled by this class");
}
}
示例13: handleEvent
import gnu.io.CommPortIdentifier; //導入方法依賴的package包/類
public void handleEvent() {
try {
CommPortIdentifier portId = CommPortIdentifier.getPortIdentifier(SerialConf.WINDOWS_PORT);
if (portId.isCurrentlyOwned()) {
System.out.println("Port busy!");
} else {
CommPort commPort = portId.open("whatever it's name", SerialConf.TIME_OUT);
if (commPort instanceof SerialPort) {
serialPort = (SerialPort) commPort;
serialPort.setSerialPortParams(SerialConf.BAUD,
SerialPort.DATABITS_8,
SerialPort.STOPBITS_1,
SerialPort.PARITY_EVEN);
in = serialPort.getInputStream();
serialPort.notifyOnDataAvailable(true);
serialPort.addEventListener(this);
} else {
commPort.close();
System.out.println("the port is not serial!");
}
}
} catch (Exception e) {
serialPort.close();
System.out.println("Error: SerialOpen!!!");
e.printStackTrace();
}
}
示例14: init
import gnu.io.CommPortIdentifier; //導入方法依賴的package包/類
private void init() {
try {
if (m_out == null) {
m_PortIdPrinter = CommPortIdentifier.getPortIdentifier(m_sPort); // Tomamos el puerto
m_CommPortPrinter = m_PortIdPrinter.open("PORTID", 2000); // Abrimos el puerto
m_out = m_CommPortPrinter.getOutputStream(); // Tomamos el chorro de escritura
if (m_PortIdPrinter.getPortType() == CommPortIdentifier.PORT_SERIAL) {
((SerialPort)m_CommPortPrinter).setSerialPortParams(9600, SerialPort.DATABITS_8, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE); // Configuramos el puerto
} else if (m_PortIdPrinter.getPortType() == CommPortIdentifier.PORT_PARALLEL) {
((ParallelPort)m_CommPortPrinter).setMode(1);
}
}
} catch (Exception e) {
m_PortIdPrinter = null;
m_CommPortPrinter = null;
m_out = null;
m_in = null;
// } catch (NoSuchPortException e) {
// } catch (PortInUseException e) {
// } catch (UnsupportedCommOperationException e) {
// } catch (IOException e) {
}
}
示例15: openPort
import gnu.io.CommPortIdentifier; //導入方法依賴的package包/類
@Override
synchronized protected void openPort() throws NoSuchPortException, PortInUseException, UnsupportedCommOperationException {
if (port != null)
return;
log.info("Opening port: " + portName);
CommPortIdentifier ident = CommPortIdentifier.getPortIdentifier(portName);
port = ident.open("ModbusRtuClient on " + portName, 2000);
port.setOutputBufferSize(buffer.length);
port.setInputBufferSize(buffer.length);
try {
port.setSerialPortParams(baudRate, dataBits, stopBits, parity);
port.enableReceiveTimeout(timeout);
port.setFlowControlMode(SerialPort.FLOWCONTROL_NONE);
} catch (UnsupportedCommOperationException e) {
close();
throw e;
}
log.info("Port opened: " + port.getName());
}