Package jmri.jmrix.roco.z21
Class Z21Reply
java.lang.Object
jmri.jmrix.AbstractMessage
jmri.jmrix.AbstractMRReply
jmri.jmrix.roco.z21.Z21Reply
- All Implemented Interfaces:
Message
Class for replies in the z21/Z21 protocol.
Replies are of the format: 2 bytes length 2 bytes opcode n bytes data
numeric data is sent in little endian format.
-
Field Summary
Fields inherited from class jmri.jmrix.AbstractMRReply
DEFAULTMAXSIZEFields inherited from class jmri.jmrix.AbstractMessage
_dataChars, _nDataChars -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionintgetElementBCD(int n) Get an integer representation of a BCD value.intintintGet the OpCode.intgetRailComErrCount(int n) Get the error counter from an entry in a railcom message.getRailComLocoAddress(int n) Get a locomotive address from an entry in a railcom message.intgetRailComOptions(int n) Get the options value from an entry in a railcom message.intgetRailComQos(int n) Get the Quality of Service value from an entry in a railcom message.intgetRailComRcvCount(int n) Get the receive counter from an entry in a railcom message.intgetRailComSpeed(int n) Get the speed value from an entry in a railcom message.intGet the Filtered Main Track Current from the SystemStateDataChanged message.intGet the Main Track Current from the SystemStateDataChanged message.intGet the Programming Track Current from the SystemStateDataChanged message.intGet the Supply Voltage from the SystemStateDataChanged message.intGet the Temperature from the SystemStateDataChanged message.intGet the VCC (and track) Voltage from the SystemStateDataChanged message.(package private) booleanbooleanboolean(package private) boolean(package private) boolean(package private) boolean(package private) boolean(package private) boolean(package private) boolean(package private) booleanvoidsetElement(int n, int v) Set a single Data Element at a particular index.voidsetLength(int i) voidsetOpCode(int i) Set the OpCode.protected intskipPrefix(int index) Methods inherited from class jmri.jmrix.AbstractMRReply
flush, isBinary, isRetransmittableErrorMsg, isUnsolicited, match, maxSize, pollValue, setBinary, setUnsolicited, skipWhiteSpace, toString, valueMethods inherited from class jmri.jmrix.AbstractMessage
equals, getElement, getNumDataElements, hashCode
-
Constructor Details
-
Z21Reply
public Z21Reply()Create a new one. -
Z21Reply
This ctor interprets the byte array as a sequence of characters to send.- Parameters:
a- Array of bytes to send.l- length of reply.
-
-
Method Details
-
setElement
Description copied from class:AbstractMessageSet a single Data Element at a particular index.- Specified by:
setElementin interfaceMessage- Overrides:
setElementin classAbstractMRReply- Parameters:
n- index of element.v- value of element.
-
getElementBCD
Get an integer representation of a BCD value.- Parameters:
n- byte in message to convert- Returns:
- Integer value of BCD byte.
-
setOpCode
Description copied from class:AbstractMRReplySet the OpCode. Sets Element 0 to character value of integer.- Overrides:
setOpCodein classAbstractMRReply- Parameters:
i- Opcode value.
-
getOpCode
Description copied from class:AbstractMRReplyGet the OpCode.- Overrides:
getOpCodein classAbstractMRReply- Returns:
- value of Element 0.
-
setLength
-
getLength
-
skipPrefix
- Specified by:
skipPrefixin classAbstractMRReply
-
toMonitorString
- Returns:
- a human-readable representation of the message.
-
isXPressNetTunnelMessage
boolean isXPressNetTunnelMessage() -
getXNetReply
-
isRailComDataChangedMessage
boolean isRailComDataChangedMessage() -
getNumRailComDataEntries
- Returns:
- the number of RailCom entries in this message. the returned value is in the 0 to 19 range.
-
getRailComLocoAddress
Get a locomotive address from an entry in a railcom message.- Parameters:
n- the entry to get the address from.- Returns:
- the locomotive address for the specified entry.
-
getRailComRcvCount
Get the receive counter from an entry in a railcom message.- Parameters:
n- the entry to get the address from.- Returns:
- the receive counter for the specified entry.
-
getRailComErrCount
Get the error counter from an entry in a railcom message.- Parameters:
n- the entry to get the address from.- Returns:
- the error counter for the specified entry.
-
getRailComSpeed
Get the speed value from an entry in a railcom message.- Parameters:
n- the entry to get the address from.- Returns:
- the error counter for the specified entry.
-
getRailComOptions
Get the options value from an entry in a railcom message.- Parameters:
n- the entry to get the address from.- Returns:
- the options for the specified entry.
-
getRailComQos
Get the Quality of Service value from an entry in a railcom message.- Parameters:
n- the entry to get the address from.- Returns:
- the Quality of Service value for the specified entry.
-
isSystemDataChangedReply
boolean isSystemDataChangedReply() -
getSystemDataMainCurrent
Get the Main Track Current from the SystemStateDataChanged message.- Returns:
- the current in mA.
-
getSystemDataProgCurrent
Get the Programming Track Current from the SystemStateDataChanged message.- Returns:
- the current in mA.
-
getSystemDataFilteredMainCurrent
Get the Filtered Main Track Current from the SystemStateDataChanged message.- Returns:
- the current in mA.
-
getSystemDataTemperature
Get the Temperature from the SystemStateDataChanged message.- Returns:
- the current in degrees C.
-
getSystemDataSupplyVoltage
Get the Supply Voltage from the SystemStateDataChanged message.- Returns:
- the current in mV.
-
getSystemDataVCCVoltage
Get the VCC (and track) Voltage from the SystemStateDataChanged message.- Returns:
- the current in mV.
-
isLocoNetTunnelMessage
boolean isLocoNetTunnelMessage() -
isLocoNetDispatchMessage
boolean isLocoNetDispatchMessage() -
isLocoNetDetectorMessage
boolean isLocoNetDetectorMessage() -
getLocoNetMessage
-
isRMBusDataChangedReply
boolean isRMBusDataChangedReply() -
isCanDetectorMessage
boolean isCanDetectorMessage() -
canDetectorMessageType
- Returns:
- the can Detector Message type or -1 if not a can detector message.
-
isCanSensorMessage
- Returns:
- true if the reply is for a CAN detector and the type is 0x01
-
isCanReporterMessage
- Returns:
- true if the reply is for a CAN detector and the type is 0x01
-