Class UsbUhlenbrock63120Adapter
java.lang.Object
jmri.jmrix.AbstractPortController
jmri.jmrix.AbstractSerialPortController
jmri.jmrix.loconet.LnPortController
jmri.jmrix.loconet.locobuffer.LocoBufferAdapter
jmri.jmrix.loconet.uhlenbrock.usb_63120.UsbUhlenbrock63120Adapter
- All Implemented Interfaces:
PortAdapter,SerialPortAdapter
Extend the code in jmri.jmrix.loconet.locobuffer so that it operates
correctly with the Uhlenbrock USB-adapter part no 63120.
Status: EXPERIMENTAL - as added to title until confirmed by hardware users in 4.21.4
Specs:
PC - LocoNet Communication (from Uhlenbrock 63120 datasheet)
Communication between PC and LocoNet must be according to the following schema:
- Send message over USB and then wait to receive the sent message again, before a new message is sent.
Process other messages received during the waiting period.
- LACK (Long Acknowledge Message) treatment: If a message can be followed by a LACK (see LocoNet
documentation, for messages which can be followed by a LACK). A flag must be set by COM Port after
the send and receive procedure. If this flag is set and the next message received is a LACK message
then it must be processed because it is a response to the sent message.
If the next message received is not a LACK then the set flag is reset. This ensures that a LACK is
not assigned to a wrong message.
- Evaluate and process Received messages.
-
Nested Class Summary
Nested classes/interfaces inherited from class jmri.jmrix.AbstractSerialPortController
AbstractSerialPortController.Blocking, AbstractSerialPortController.FlowControlNested classes/interfaces inherited from class jmri.jmrix.AbstractPortController
AbstractPortController.Option -
Field Summary
Fields inherited from class jmri.jmrix.loconet.locobuffer.LocoBufferAdapter
validOption1, validSpeeds, validSpeedValuesFields inherited from class jmri.jmrix.loconet.LnPortController
commandStationNames, commandStationType, commandStationTypes, mInterrogateAtStart, mLoconetProtocolAutoDetect, mTranspondingAvailable, mTurnoutExtraSpace, mTurnoutNoRetryFields inherited from class jmri.jmrix.AbstractSerialPortController
currentSerialPort, mBaudRate, mPortFields inherited from class jmri.jmrix.AbstractPortController
allowConnectionRecovery, manufacturerName, opened, option1Name, option2Name, option3Name, option4Name, options, reconnectinterval, reconnectMaxAttempts, reconnectMaxInterval -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionintGet the index of the default port speed for this adapter from the validSpeeds and validRates arrays.int[]Get an array of valid baud rate numbers; used to store/load adapter speed option.String[]Get an array of valid baud rate strings; used to display valid options in Connections Preferences.Methods inherited from class jmri.jmrix.loconet.locobuffer.LocoBufferAdapter
configure, getCommandStationListWithStandaloneLN, getPacketizer, getPacketizerOption, okToSend, openPort, reportOpen, setLocalFlowControl, statusMethods inherited from class jmri.jmrix.loconet.LnPortController
getSystemConnectionMemo, setCommandStationType, setCommandStationType, setInterrogateOnStart, setLoconetProtocolAutoDetect, setTranspondingAvailable, setTurnoutHandlingMethods 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, setPortMethods 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, setUserNameMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods 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, setUserNameMethods inherited from interface jmri.jmrix.SerialPortAdapter
configureOption1, configureOption2, configureOption3, configureOption4, getManufacturer, getPortNames, setManufacturer
-
Constructor Details
-
UsbUhlenbrock63120Adapter
public UsbUhlenbrock63120Adapter()
-
-
Method Details
-
validBaudRates
Get an array of valid baud rate strings; used to display valid options in Connections Preferences.- Specified by:
validBaudRatesin interfaceSerialPortAdapter- Overrides:
validBaudRatesin classLocoBufferAdapter- Returns:
- array of I18N display strings of port speed settings valid for this serial adapter,
must match order and values from
SerialPortAdapter.validBaudNumbers()
-
validBaudNumbers
Get an array of valid baud rate numbers; used to store/load adapter speed option.- Specified by:
validBaudNumbersin interfaceSerialPortAdapter- Overrides:
validBaudNumbersin classLocoBufferAdapter- Returns:
- integer array of speeds, must match order and values from
SerialPortAdapter.validBaudRates()
-
defaultBaudIndex
Description copied from interface:SerialPortAdapterGet the index of the default port speed for this adapter from the validSpeeds and validRates arrays.- Specified by:
defaultBaudIndexin interfaceSerialPortAdapter- Overrides:
defaultBaudIndexin classLocoBufferAdapter- Returns:
- -1 to indicate not supported, unless overridden in adapter
-