Package jmri.jmrix.powerline.simulator
Class SpecificMessage
- java.lang.Object
-
- jmri.jmrix.AbstractMessage
-
- jmri.jmrix.AbstractMRMessage
-
- jmri.jmrix.powerline.SerialMessage
-
- jmri.jmrix.powerline.simulator.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
-
Fields inherited from class jmri.jmrix.AbstractMRMessage
LONG_TIMEOUT, SHORT_TIMEOUT
-
Fields inherited from class jmri.jmrix.AbstractMessage
_dataChars, _nDataChars
-
-
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(java.lang.String m, int l)
This ctor interprets the String as the exact sequence to send, byte-for-byte.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static SpecificMessage
getExtCmd(int housecode, int devicecode, int function, int dimcode)
static SpecificMessage
getInsteonAddress(int idhighbyte, int idmiddlebyte, int idlowbyte)
static SpecificMessage
getInsteonFunction(int idhighbyte, int idmiddlebyte, int idlowbyte, int function, int flag, int cmd1, int cmd2)
boolean
getInterlocked()
static SerialMessage
getPoll(int addr)
int
getResponseLength()
static SpecificMessage
getX10Address(int housecode, int devicecode)
create an Insteon message with the X10 addressstatic SpecificMessage
getX10AddressDim(int housecode, int devicecode, int dimcode)
create an Insteon message with the X10 address and dim stepsstatic SpecificMessage
getX10Function(int housecode, int function)
static SpecificMessage
getX10FunctionDim(int housecode, int function, int dimcode)
void
setInterlocked(boolean v)
void
setResponseLength(int l)
java.lang.String
toMonitorString()
-
Methods inherited from class jmri.jmrix.powerline.SerialMessage
getAddr, isPoll, isXmt
-
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 Detail
-
interlocked
boolean interlocked
-
responseLength
int responseLength
-
-
Constructor Detail
-
SpecificMessage
public SpecificMessage(int l)
-
SpecificMessage
public SpecificMessage(java.lang.String m, int l)
This ctor interprets the String as the exact sequence to send, byte-for-byte.- Parameters:
m
- messagel
- response length in bytes
-
SpecificMessage
public SpecificMessage(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 expected reply
-
-
Method Detail
-
setInterlocked
public void setInterlocked(boolean v)
- Overrides:
setInterlocked
in classSerialMessage
-
getInterlocked
public boolean getInterlocked()
- Overrides:
getInterlocked
in classSerialMessage
-
toMonitorString
public java.lang.String toMonitorString()
- Returns:
- a human-readable representation of the message.
-
setResponseLength
public void setResponseLength(int l)
- Overrides:
setResponseLength
in classSerialMessage
-
getResponseLength
public int getResponseLength()
- Overrides:
getResponseLength
in classSerialMessage
-
getPoll
public static SerialMessage getPoll(int addr)
-
getX10Address
public static SpecificMessage getX10Address(int housecode, int devicecode)
create an Insteon message with the X10 address- Parameters:
housecode
- value of the housecode of X10 addressdevicecode
- value of the devicecode of X10 address- Returns:
- message formated message with parameters
-
getX10AddressDim
public static SpecificMessage getX10AddressDim(int housecode, int devicecode, int dimcode)
create an Insteon message with the X10 address and dim steps- Parameters:
housecode
- value of the housecode of X10 addressdevicecode
- value of the devicecode of X10 addressdimcode
- value of how dim to set the light- Returns:
- message formated message with parameters
-
getX10FunctionDim
public static SpecificMessage getX10FunctionDim(int housecode, int function, int dimcode)
-
getX10Function
public static SpecificMessage getX10Function(int housecode, int function)
-
getExtCmd
public static SpecificMessage getExtCmd(int housecode, int devicecode, int function, int dimcode)
-
getInsteonAddress
public static SpecificMessage getInsteonAddress(int idhighbyte, int idmiddlebyte, int idlowbyte)
-
getInsteonFunction
public static SpecificMessage getInsteonFunction(int idhighbyte, int idmiddlebyte, int idlowbyte, int function, int flag, int cmd1, int cmd2)
-
-