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