Package jmri.jmrix.sprog.serialdriver
Class SerialDriverAdapter
- java.lang.Object
-
- jmri.jmrix.AbstractPortController
-
- jmri.jmrix.AbstractSerialPortController
-
- jmri.jmrix.sprog.SprogPortController
-
- jmri.jmrix.sprog.serialdriver.SerialDriverAdapter
-
- All Implemented Interfaces:
PortAdapter
,SerialPortAdapter
- Direct Known Subclasses:
PiSprogNanoSerialDriverAdapter
,PiSprogOneCSSerialDriverAdapter
,PiSprogOneSerialDriverAdapter
,SprogCSSerialDriverAdapter
,SprogNanoSerialDriverAdapter
public class SerialDriverAdapter extends SprogPortController
Implements SerialPortAdapter for the Sprog system.This connects an Sprog command station via a serial com port. Also used for the USB SPROG, which appears to the computer as a serial port.
The current implementation only handles the 9,600 baud rate, and does not use any other options at configuration time. Updated January 2010 for gnu io (RXTX) - Andrew Berridge.
-
-
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 protected int
numSlots
-
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()
SerialDriverAdapter(SprogConstants.SprogMode sm)
SerialDriverAdapter(SprogConstants.SprogMode sm, int baud)
SerialDriverAdapter(SprogConstants.SprogMode sm, int baud, SprogType type)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
configure()
Set up all of the other objects to operate with an Sprog command station connected to this port.int
defaultBaudIndex()
Get the index of the default port speed for this adapter from the validSpeeds and validRates arrays.void
dispose()
Clean up before removal.java.lang.String
openPort(java.lang.String portName, java.lang.String appName)
Open a specified port.void
setHandshake(AbstractSerialPortController.FlowControl flow)
Set the flow control.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.-
Methods inherited from class jmri.jmrix.sprog.SprogPortController
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, getInputStream, getOutputStream, getPortSettingsString, handlePortBusy, handlePortNotFound, handlePortNotFound, isPortOpen, replacePortWithFakePort, reportPortStatus, resetupConnection, setBaudRate, setComPortTimeouts, setDataListener, setFlowControl, setPort
-
Methods inherited from class jmri.jmrix.AbstractPortController
configureOption1, configureOption2, configureOption3, configureOption4, 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
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, configureOption2, configureOption3, configureOption4, getManufacturer, getPortNames, setManufacturer, status
-
-
-
-
Field Detail
-
numSlots
protected int numSlots
-
-
Constructor Detail
-
SerialDriverAdapter
public SerialDriverAdapter()
-
SerialDriverAdapter
public SerialDriverAdapter(SprogConstants.SprogMode sm)
-
SerialDriverAdapter
public SerialDriverAdapter(SprogConstants.SprogMode sm, int baud, SprogType type)
-
SerialDriverAdapter
public SerialDriverAdapter(SprogConstants.SprogMode sm, int baud)
-
-
Method Detail
-
openPort
public java.lang.String openPort(java.lang.String portName, java.lang.String appName)
Description copied from interface:SerialPortAdapter
Open 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(AbstractSerialPortController.FlowControl flow)
Set the flow control. This method hide the actual serial port behind this object- Parameters:
flow
- Set flow control to RTS/CTS when true
-
validBaudRates
public java.lang.String[] validBaudRates()
Get an array of valid baud rate strings; used to display valid options in Connections Preferences. Currently only 9,600 bps- Specified by:
validBaudRates
in interfaceSerialPortAdapter
- Overrides:
validBaudRates
in 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:
validBaudNumbers
in interfaceSerialPortAdapter
- Overrides:
validBaudNumbers
in classAbstractSerialPortController
- Returns:
- integer array of speeds, must match order and values from
SerialPortAdapter.validBaudRates()
-
defaultBaudIndex
public int defaultBaudIndex()
Description copied from interface:SerialPortAdapter
Get the index of the default port speed for this adapter from the validSpeeds and validRates arrays.- Specified by:
defaultBaudIndex
in interfaceSerialPortAdapter
- Overrides:
defaultBaudIndex
in 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 Sprog command station connected to this port.
-
dispose
public void dispose()
Description copied from class:AbstractPortController
Clean up before removal. Overriding methods must callsuper.dispose()
or document why they are not calling the overridden implementation. In most cases, failure to call the overridden implementation will cause user-visible error.- Specified by:
dispose
in interfacePortAdapter
- Overrides:
dispose
in classAbstractPortController
-
-