Package org.ka2ddo.aprs
Class UltimeterRawMessage
java.lang.Object
org.ka2ddo.ax25.AX25Message
org.ka2ddo.aprs.Message
org.ka2ddo.aprs.UltimeterRawMessage
- All Implemented Interfaces:
Serializable
,Cloneable
,Comparable<AX25Message>
,CommentedMessage
This class represents a message decoded from a Peet Bros Ultimeter weather station (APRS protocol
specification chapter 12). It also can decode Peet Bros messages from a local weather station without
going through APRS first, so this same code can be used in both use cases.
- Author:
- Andrew Pavlin, KA2DDO
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class org.ka2ddo.ax25.AX25Message
AX25Message.Precedence
-
Field Summary
Fields inherited from class org.ka2ddo.aprs.Message
appendCR, APRS_AND_OPENTRAC_AND_RAW, APRS_AND_RAW, comment, msgType, S_PERMANENT, S_PERMANENT_UC, symbolCode, symTableId
Fields inherited from class org.ka2ddo.ax25.AX25Message
APRS_AND_OPENTRAC, ax25Frame, extensions, invalid, originatingCallsign, originatingDest, PERMANENT, rcptTime, thirdParty, timestamp, UTC
-
Constructor Summary
ConstructorDescriptionUltimeterRawMessage
(byte[] body, int offset, String tp, long rcvTimestamp) Constructor for Ultimeter raw weather message when decoding a binary AX.25 frame. -
Method Summary
Modifier and TypeMethodDescriptionboolean
Report whether the non-null APRS symbol reported by this message is explicit or inferred from destination or source callsign.static boolean
parseWeatherLine
(String line, Map<Enum, Object> currentWeather, long msgRcptTime) Decode a line of text supposedly containing one of the Ultimeter weather station ASCII text formats, as documented on the Peet Bros website.Methods inherited from class org.ka2ddo.aprs.Message
bodyEquals, compareTo, decodeDatestamp, decodeHurricaneParams, decodeTimestamp, decodeWeatherParams, decodeWeatherParams, dup, encodeTimestamp, extractComment, extractComment, extractSymbol, formatBody, getComment, getExtensionString, getMsgType, getPrecedence, getProtocols, getSymbolCode, getSymTableId, hasWeather, inferSymbol, isAppendCR, looksLikeLongFormatLatitude, paramString, setAppendCR, setComment, setSymbolCode, setSymTableId, toString
Methods inherited from class org.ka2ddo.ax25.AX25Message
equals, 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, storeExtension
-
Constructor Details
-
UltimeterRawMessage
Constructor for Ultimeter raw weather message when decoding a binary AX.25 frame.- Parameters:
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 YAAC
-
-
Method Details
-
parseWeatherLine
public static boolean parseWeatherLine(String line, Map<Enum, Object> currentWeather, long msgRcptTime) Decode a line of text supposedly containing one of the Ultimeter weather station ASCII text formats, as documented on the Peet Bros website.- Parameters:
line
- String containing a weather reportcurrentWeather
- a Map to store the weather parameters inmsgRcptTime
- time weather sentence was received in Java milliseconds since Jan 1 19780 UTC- Returns:
- boolean true if message was successfully parsed
-
isSymbolInferred
public boolean isSymbolInferred()Report whether the non-null APRS symbol reported by this message is explicit or inferred from destination or source callsign. Intended to be overridden by message types which can infer a symbol but can't explicitly specify the symbol.- Overrides:
isSymbolInferred
in classMessage
- Returns:
- boolean true if symbol is inferred
-