public class PositionReport extends PositionMessage implements SendableMessage
AX25Message.Precedenceabc, altitude, altitudeUnit, COMPRESSED_LAT_SCALING, CONV_MPH_TO_METERS_PER_SEC, DHM, enabledForTransmit, encodeCompressed, fLatitude, fLatPrecision, fLongitude, fmtMonitorFreq, HMS, HUNDREDTH_MINUTE_F, isCustom, latitude, LN_BASE1_08, longitude, ONE_DEGREE_F, ONE_MINUTE_F, TEN_MINUTES_F, TENTH_MINUTE_FappendCR, 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 |
|---|
PositionReport(byte[] body,
int offset,
java.lang.String tp,
long rcvTimestamp)
Constructor for Position message when decoding a binary AX.25 frame.
|
PositionReport(long now,
boolean encodeCompressed,
char msgType)
Alternate constructor for creating a non-timestamped locally originated PositionReport.
|
| Modifier and Type | Method and Description |
|---|---|
void |
disableForTransmit()
Specify that message should no longer be transmitted.
|
byte[] |
getBody(boolean countTransmission,
ProtocolFamily protocolId,
AX25Frame frame)
Get an instance of this message, suitable for transmitting.
|
java.util.Set<ProtocolFamily> |
getProtocols()
Get the protocol family or families that this message corresponds to, so
ports that don't support all protocols will not forward inappropriate packets.
|
boolean |
isUsingCompressedFormat()
Indicates whether this PositionMessage is using compressed-mode (but not Mic-E) encoding of latitude and longitude,
because this affects what are legal symbol overlay codes.
|
appendAreaParameters, appendRepeaterParameters, appendSignpostParameters, bodyEquals, createObjectFromThisPosition, decodeDataExtension, decodeLatitude, decodeLongitude, decodeOnlyLatitude, decodeOnlyLongitude, encodeLatitudeCompressed, encodeLatitudePlainText, encodeLongitudeCompressed, encodeLongitudePlainText, extractCompressedLatitude, extractCompressedLongitude, extractLatitude, extractLongitude, getAbc, getAltitude, getAltitudeUnit, getHorizontalAccuracy, getLatitude, getLatitudeAccuracy, getLongitude, getPositionAltitude, getPositionLatitude, getPositionLongitude, getPositionTime, hasPosition, isCustom, isEnabled, isShowDate, looksLikeFrequency, looksLikeFrequency, paramString, setAbc, setAmbiguity, setCustom, setLatitude, setLocation, setLongitude, setShowDate, testIfValidCompressedLocationcompareTo, decodeDatestamp, decodeHurricaneParams, decodeTimestamp, decodeWeatherParams, decodeWeatherParams, dup, encodeTimestamp, extractComment, extractComment, extractSymbol, formatBody, getComment, getExtensionString, getMsgType, getPrecedence, 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, 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, waitdup, isEnabledpublic PositionReport(byte[] body,
int offset,
java.lang.String tp,
long rcvTimestamp)
throws java.lang.IllegalArgumentException
body - byte array of frame bodyoffset - int array index offset for start of message (non-zero for encapsulated messages)tp - third-party relay String for encapsulated messages, or null for no third-party wrapperrcvTimestamp - Unix time when message was actually received by YAACjava.lang.IllegalArgumentException - if body has invalid syntax in any fieldspublic PositionReport(long now,
boolean encodeCompressed,
char msgType)
now - current time in milliseconds since midnight 1 Jan 1970 UTCencodeCompressed - boolean true if encoding of this message into APRS format should use compressed encodingmsgType - char to use for APRS message type; caller is required to ensure this is legal by APRS protocol specificationpublic byte[] getBody(boolean countTransmission,
ProtocolFamily protocolId,
AX25Frame frame)
getBody in interface SendableMessagecountTransmission - number of times this message has been transmittedprotocolId - AX.25 protocol ID to format this message inframe - AX25Frame into which the message will be placed, so any alternate AX25Message can be linked to itAX25Frame.parsedAX25Msgpublic boolean isUsingCompressedFormat()
isUsingCompressedFormat in class PositionMessagepublic void disableForTransmit()
disableForTransmit in interface SendableMessagepublic java.util.Set<ProtocolFamily> getProtocols()
getProtocols in class Message