Package jmri.jmrix.loconet
Class LnPortController
java.lang.Object
jmri.jmrix.AbstractPortController
jmri.jmrix.AbstractSerialPortController
jmri.jmrix.loconet.LnPortController
- All Implemented Interfaces:
PortAdapter
,SerialPortAdapter
- Direct Known Subclasses:
LnHexFilePort
,LocoBufferAdapter
,LocoNetBluetoothAdapter
,MS100Adapter
public abstract class LnPortController extends AbstractSerialPortController
Base for classes representing a LocoNet communications port.
-
Nested Class Summary
Nested classes/interfaces inherited from class jmri.jmrix.AbstractPortController
AbstractPortController.Option
-
Field Summary
Fields Modifier and Type Field Description protected String[]
commandStationNames
protected LnCommandStationType
commandStationType
protected LnCommandStationType[]
commandStationTypes
protected boolean
mTranspondingAvailable
protected boolean
mTurnoutExtraSpace
protected boolean
mTurnoutNoRetry
Fields inherited from class jmri.jmrix.AbstractPortController
allowConnectionRecovery, manufacturerName, opened, option1Name, option2Name, option3Name, option4Name, options, reconnectinterval, reconnectMaxAttempts, reconnectMaxInterval
-
Constructor Summary
Constructors Modifier Constructor Description protected
LnPortController(LocoNetSystemConnectionMemo connectionMemo)
-
Method Summary
Modifier and Type Method Description abstract DataInputStream
getInputStream()
Get the InputStream from the port.abstract DataOutputStream
getOutputStream()
Get the outputStream to the port.LocoNetSystemConnectionMemo
getSystemConnectionMemo()
Get theSystemConnectionMemo
associated with this object.boolean
okToSend()
Can the port accept additional characters?void
setCommandStationType(String name)
Set config info from a name, which needs to be one of the valid ones.void
setCommandStationType(LnCommandStationType value)
Set config info from the command station type enum.void
setTranspondingAvailable(String value)
void
setTurnoutHandling(String value)
abstract boolean
status()
Check that this object is ready to operate.Methods inherited from class jmri.jmrix.AbstractSerialPortController
closeConnection, configureBaudRate, configureBaudRateFromIndex, configureBaudRateFromNumber, configureLeadsAndFlowControl, configureLeadsAndFlowControl, connect, currentBaudNumber, defaultBaudIndex, getCurrentBaudIndex, getCurrentBaudNumber, getCurrentBaudRate, getCurrentPortName, getPortNames, handlePortBusy, handlePortNotFound, reconnectFromLoop, resetupConnection, setPort, setPortEventLogging, validBaudNumbers, validBaudRates
Methods inherited from class jmri.jmrix.AbstractPortController
configureOption1, configureOption2, configureOption3, configureOption4, dispose, getDisabled, getManufacturer, getOption1Name, getOption2Name, getOption3Name, getOption4Name, getOptionChoices, getOptionDisplayName, getOptions, getOptionState, getReconnectMaxAttempts, getReconnectMaxInterval, getSystemPrefix, getUserName, isDirty, isOptionAdvanced, isOptionTypeText, isRestartRequired, purgeStream, reconnect, recover, safeSleep, setClosed, setDisabled, setManufacturer, setOpened, setOptionState, setReconnectMaxAttempts, setReconnectMaxInterval, setSystemConnectionMemo, setSystemPrefix, setUserName
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, isOptionTypeText, isRestartRequired, recover, setDisabled, setOptionState, setReconnectMaxAttempts, setReconnectMaxInterval, setSystemConnectionMemo, setSystemPrefix, setUserName
Methods inherited from interface jmri.jmrix.SerialPortAdapter
configure, configureOption1, configureOption2, configureOption3, configureOption4, getManufacturer, openPort, setManufacturer
-
Field Details
-
Constructor Details
-
Method Details
-
getInputStream
Description copied from class:AbstractPortController
Get the InputStream from the port.- Specified by:
getInputStream
in interfacePortAdapter
- Specified by:
getInputStream
in classAbstractPortController
- Returns:
- the InputStream from the port
-
getOutputStream
Description copied from class:AbstractPortController
Get the outputStream to the port.- Specified by:
getOutputStream
in interfacePortAdapter
- Specified by:
getOutputStream
in classAbstractPortController
- Returns:
- the outputStream to the port
-
status
Check that this object is ready to operate. This is a question of configuration, not transient hardware status.- Specified by:
status
in interfacePortAdapter
- Specified by:
status
in interfaceSerialPortAdapter
- Overrides:
status
in classAbstractPortController
- Returns:
- true if OK, at least as far as known
-
okToSend
Can the port accept additional characters? This might go false for short intervals, but it might also stick off if something goes wrong.Provide a default implementation for the MS100, etc.
- Returns:
- _always_ true, as we rely on the queueing in the port itself
-
setCommandStationType
Set config info from a name, which needs to be one of the valid ones.- Parameters:
name
- the name of the command station type
-
setCommandStationType
Set config info from the command station type enum.- Parameters:
value
- the LnCommandStationType
-
setTurnoutHandling
-
setTranspondingAvailable
-
getSystemConnectionMemo
Description copied from class:AbstractPortController
Get theSystemConnectionMemo
associated with this object.This method should only be overridden to ensure that a specific subclass of SystemConnectionMemo is returned. The recommended pattern is:
public MySystemConnectionMemo getSystemConnectionMemo() { return (MySystemConnectionMemo) super.getSystemConnectionMemo(); }
- Specified by:
getSystemConnectionMemo
in interfacePortAdapter
- Overrides:
getSystemConnectionMemo
in classAbstractPortController
- Returns:
- the currently associated SystemConnectionMemo
-