Class 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.

    • Constructor Detail

      • Z21Reply

        public Z21Reply()
        Create a new one.
      • Z21Reply

        public Z21Reply​(byte[] a,
                        int l)
        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 Detail

      • 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.
      • setLength

        public void setLength​(int i)
      • toMonitorString

        public java.lang.String toMonitorString()
        Returns:
        a human-readable representation of the message.
      • 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.
      • 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.
      • 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