Garmin Basestation Mode

From APRSWiki
Revision as of 12:01, 16 October 2012 by KB0MVQ (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Note: This document assumes you are familiar with Garmin Device Interface Specification (Drawing Number: 001-00063-00) and how to establish communication with a Garmin device.

Contents

[edit] Link Protocol

[edit] Packet IDs

enum
{
Pid_Tracked_Asset_Data = 3078
}; 

[edit] Application Protocol

[edit] A1100 – Basestation Protocol

Tracked asset data is transmitted upon the user enabling the feature on the unit.

The packet sequence for the Basestation Protocol is show below:

N Direction Packet ID Packet Data Type
0 Device to Host (ACK/NACK optional) Pid_Tracked_Asset_Data <D1100_Tracked_Asset_Type>

[edit] Data Types

[edit] asset_info_type

The asset_info_type is a uint32 bit field that indicates the type of receiving unit, the asset's type and it's associated status.

Bit Interpretation
0-3 (least significant bits) Dog Status
4-8 Platform
9-11 Type
12 Low Battery
13 GPS Lost
14 Communication Lost
15 Text Message Received
16 Asset Removed
17-31 (most significant bits) Undefined

"Dog Status" can be one of the following values:

enum
   {
   DOG_STATUS_INVALID    = 0,
   DOG_STATUS_SITTING    = 1,
   DOG_STATUS_MOVING     = 2,
   DOG_STATUS_TREED      = 3,
   DOG_STATUS_ON_POINT   = 4
   };

"Platform" can be one of the following values:

enum
   {
   PLATFORM_ASTRO320 = 0,
   PLATFORM_RINO     = 1,
   PLATFORM_ALPHA    = 2 
   };

"Type" can be one of the following values:

enum
   {
   TYPE_DOG     = 0,
   TYPE_CONTACT = 1
   };

"Dog Status", "Low Battery", "GPS Lost", and "Communication Lost" are only valid if "Type" is TYPE_DOG.

For "Low Battery", "GPS Lost", "Communication Lost", a set bit indicates the condition is true.

The "Text Message Received" bit being set indicates that a new text message has been received.

The "Asset Removed" bit being set indicates that the user has removed the asset from the list of tracked assets on their device.

[edit] D1100_Tracked_Asset_Type

typedef struct
    {
    position_type       posn;
    float               alt;
    time_type           time;
    asset_info_type     status;
    symbol_type         smbl;      /* contact symbol */
    uint16              collar_id; /* assigned dog collar ID */
    uint8               color;     /* track color */
    uint8               batt;      /* Battery level 0% - 100% */
    uint8               gps;       /* Signal strength 0 - 5 bars */
    uint8               comm;      /* Signal strength 0 - 5 bars */
    uint8               channel;   /* FRS/GMRS channel */
    uint8               code;      /* FRS/GMRS squelch code */
    uint8               idx;       /* index */
    uchar_t8            ident[37]; /* identifier */
    uchar_t8            msg[31];   /* text message or note */
    } D1100_Tracked_Asset_Type;

The "smbl" is only valid if the "Type" field of the "status" member is TYPE_CONTACT.

The "collar_id", "batt", "gps", and "comm" members are only valid if the "Type" field of the "status" member is TYPE_DOG.

The “color” member is the display color of the asset's track and can be one of the following values:

enum
{
clr_black         = 0,
clr_dark_red      = 1,
clr_dark_green    = 2,
clr_dark_yellow   = 3,
clr_dark_blue     = 4,
clr_dark_magenta  = 5,
clr_dark_cyan     = 6,
clr_light_gray    = 7,
clr_dark_gray     = 8,
clr_red           = 9,
clr_green         = 10,
clr_yellow        = 11,
clr_blue          = 12,
clr_magenta       = 13,
clr_cyan          = 14,
clr_white         = 15,
clr_light_blue    = 16,
clr_transparent   = 17,
clr_default_color = 255
};

The "idx" member is a unique index for a given asset. This allows the host to track changes of the identifier. A given index may be reused after the unit sends a packet with the "Asset Removed" bit of the "status" member set for that index.

The "msg" member is only valid when the "Text Message Received" bit of "status" member is set. Otherwise the previously received message should be considered the latest message.

Personal tools