org.ka2ddo.aprs
Class GpsRawMessage

java.lang.Object
  extended by org.ka2ddo.ax25.AX25Message
      extended by org.ka2ddo.aprs.Message
          extended by org.ka2ddo.aprs.PositionMessage
              extended by org.ka2ddo.aprs.GpsRawMessage
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, java.lang.Comparable<AX25Message>, CommentedMessage

public class GpsRawMessage
extends PositionMessage

This class represents a message decoded from a raw GPS NMEA data string (APRS protocol specification chapter 6).

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class org.ka2ddo.ax25.AX25Message
AX25Message.Precedence
 
Field Summary
 
Fields inherited from class org.ka2ddo.aprs.PositionMessage
abc, altitude, altitudeUnit, COMPRESSED_LAT_SCALING, CONV_MPH_TO_METERS_PER_SEC, DHM, fLatitude, fLatPrecision, fLongitude, fmtMonitorFreq, HMS, isCustom, latitude, LN_BASE1_08, longitude, MDHM
 
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
GpsRawMessage(byte[] body, int offset, java.lang.String tp, long rcvTimestamp, AX25Callsign src, AX25Callsign dest)
          Create a GpsRawMessage from the bytes in a byte array (such as the body of an AX25Frame).
GpsRawMessage(GpsFix fix, char symTableId, char symbolCode)
          Alternate constructor to support remote GPS tracking.
GpsRawMessage(java.lang.String line, long timestamp, java.lang.String callsign, java.lang.String lat, java.lang.String lon, int speed, int bearing, char symTableId, char symbolCode)
          Alternate constructor to support waypoint sentence backfeeds from Kenwood D7100/D710 GPS jack.
 
Method Summary
 boolean isSymbolInferred()
          Report whether the non-null APRS symbol reported by this message is explicit or inferred from destination or source callsign.
 
Methods inherited from class org.ka2ddo.aprs.PositionMessage
appendAreaParameters, appendRepeaterParameters, appendSignpostParameters, bodyEquals, createObjectFromThisPosition, decodeDataExtension, decodeLatitude, decodeLongitude, decodeOnlyLatitude, decodeOnlyLongitude, encodeLatitudeCompressed, encodeLatitudePlainText, encodeLongitudeCompressed, encodeLongitudePlainText, extractCompressedLatitude, extractCompressedLongitude, extractLatitude, extractLongitude, getAbc, getAltitude, getAltitudeUnit, getCustom, getLatitude, getLatitudeAccuracy, getLongitude, hasPosition, isEnabled, isShowDate, isUsingCompressedFormat, looksLikeFrequency, looksLikeFrequency, paramString, setAbc, setLatitude, setLocation, setLongitude, setShowDate, testIfValidCompressedLocation
 
Methods inherited from class org.ka2ddo.aprs.Message
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, 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
 

Constructor Detail

GpsRawMessage

public GpsRawMessage(byte[] body,
                     int offset,
                     java.lang.String tp,
                     long rcvTimestamp,
                     AX25Callsign src,
                     AX25Callsign dest)
Create a GpsRawMessage from the bytes in a byte array (such as the body of an AX25Frame).

Parameters:
body - byte array containing the transmission format of the message
offset - index into the array where the message starts
tp - String of third-party routing information (or null if this was not routed over another network)
rcvTimestamp - the time (in milliseconds in Jan 1970 UTC) when this message was received
src - AX25Callsign of sending station
dest - AX25Callsign of destination tocall

GpsRawMessage

public GpsRawMessage(GpsFix fix,
                     char symTableId,
                     char symbolCode)
Alternate constructor to support remote GPS tracking.

Parameters:
fix - GpsFix record to extract fix from
symTableId - APRS symbol table ID or overlay for remote GPS
symbolCode - APRS symbol code for remote GPS

GpsRawMessage

public GpsRawMessage(java.lang.String line,
                     long timestamp,
                     java.lang.String callsign,
                     java.lang.String lat,
                     java.lang.String lon,
                     int speed,
                     int bearing,
                     char symTableId,
                     char symbolCode)
Alternate constructor to support waypoint sentence backfeeds from Kenwood D7100/D710 GPS jack.

Parameters:
line - String of GPS sentence parsed apart to provide related parameters
timestamp - timestamp in Java milliseconds since midnight Jan 1 1970 UTC
callsign - callsign of reported station
lat - latitude in APRS standard ddmm.mmN format
lon - longitude in APRS standard dddmm.mmW format
speed - speed in knots, or -1 if not provided
bearing - bearing in degrees from true North
symTableId - symbol table ID or overlay character
symbolCode - symbol code character
Method Detail

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