import gnu.io.*;
|
|
import java.util.*;
|
|
import java.io.InputStream;
|
|
import java.io.OutputStream;
|
|
|
|
|
|
public class Simple implements SerialPortEventListener
|
|
{
|
|
CommPortIdentifier cpi;
|
|
Enumeration ports;
|
|
SerialPort port = null;
|
|
InputStream input;
|
|
OutputStream output;
|
|
|
|
public static void main( String args[] )
|
|
{
|
|
boolean done = false;
|
|
Simple reader = new Simple( );
|
|
while ( !done )
|
|
{
|
|
try {
|
|
Thread.sleep(100);
|
|
} catch (Exception e) {}
|
|
}
|
|
}
|
|
|
|
public Simple( )
|
|
{
|
|
|
|
System.out.println("Getting PortIdentifiers");
|
|
ports = CommPortIdentifier.getPortIdentifiers();
|
|
while ( ports.hasMoreElements() )
|
|
{
|
|
cpi = (CommPortIdentifier) ports.nextElement();
|
|
if (cpi.getPortType() == CommPortIdentifier.PORT_SERIAL)
|
|
{
|
|
if ( cpi.getName().equals( "/dev/ttyS1" ) )
|
|
{
|
|
try {
|
|
port = (SerialPort) cpi.open("Simple", 2000);
|
|
port.addEventListener(this);
|
|
port.notifyOnDataAvailable(true);
|
|
output=port.getOutputStream();
|
|
input=port.getInputStream();
|
|
System.out.println("writing output");
|
|
output.write( new String("123456789\0").getBytes() );
|
|
} catch (Exception e)
|
|
{
|
|
e.printStackTrace();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
public void serialEvent(SerialPortEvent event) {
|
|
switch(event.getEventType())
|
|
{
|
|
case SerialPortEvent.BI:
|
|
System.out.print("BI\n");
|
|
case SerialPortEvent.OE:
|
|
System.out.print("OE\n");
|
|
case SerialPortEvent.FE:
|
|
System.out.print("FE\n");
|
|
case SerialPortEvent.PE:
|
|
System.out.print("PE\n");
|
|
case SerialPortEvent.CD:
|
|
System.out.print("CD\n");
|
|
case SerialPortEvent.CTS:
|
|
System.out.print("CTS\n");
|
|
case SerialPortEvent.DSR:
|
|
System.out.print("DSR\n");
|
|
case SerialPortEvent.RI:
|
|
System.out.print("RI\n");
|
|
case SerialPortEvent.OUTPUT_BUFFER_EMPTY:
|
|
System.out.print("Out Buff Empty\n");
|
|
break;
|
|
case SerialPortEvent.DATA_AVAILABLE:
|
|
byte in[] = new byte[800];
|
|
int ret = 0;
|
|
|
|
|
|
System.out.println("Got Data Available");
|
|
try {
|
|
ret = input.read( in, 0, 63 );
|
|
} catch (Exception e) {
|
|
System.out.println("Input Exception");
|
|
}
|
|
System.out.println("Printing read() results");
|
|
if ( ret > 0 )
|
|
{
|
|
try {
|
|
System.out.write( in, 0, ret );
|
|
System.out.println();
|
|
} catch ( Exception e )
|
|
{
|
|
e.printStackTrace();
|
|
}
|
|
}
|
|
System.exit( 0 );
|
|
break;
|
|
}
|
|
}
|
|
}
|