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
public class Z21Reply extends AbstractMRReply
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
DEFAULTMAXSIZE
-
Fields inherited from class jmri.jmrix.AbstractMessage
_dataChars, _nDataChars
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description int
canDetectorMessageType()
(package private) DccLocoAddress
getCanDetectorLocoAddress(int addressValue)
(package private) java.lang.String
getCanDetectorLocoAddressString(int addressValue)
java.lang.Integer
getElementBCD(int n)
Get an integer representation of a BCD value.int
getLength()
(package private) LocoNetMessage
getLocoNetMessage()
(package private) int
getNumRailComDataEntries()
int
getOpCode()
Get the OpCode.(package private) int
getRailComErrCount(int n)
Get the error counter from an entry in a railcom message.(package private) DccLocoAddress
getRailComLocoAddress(int n)
Get a locomotive address from an entry in a railcom message.(package private) int
getRailComOptions(int n)
Get the options value from an entry in a railcom message.(package private) int
getRailComQos(int n)
Get the Quality of Service value from an entry in a railcom message.(package private) int
getRailComRcvCount(int n)
Get the receive counter from an entry in a railcom message.(package private) int
getRailComSpeed(int n)
Get the speed value from an entry in a railcom message.(package private) int
getSystemDataFilteredMainCurrent()
Get the Filtered Main Track Current from the SystemStateDataChanged message.(package private) int
getSystemDataMainCurrent()
Get the Main Track Current from the SystemStateDataChanged message.(package private) int
getSystemDataProgCurrent()
Get the Programming Track Current from the SystemStateDataChanged message.(package private) int
getSystemDataSupplyVoltage()
Get the Supply Voltage from the SystemStateDataChanged message.(package private) int
getSystemDataTemperature()
Get the Temperature from the SystemStateDataChanged message.(package private) int
getSystemDataVCCVoltage()
Get the VCC (and track) Voltage from the SystemStateDataChanged message.(package private) Z21XNetReply
getXNetReply()
(package private) boolean
isCanDetectorMessage()
boolean
isCanReporterMessage()
boolean
isCanSensorMessage()
(package private) boolean
isLocoNetDetectorMessage()
(package private) boolean
isLocoNetDispatchMessage()
(package private) boolean
isLocoNetTunnelMessage()
(package private) boolean
isRailComDataChangedMessage()
(package private) boolean
isRMBusDataChangedReply()
(package private) boolean
isSystemDataChangedReply()
(package private) boolean
isXPressNetTunnelMessage()
void
setElement(int n, int v)
Set a single Data Element at a particular index.void
setLength(int i)
void
setOpCode(int i)
Set the OpCode.protected int
skipPrefix(int index)
java.lang.String
toMonitorString()
-
Methods inherited from class jmri.jmrix.AbstractMRReply
flush, isBinary, isRetransmittableErrorMsg, isUnsolicited, match, maxSize, pollValue, setBinary, setUnsolicited, skipWhiteSpace, toString, value
-
Methods inherited from class jmri.jmrix.AbstractMessage
equals, getElement, getNumDataElements, hashCode
-
-
-
-
Method Detail
-
setElement
public void setElement(int n, int v)
Description copied from class:AbstractMessage
Set a single Data Element at a particular index.- Specified by:
setElement
in interfaceMessage
- Overrides:
setElement
in classAbstractMRReply
- Parameters:
n
- index of element.v
- value of element.
-
getElementBCD
public java.lang.Integer getElementBCD(int n)
Get an integer representation of a BCD value.- Parameters:
n
- byte in message to convert- Returns:
- Integer value of BCD byte.
-
setOpCode
public void setOpCode(int i)
Description copied from class:AbstractMRReply
Set the OpCode. Sets Element 0 to character value of integer.- Overrides:
setOpCode
in classAbstractMRReply
- Parameters:
i
- Opcode value.
-
getOpCode
public int getOpCode()
Description copied from class:AbstractMRReply
Get the OpCode.- Overrides:
getOpCode
in classAbstractMRReply
- Returns:
- value of Element 0.
-
setLength
public void setLength(int i)
-
getLength
public int getLength()
-
skipPrefix
protected int skipPrefix(int index)
- Specified by:
skipPrefix
in classAbstractMRReply
-
toMonitorString
public java.lang.String toMonitorString()
- Returns:
- a human-readable representation of the message.
-
isXPressNetTunnelMessage
boolean isXPressNetTunnelMessage()
-
getXNetReply
Z21XNetReply getXNetReply()
-
isRailComDataChangedMessage
boolean isRailComDataChangedMessage()
-
getNumRailComDataEntries
int getNumRailComDataEntries()
- Returns:
- the number of RailCom entries in this message. the returned value is in the 0 to 19 range.
-
getRailComLocoAddress
DccLocoAddress getRailComLocoAddress(int n)
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
int getRailComRcvCount(int n)
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
int getRailComErrCount(int n)
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
int getRailComSpeed(int n)
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
int getRailComOptions(int n)
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
int getRailComQos(int n)
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
int getSystemDataMainCurrent()
Get the Main Track Current from the SystemStateDataChanged message.- Returns:
- the current in mA.
-
getSystemDataProgCurrent
int getSystemDataProgCurrent()
Get the Programming Track Current from the SystemStateDataChanged message.- Returns:
- the current in mA.
-
getSystemDataFilteredMainCurrent
int getSystemDataFilteredMainCurrent()
Get the Filtered Main Track Current from the SystemStateDataChanged message.- Returns:
- the current in mA.
-
getSystemDataTemperature
int getSystemDataTemperature()
Get the Temperature from the SystemStateDataChanged message.- Returns:
- the current in degrees C.
-
getSystemDataSupplyVoltage
int getSystemDataSupplyVoltage()
Get the Supply Voltage from the SystemStateDataChanged message.- Returns:
- the current in mV.
-
getSystemDataVCCVoltage
int 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
LocoNetMessage getLocoNetMessage()
-
isRMBusDataChangedReply
boolean isRMBusDataChangedReply()
-
isCanDetectorMessage
boolean isCanDetectorMessage()
-
getCanDetectorLocoAddressString
java.lang.String getCanDetectorLocoAddressString(int addressValue)
-
getCanDetectorLocoAddress
DccLocoAddress getCanDetectorLocoAddress(int addressValue)
-
canDetectorMessageType
public int canDetectorMessageType()
- Returns:
- the can Detector Message type or -1 if not a can detector message.
-
isCanSensorMessage
public boolean isCanSensorMessage()
- Returns:
- true if the reply is for a CAN detector and the type is 0x01
-
isCanReporterMessage
public boolean isCanReporterMessage()
- Returns:
- true if the reply is for a CAN detector and the type is 0x01
-
-