Package jmri.jmrix.powerline.cm11
Class SpecificMessage
java.lang.Object
jmri.jmrix.AbstractMessage
jmri.jmrix.AbstractMRMessage
jmri.jmrix.powerline.SerialMessage
jmri.jmrix.powerline.cm11.SpecificMessage
- All Implemented Interfaces:
Message
public class SpecificMessage extends SerialMessage
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)
-
Field Summary
Fields Modifier and Type Field Description (package private) boolean
interlocked
(package private) int
responseLength
-
Constructor Summary
Constructors Constructor Description SpecificMessage(byte[] a, int l)
This ctor interprets the byte array as a sequence of characters to send.SpecificMessage(int l)
SpecificMessage(String m, int l)
This ctor interprets the String as the exact sequence to send, byte-for-byte. -
Method Summary
Modifier and Type Method Description int
getAddr()
static SpecificMessage
getAddress(int housecode, int devicecode)
static SpecificMessage
getAddressDim(int housecode, int devicecode, int dimcode)
static SpecificMessage
getExtCmd(int housecode, int devicecode, int function, int dimcode)
static SpecificMessage
getFunction(int housecode, int function)
static SpecificMessage
getFunctionDim(int housecode, int function, int dimcode)
boolean
getInterlocked()
static SerialMessage
getPoll(int addr)
int
getResponseLength()
boolean
isPoll()
boolean
isXmt()
static SpecificMessage
setCM11Time(int housecode)
void
setInterlocked(boolean v)
void
setResponseLength(int l)
String
toMonitorString()
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
-
Field Details
-
interlocked
boolean interlocked -
responseLength
int responseLength
-
-
Constructor Details
-
SpecificMessage
-
SpecificMessage
This ctor interprets the String as the exact sequence to send, byte-for-byte.- Parameters:
m
- messagel
- response length in bytes
-
SpecificMessage
This ctor interprets the byte array as a sequence of characters to send.- Parameters:
a
- Array of bytes to sendl
- lenght of expected reply
-
-
Method Details
-
setInterlocked
- Overrides:
setInterlocked
in classSerialMessage
-
getInterlocked
- Overrides:
getInterlocked
in classSerialMessage
-
toMonitorString
-
setResponseLength
- Overrides:
setResponseLength
in classSerialMessage
-
getResponseLength
- Overrides:
getResponseLength
in classSerialMessage
-
isPoll
- Overrides:
isPoll
in classSerialMessage
-
isXmt
- Overrides:
isXmt
in classSerialMessage
-
getAddr
- Overrides:
getAddr
in classSerialMessage
-
getPoll
-
setCM11Time
-
getAddress
-
getAddressDim
-
getFunctionDim
-
getFunction
-
getExtCmd
-