Package jmri.jmrix.lenz
Class XNetSerialPortController
- java.lang.Object
-
- jmri.jmrix.AbstractPortController
-
- jmri.jmrix.AbstractSerialPortController
-
- jmri.jmrix.lenz.XNetSerialPortController
-
- All Implemented Interfaces:
XNetPortController
,PortAdapter
,SerialPortAdapter
- Direct Known Subclasses:
EliteAdapter
,LI100Adapter
,LI100fAdapter
,LI101Adapter
,LIUSBAdapter
,ZTC611Adapter
,ZTC640Adapter
public abstract class XNetSerialPortController extends AbstractSerialPortController implements XNetPortController
Abstract base for classes representing an XNet 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[]
validOption2
-
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 XNetSerialPortController()
XNetSerialPortController(XNetSystemConnectionMemo memo)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description XNetSystemConnectionMemo
getSystemConnectionMemo()
Get theSystemConnectionMemo
associated with this object.boolean
hasTimeSlot()
Indicate whether the Command Station is currently providing a timeslot to this port controller.boolean
okToSend()
Can the port accept additional characters?protected void
setCheckBuffer(boolean b)
Allow derived classes to set the private checkBuffer value.void
setOutputBufferEmpty(boolean s)
We need a way to say if the output buffer is empty or full.void
setTimeSlot(boolean timeslot)
Set a variable indicating whether or not the command station is providing a timeslot.-
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, 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
connect, dispose, getDisabled, getInputStream, getOption1Name, getOption2Name, getOption3Name, getOption4Name, getOptionChoices, getOptionDisplayName, getOptions, getOptionState, getOutputStream, 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, status
-
Methods inherited from interface jmri.jmrix.lenz.XNetPortController
status
-
-
-
-
Field Detail
-
validOption2
protected java.lang.String[] validOption2
-
-
Constructor Detail
-
XNetSerialPortController
public XNetSerialPortController()
-
XNetSerialPortController
public XNetSerialPortController(XNetSystemConnectionMemo memo)
-
-
Method Detail
-
okToSend
public boolean okToSend()
Can the port accept additional characters? The state of CTS determines this, as there seems to be no way to check the number of queued bytes and buffer length. This might go false for short intervals, but it might also stick off if something goes wrong.- Specified by:
okToSend
in interfaceXNetPortController
- Returns:
- true if OK to send, else false.
-
hasTimeSlot
public boolean hasTimeSlot()
Indicate whether the Command Station is currently providing a timeslot to this port controller.- Specified by:
hasTimeSlot
in interfaceXNetPortController
- Returns:
- true if the command station is currently providing a timeslot.
-
setTimeSlot
public void setTimeSlot(boolean timeslot)
Set a variable indicating whether or not the command station is providing a timeslot.This method should be called with the paramter set to false if a "Command Station No Longer Providing a timeslot for communications" (01 05 04) is received.
This method should be called with the parameter set to true if a "Command Station is providing a timeslot for communications again." (01 07 06) is received.
- Specified by:
setTimeSlot
in interfaceXNetPortController
- Parameters:
timeslot
- true if a timeslot is being sent, false otherwise.
-
setOutputBufferEmpty
public void setOutputBufferEmpty(boolean s)
We need a way to say if the output buffer is empty or full.This should only be set to false by external processes.
- Specified by:
setOutputBufferEmpty
in interfaceXNetPortController
- Parameters:
s
- true to set buffer empty, else false.
-
setCheckBuffer
protected void setCheckBuffer(boolean b)
Allow derived classes to set the private checkBuffer value.- Parameters:
b
- new checkBuffer value
-
getSystemConnectionMemo
public XNetSystemConnectionMemo 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
-
-