public class TelemetryMessage extends Message implements SendableMessage
AX25Message.Precedence| Modifier and Type | Field and Description |
|---|---|
float[] |
analogValues
A 5-element array of the 5 non-boolean analog values in the telemetry message.
|
int |
bitmask
A bitmask containing the 8 boolean digits from the telemetry message.
|
static int |
MIC
Constant representing the decoded representation of the "MIC" sequence "number".
|
int |
sequenceNum
The extracted sequence number of the telemetry data.
|
appendCR, APRS_AND_OPENTRAC_AND_RAW, APRS_AND_RAW, comment, msgType, S_PERMANENT, S_PERMANENT_UC, symbolCode, symTableIdAPRS_AND_OPENTRAC, ax25Frame, extensions, invalid, originatingCallsign, originatingDest, PERMANENT, rcptTime, thirdParty, timestamp, UTC| Constructor and Description |
|---|
TelemetryMessage()
Create a TelemetryMessage suitable for transmission to another station.
|
TelemetryMessage(byte[] body,
int offset,
java.lang.String tp,
long rcvTimestamp)
Constructor for a TelemetryMessage from an AX25Frame.
|
TelemetryMessage(PositionMessage pm,
int startPos,
int endPos)
Construct a TelemetryMessage based on Base91 Telemetry data extracted from a PositionMessage's comment, per the proposed
extension documented in http://he.fi/doc/aprs-base91-comment-telemetry.txt.
|
| Modifier and Type | Method and Description |
|---|---|
boolean |
bodyEquals(AX25Message o)
Compare the contents of the body of the message, reporting if they match.
|
void |
disableForTransmit()
Specify that message should no longer be transmitted.
|
java.lang.String |
getBase91Encoding()
Encode this telemetry data in the format for base-91 appending to the comment of an APRS
PositionReport, per http://he.fi/doc/aprs-base91-comment-telemetry.txt.
|
byte[] |
getBody(boolean countTransmission,
ProtocolFamily protocolId,
AX25Frame frame)
Get an instance of this message, suitable for transmitting.
|
boolean |
isEnabled()
Test if message should still be transmitted.
|
java.lang.String |
paramString()
Descriptive text about this message, to be included in the toString() method's response.
|
compareTo, decodeDatestamp, decodeHurricaneParams, decodeTimestamp, decodeWeatherParams, decodeWeatherParams, dup, encodeTimestamp, extractComment, extractComment, extractSymbol, formatBody, getComment, getExtensionString, getMsgType, getPrecedence, getProtocols, getSymbolCode, getSymTableId, hasWeather, inferSymbol, isAppendCR, isSymbolInferred, looksLikeLongFormatLatitude, setAppendCR, setComment, setSymbolCode, setSymTableId, toStringequals, extractSource, getAx25Frame, getExtension, getFirstDigipeat, getLastDigipeat, getNthDigipeat, getOriginalDestination, getOriginalSource, getOriginatingCallsign, getOriginatingDest, getRcptTime, getReadOnlyExtensionMap, getTimestamp, hashCode, hasPosition, hasThisFirstDigi, indexOf, indexOf, isDirect, isInvalid, isRf, onlyDigits, onlyDigits, onlyDigitsOrMinus, onlyDigitsOrPeriod, onlyDigitsOrSpace, onlyDigitsPlus, onlyPeriods, setAx25Frame, setInvalid, setOriginatingCallsign, setRcptTime, setTimestamp, split, storeExtensionclone, finalize, getClass, notify, notifyAll, wait, wait, waitduppublic static final int MIC
public int sequenceNum
public float[] analogValues
public int bitmask
public TelemetryMessage()
public TelemetryMessage(byte[] body,
int offset,
java.lang.String tp,
long rcvTimestamp)
body - byte array containing the messageoffset - index into the byte array where the telemetry message text startstp - String of third-party routing data (may be null)rcvTimestamp - time in Java milliseconds since Jan 1 1970 UTC when this message was receivedpublic TelemetryMessage(PositionMessage pm, int startPos, int endPos)
pm - PositionMessage containing the base-91 telemetry datastartPos - index into the PositionMessage's comment where the telemetry data starts (after the '|' character)endPos - index into the PositionMessage's comment where the telemetry data ends (the closing '|' character)public java.lang.String paramString()
paramString in class MessageMessage.toString(),
Message.getComment()public java.lang.String getBase91Encoding()
throws java.lang.IllegalArgumentException
java.lang.IllegalArgumentException - if any value of telemetry message is out of range to fit in base-91 encodingpublic boolean bodyEquals(AX25Message o)
bodyEquals in class Messageo - another AX25Message to compare againstpublic byte[] getBody(boolean countTransmission,
ProtocolFamily protocolId,
AX25Frame frame)
getBody in interface SendableMessagecountTransmission - number of times the message has been transmitted.protocolId - ProtocolFamily to generate the message in; currently,
only APRS is supported.frame - AX25Frame into which the message will be placed; the decoded message (as opposed to the byte
array encoding) should be stored into the field frame.parsedAX25MsgAX25Frame.parsedAX25Msgpublic boolean isEnabled()
isEnabled in interface SendableMessagepublic void disableForTransmit()
disableForTransmit in interface SendableMessage