Class UltimeterRawMessage

All Implemented Interfaces:
Serializable, Cloneable, Comparable<AX25Message>, CommentedMessage

public class UltimeterRawMessage extends Message
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:
  • Constructor Details

    • UltimeterRawMessage

      public UltimeterRawMessage(byte[] body, int offset, String tp, long rcvTimestamp)
      Constructor for Ultimeter raw weather message when decoding a binary AX.25 frame.
      Parameters:
      body - byte array of frame body
      offset - 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 wrapper
      rcvTimestamp - 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 report
      currentWeather - a Map to store the weather parameters in
      msgRcptTime - 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 class Message
      Returns:
      boolean true if symbol is inferred