Package jmri.jmrix.jserialcomm
Class JSerialPort
- java.lang.Object
-
- jmri.jmrix.jserialcomm.JSerialPort
-
- All Implemented Interfaces:
SerialPort
public class JSerialPort extends java.lang.Object implements SerialPort
Implementation of serial port using jSerialComm.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface jmri.jmrix.SerialPort
SerialPort.Parity
-
-
Field Summary
-
Fields inherited from interface jmri.jmrix.SerialPort
LISTENING_EVENT_DATA_AVAILABLE, NO_PARITY, ONE_STOP_BIT
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static JSerialPortactivatePort(java.lang.String systemPrefix, java.lang.String inputPortName, org.slf4j.Logger log, int stop_bits, SerialPort.Parity parity)Open the port.voidaddDataListener(SerialPortDataListener listener)voidclearBreak()voidclearDTR()voidclearRTS()voidclosePort()static java.util.Vector<java.lang.String>getActualPortNames()Provide the actual serial port names.intgetBaudRate()booleangetCTS()booleangetDCD()java.lang.StringgetDescriptivePortName()booleangetDSR()booleangetDTR()intgetFlowControlSettings()java.io.InputStreamgetInputStream()intgetNumDataBits()intgetNumStopBits()java.io.OutputStreamgetOutputStream()SerialPort.ParitygetParity()booleangetRI()booleangetRTS()voidsetBaudRate(int baudrate)voidsetBreak()booleansetComPortTimeouts(int newTimeoutMode, int newReadTimeout, int newWriteTimeout)voidsetDTR()voidsetFlowControl(AbstractSerialPortController.FlowControl flow)Configure the flow control settings.voidsetNumDataBits(int bits)voidsetNumStopBits(int bits)voidsetParity(SerialPort.Parity parity)voidsetRTS()java.lang.StringtoString()
-
-
-
Method Detail
-
addDataListener
public void addDataListener(SerialPortDataListener listener)
- Specified by:
addDataListenerin interfaceSerialPort
-
getInputStream
public java.io.InputStream getInputStream()
- Specified by:
getInputStreamin interfaceSerialPort
-
getOutputStream
public java.io.OutputStream getOutputStream()
- Specified by:
getOutputStreamin interfaceSerialPort
-
setRTS
public void setRTS()
- Specified by:
setRTSin interfaceSerialPort
-
clearRTS
public void clearRTS()
- Specified by:
clearRTSin interfaceSerialPort
-
setBaudRate
public void setBaudRate(int baudrate)
- Specified by:
setBaudRatein interfaceSerialPort
-
getBaudRate
public int getBaudRate()
- Specified by:
getBaudRatein interfaceSerialPort
-
setNumDataBits
public void setNumDataBits(int bits)
- Specified by:
setNumDataBitsin interfaceSerialPort
-
getNumDataBits
public final int getNumDataBits()
- Specified by:
getNumDataBitsin interfaceSerialPort
-
setNumStopBits
public void setNumStopBits(int bits)
- Specified by:
setNumStopBitsin interfaceSerialPort
-
getNumStopBits
public final int getNumStopBits()
- Specified by:
getNumStopBitsin interfaceSerialPort
-
setParity
public void setParity(SerialPort.Parity parity)
- Specified by:
setParityin interfaceSerialPort
-
getParity
public SerialPort.Parity getParity()
- Specified by:
getParityin interfaceSerialPort
-
setDTR
public void setDTR()
- Specified by:
setDTRin interfaceSerialPort
-
clearDTR
public void clearDTR()
- Specified by:
clearDTRin interfaceSerialPort
-
getDTR
public boolean getDTR()
- Specified by:
getDTRin interfaceSerialPort
-
getRTS
public boolean getRTS()
- Specified by:
getRTSin interfaceSerialPort
-
getDSR
public boolean getDSR()
- Specified by:
getDSRin interfaceSerialPort
-
getCTS
public boolean getCTS()
- Specified by:
getCTSin interfaceSerialPort
-
getDCD
public boolean getDCD()
- Specified by:
getDCDin interfaceSerialPort
-
getRI
public boolean getRI()
- Specified by:
getRIin interfaceSerialPort
-
setFlowControl
public final void setFlowControl(AbstractSerialPortController.FlowControl flow)
Configure the flow control settings. Keep this in synch with the FlowControl enum.- Specified by:
setFlowControlin interfaceSerialPort- Parameters:
flow- set which kind of flow control to use
-
setBreak
public void setBreak()
- Specified by:
setBreakin interfaceSerialPort
-
clearBreak
public void clearBreak()
- Specified by:
clearBreakin interfaceSerialPort
-
getFlowControlSettings
public final int getFlowControlSettings()
- Specified by:
getFlowControlSettingsin interfaceSerialPort
-
setComPortTimeouts
public final boolean setComPortTimeouts(int newTimeoutMode, int newReadTimeout, int newWriteTimeout)
- Specified by:
setComPortTimeoutsin interfaceSerialPort
-
closePort
public void closePort()
- Specified by:
closePortin interfaceSerialPort
-
getDescriptivePortName
public java.lang.String getDescriptivePortName()
- Specified by:
getDescriptivePortNamein interfaceSerialPort
-
toString
public java.lang.String toString()
- Specified by:
toStringin interfaceSerialPort- Overrides:
toStringin classjava.lang.Object
-
activatePort
public static JSerialPort activatePort(java.lang.String systemPrefix, java.lang.String inputPortName, org.slf4j.Logger log, int stop_bits, SerialPort.Parity parity)
Open the port.- Parameters:
systemPrefix- the system prefixinputPortName- local system name for the desired portlog- Logger to use for errors, passed so that errors are logged from low-level class'stop_bits- The number of stop bits, either 1 or 2parity- one of the defined parity contants- Returns:
- the serial port object for later use
-
getActualPortNames
public static java.util.Vector<java.lang.String> getActualPortNames()
Provide the actual serial port names. As a public static method, this can be accessed outside the jmri.jmrix package to get the list of names for e.g. context reports.- Returns:
- the port names in the form they can later be used to open the port
-
-