Package jmri.jmrix.can.adapters.lawicell
Class Message
java.lang.Object
jmri.jmrix.AbstractMessage
jmri.jmrix.AbstractMRMessage
jmri.jmrix.can.adapters.lawicell.Message
- All Implemented Interfaces:
Message
Class for messages for a LAWICELL CAN hardware adapter.
The Lawicell adapter protocol encodes messages as an ASCII string of up to 24 characters of the form: tiiildd...[CR] Tiiiiiiiildd...[CR] The t or T indicates a standard or extended CAN frame iiiiiiii is the header as hex digits l is the number of bytes of data dd are the (up to) 8 data bytes
RTR Extended frames start with an R, RTR standard frames with r.
-
Field Summary
FieldsFields inherited from class jmri.jmrix.AbstractMRMessage
LONG_TIMEOUT, SHORT_TIMEOUTFields inherited from class jmri.jmrix.AbstractMessage
_dataChars, _nDataChars -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionintgetElement(int n) Get a particular element in a Message.intGet the number of data elements in a Message.booleanbooleanisRtrSet()voidsetByte(int val, int n) Set a byte as two ASCII hex digitsvoidsetData(int[] d) voidsetElement(int n, int v) Set a single Data Element at a particular index.voidsetExtended(boolean extended) intsetHeader(int header, int index) Set the CAN header as ASCII hex digits.(package private) voidsetHexDigit(int val, int n) voidsetNumDataElements(int n) voidsetRtr(boolean isrtr) 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
-
Field Details
-
MAXLEN
- See Also:
-
-
Constructor Details
-
Message
public Message() -
Message
-
-
Method Details
-
getNumDataElements
Description copied from class:AbstractMessageGet the number of data elements in a Message.- Specified by:
getNumDataElementsin interfaceMessage- Overrides:
getNumDataElementsin classAbstractMessage- Returns:
- number elements.
-
setNumDataElements
-
getElement
Description copied from class:AbstractMessageGet a particular element in a Message.- Specified by:
getElementin interfaceMessage- Overrides:
getElementin classAbstractMessage- Parameters:
n- Element Index.- Returns:
- single element of message.
-
setElement
Description copied from class:AbstractMessageSet 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
-
setExtended
-
isExtended
-
setRtr
-
isRtrSet
-
setHeader
Set the CAN header as ASCII hex digits. Handles extended/standard internally.- Parameters:
header- A valid CAN header valueindex- start index.- Returns:
- index to next bytes, after this
-
setByte
Set a byte as two ASCII hex digitsData bytes are encoded as two ASCII hex digits starting at byte 7 of the message.
- Parameters:
val- the value to setn- the index of the byte to be set
-
setHexDigit
-