Garmin Device Interface Specification

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
プロトコル D0D1D2D3
リンクL001
デバイスコマンドA010
不明T001
ウェイポイント転送A100D109
ルート転送A201D202D210
トラックログ転送A301D310D301
隣接ウェイポイント転送A400
軌道要素転送A500D501
日付/時刻初期化A600D600
不明A601D601
位置初期化A700D700
PVTA800D800
不明A900
不明A902
不明A903
不明A904
不明A907D907D908D909D910
不明A914