Blame | Last modification | View Log | Download
/*AVRcamVIEW: A PC application to test out the functionallity of theAVRcam real-time image processing engine.Copyright (C) 2004 Brent A. TaylorThis program is free software; you can redistribute it and/ormodify it under the terms of the GNU General PublicLicense as published by the Free Software Foundation; eitherversion 2 of the License, or (at your option) any later version.This program is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY; without even the implied warranty ofMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNUGeneral Public License for more details.You should have received a copy of the GNU General PublicLicense along with this program; if not, write to the Free SoftwareFoundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USAFor more information on the AVRcamVIEW, please contact:taylorba@comcast.netor go to www.jrobot.net for more details regarding the system.*/package avr.connection;import java.io.*;import java.net.*;import java.nio.*;import java.nio.channels.*;import java.util.*;import javax.comm.*;/************************************************************************ This class represents a Connection to a Serial Port.*/public class SerialConnection extends AbstractConnection {private SerialPort serialPort;private SerialParams params;private String comPort;public static String[] getSerialPorts() {ArrayList ports = new ArrayList();Enumeration allPorts = CommPortIdentifier.getPortIdentifiers();CommPortIdentifier identifier;while(allPorts.hasMoreElements()) {identifier = (CommPortIdentifier)allPorts.nextElement();if(identifier.getPortType() == CommPortIdentifier.PORT_SERIAL) {ports.add(identifier.getName());}}Collections.reverse(ports);return (String[])ports.toArray(new String[ports.size()]);}public SerialConnection(String comPort) {this(comPort, new SerialParams());}public SerialConnection(String comPort, SerialParams params) {this.comPort = comPort;this.params = params;}public Object getConnectionObject() {return serialPort;}public synchronized void connect() throws Exception {CommPortIdentifier identifier = CommPortIdentifier.getPortIdentifier(comPort);serialPort = (SerialPort)identifier.open("AVRcamView", 2000);serialPort.setFlowControlMode(params.getFlowControl());serialPort.setSerialPortParams(params.getBaudRate(),params.getDataBits(),params.getStopBits(),params.getParity());setConnected();}public synchronized void disconnect() throws IOException {serialPort.close();setDisconnected();}public InputStream getInputStream() throws IOException {return serialPort.getInputStream();}public OutputStream getOutputStream() throws IOException {return serialPort.getOutputStream();}public ByteChannel getChannel() {return null;}public String toString() {return serialPort.toString();}public void setSerialParams(SerialParams params) throws UnsupportedCommOperationException {serialPort.setFlowControlMode(params.getFlowControl());serialPort.setSerialPortParams(params.getBaudRate(),params.getDataBits(),params.getStopBits(),params.getParity());this.params = params;}public String getComPort() {return comPort;}public SerialParams getSerialParams() {return params;}}