Package jmri.jmrix.rfid
Class RfidMessage
- java.lang.Object
-
- jmri.jmrix.AbstractMessage
-
- jmri.jmrix.AbstractMRMessage
-
- jmri.jmrix.rfid.RfidMessage
-
- All Implemented Interfaces:
Message
- Direct Known Subclasses:
ConcentratorMessage
,StandaloneMessage
public abstract class RfidMessage extends AbstractMRMessage
Contains the data payload of a serial packet.The transmission protocol can come in one of several forms:
- If the interlocked parameter is false (default), the packet is just sent. If the response length is not zero, a reply of that length is expected.
- If the interlocked parameter is true, the transmission will require a CRC interlock, which will be automatically added. (Design note: this is done to make sure that the messages remain atomic)
- Since:
- 2.11.4
-
-
Field Summary
Fields Modifier and Type Field Description (package private) boolean
interlocked
(package private) int
responseLength
-
Fields inherited from class jmri.jmrix.AbstractMRMessage
LONG_TIMEOUT, SHORT_TIMEOUT
-
Fields inherited from class jmri.jmrix.AbstractMessage
_dataChars, _nDataChars
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
RfidMessage()
Suppress the default ctor, as the length must always be specifiedRfidMessage(byte[] a, int l)
This ctor interprets the byte array as a sequence of characters to send.RfidMessage(int l)
RfidMessage(java.lang.String m, int l)
This ctor interprets the String as the exact sequence to send, byte-for-byte.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
getInterlocked()
int
getResponseLength()
Returns the length of an expected responsevoid
setInterlocked(boolean v)
void
setResponseLength(int l)
Sets the length of an expected response-
Methods inherited from class jmri.jmrix.AbstractMRMessage
addIntAsFourHex, addIntAsThree, addIntAsThreeHex, addIntAsTwoHex, getNeededMode, getOpCode, getOpCodeHex, getRetries, getTimeout, isBinary, replyExpected, setBinary, setNeededMode, setOpCode, setRetries, setTimeout, toString
-
Methods inherited from class jmri.jmrix.AbstractMessage
equals, getElement, getNumDataElements, hashCode, setElement
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface jmri.jmrix.Message
toMonitorString
-
-
-
-
Field Detail
-
interlocked
boolean interlocked
-
responseLength
int responseLength
-
-
Constructor Detail
-
RfidMessage
protected RfidMessage()
Suppress the default ctor, as the length must always be specified
-
RfidMessage
public RfidMessage(int l)
-
RfidMessage
public RfidMessage(java.lang.String m, int l)
This ctor interprets the String as the exact sequence to send, byte-for-byte.- Parameters:
m
- String to sendl
- length of expected response
-
RfidMessage
public RfidMessage(byte[] a, int l)
This ctor interprets the byte array as a sequence of characters to send.- Parameters:
a
- Array of bytes to sendl
- length of expected response
-
-
Method Detail
-
setInterlocked
public void setInterlocked(boolean v)
-
getInterlocked
public boolean getInterlocked()
-
setResponseLength
public final void setResponseLength(int l)
Sets the length of an expected response- Parameters:
l
- length of expected response
-
getResponseLength
public int getResponseLength()
Returns the length of an expected response- Returns:
- length of expected response
-
-