Blame |
Last modification |
View Log
| RSS feed
package dongfang.mkt.comm.serial;
import gnu.io.CommPort;
import gnu.io.CommPortIdentifier;
import gnu.io.NoSuchPortException;
import gnu.io.SerialPort;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import dongfang.mkt.comm.MKConnection;
public class RXTXSerialPort
implements MKConnection
{
private SerialPort serialPort
;
public void init
(String id
) throws IOException {
// CommPortIdentifier.getPortIdentifier("COM1");
// Just take the 1st available port.
CommPortIdentifier portIdentifier =
null;
try {
if (id ==
null) {
portIdentifier =
(CommPortIdentifier
) CommPortIdentifier
.
getPortIdentifiers().
nextElement();
if (portIdentifier ==
null) {
throw new IOException(
"No serial port found (in search for any serial port).");
}
} else
portIdentifier = CommPortIdentifier.
getPortIdentifier(id
);
} catch (NoSuchPortException ex
) {
throw new IOException(ex.
getMessage());
}
System.
out.
println("Using " + portIdentifier.
getName());
if (portIdentifier.
isCurrentlyOwned()) {
System.
out.
println("Error: Port is currently in use");
return;
} else {
try {
CommPort commPort = portIdentifier.
open(this.
getClass()
.
getName(),
2001);
if (commPort
instanceof SerialPort
) {
serialPort =
(SerialPort
) commPort
;
serialPort.
setSerialPortParams(57600,
SerialPort.
DATABITS_8, SerialPort.
STOPBITS_1,
SerialPort.
PARITY_NONE);
}
} catch (Exception ex
) {
throw new IOException(ex.
getMessage());
}
}
}
public InputStream getInputStream
() throws IOException {
return serialPort.
getInputStream();
}
public OutputStream getOutputStream
() throws IOException {
return serialPort.
getOutputStream();
}
}