Garmin Device Interface Specification

Takami Torao #Garmin #GPS
  • このエントリーをはてなブックマークに追加

Garmin デバイス仕様の和訳

このドキュメントは Garmin Device Interface Specification (May 19, 2006 001-00063-00 Rev.C) の和訳です。シリアル通信と USB 通信のプロトコル仕様を規定しています。

Almanac - 軌道要素
Proximity - 近接

目次

1 導入
1.1 概要
1.2 用語の定義
1.3 データ型の仕様
2 プロトコル層
3 物理プロトコル
3.1 Serial Protocol
3.1.1 Serial Packet Format
3.1.2 DLE Stuffing
3.1.3 ACK/NAK Handshaking
3.1.4 Serial Protocol Packet IDs
3.2 USB プロトコル
3.2.1 USB プロトコルの詳細
3.2.2 USB パケットフォーマット
3.2.3 USB プロトコル層パケット ID
3.2.4 Garmin USB ドライバ (Microsoft Windows)
4 リンクプロトコル
4.1 L000 - 基本リンクプロトコル
4.1.1 基本パケット ID
4.2 L001 - リンクプロトコル 1
4.3 L002 - リンクプロトコル 2
5 アプリケーションプロトコルの概要
5.1 ドキュメントされていないアプリケーションパケット
5.2 パケット順序
5.3 パケットデータ型
5.4 パケットの標準的な開始と終了
5.4.1 Records_Type
5.5 名前で識別されるデータのデバイス側での上書き
6 アプリケーションプロトコル
6.1 A000 - 製品データプロトコル
6.1.1 Product_Data_Type
6.1.2 Ext_Product_Data_Type
6.2 A001 - プロトコル能力プロトコル
6.2.1 Protocol_Array_Type
6.2.2 Protocol_Data_Type
6.2.3 Protocol_Data_Type のタグ値
6.2.4 プロトコル能力の例
6.3 デバイスコマンドプロトコル
6.3.1 A010 - デバイスコマンドプロトコル 1
6.3.2 A011 - デバイスコマンドプロトコル 2
6.4 A100 - ウェイポイント転送プロトコル
6.5 A101 - ウェイポイントカテゴリ転送プロトコル
6.6 ルート転送プロトコル
6.6.1 ルートウェイポイントのデータベースマッチ
6.6.2 A200 - Route Transfer Protocol
6.6.3 A201 - Route Transfer Protocol
6.7 トラックログ転送プロトコル
6.7.1 デバイスによる時刻値の無視
6.7.2 A300 - Track Log Transfer Protocol
6.7.3 A301 - トラックログ転送プロトコル
6.7.4 A302 - Track Log Transfer Protocol
6.8 A400 - Proximity Waypoint Transfer Protocol
6.9 A500 - 軌道要素転送プロトコル
6.10 A600 - 日付/時刻初期化プロトコル
6.11 A650 - FlightBook Transfer Protocol
6.12 A700 - 位置初期化プロトコル
6.13 A800 - PVT プロトコル
6.14 A906 - Lap Transfer Protocol
6.15 A1000 - Run Transfer Protocol
6.16 A1002 - Workout Transfer Protocol
6.17 A1004 - Fitness User Profile Transfer Protocol
6.18 A1005 - Workout Limits Transfer Protocol
6.19 A1006 - Course Transfer Protocol
6.20 A1009 - Course Limits Transfer Protocol
7 データ型
7.1 データの直列化
7.2 文字セット
7.3 基本データ型
7.3.1 char
7.3.2 文字配列
7.3.3 可変長文字列
7.3.4 uint8
7.3.5 uint16
7.3.6 uint32
7.3.7 sint16
7.3.8 sint32
7.3.9 float32
7.3.10 float64
7.3.11 bool
7.3.12 position_type
7.3.13 radian_position_type
7.3.14 time_type
7.3.15 symbol_type
7.4 Product-Specific Data Types
7.4.1 D100_Wpt_Type
7.4.2 D101_Wpt_Type
7.4.3 D102_Wpt_Type
7.4.4 D103_Wpt_Type
7.4.5 D104_Wpt_Type
7.4.6 D105_Wpt_Type
7.4.7 D106_Wpt_Type
7.4.8 D107_Wpt_Type
7.4.9 D108_Wpt_Type
7.4.10 D109_Wpt_Type
7.4.11 D110_Wpt_Type
7.4.12 D120_Wpt_Cat_Type
7.4.13 D150_Wpt_Type
7.4.14 D151_Wpt_Type
7.4.15 D152_Wpt_Type
7.4.16 D154_Wpt_Type
7.4.17 D155_Wpt_Type
7.4.18 D200_Rte_Hdr_Type
7.4.19 D201_Rte_Hdr_Type
7.4.20 D202_Rte_Hdr_Type
7.4.21 D210_Rte_Link_Type
7.4.22 D300_Trk_Point_Type
7.4.23 D301_Trk_Point_Type
7.4.24 D302_Trk_Point_Type
7.4.25 D303_Trk_Point_Type
7.4.26 D304_Trk_Point_Type
7.4.27 D310_Trk_Hdr_Type
7.4.28 D311_Trk_Hdr_Type
7.4.29 D312_Trk_Hdr_Type
7.4.30 D400_Prx_Wpt_Type
7.4.31 D403_Prx_Wpt_Type
7.4.32 D450_Prx_Wpt_Type
7.4.33 D500_Almanac_Type
7.4.34 D501_Almanac_Type
7.4.35 D550_Almanac_Type
7.4.36 D551_Almanac_Type
7.4.37 D600_Date_Time_Type
7.4.38 D650_FlightBook_Record_Type
7.4.39 D700_Position_Type
7.4.40 D800_Pvt_Data_Type
7.4.41 D906_Lap_Type
7.4.42 D1000_Run_Type
7.4.43 D1001_Lap_Type
7.4.44 D1002_Workout_Type
7.4.45 D1003_Workout_Occurrence_Type
7.4.46 D1004_Fitness_User_Profile_Type
7.4.47 D1005_Workout_Limits
7.4.48 D1006_Course_Type
7.4.49 D1007_Course_Lap_Type
7.4.50 D1008_Workout_Type
7.4.51 D1009_Run_Type
7.4.52 D1010_Run_Type
7.4.53 D1011_Lap_Type
7.4.54 D1012_Course_Point_Type
7.4.55 D1013_Course_Limits_Type
8 付録
8.1 デバイスの製品ID
8.2 デバイスのプロトコル能力
8.3 よくある質問
8.3.1 16進数 vs. 10進数
8.3.2 受信したデータパケットのサイズ
8.3.3 ウェイポイント作成日時
8.3.4 軌道要素データのパラメータ
8.3.5 サンプルコード
8.3.6 サンプル転送データのダンプ
8.3.7 追加の表
8.3.8 ソフトウェアバージョン

