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
-
Nested classes/interfaces inherited from class jmri.jmrix.AbstractPortController
AbstractPortController.Option
-
-
Field Summary
Fields Modifier and Type Field Description protected java.lang.String[]commandStationNamesprotected LnCommandStationTypecommandStationTypeprotected LnCommandStationType[]commandStationTypesprotected booleanmInterrogateAtStartprotected booleanmLoconetProtocolAutoDetectprotected booleanmTranspondingAvailableprotected booleanmTurnoutExtraSpaceprotected booleanmTurnoutNoRetry-
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 protectedLnPortController(LocoNetSystemConnectionMemo connectionMemo)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description LocoNetSystemConnectionMemogetSystemConnectionMemo()Get theSystemConnectionMemoassociated with this object.booleanokToSend()Can the port accept additional characters?voidsetCommandStationType(java.lang.String name)Set config info from a name, which needs to be one of the valid ones.voidsetCommandStationType(LnCommandStationType value)Set config info from the command station type enum.voidsetInterrogateOnStart(java.lang.String value)voidsetLoconetProtocolAutoDetect(java.lang.String value)voidsetTranspondingAvailable(java.lang.String value)voidsetTurnoutHandling(java.lang.String value)abstract booleanstatus()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, getPortSettingsString, handlePortBusy, handlePortNotFound, handlePortNotFound, isPortOpen, replacePortWithFakePort, reportPortStatus, resetupConnection, setBaudRate, setComPortTimeouts, setDataListener, setFlowControl, 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:
statusin interfacePortAdapter- Specified by:
statusin interfaceSerialPortAdapter- Overrides:
statusin 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:AbstractPortControllerGet theSystemConnectionMemoassociated 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:
getSystemConnectionMemoin interfacePortAdapter- Overrides:
getSystemConnectionMemoin classAbstractPortController- Returns:
- the currently associated SystemConnectionMemo
-
-