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.AbstractSerialPortController
AbstractSerialPortController.Blocking, AbstractSerialPortController.FlowControl, AbstractSerialPortController.Parity, AbstractSerialPortController.SerialPort, AbstractSerialPortController.SerialPortDataListener, AbstractSerialPortController.SerialPortEvent
-
Nested classes/interfaces inherited from class jmri.jmrix.AbstractPortController
AbstractPortController.Option
-
-
Field Summary
Fields Modifier and Type Field Description protected java.lang.String[]
commandStationNames
protected LnCommandStationType
commandStationType
protected LnCommandStationType[]
commandStationTypes
protected boolean
mInterrogateAtStart
protected boolean
mLoconetProtocolAutoDetect
protected boolean
mTranspondingAvailable
protected boolean
mTurnoutExtraSpace
protected boolean
mTurnoutNoRetry
-
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 Modifier Constructor Description protected
LnPortController(LocoNetSystemConnectionMemo connectionMemo)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description LocoNetSystemConnectionMemo
getSystemConnectionMemo()
Get theSystemConnectionMemo
associated with this object.boolean
okToSend()
Can the port accept additional characters?void
setCommandStationType(java.lang.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
setInterrogateOnStart(java.lang.String value)
void
setLoconetProtocolAutoDetect(java.lang.String value)
void
setTranspondingAvailable(java.lang.String value)
void
setTurnoutHandling(java.lang.String value)
abstract boolean
status()
Check that this object is ready to operate.-
Methods inherited from class jmri.jmrix.AbstractSerialPortController
activatePort, activatePort, activatePort, closeConnection, closeSerialPort, configureBaudRate, configureBaudRateFromIndex, configureBaudRateFromNumber, configureLeads, configureLeadsAndFlowControl, configureLeadsAndFlowControl, connect, currentBaudNumber, defaultBaudIndex, getActualPortNames, getCurrentBaudIndex, getCurrentBaudNumber, getCurrentBaudRate, getCurrentPortName, getFlowControl, getInputStream, getOutputStream, handlePortBusy, handlePortNotFound, handlePortNotFound, reportPortStatus, resetupConnection, setBaudRate, setComPortTimeouts, setDataListener, setFlowControl, setParity, setPort, 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, isOptionTypePassword, isOptionTypeText, isRestartRequired, purgeStream, reconnect, reconnectFromLoop, 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, isOptionTypePassword, isOptionTypeText, isRestartRequired, recover, setDisabled, setOptionState, setReconnectMaxAttempts, setReconnectMaxInterval, setSystemConnectionMemo, setSystemPrefix, setUserName
-
Methods inherited from interface jmri.jmrix.SerialPortAdapter
configure, configureOption1, configureOption2, configureOption3, configureOption4, getManufacturer, getPortNames, openPort, setManufacturer
-
-
-
-
Field Detail
-
commandStationType
protected LnCommandStationType commandStationType
-
mTurnoutNoRetry
protected boolean mTurnoutNoRetry
-
mTurnoutExtraSpace
protected boolean mTurnoutExtraSpace
-
mInterrogateAtStart
protected boolean mInterrogateAtStart
-
mTranspondingAvailable
protected boolean mTranspondingAvailable
-
mLoconetProtocolAutoDetect
protected boolean mLoconetProtocolAutoDetect
-
commandStationTypes
protected LnCommandStationType[] commandStationTypes
-
commandStationNames
protected java.lang.String[] commandStationNames
-
-
Constructor Detail
-
LnPortController
protected LnPortController(LocoNetSystemConnectionMemo connectionMemo)
-
-
Method Detail
-
status
public abstract boolean 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
public boolean 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
public void setCommandStationType(java.lang.String name)
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
public void setCommandStationType(LnCommandStationType value)
Set config info from the command station type enum.- Parameters:
value
- the LnCommandStationType
-
setTurnoutHandling
public void setTurnoutHandling(java.lang.String value)
-
setTranspondingAvailable
public void setTranspondingAvailable(java.lang.String value)
-
setLoconetProtocolAutoDetect
public void setLoconetProtocolAutoDetect(java.lang.String value)
-
setInterrogateOnStart
public void setInterrogateOnStart(java.lang.String value)
-
getSystemConnectionMemo
public LocoNetSystemConnectionMemo 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
-
-