1 /* Non functional contact tjarvi@qbang.org for details */ 2 3 /*------------------------------------------------------------------------- 4 | RXTX License v 2.1 - LGPL v 2.1 + Linking Over Controlled Interface. 5 | RXTX is a native interface to serial ports in java. 6 | Copyright 1997-2007 by Trent Jarvi tjarvi@qbang.org and others who 7 | actually wrote it. See individual source files for more information. 8 | 9 | A copy of the LGPL v 2.1 may be found at 10 | http://www.gnu.org/licenses/lgpl.txt on March 4th 2007. A copy is 11 | here for your convenience. 12 | 13 | This library is free software; you can redistribute it and/or 14 | modify it under the terms of the GNU Lesser General Public 15 | License as published by the Free Software Foundation; either 16 | version 2.1 of the License, or (at your option) any later version. 17 | 18 | This library is distributed in the hope that it will be useful, 19 | but WITHOUT ANY WARRANTY; without even the implied warranty of 20 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 21 | Lesser General Public License for more details. 22 | 23 | An executable that contains no derivative of any portion of RXTX, but 24 | is designed to work with RXTX by being dynamically linked with it, 25 | is considered a "work that uses the Library" subject to the terms and 26 | conditions of the GNU Lesser General Public License. 27 | 28 | The following has been added to the RXTX License to remove 29 | any confusion about linking to RXTX. We want to allow in part what 30 | section 5, paragraph 2 of the LGPL does not permit in the special 31 | case of linking over a controlled interface. The intent is to add a 32 | Java Specification Request or standards body defined interface in the 33 | future as another exception but one is not currently available. 34 | 35 | http://www.fsf.org/licenses/gpl-faq.html#LinkingOverControlledInterface 36 | 37 | As a special exception, the copyright holders of RXTX give you 38 | permission to link RXTX with independent modules that communicate with 39 | RXTX solely through the Sun Microsytems CommAPI interface version 2, 40 | regardless of the license terms of these independent modules, and to copy 41 | and distribute the resulting combined work under terms of your choice, 42 | provided that every copy of the combined work is accompanied by a complete 43 | copy of the source code of RXTX (the version of RXTX used to produce the 44 | combined work), being distributed under the terms of the GNU Lesser General 45 | Public License plus this exception. An independent module is a 46 | module which is not derived from or based on RXTX. 47 | 48 | Note that people who make modified versions of RXTX are not obligated 49 | to grant this special exception for their modified versions; it is 50 | their choice whether to do so. The GNU Lesser General Public License 51 | gives permission to release a modified version without this exception; this 52 | exception also makes it possible to release a modified version which 53 | carries forward this exception. 54 | 55 | You should have received a copy of the GNU Lesser General Public 56 | License along with this library; if not, write to the Free 57 | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 58 | All trademarks belong to their respective owners. 59 --------------------------------------------------------------------------*/ 60 package gnu.io; 61 62 import java.io.*; 63 import java.util.*; 64 65 /** 66 * @author Trent Jarvi 67 * @version %I%, %G% 68 * @since JDK1.0 69 */ 70 71 abstract class RS485Port extends CommPort { 72 public static final int DATABITS_5 =5; 73 public static final int DATABITS_6 =6; 74 public static final int DATABITS_7 =7; 75 public static final int DATABITS_8 =8; 76 public static final int PARITY_NONE =0; 77 public static final int PARITY_ODD =1; 78 public static final int PARITY_EVEN =2; 79 public static final int PARITY_MARK =3; 80 public static final int PARITY_SPACE =4; 81 public static final int STOPBITS_1 =1; 82 public static final int STOPBITS_1_5 =0; //wrong 83 public static final int STOPBITS_2 =2; 84 public static final int FLOWCONTROL_NONE =0; 85 public static final int FLOWCONTROL_RTSCTS_IN =1; 86 public static final int FLOWCONTROL_RTSCTS_OUT =2; 87 public static final int FLOWCONTROL_XONXOFF_IN =4; 88 public static final int FLOWCONTROL_XONXOFF_OUT=8; 89 setRS485PortParams( int b, int d, int s, int p )90 public abstract void setRS485PortParams( int b, int d, int s, int p ) throws UnsupportedCommOperationException; getBaudRate()91 public abstract int getBaudRate(); getDataBits()92 public abstract int getDataBits(); getStopBits()93 public abstract int getStopBits(); getParity()94 public abstract int getParity(); setFlowControlMode( int flowcontrol )95 public abstract void setFlowControlMode( int flowcontrol ) throws UnsupportedCommOperationException; getFlowControlMode()96 public abstract int getFlowControlMode(); isDTR()97 public abstract boolean isDTR(); setDTR( boolean state )98 public abstract void setDTR( boolean state ); setRTS( boolean state )99 public abstract void setRTS( boolean state ); isCTS()100 public abstract boolean isCTS(); isDSR()101 public abstract boolean isDSR(); isCD()102 public abstract boolean isCD(); isRI()103 public abstract boolean isRI(); isRTS()104 public abstract boolean isRTS(); sendBreak( int duration )105 public abstract void sendBreak( int duration ); addEventListener( RS485PortEventListener lsnr )106 public abstract void addEventListener( RS485PortEventListener lsnr ) throws TooManyListenersException; removeEventListener()107 public abstract void removeEventListener(); notifyOnDataAvailable( boolean enable )108 public abstract void notifyOnDataAvailable( boolean enable ); notifyOnOutputEmpty( boolean enable )109 public abstract void notifyOnOutputEmpty( boolean enable ); notifyOnCTS( boolean enable )110 public abstract void notifyOnCTS( boolean enable ); notifyOnDSR( boolean enable )111 public abstract void notifyOnDSR( boolean enable ); notifyOnRingIndicator( boolean enable )112 public abstract void notifyOnRingIndicator( boolean enable ); notifyOnCarrierDetect( boolean enable )113 public abstract void notifyOnCarrierDetect( boolean enable ); notifyOnOverrunError( boolean enable )114 public abstract void notifyOnOverrunError( boolean enable ); notifyOnParityError( boolean enable )115 public abstract void notifyOnParityError( boolean enable ); notifyOnFramingError( boolean enable )116 public abstract void notifyOnFramingError( boolean enable ); notifyOnBreakInterrupt( boolean enable )117 public abstract void notifyOnBreakInterrupt( boolean enable ); 118 /* 119 public abstract void setRcvFifoTrigger(int trigger); 120 deprecated 121 */ 122 123 } 124