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
public class Message extends AbstractMRMessage
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
-
Field Summary
Fields Modifier and Type Field Description (package private) static int
MAXLEN
-
Constructor Summary
Constructors Constructor Description Message()
Message(CanMessage m)
-
Method Summary
Modifier and Type Method Description int
getElement(int n)
Get a particular element in a Message.int
getNumDataElements()
Get the number of data elements in a Message.boolean
isExtended()
void
setByte(int val, int n)
Set a byte as two ASCII hex digitsvoid
setData(int[] d)
void
setElement(int n, int v)
Set a single Data Element at a particular index.void
setExtended(boolean extended)
int
setHeader(int header, int index)
Set the CAN header as ASCII hex digits.(package private) void
setHexDigit(int val, int n)
void
setNumDataElements(int n)
Methods inherited from class jmri.jmrix.AbstractMRMessage
addIntAsFourHex, addIntAsThree, addIntAsThreeHex, addIntAsTwoHex, getNeededMode, getOpCode, getOpCodeHex, getRetries, getTimeout, isBinary, replyExpected, setBinary, setNeededMode, setOpCode, setRetries, setTimeout, toString
-
Field Details
-
MAXLEN
- See Also:
- Constant Field Values
-
-
Constructor Details
-
Method Details
-
getNumDataElements
Description copied from class:AbstractMessage
Get the number of data elements in a Message.- Specified by:
getNumDataElements
in interfaceMessage
- Overrides:
getNumDataElements
in classAbstractMessage
- Returns:
- number elements.
-
setNumDataElements
-
getElement
Description copied from class:AbstractMessage
Get a particular element in a Message.- Specified by:
getElement
in interfaceMessage
- Overrides:
getElement
in classAbstractMessage
- Parameters:
n
- Element Index.- Returns:
- single element of message.
-
setElement
Description copied from class:AbstractMessage
Set a single Data Element at a particular index.- Specified by:
setElement
in interfaceMessage
- Overrides:
setElement
in classAbstractMessage
- Parameters:
n
- index of element.v
- value of element.
-
setData
-
setExtended
-
isExtended
-
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
-