Package gnu.io
Class RXTXPort
java.lang.Object
gnu.io.CommPort
gnu.io.SerialPort
gnu.io.RXTXPort
An extension of gnu.io.SerialPort
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected static final booleanprotected static final booleanprotected static final booleanprotected static final booleanprotected static final booleanprotected static final booleanFields inherited from class gnu.io.SerialPort
DATABITS_5, DATABITS_6, DATABITS_7, DATABITS_8, FLOWCONTROL_NONE, FLOWCONTROL_RTSCTS_IN, FLOWCONTROL_RTSCTS_OUT, FLOWCONTROL_XONXOFF_IN, FLOWCONTROL_XONXOFF_OUT, PARITY_EVEN, PARITY_MARK, PARITY_NONE, PARITY_ODD, PARITY_SPACE, STOPBITS_1, STOPBITS_1_5, STOPBITS_2 -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidbooleanbooleanExtension to CommAPI returns boolean true on successvoidclose()voidvoidvoidvoidenableReceiveFraming(int f) Receive framing controlvoidenableReceiveThreshold(int thresh) voidenableReceiveTimeout(int time) protected voidfinalize()Finalize the portintExtension to CommAPIintbooleanExtension to CommAPI returns boolean true on successintintExtension to CommAPIbyteExtension to CommAPI This is an extension to CommAPI.intintget the InputStreambooleanExtension to CommAPI returns boolean true on successintget the OutputStreamintbyteExtension to CommAPI This is an extension to CommAPI.intintintintExtension to CommAPI This is an extension to CommAPI.booleanisCD()booleanisCTS()booleanisDSR()booleanisDTR()booleanbooleanbooleanbooleanisRI()booleanisRTS()protected intRXTXPort read methodsprotected booleannativeDrain(boolean i) intvoidnotifyOnBreakInterrupt(boolean enable) voidnotifyOnCarrierDetect(boolean enable) voidnotifyOnCTS(boolean enable) voidnotifyOnDataAvailable(boolean enable) voidnotifyOnDSR(boolean enable) voidnotifyOnFramingError(boolean enable) voidnotifyOnOutputEmpty(boolean enable) voidnotifyOnOverrunError(boolean enable) voidnotifyOnParityError(boolean enable) voidnotifyOnRingIndicator(boolean enable) protected intreadArray(byte[] b, int off, int len) protected intreadByte()protected intreadTerminatedArray(byte[] b, int off, int len, byte[] t) voidRemove the serial port event listenervoidsendBreak(int duration) Write to the portbooleansendEvent(int event, boolean state) booleansetBaudBase(int BaudBase) Extension to CommAPI.booleansetCallOutHangup(boolean NoHup) Extension to CommAPI returns boolean true on successbooleansetDivisor(int Divisor) Extension to CommAPI.voidsetDTR(boolean state) booleansetEndOfInputChar(byte b) Extension to CommAPI This is an extension to CommAPI.voidsetFlowControlMode(int flowcontrol) voidsetInputBufferSize(int size) booleanExtension to CommAPI returns boolean true on successvoidsetOutputBufferSize(int size) booleansetParityErrorChar(byte b) Extension to CommAPI This is an extension to CommAPI.voidsetRcvFifoTrigger(int trigger) Deprecated.deprecated but used in KaffevoidsetRTS(boolean state) voidsetSerialPortParams(int b, int d, int s, int p) booleansetUARTType(String type, boolean test) Extension to CommAPI This is an extension to CommAPI.static intstaticGetBaudRate(String port) Extension to CommAPI This is an extension to CommAPI.static intstaticGetDataBits(String port) Extension to CommAPI This is an extension to CommAPI.static intstaticGetParity(String port) Extension to CommAPI This is an extension to CommAPI.static intstaticGetStopBits(String port) Extension to CommAPI This is an extension to CommAPI.static booleanstaticIsCD(String port) Extension to CommAPI This is an extension to CommAPI.static booleanstaticIsCTS(String port) Extension to CommAPI This is an extension to CommAPI.static booleanstaticIsDSR(String port) Extension to CommAPI This is an extension to CommAPI.static booleanstaticIsDTR(String port) Extension to CommAPI This is an extension to CommAPI.static booleanstaticIsRI(String port) Extension to CommAPI This is an extension to CommAPI.static booleanstaticIsRTS(String port) Extension to CommAPI This is an extension to CommAPI.static booleanstaticSetDSR(String port, boolean flag) Extension to CommAPI This is an extension to CommAPI.static booleanstaticSetDTR(String port, boolean flag) Extension to CommAPI This is an extension to CommAPI.static booleanstaticSetRTS(String port, boolean flag) Extension to CommAPI This is an extension to CommAPI.static voidstaticSetSerialPortParams(String f, int b, int d, int s, int p) Extension to CommAPI This is an extension to CommAPI.protected voidGive the native code a chance to start listening to the hardware or should we say give the native code control of the issue.protected voidwriteArray(byte[] b, int off, int len, boolean i) protected voidwriteByte(int b, boolean i)
-
Field Details
-
debug
protected static final boolean debug- See Also:
-
debug_read
protected static final boolean debug_read- See Also:
-
debug_read_results
protected static final boolean debug_read_results- See Also:
-
debug_write
protected static final boolean debug_write- See Also:
-
debug_events
protected static final boolean debug_events- See Also:
-
debug_verbose
protected static final boolean debug_verbose- See Also:
-
-
Constructor Details
-
RXTXPort
Open the named port- Parameters:
name- the name of the device to open- Throws:
PortInUseException- See Also:
-
-
Method Details
-
getOutputStream
get the OutputStream- Specified by:
getOutputStreamin classCommPort- Returns:
- OutputStream
-
getInputStream
get the InputStream- Specified by:
getInputStreamin classCommPort- Returns:
- InputStream
- See Also:
-
setSerialPortParams
public void setSerialPortParams(int b, int d, int s, int p) throws UnsupportedCommOperationException - Specified by:
setSerialPortParamsin classSerialPort- Throws:
UnsupportedCommOperationException
-
getBaudRate
public int getBaudRate()- Specified by:
getBaudRatein classSerialPort- Returns:
- int representing the baudrate This will not behave as expected with custom speeds
-
getDataBits
public int getDataBits()- Specified by:
getDataBitsin classSerialPort- Returns:
- int representing the databits
-
getStopBits
public int getStopBits()- Specified by:
getStopBitsin classSerialPort- Returns:
- int representing the stopbits
-
getParity
public int getParity()- Specified by:
getParityin classSerialPort- Returns:
- int representing the parity
-
setFlowControlMode
public void setFlowControlMode(int flowcontrol) - Specified by:
setFlowControlModein classSerialPort- Parameters:
flowcontrol- FLOWCONTROL_NONE is default- See Also:
-
getFlowControlMode
public int getFlowControlMode()- Specified by:
getFlowControlModein classSerialPort- Returns:
- int representing the flowmode
-
enableReceiveFraming
Receive framing control- Specified by:
enableReceiveFramingin classCommPort- Parameters:
f- framming- Throws:
UnsupportedCommOperationException
-
disableReceiveFraming
public void disableReceiveFraming()- Specified by:
disableReceiveFramingin classCommPort
-
isReceiveFramingEnabled
public boolean isReceiveFramingEnabled()- Specified by:
isReceiveFramingEnabledin classCommPort- Returns:
- true if framing is enabled
-
getReceiveFramingByte
public int getReceiveFramingByte()- Specified by:
getReceiveFramingBytein classCommPort- Returns:
- int representing the framing byte
-
NativegetReceiveTimeout
public int NativegetReceiveTimeout()- Returns:
- int the timeout
-
disableReceiveTimeout
public void disableReceiveTimeout()- Specified by:
disableReceiveTimeoutin classCommPort
-
enableReceiveTimeout
public void enableReceiveTimeout(int time) - Specified by:
enableReceiveTimeoutin classCommPort- Parameters:
time-
-
isReceiveTimeoutEnabled
public boolean isReceiveTimeoutEnabled()- Specified by:
isReceiveTimeoutEnabledin classCommPort- Returns:
- boolean true if recieve timeout is enabled
-
getReceiveTimeout
public int getReceiveTimeout()- Specified by:
getReceiveTimeoutin classCommPort- Returns:
- int the timeout
-
enableReceiveThreshold
public void enableReceiveThreshold(int thresh) - Specified by:
enableReceiveThresholdin classCommPort- Parameters:
thresh- threshold
-
disableReceiveThreshold
public void disableReceiveThreshold()- Specified by:
disableReceiveThresholdin classCommPort
-
getReceiveThreshold
public int getReceiveThreshold()- Specified by:
getReceiveThresholdin classCommPort- Returns:
- int the recieve threshold
-
isReceiveThresholdEnabled
public boolean isReceiveThresholdEnabled()- Specified by:
isReceiveThresholdEnabledin classCommPort- Returns:
- boolean true if receive threshold is enabled
-
setInputBufferSize
public void setInputBufferSize(int size) - Specified by:
setInputBufferSizein classCommPort- Parameters:
size-
-
getInputBufferSize
public int getInputBufferSize()- Specified by:
getInputBufferSizein classCommPort
-
setOutputBufferSize
public void setOutputBufferSize(int size) - Specified by:
setOutputBufferSizein classCommPort- Parameters:
size-
-
getOutputBufferSize
public int getOutputBufferSize()- Specified by:
getOutputBufferSizein classCommPort- Returns:
- in the output buffer size
-
isDTR
public boolean isDTR()- Specified by:
isDTRin classSerialPort- Returns:
- true if DTR is set
-
setDTR
public void setDTR(boolean state) - Specified by:
setDTRin classSerialPort- Parameters:
state-
-
setRTS
public void setRTS(boolean state) - Specified by:
setRTSin classSerialPort- Parameters:
state-
-
isCTS
public boolean isCTS()- Specified by:
isCTSin classSerialPort- Returns:
- boolean true if CTS is set
-
isDSR
public boolean isDSR()- Specified by:
isDSRin classSerialPort- Returns:
- boolean true if DSR is set
-
isCD
public boolean isCD()- Specified by:
isCDin classSerialPort- Returns:
- boolean true if CD is set
-
isRI
public boolean isRI()- Specified by:
isRIin classSerialPort- Returns:
- boolean true if RI is set
-
isRTS
public boolean isRTS()- Specified by:
isRTSin classSerialPort- Returns:
- boolean true if RTS is set
-
sendBreak
public void sendBreak(int duration) Write to the port- Specified by:
sendBreakin classSerialPort- Parameters:
duration-
-
writeByte
- Throws:
IOException
-
writeArray
- Throws:
IOException
-
nativeDrain
- Throws:
IOException
-
nativeavailable
RXTXPort read methods- Throws:
IOException
-
readByte
- Throws:
IOException
-
readArray
- Throws:
IOException
-
readTerminatedArray
- Throws:
IOException
-
checkMonitorThread
public boolean checkMonitorThread() -
sendEvent
public boolean sendEvent(int event, boolean state) - Parameters:
event-state-- Returns:
- boolean true if the port is closing
-
addEventListener
- Specified by:
addEventListenerin classSerialPort- Throws:
TooManyListenersException
-
removeEventListener
public void removeEventListener()Remove the serial port event listener- Specified by:
removeEventListenerin classSerialPort
-
waitForTheNativeCodeSilly
protected void waitForTheNativeCodeSilly()Give the native code a chance to start listening to the hardware or should we say give the native code control of the issue. This is important for applications that flicker the Monitor thread while keeping the port open. In worst case test cases this loops once or twice every time. -
notifyOnDataAvailable
public void notifyOnDataAvailable(boolean enable) - Specified by:
notifyOnDataAvailablein classSerialPort
-
notifyOnOutputEmpty
public void notifyOnOutputEmpty(boolean enable) - Specified by:
notifyOnOutputEmptyin classSerialPort- Parameters:
enable-
-
notifyOnCTS
public void notifyOnCTS(boolean enable) - Specified by:
notifyOnCTSin classSerialPort- Parameters:
enable-
-
notifyOnDSR
public void notifyOnDSR(boolean enable) - Specified by:
notifyOnDSRin classSerialPort- Parameters:
enable-
-
notifyOnRingIndicator
public void notifyOnRingIndicator(boolean enable) - Specified by:
notifyOnRingIndicatorin classSerialPort- Parameters:
enable-
-
notifyOnCarrierDetect
public void notifyOnCarrierDetect(boolean enable) - Specified by:
notifyOnCarrierDetectin classSerialPort- Parameters:
enable-
-
notifyOnOverrunError
public void notifyOnOverrunError(boolean enable) - Specified by:
notifyOnOverrunErrorin classSerialPort- Parameters:
enable-
-
notifyOnParityError
public void notifyOnParityError(boolean enable) - Specified by:
notifyOnParityErrorin classSerialPort- Parameters:
enable-
-
notifyOnFramingError
public void notifyOnFramingError(boolean enable) - Specified by:
notifyOnFramingErrorin classSerialPort- Parameters:
enable-
-
notifyOnBreakInterrupt
public void notifyOnBreakInterrupt(boolean enable) - Specified by:
notifyOnBreakInterruptin classSerialPort- Parameters:
enable-
-
close
public void close() -
finalize
protected void finalize()Finalize the port -
setRcvFifoTrigger
public void setRcvFifoTrigger(int trigger) Deprecated.deprecated but used in KaffeA dummy method added so RXTX compiles on Kaffee -
staticGetBaudRate
Extension to CommAPI This is an extension to CommAPI. It may not be supported on all operating systems. This is only accurate up to 38600 baud currently.- Parameters:
port- the name of the port thats been preopened- Returns:
- BaudRate on success
- Throws:
UnsupportedCommOperationException
-
staticGetDataBits
Extension to CommAPI This is an extension to CommAPI. It may not be supported on all operating systems.- Parameters:
port- the name of the port thats been preopened- Returns:
- DataBits on success
- Throws:
UnsupportedCommOperationException
-
staticGetParity
Extension to CommAPI This is an extension to CommAPI. It may not be supported on all operating systems.- Parameters:
port- the name of the port thats been preopened- Returns:
- Parity on success
- Throws:
UnsupportedCommOperationException
-
staticGetStopBits
Extension to CommAPI This is an extension to CommAPI. It may not be supported on all operating systems.- Parameters:
port- the name of the port thats been preopened- Returns:
- StopBits on success
- Throws:
UnsupportedCommOperationException
-
staticSetSerialPortParams
public static void staticSetSerialPortParams(String f, int b, int d, int s, int p) throws UnsupportedCommOperationException Extension to CommAPI This is an extension to CommAPI. It may not be supported on all operating systems. Set the SerialPort parameters 1.5 stop bits requires 5 databits- Parameters:
f- filenameb- baudrated- databitss- stopbitsp- parity- Throws:
UnsupportedCommOperationException- See Also:
-
staticSetDSR
public static boolean staticSetDSR(String port, boolean flag) throws UnsupportedCommOperationException Extension to CommAPI This is an extension to CommAPI. It may not be supported on all operating systems. Open the port and set DSR. remove lockfile and do not close This is so some software can appear to set the DSR before 'opening' the port a second time later on.- Returns:
- true on success
- Throws:
UnsupportedCommOperationException
-
staticSetDTR
public static boolean staticSetDTR(String port, boolean flag) throws UnsupportedCommOperationException Extension to CommAPI This is an extension to CommAPI. It may not be supported on all operating systems. Open the port and set DTR. remove lockfile and do not close This is so some software can appear to set the DTR before 'opening' the port a second time later on.- Returns:
- true on success
- Throws:
UnsupportedCommOperationException
-
staticSetRTS
public static boolean staticSetRTS(String port, boolean flag) throws UnsupportedCommOperationException Extension to CommAPI This is an extension to CommAPI. It may not be supported on all operating systems. Open the port and set RTS. remove lockfile and do not close This is so some software can appear to set the RTS before 'opening' the port a second time later on.- Returns:
- none
- Throws:
UnsupportedCommOperationException
-
staticIsRTS
Extension to CommAPI This is an extension to CommAPI. It may not be supported on all operating systems. find the fd and return RTS without using a Java open() call- Parameters:
port-- Returns:
- true if asserted
- Throws:
UnsupportedCommOperationException
-
staticIsCD
Extension to CommAPI This is an extension to CommAPI. It may not be supported on all operating systems. find the fd and return CD without using a Java open() call- Parameters:
port-- Returns:
- true if asserted
- Throws:
UnsupportedCommOperationException
-
staticIsCTS
Extension to CommAPI This is an extension to CommAPI. It may not be supported on all operating systems. find the fd and return CTS without using a Java open() call- Parameters:
port-- Returns:
- true if asserted
- Throws:
UnsupportedCommOperationException
-
staticIsDSR
Extension to CommAPI This is an extension to CommAPI. It may not be supported on all operating systems. find the fd and return DSR without using a Java open() call- Parameters:
port-- Returns:
- true if asserted
- Throws:
UnsupportedCommOperationException
-
staticIsDTR
Extension to CommAPI This is an extension to CommAPI. It may not be supported on all operating systems. find the fd and return DTR without using a Java open() call- Parameters:
port-- Returns:
- true if asserted
- Throws:
UnsupportedCommOperationException
-
staticIsRI
Extension to CommAPI This is an extension to CommAPI. It may not be supported on all operating systems. find the fd and return RI without using a Java open() call- Parameters:
port-- Returns:
- true if asserted
- Throws:
UnsupportedCommOperationException
-
getParityErrorChar
Extension to CommAPI This is an extension to CommAPI. It may not be supported on all operating systems.- Specified by:
getParityErrorCharin classSerialPort- Returns:
- int the Parity Error Character
- Throws:
UnsupportedCommOperationException
-
setParityErrorChar
Extension to CommAPI This is an extension to CommAPI. It may not be supported on all operating systems.- Specified by:
setParityErrorCharin classSerialPort- Parameters:
b- Parity Error Character- Returns:
- boolean true on success
- Throws:
UnsupportedCommOperationException
-
getEndOfInputChar
Extension to CommAPI This is an extension to CommAPI. It may not be supported on all operating systems.- Specified by:
getEndOfInputCharin classSerialPort- Returns:
- int the End of Input Character
- Throws:
UnsupportedCommOperationException
-
setEndOfInputChar
Extension to CommAPI This is an extension to CommAPI. It may not be supported on all operating systems.- Specified by:
setEndOfInputCharin classSerialPort- Parameters:
b- End Of Input Character- Returns:
- boolean true on success
- Throws:
UnsupportedCommOperationException
-
setUARTType
Extension to CommAPI This is an extension to CommAPI. It may not be supported on all operating systems.- Specified by:
setUARTTypein classSerialPort- Parameters:
type- String representation of the UART type which mayb be "none", "8250", "16450", "16550", "16550A", "16650", "16550V2" or "16750".test- boolean flag to determin if the UART should be tested.- Returns:
- boolean true on success
- Throws:
UnsupportedCommOperationException
-
getUARTType
Extension to CommAPI This is an extension to CommAPI. It may not be supported on all operating systems.- Specified by:
getUARTTypein classSerialPort- Returns:
- type String representation of the UART type which mayb be "none", "8250", "16450", "16550", "16550A", "16650", "16550V2" or "16750".
- Throws:
UnsupportedCommOperationException
-
setBaudBase
Extension to CommAPI. Set Baud Base to 38600 on Linux and W32 before using.- Specified by:
setBaudBasein classSerialPort- Parameters:
BaudBase- The clock frequency divided by 16. Default BaudBase is 115200.- Returns:
- true on success
- Throws:
UnsupportedCommOperationExceptionIOException
-
getBaudBase
Extension to CommAPI- Specified by:
getBaudBasein classSerialPort- Returns:
- BaudBase
- Throws:
UnsupportedCommOperationExceptionIOException
-
setDivisor
Extension to CommAPI. Set Baud Base to 38600 on Linux and W32 before using.- Specified by:
setDivisorin classSerialPort- Parameters:
Divisor-- Throws:
UnsupportedCommOperationExceptionIOException
-
getDivisor
Extension to CommAPI- Specified by:
getDivisorin classSerialPort- Returns:
- Divisor;
- Throws:
UnsupportedCommOperationExceptionIOException
-
setLowLatency
Extension to CommAPI returns boolean true on success- Specified by:
setLowLatencyin classSerialPort- Throws:
UnsupportedCommOperationException
-
getLowLatency
Extension to CommAPI returns boolean true on success- Specified by:
getLowLatencyin classSerialPort- Throws:
UnsupportedCommOperationException
-
setCallOutHangup
Extension to CommAPI returns boolean true on success- Specified by:
setCallOutHangupin classSerialPort- Throws:
UnsupportedCommOperationException
-
getCallOutHangup
Extension to CommAPI returns boolean true on success- Specified by:
getCallOutHangupin classSerialPort- Throws:
UnsupportedCommOperationException
-
clearCommInput
Extension to CommAPI returns boolean true on success
-