Class MergMessage

All Implemented Interfaces:
Message

public class MergMessage extends GridConnectMessage
Class for messages for a MERG CAN-RS hardware adapter.

The MERG variant of the GridConnect protocol encodes messages as an ASCII string of up to 24 characters of the form: :ShhhhNd0d1d2d3d4d5d6d7; hhhh is the two byte (11 useful bits) header The S indicates a standard CAN frame :XhhhhhhhhNd0d1d2d3d4d5d6d7; The X indicates an extended CAN frame Strict Gridconnect protocol allows a variable number of header characters, e.g., a header value of 0x123 could be encoded as S123 rather than S0123 or X00000123. We choose a fixed number, either 4 or 8 bytes when sending GridConnectMessages to keep MERG CAN-RS/USB adapters happy. The 11 bit standard header is left justified in these 4 bytes. The 29 bit standard header is sent as <11 bit SID><0><1><0>< 18 bit EID> N or R indicates a normal or remote frame, in position 6 or 10 d0 - d7 are the (up to) 8 data bytes

  • Constructor Details

  • Method Details

    • setHeader

      public void setHeader(int header)
      Set the header in MERG format
      Overrides:
      setHeader in class GridConnectMessage
      Parameters:
      header - A valid CAN header value
    • setRtr

      public void setRtr(boolean rtr)
      Description copied from class: GridConnectMessage
      Set CAN Frame as RtR.
      Overrides:
      setRtr in class GridConnectMessage
      Parameters:
      rtr - true to set rtr, else false.
    • setByte

      public void setByte(int val, int n)
      Set a byte as two ASCII hex digits

      Data bytes are encoded as two ASCII hex digits starting at byte 7 of the message.

      Overrides:
      setByte in class GridConnectMessage
      Parameters:
      val - the value to set, must be in range 0 - 255
      n - the index of the byte to be set