Package jmri.jmrix.dcc4pc.serialdriver
Class SerialDriverAdapter
- java.lang.Object
-
- jmri.jmrix.AbstractPortController
-
- jmri.jmrix.AbstractSerialPortController
-
- jmri.jmrix.dcc4pc.Dcc4PcPortController
-
- jmri.jmrix.dcc4pc.serialdriver.SerialDriverAdapter
-
- All Implemented Interfaces:
PortAdapter,SerialPortAdapter
public class SerialDriverAdapter extends Dcc4PcPortController
Implements SerialPortAdapter for the Dcc4Pc system.This connects an Dcc4Pc command station via a serial com port.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class jmri.jmrix.AbstractSerialPortController
AbstractSerialPortController.Blocking, AbstractSerialPortController.FlowControl
-
Nested classes/interfaces inherited from class jmri.jmrix.AbstractPortController
AbstractPortController.Option
-
-
Field Summary
Fields Modifier and Type Field Description (package private) SerialPortactiveSerialPort(package private) java.io.InputStreamserialStream-
Fields inherited from class jmri.jmrix.AbstractSerialPortController
currentSerialPort, mBaudRate, mPort
-
Fields inherited from class jmri.jmrix.AbstractPortController
allowConnectionRecovery, manufacturerName, opened, option1Name, option2Name, option3Name, option4Name, options, reconnectinterval, reconnectMaxAttempts, reconnectMaxInterval
-
-
Constructor Summary
Constructors Constructor Description SerialDriverAdapter()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidconfigure()set up all of the other objects to operate with an Dcc4Pc command station connected to this portvoidconfigureOption2(java.lang.String value)Set the second port option.intdefaultBaudIndex()Get the index of the default port speed for this adapter from the validSpeeds and validRates arrays.java.io.DataInputStreamgetInputStream()Get the InputStream from the port.java.io.DataOutputStreamgetOutputStream()Get the outputStream to the port.SerialPortgetSerialPort()java.lang.StringopenPort(java.lang.String portName, java.lang.String appName)Open a specified port.java.lang.Stringoption2Name()Get a String that says what Option 2 represents May be an empty string, but will not be nullvoidsetHandshake(int mode)int[]validBaudNumbers()Get an array of valid baud rate numbers; used to store/load adapter speed option.java.lang.String[]validBaudRates()Get an array of valid baud rate strings; used to display valid options in Connections Preferences.java.lang.String[]validOption1()Option 1 controls the connection used for programming.-
Methods inherited from class jmri.jmrix.dcc4pc.Dcc4PcPortController
getSystemConnectionMemo
-
Methods inherited from class jmri.jmrix.AbstractSerialPortController
activatePort, activatePort, activatePort, closeConnection, closeSerialPort, configureBaudRate, configureBaudRateFromIndex, configureBaudRateFromNumber, configureLeads, configureLeadsAndFlowControl, configureLeadsAndFlowControl, connect, currentBaudNumber, getActualPortNames, getCurrentBaudIndex, getCurrentBaudNumber, getCurrentBaudRate, getCurrentPortName, getFlowControl, getPortSettingsString, handlePortBusy, handlePortNotFound, handlePortNotFound, isPortOpen, replacePortWithFakePort, reportPortStatus, resetupConnection, setBaudRate, setComPortTimeouts, setDataListener, setFlowControl, setPort
-
Methods inherited from class jmri.jmrix.AbstractPortController
configureOption1, configureOption3, configureOption4, dispose, getDisabled, getManufacturer, getOption1Name, getOption2Name, getOption3Name, getOption4Name, getOptionChoices, getOptionDisplayName, getOptions, getOptionState, getReconnectMaxAttempts, getReconnectMaxInterval, getSystemPrefix, getUserName, isDirty, isOptionAdvanced, isOptionTypePassword, isOptionTypeText, isRestartRequired, purgeStream, reconnect, reconnectFromLoop, recover, safeSleep, setClosed, setDisabled, setManufacturer, setOpened, setOptionState, setReconnectMaxAttempts, setReconnectMaxInterval, setSystemConnectionMemo, setSystemPrefix, setUserName, status
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface jmri.jmrix.PortAdapter
dispose, getDisabled, getOption1Name, getOption2Name, getOption3Name, getOption4Name, getOptionChoices, getOptionDisplayName, getOptions, getOptionState, getReconnectMaxAttempts, getReconnectMaxInterval, getSystemPrefix, getUserName, isDirty, isOptionAdvanced, isOptionTypePassword, isOptionTypeText, isRestartRequired, recover, setDisabled, setOptionState, setReconnectMaxAttempts, setReconnectMaxInterval, setSystemConnectionMemo, setSystemPrefix, setUserName
-
Methods inherited from interface jmri.jmrix.SerialPortAdapter
configureOption1, configureOption3, configureOption4, getManufacturer, getPortNames, setManufacturer, status
-
-
-
-
Field Detail
-
activeSerialPort
SerialPort activeSerialPort
-
serialStream
java.io.InputStream serialStream
-
-
Constructor Detail
-
SerialDriverAdapter
public SerialDriverAdapter()
-
-
Method Detail
-
openPort
public java.lang.String openPort(java.lang.String portName, java.lang.String appName)
Description copied from interface:SerialPortAdapterOpen a specified port.- Parameters:
portName- name tu use for this portappName- provided to the underlying OS during startup so that it can show on status displays, etc.- Returns:
- null indicates OK return, else error message.
-
setHandshake
public void setHandshake(int mode)
-
getSerialPort
public SerialPort getSerialPort()
-
validOption1
public java.lang.String[] validOption1()
Option 1 controls the connection used for programming.- Returns:
- array with options for programming.
-
option2Name
public java.lang.String option2Name()
Get a String that says what Option 2 represents May be an empty string, but will not be null- Returns:
- option to match detected locos to roster.
-
configureOption2
public void configureOption2(java.lang.String value)
Set the second port option. Only to be used after construction, but before the openPort call- Specified by:
configureOption2in interfacePortAdapter- Specified by:
configureOption2in interfaceSerialPortAdapter- Overrides:
configureOption2in classAbstractPortController- Parameters:
value- to set the option to
-
getInputStream
public java.io.DataInputStream getInputStream()
Description copied from class:AbstractPortControllerGet the InputStream from the port.- Specified by:
getInputStreamin interfacePortAdapter- Overrides:
getInputStreamin classAbstractSerialPortController- Returns:
- the InputStream from the port
-
getOutputStream
public java.io.DataOutputStream getOutputStream()
Description copied from class:AbstractPortControllerGet the outputStream to the port.- Specified by:
getOutputStreamin interfacePortAdapter- Overrides:
getOutputStreamin classAbstractSerialPortController- Returns:
- the outputStream to the port
-
validBaudRates
public java.lang.String[] validBaudRates()
Get an array of valid baud rate strings; used to display valid options in Connections Preferences. Currently only 115,200 bps- Specified by:
validBaudRatesin interfaceSerialPortAdapter- Overrides:
validBaudRatesin classAbstractSerialPortController- Returns:
- array of I18N display strings of port speed settings valid for this serial adapter,
must match order and values from
SerialPortAdapter.validBaudNumbers()
-
validBaudNumbers
public int[] validBaudNumbers()
Get an array of valid baud rate numbers; used to store/load adapter speed option.- Specified by:
validBaudNumbersin interfaceSerialPortAdapter- Overrides:
validBaudNumbersin classAbstractSerialPortController- Returns:
- integer array of speeds, must match order and values from
SerialPortAdapter.validBaudRates()
-
defaultBaudIndex
public int defaultBaudIndex()
Description copied from interface:SerialPortAdapterGet the index of the default port speed for this adapter from the validSpeeds and validRates arrays.- Specified by:
defaultBaudIndexin interfaceSerialPortAdapter- Overrides:
defaultBaudIndexin classAbstractSerialPortController- Returns:
- -1 to indicate not supported, unless overridden in adapter
-
configure
public void configure()
set up all of the other objects to operate with an Dcc4Pc command station connected to this port
-
-