jwo.landserf.process.gps.garmin
Class WaypointDataPacket

java.lang.Object
  extended byjwo.landserf.process.gps.garmin.GarminPacket
      extended byjwo.landserf.process.gps.garmin.WaypointDataPacket
All Implemented Interfaces:
GPSWaypoint, Position

public class WaypointDataPacket
extends GarminPacket
implements GPSWaypoint

Represents a Garmin waypoint packet used for storing named locations. The Garmin-protocol contains a large number of different waypoint packet specifications. Currently, only the one labelled D108 is implemented.

Version:
2.2, 25th June, 2004
Author:
Jo Wood, based on the design by Henrik Sorensen (haas@itu.dk).

Field Summary
 
Fields inherited from class jwo.landserf.process.gps.garmin.GarminPacket
Cmnd_Abort_Transfer, Cmnd_Start_Pvt_Data, Cmnd_Stop_Pvt_Data, Cmnd_Transfer_Alm, Cmnd_Transfer_Posn, Cmnd_Transfer_Prx, Cmnd_Transfer_Rte, Cmnd_Transfer_Time, Cmnd_Transfer_Trk, Cmnd_Transfer_Wpt, Cmnd_Turn_Off_Pwr, DLE, ETX, packet, Pid_Ack_Byte, Pid_Almanac_Data, Pid_Command_Data, Pid_Date_Time_Data, Pid_Nak_Byte, Pid_Position_Data, Pid_Product_Data, Pid_Product_Rqst, Pid_Protocol_Array, Pid_Prx_Wpt_Data, Pid_Pvt_Data, Pid_Records, Pid_Rte_Hdr, Pid_Rte_Link_Data, Pid_Rte_Wpt_Data, Pid_Trk_Data, Pid_Trk_Hdr, Pid_Wpt_Data, Pid_Xfer_Cmplt
 
Constructor Summary
WaypointDataPacket(Footprint fp, float elev, String name)
          Creates a waypoint packet from the given location and name.
WaypointDataPacket(GarminPacket packet)
          Creates a waypoint packet from the given packet data.
WaypointDataPacket(int[] packet)
          Creates a waypoint packet from the given data.
 
Method Summary
 float getAltitude()
          Reports the altitude of this position.
 AngleRadians getLatitude()
          Reports the latitude of the waypoint.
 AngleRadians getLongitude()
          Reports the longitude of the waypoint.
 String getName()
          Reports the name of the waypoint.
 void setDatatypeVersion(int version)
          Sets which version of the packet that this class should represent.
 
Methods inherited from class jwo.landserf.process.gps.garmin.GarminPacket
calcChecksum, commandToString, createBasicPacket, createCommandPacket, getByte, getDataLength, getID, getLength, getPacket, getRawPacket, idToString, isLegal, readByte, readDouble, readFloat, readLong, readNullTerminatedString, readWord, setPacket, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

WaypointDataPacket

public WaypointDataPacket(Footprint fp,
                          float elev,
                          String name)
Creates a waypoint packet from the given location and name.

Parameters:
fp - Location of waypoint in decimal degrees lat/long.
elev - Elevation of waypoint.
name - Name of waypoint (will be truncated to 6 characters).

WaypointDataPacket

public WaypointDataPacket(int[] packet)
Creates a waypoint packet from the given data.

Parameters:
packet - Data representing the waypoint packet.
Throws:
PacketNotRecognizedException - if the waypoint data format is not defined.
InvalidPacketException - if the packet data are not the expected length.

WaypointDataPacket

public WaypointDataPacket(GarminPacket packet)
Creates a waypoint packet from the given packet data.

Parameters:
packet - Packet to copy.
Throws:
PacketNotRecognizedException - if the given packet is not a waypoint packet.
Method Detail

setDatatypeVersion

public void setDatatypeVersion(int version)
Sets which version of the packet that this class should represent.

Parameters:
version - Waypoint packet version.

getLatitude

public AngleRadians getLatitude()
Reports the latitude of the waypoint.

Specified by:
getLatitude in interface Position
Returns:
Latitude in radians.

getLongitude

public AngleRadians getLongitude()
Reports the longitude of the waypoint.

Specified by:
getLongitude in interface Position
Returns:
Latitude in radians.

getAltitude

public float getAltitude()
Reports the altitude of this position.

Specified by:
getAltitude in interface Position
Returns:
Altitude of this position in units determined by the GPS. May be 0 if GPS unit does not record waypoint altitude.

getName

public String getName()
Reports the name of the waypoint.

Specified by:
getName in interface GPSWaypoint
Returns:
Name associated with the waypoint.


Copyright Jo Wood, 1996-2005, last modified, 11th March, 2005