Table of Tables

Table 1 - Protocol Layers
Table 2 - Serial Packet Format
Table 3 - USB Packet Format
Table 4 - Data Available Packet
Table 5 - Start Session Packet
Table 6 - Session Started Packet
Table 7 - Example Packet Sequence
Table 8 - Standard Beginning and Ending Packets
Table 9 - A000 Protocol Data Protocol Packet Sequence
Table 10 - A001 Protocol Capability Protocol Packet Sequence
Table 11 - Protocol Capabilities Example
Table 12 - Device Command Protocol Packet Sequence
Table 13 - A100 Waypoint Transfer Protocol Packet Sequence
Table 14 - A101 Waypoint Category Transfer Protocol Packet Sequence
Table 15 - A200 Route Transfer Protocol Packet Sequence
Table 16 - A201 Route Transfer Protocol Packet Sequence
Table 17 - A300 Track Log Transfer Protocol Packet Sequence
Table 18 - A301 Track Log Transfer Protocol Packet Sequence
Table 19 - A400 Proximity Waypoint Transfer Protocol Packet Sequence
Table 20 - A500 Almanac Transfer Protocol Packet Sequence
Table 21 - A600 Date and Time Initialization Protocol Packet Sequence
Table 22 - A650 FlightBook Transfer Protocol Packet Sequence
Table 23 - A700 Position Initialization Protocol Packet Sequence
Table 24 - A800 PVT Protocol Packet Sequence
Table 25 - A906 Lap Transfer Protocol Packet Sequence
Table 26 - A1000 Run Transfer Protocol Packet Sequence
Table 27 - A1002 Workout Transfer Protocol
Table 28 - A1004 Fitness User Profile Transfer Protocol
Table 29 - A1005 Workout Limits Transfer Protocol
Table 30 - A1006 Course Transfer Protocol
Table 31 - A1009 Course Limits Transfer Protocol
Table 32 - Character Sets
Table 33 - D1002 Workout Duration
Table 34 - D1002 Workout Targets
Table 35 - D1008 Workout Targets
Table 36 - program_type bit field
Table 37 - Product IDs
Table 38 - Device Protocol Capabilities

デバイス仕様

GPSMap 60CS

製品名 GPSMap 60CS
製品ID 372
プロトコル D0 D1 D2 D3
リンク L001
デバイスコマンド A010
不明 T001
ウェイポイント転送 A100 D109
ルート転送 A201 D202 D210
トラックログ転送 A301 D310 D301
隣接ウェイポイント転送 A400
軌道要素転送 A500 D501
日付/時刻初期化 A600 D600
不明 A601 D601
位置初期化 A700 D700
PVT A800 D800
不明 A900
不明 A902
不明 A903
不明 A904
不明 A907 D907 D908 D909 D910
不明 A914