Package jmri.jmrix.powerline.cp290
Class SpecificMessage
java.lang.Object
jmri.jmrix.AbstractMessage
jmri.jmrix.AbstractMRMessage
jmri.jmrix.powerline.SerialMessage
jmri.jmrix.powerline.cp290.SpecificMessage
- All Implemented Interfaces:
Message
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
FieldsFields inherited from class jmri.jmrix.AbstractMRMessage
LONG_TIMEOUT, SHORT_TIMEOUTFields inherited from class jmri.jmrix.AbstractMessage
_dataChars, _nDataChars -
Constructor Summary
ConstructorsConstructorDescriptionSpecificMessage(byte[] a, int l) Deprecated, for removal: This API element is subject to removal in a future version.5.13.5, unused, requires further development.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 TypeMethodDescriptionintgetAddr()static SpecificMessagegetAddress(int housecode, int devicecode) static SpecificMessagegetAddressDim(int housecode, int devicecode, int dimcode) static SpecificMessagegetFunction(int housecode, int function) static SpecificMessagegetFunctionDim(int housecode, int function, int dimcode) static SerialMessagegetPoll(int addr) intbooleanisPoll()booleanisXmt()voidsetResponseLength(int l) (package private) intFind 1st byte that's not 0xFF, or -1 if noneTranslate packet to textMethods inherited from class jmri.jmrix.powerline.SerialMessage
getInterlocked, setInterlockedMethods inherited from class jmri.jmrix.AbstractMRMessage
addIntAsFourHex, addIntAsThree, addIntAsThreeHex, addIntAsTwoHex, getNeededMode, getOpCode, getOpCodeHex, getRetries, getTimeout, isBinary, replyExpected, setBinary, setNeededMode, setOpCode, setRetries, setTimeout, toStringMethods inherited from class jmri.jmrix.AbstractMessage
equals, getElement, getNumDataElements, hashCode, setElement
-
Field Details
-
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
Deprecated, for removal: This API element is subject to removal in a future version.5.13.5, unused, requires further development.This ctor interprets the byte array as a sequence of characters to send.- Parameters:
a- Array of bytes to sendl- length of expected reply
-
-
Method Details
-
startIndex
int startIndex()Find 1st byte that's not 0xFF, or -1 if none- Returns:
- -1 or index of first valid byte
-
toMonitorString
Translate packet to text- Returns:
- a human-readable representation of the message.
-
setResponseLength
- Overrides:
setResponseLengthin classSerialMessage
-
getResponseLength
- Overrides:
getResponseLengthin classSerialMessage
-
isPoll
- Overrides:
isPollin classSerialMessage
-
isXmt
- Overrides:
isXmtin classSerialMessage
-
getAddr
- Overrides:
getAddrin classSerialMessage
-
getPoll
-
getAddress
-
getAddressDim
-
getFunctionDim
-
getFunction
-