|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectjmri.jmrix.AbstractMessage
jmri.jmrix.AbstractMRMessage
jmri.jmrix.can.CanMessage
public class CanMessage
Base class for messages in a CANbus based message/reply protocol.
It is expected that any CAN based system will be based upon basic CANbus concepts such as ID (standard or extended), Normal and RTR frames and a data field.
The _dataChars[] and _nDataChars members refer to the data field, not the entire message.
"header" refers to the full 11 or 29 bit header; which mode is separately set via the "extended" parameter
CBUS uses a 2-bit "Pri" field and 7-bit "ID" ("CAN ID") field, with separate accessors. CBUS ID is set as a layout connection preference and registered by the traffic controller.
| Field Summary |
|---|
| Fields inherited from class jmri.jmrix.AbstractMRMessage |
|---|
LONG_TIMEOUT, SHORT_TIMEOUT |
| Fields inherited from class jmri.jmrix.AbstractMessage |
|---|
_dataChars, _nDataChars |
| Constructor Summary | |
|---|---|
CanMessage()
|
|
CanMessage(CanMessage m)
|
|
CanMessage(int i)
|
|
CanMessage(int[] d)
|
|
| Method Summary | |
|---|---|
boolean |
equals(Object a)
Note that a CanMessage and a CanReply can be tested for equality |
int |
getElement(int n)
|
int |
getHeader()
|
int |
getNumDataElements()
|
int |
hashCode()
Hash on the header |
boolean |
isExtended()
|
boolean |
isRtr()
|
boolean |
isTranslated()
|
boolean |
replyExpected()
Is a reply expected to this message? |
void |
setData(int[] d)
|
void |
setElement(int n,
int v)
|
void |
setExtended(boolean b)
|
void |
setHeader(int h)
|
void |
setNumDataElements(int n)
|
void |
setRtr(boolean b)
|
void |
setTranslated(boolean translated)
|
| Methods inherited from class jmri.jmrix.AbstractMRMessage |
|---|
addIntAsFourHex, addIntAsThree, addIntAsThreeHex, addIntAsTwoHex, getNeededMode, getOpCode, getOpCodeHex, getRetries, getTimeout, isBinary, setBinary, setNeededMode, setOpCode, setRetries, setTimeout, toString |
| Methods inherited from class java.lang.Object |
|---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
| Constructor Detail |
|---|
public CanMessage()
public CanMessage(int i)
public CanMessage(int[] d)
public CanMessage(CanMessage m)
| Method Detail |
|---|
public void setTranslated(boolean translated)
public boolean isTranslated()
public int hashCode()
hashCode in class Objectpublic boolean equals(Object a)
equals in class Objectpublic boolean replyExpected()
AbstractMRMessageBy default, a reply is expected to every message; either a reply or a timeout is needed before the next message can be sent.
If this returns false, the transmit queue will immediately go on to transmitt the next message (if any).
replyExpected in class AbstractMRMessagepublic int getNumDataElements()
getNumDataElements in interface CanFramegetNumDataElements in interface MessagegetNumDataElements in class AbstractMessagepublic void setNumDataElements(int n)
setNumDataElements in interface CanMutableFramepublic int getElement(int n)
getElement in interface CanFramegetElement in interface MessagegetElement in class AbstractMessage
public void setElement(int n,
int v)
setElement in interface CanMutableFramesetElement in interface MessagesetElement in class AbstractMessagepublic void setData(int[] d)
public int getHeader()
getHeader in interface CanFramepublic void setHeader(int h)
setHeader in interface CanMutableFramepublic boolean isExtended()
isExtended in interface CanFramepublic void setExtended(boolean b)
setExtended in interface CanMutableFramepublic boolean isRtr()
isRtr in interface CanFramepublic void setRtr(boolean b)
setRtr in interface CanMutableFrame
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||