Class GridConnectMessage
java.lang.Object
jmri.jmrix.AbstractMessage
jmri.jmrix.AbstractMRMessage
jmri.jmrix.can.adapters.gridconnect.GridConnectMessage
- All Implemented Interfaces:
Message
- Direct Known Subclasses:
GridConnectDoubledMessage,MergMessage
Class for GridConnect messages for a CAN hardware adapter.
The GridConnect protocol encodes messages as an ASCII string of up to 24 characters of the form: :ShhhhNd0d1d2d3d4d5d6d7;
The S indicates a standard CAN frame :XhhhhhhhhNd0d1d2d3d4d5d6d7; The X indicates an extended CAN frame hhhh is the two byte header N or R indicates a normal or remote frame, in position 6 or 10 d0 - d7 are the (up to) 8 data bytes
-
Field Summary
Fields inherited from class jmri.jmrix.AbstractMRMessage
LONG_TIMEOUT, SHORT_TIMEOUTFields inherited from class jmri.jmrix.AbstractMessage
_dataChars, _nDataChars -
Constructor Summary
ConstructorsConstructorDescriptionCreate a new instance of GridConnectMessage.Create a new GridConnectMessage from CanMessage. -
Method Summary
Modifier and TypeMethodDescriptionintgetElement(int n) Get a particular element in a Message.intGet the number of data elements in a Message.booleanGet if the GC Message is Extended.voidsetByte(int val, int n) Set a byte as two ASCII hex digits.voidsetData(int[] d) Set data from array.voidsetElement(int n, int v) Set a single Data Element at a particular index.voidsetExtended(boolean extended) Set the GC Message as Extended.voidsetHeader(int header) Set the header.protected voidsetHexDigit(int val, int n) Set a hex digit at offset n in _dataChars.voidsetNumDataElements(int n) Set Number of Data Elements.voidsetRtr(boolean rtr) Set CAN Frame as RtR.Methods inherited from class jmri.jmrix.AbstractMRMessage
addIntAsFourHex, addIntAsThree, addIntAsThreeHex, addIntAsTwoHex, getNeededMode, getOpCode, getOpCodeHex, getRetries, getTimeout, isBinary, replyExpected, setBinary, setNeededMode, setOpCode, setRetries, setTimeout, toStringMethods inherited from class jmri.jmrix.AbstractMessage
equals, hashCodeMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface jmri.jmrix.Message
toMonitorString
-
Constructor Details
-
GridConnectMessage
public GridConnectMessage()Create a new instance of GridConnectMessage. -
GridConnectMessage
Create a new GridConnectMessage from CanMessage.- Parameters:
m- CanMessage outgoing from JMRI.
-
-
Method Details
-
getNumDataElements
Get the number of data elements in a Message.- Specified by:
getNumDataElementsin interfaceMessage- Overrides:
getNumDataElementsin classAbstractMessage- Returns:
- number elements.
-
setNumDataElements
Set Number of Data Elements.- Parameters:
n- number Elements. Max 28.
-
getElement
Get a particular element in a Message.- Specified by:
getElementin interfaceMessage- Overrides:
getElementin classAbstractMessage- Parameters:
n- Element Index.- Returns:
- single element of message.
-
setElement
Set a single Data Element at a particular index.- Specified by:
setElementin interfaceMessage- Overrides:
setElementin classAbstractMessage- Parameters:
n- index of element.v- value of element.
-
setData
Set data from array.- Parameters:
d- array, max length 24.
-
setExtended
Set the GC Message as Extended.- Parameters:
extended- true for extended, else false
-
isExtended
Get if the GC Message is Extended.- Returns:
- true for extended, else false
-
setHeader
Set the header.- Parameters:
header- A valid CAN header value.
-
setRtr
Set CAN Frame as RtR.- Parameters:
rtr- true to set rtr, else false.
-
setByte
Set a byte as two ASCII hex digits.Data bytes are encoded as two ASCII hex digits starting at byte 7 of the message.
- Parameters:
val- the value to set.n- the index of the byte to be set.
-
setHexDigit
Set a hex digit at offset n in _dataChars.- Parameters:
val- min 0, max value 15.n- _dataChars Array Index.
-