Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.ka2ddo.aprs
Class PositionlessWeatherReport

    java.lang.Object
      org.ka2ddo.ax25.AX25Message
          org.ka2ddo.aprs.Message
              org.ka2ddo.aprs.PositionlessWeatherReport

All Implemented Interfaces:
  java.io.Serializable, java.lang.Cloneable, java.lang.Comparable<AX25Message>, CommentedMessage, SendableMessage

    public class PositionlessWeatherReport

extends Message
implements SendableMessage

This class decodes a Positionless Weather APRS message (APRS protocol specification chapter 12).

See Also:
  Serialized Form

Nested Class Summary

Nested classes/interfaces inherited from class org.ka2ddo.ax25.AX25Message
`AX25Message.Precedence`

Field Summary
`protected static java.lang.String` | `MDHM`
`char` | `softwareType` Code for type of software the sending weather station is using.
`java.lang.String` | `wsType` Weather station hardware type.

Fields inherited from class org.ka2ddo.aprs.Message
`comment, extensions, msgType, S_PERMANENT, S_PERMANENT_UC, symbolCode, symTableId, USASCII`

Fields inherited from class org.ka2ddo.ax25.AX25Message
`ax25Frame, invalid, ISO_8859_1, originatingCallsign, PERMANENT, rcptTime, thirdParty, timestamp, UTC, UTF8`

Constructor Summary
`PositionlessWeatherReport(byte[] body, int offset, java.lang.String tp, AX25Callsign dst, long rcvTimestamp)` Standard constructor for PositionlessWeatherReport, for decoding from an AX.25 frame (or equivalent).
`PositionlessWeatherReport(long now)` Alternate constructor, used to create an empty message for population by local weather data.
`PositionlessWeatherReport(java.lang.String body, int offset)` Alternate constructor, used only to decode $PKWDWXI special message from Kenwood TH-D72 HT's built-in TNC when weather data is expected to be imported into the TNC from a local weather station.

Method Summary
`byte[]` | `getBody(boolean countTransmission, byte protocolId, AX25Frame frame)` Get an instance of this message, suitable for transmitting.
`boolean` | `isEnabled()` Test if message should still be transmitted.
`boolean` | `isSymbolInferred()` Report whether the non-null APRS symbol reported by this message is explicit or inferred from destination or source callsign.
`java.lang.String` | `paramString()` Descriptive text about this message, to be included in the toString() method's response.

Methods inherited from class org.ka2ddo.aprs.Message
`bodyEquals, compareTo, decodeDatestamp, decodeHurricaneParams, decodeTimestamp, decodeWeatherParams, decodeWeatherParams, dup, encodeTimestamp, extractComment, extractComment, extractSymbol, formatBody, getComment, getExtension, getExtensionString, getMsgType, getReadOnlyExtensionMap, getSymbolCode, getSymTableId, hasWeather, inferSymbol, looksLikeLongFormatLatitude, setComment, setSymbolCode, setSymTableId, storeExtension, toString`

Methods inherited from class org.ka2ddo.ax25.AX25Message
`equals, extractSource, getAx25Frame, getFirstDigipeat, getLastDigipeat, getOriginalDestination, getOriginalSource, getOriginatingCallsign, getPrecedence, getRcptTime, getTimestamp, hashCode, hasPosition, hasThisFirstDigi, indexOf, indexOf, isInvalid, onlyDigits, onlyDigits, onlyDigitsOrPeriod, onlyDigitsOrSpace, onlyDigitsPlus, onlyPeriods, setAx25Frame, setInvalid, setOriginatingCallsign, setRcptTime, setTimestamp, split`

Methods inherited from class java.lang.Object
`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

Methods inherited from interface org.ka2ddo.ax25.SendableMessage
`dup`

Field Detail

### MDHM

    protected static final java.lang.String MDHM

See Also:
  Constant Field Values

### softwareType

    public char softwareType

  Code for type of software the sending weather station is using.

### wsType

    public java.lang.String wsType

  Weather station hardware type.

Constructor Detail

### PositionlessWeatherReport

    public PositionlessWeatherReport(byte[] body,
                                     int offset,
                                     java.lang.String tp,
                                     AX25Callsign dst,
                                     long rcvTimestamp)

  Standard constructor for PositionlessWeatherReport, for decoding from an AX.25 frame (or equivalent).

  Parameters:
    `body` - byte array of frame body
    `offset` - starting point in the array (in case of third-party header)
    `tp` - extracted third-party header String
    `dst` - destination AX25Callsign from frame
    `rcvTimestamp` - timestamp at which message was received

### PositionlessWeatherReport

    public PositionlessWeatherReport(java.lang.String body,
                                     int offset)

  Alternate constructor, used only to decode $PKWDWXI special message from Kenwood TH-D72 HT's built-in TNC when weather data is expected to be imported into the TNC from a local weather station.

  Parameters:
    `body` - String containing the $PKWDWXI message
    `offset` - index of first byte after the message header

### PositionlessWeatherReport

    public PositionlessWeatherReport(long now)

  Alternate constructor, used to create an empty message for population by local weather data.

  Parameters:
    `now` - time of weather data, in Java milliseconds since Jan 1, 1970 UTC

Method Detail

### paramString

    public java.lang.String paramString()

  Descriptive text about this message, to be included in the toString() method's response.

  Overrides:
    `paramString` in class `Message`
  Returns:
    String describing the contents of this message
  See Also:
    `Message.toString()`

### getBody

    public byte[] getBody(boolean countTransmission,
                          byte protocolId,
                          AX25Frame frame)

  Get an instance of this message, suitable for transmitting.

  Specified by:
    `getBody` in interface `SendableMessage`
  Parameters:
    `countTransmission` - number of times the message has been transmitted.
    `protocolId` - AX.25 protocol ID to generate the message in, or 0 for default protocol; currently, only NOLVL3 (APRS) and OPENTRAC are 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.parsedAX25Msg
  Returns:
    byte array of message, or null if message body cannot be generated in specified protocol, or retransmission count has been exceeded.
  See Also:
    `AX25Frame.parsedAX25Msg`

### isEnabled

    public boolean isEnabled()

  Test if message should still be transmitted.

  Specified by:
    `isEnabled` in interface `SendableMessage`
  Returns:
    boolean true if message should still be transmitted

### 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

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD