大峰山八経ヶ岳からの眺め


Date/Time: 2016:05:02 06:20:30
Camera: PENTAX
Model: PENTAX K-5 II s
Exporsure Time: 1/320
FNumber: 7.1
Aperture Value: 5.7
Focal Length: 21.0

Close

y2trip » GPSロガー ATLAS ASG-1 のコマンド体系

12

07

2010

GPSロガー ATLAS ASG-1 のコマンド体系

ATLAS ASG-1 のデータ取得コマンドについて


ユピテルのATLAS ASG-1(HOLUX GSPort245)で用いられている、メディアテック社の MT3318チップセットのコマンド体系を調べてみましたが、肝心のMT3318チップセットの正式な仕様書がみつかりませんでした.MT3318チップセットはみつかりませんでしたが、MT3301というチップセットの正式なマニュアルがみつかりました.


MT3318とMT3301ではコマンドの体系が多少異なるかもしれませんが大部分は共通だと思います.私が入手したPDF資料にはメディアテック社のマル秘扱い情報らしく、恐らく納入業者向けに渡した資料が何らかの原因で外部に出てしまった物かもしれません.URLを掲載するのは憚られるので、”MTK GPS Logger Library User Manual 1.2″ Release Date: 11/29/2006 というキーワードで検索してみれば、どこかから入手できると思います.MT3301はMTKv1、MT3318はMTKv2という仕様らしいので、後継機と思われる MT3318 のコマンド体系は恐らくMT3301の上位拡張だと思います.


これ以外の資料としてインターネット上に公開されているものとして、iBlue 747/757 – Qstarz BT-Q1000 – iTrek Z1 – Commands などが参考になると思います.


MT3318などのチップセットを使用しているGPSロガーからデータをダウンロードする際に、”$PMTK182″ というLOGGERコマンドを使って、データの受け渡しを行うようです. PDFのドキュメントによるとチップセットのフラッシュメモリ上に記録されているデータは独自のバイナリ形式のデータのようですので、”$PMTK182″ で取得したデータから緯度や経度などの情報を独自に取り出す部分を自分で書かなくてはならないかもしれませんが、とりあえずASG-1のデータを取得したり、ASG-1のコントロールをするアプリケーションプログラムを自分で開発することは可能なようです.



BT747 のデバッグオプション機能について


先の記事で、”BT747″ というJavaベースの汎用GPSアプリケーションプログラムを紹介しましたが、BT747 がV2.0 となってMTK II チップセット(MTKv2) に対応したということだそうです.以前のバージョンからどのGPSロガーが新たに対応可能になったのかハッキリとしませんが、対応機器リストには Holux GPSport 245 (GR-245)が載っていますので、GPSport 245のOEMであるASG-1も正式に対応している筈です.Holux社以外にもTransystem社のi-BlueシリーズなどBT747の対応可能機種は幅広いようです.


BT747のデバッグ機能をONにするには、”Settings” メニューにある “GPS Debug” にチェックマークを入れて下さい.BT747を起動した際に現れるコンソール上に、ASG-1とどのようなコマンドをやりとりしたのかがダンプされます.



Debugモードを ON にする
BT747のデバッグモードを ON にする

BT747が出力したMTKコマンドの情報

/Volumes/Tmp/Downloads/BT747_2.0.0_full/bt747_macosX_j2se.command ; exit;
iMac:~ yasuaki$ /Volumes/Tmp/Downloads/BT747_2.0.0_full/bt747_macosX_j2se.command ; exit;
/Volumes/Tmp/Downloads/BT747_2.0.0_full/lib/rxtx-2.2pre2-bins/Mac_OS_X/mac-10.5
PATH = /usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin

3638 - BT747 2.0.0 Build:BT747_mdeweerd.0.20101106200146584 3638 - Initial: 1018x596 Screen: 1680x1050 Final: 1018x596 3639 - Mac OS X 3639 - i386 3639 - 10.6.5 3639 - 1.6.0_22 3639 - 32 3639 - Fail javax.swing.plaf.mac.MacLookAndFeel Fail com.apple.mrj.swing.MacLookAndFeel Success apple.laf.AquaLookAndFeel javax.swing.plaf.metal.MetalLookAndFeel com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel com.sun.java.swing.plaf.motif.MotifLookAndFeel com.apple.laf.AquaLookAndFeel WARNING: RXTX Version mismatch Jar version = RXTX-2.1-7 native lib Version = RXTX-2.2pre2 30387 - Classgps.connection.GPSRxTxPort 30404 - Port opened 30409 - Attempting saving settings to /Volumes/Home/yasuaki/BT747SettingsJ2SE.pdb 30411 - Writing settings success for /Volumes/Home/yasuaki/BT747SettingsJ2SE.pdb 49043 - PMTK182,8,003F0006, 50054 - PMTK001,182,7,3, 50371 - >PMTK182,2,10 true 50402 - PMTK182,3,10,00001102, 50412 - PMTK001,182,2,3, 50688 - >PMTK182,2,8 true 50908 - PMTK182,3,8,00015AA8, 50919 - PMTK001,182,2,3, Opened file /Volumes/Home/yasuaki/gpsRawDebug.txt in mode 4 rw Opened file /Volumes/Home/yasuaki/gpsRawDebug.txt in mode 3 rw 52268 - >PMTK182,2,7 true 52299 - PMTK182,3,7,260, 52310 - PMTK001,182,2,3, 56711 - >PMTK182,2,10 true 56877 - PMTK182,3,10,00001102, 56888 - PMTK001,182,2,3, 57032 - >PMTK182,2,8 true 57063 - PMTK182,3,8,00015AA8,  ... 76112 - PMTK182,3,8,00015AA8, 76122 - PMTK001,182,2,3, 76181 - Smart download request from 00000000 to 00015AA7 Opened file /Volumes/Home/yasuaki/BT747log.bin in mode 4 rw Opened file /Volumes/Home/yasuaki/BT747log.bin in mode 2 rw 76188 - Starting download from 00000000 to 0001FFFF     ← ここでダウンロード開始 76195 - >PMTK182,7,00000000,00010000 true 78587 - PMTK182,8,00000000, 79676 - PMTK182,8,00000800, 80777 - PMTK182,8,00001000, 81867 - PMTK182,8,00001800, 82955 - PMTK182,8,00002000, 84043 - PMTK182,8,00002800, 85141 - PMTK182,8,00003000, 86229 - PMTK182,8,00003800, 87328 - PMTK182,8,00004000, 88415 - PMTK182,8,00004800, 89513 - PMTK182,8,00005000, 90458 - PMTK182,8,00005800, 91556 - PMTK182,8,00006000, 92644 - PMTK182,8,00006800, 93742 - PMTK182,8,00007000, 94830 - PMTK182,8,00007800, 95917 - PMTK182,8,00008000, 97014 - PMTK182,8,00008800, 98110 - PMTK182,8,00009000, 99472 - PMTK182,8,00009800, 100562 - PMTK182,8,0000A000, 101650 - PMTK182,8,0000A800, 102747 - PMTK182,8,0000B000, 103836 - PMTK182,8,0000B800, 104934 - PMTK182,8,0000C000, 106020 - PMTK182,8,0000C800, 107117 - PMTK182,8,0000D000, 108206 - PMTK182,8,0000D800, 109301 - PMTK182,8,0000E000, 110397 - PMTK182,8,0000E800, 111483 - PMTK182,8,0000F000, 112395 - PMTK182,8,0000F800, 112395 - #PMTK182,7,00010000,00010000 112395 - >PMTK182,7,00010000,00010000 true 112404 - PMTK001,182,7,3, 114860 - PMTK182,8,00010000, 115721 - PMTK182,8,00010800, 116816 - PMTK182,8,00011000, 117912 - PMTK182,8,00011800, 118997 - PMTK182,8,00012000, 120093 - PMTK182,8,00012800, 121405 - PMTK182,8,00013000, 122490 - PMTK182,8,00013800, 123587 - PMTK182,8,00014000, 124682 - PMTK182,8,00014800, 125769 - PMTK182,8,00015000, 126864 - PMTK182,8,00015800, 127827 - PMTK182,8,00016000, 128923 - PMTK182,8,00016800, 130009 - PMTK182,8,00017000, 131105 - PMTK182,8,00017800, 132192 - PMTK182,8,00018000, 133329 - PMTK182,8,00018800, 134602 - PMTK182,8,00019000, 135688 - PMTK182,8,00019800, 136784 - PMTK182,8,0001A000, 137879 - PMTK182,8,0001A800, 138965 - PMTK182,8,0001B000, 140060 - PMTK182,8,0001B800, 141156 - PMTK182,8,0001C000, 142243 - PMTK182,8,0001C800, 143339 - PMTK182,8,0001D000, 144425 - PMTK182,8,0001D800, 145522 - PMTK182,8,0001E000, 146617 - PMTK182,8,0001E800, 147703 - PMTK182,8,0001F000, 148758 - PMTK182,8,0001F800, 148769 - PMTK001,182,7,3, 150040 - >PMTK182,2,7 true 150071 - PMTK182,3,7,260, 150082 - PMTK001,182,2,3, 150674 - >PMTK182,7,003F0006,00000004 true 151759 - PMTK182,8,003F0006,  ...


MTK II チップセット(MTKv2)コマンドについて


ASG-1 (HOLUX GSport245) と専用アプリケーションソフトウェア(Transystem社のGPS PhotoTaggerやATLAS TOURなど)とのデータの受け渡しの様子をシリアルポートモニターで解析してみたところ、MT3318チップセットで用いられているコマンド MTKv2 では “$PHLX” で始まる新しいコマンドが追加されているようです.


ATLAS TOURでASG-1からログデータを取り込む際に、ASG-1の液晶画面が”USB通信中…” のような画面に切り替わりますが、BT747等のツールでデータを取り込む際にはこのような画面は表示されないので、何か別なコマンドが有ると予想していましたが、やはり新しいコマンドが追加されていたようです.


因みに、”$PHLX826*30″ というコマンドをASG-1に送出すると、例の”USB通信中…”の画面に切り替わり、NMEAデータの垂れ流しが止まりました.ただ、このコマンドを送出してから 30秒間くらいは停止しているのですが、その後は元の画面表示に戻って、またNMEAデータの垂れ流しが始まってしまいます.何か別な追加パラメータかコマンドがあるのかもしれません.



PhotoTagger
Transystem社のi-Blueシリーズなどで使われている PhotoTagger

通信中の画面
“$PHLX826*30” コマンドを送出すると”USB通信中”の画面に切り替わった

専用アプリがデータをダウンロードする際のコマンドシーケンスの例

R< $GPGGA,032203.000,35xx.xxxx,N,139xx.xxxx,E,2,7,1.33,123.9,M,39.4,M,0000,0000*5D
R< $GPGSA,A,3,20,24,23,32,11,04,17,,,,,,2.33,1.33,1.91*0E
R< $GPGSV,3,1,10,20,72,094,21,28,58,239,,17,48,319,16,11,47,061,31*7C
R< $GPGSV,3,2,10,32,45,056,28,24,30,056,24,23,13,138,29,04,13,262,17*74
R< $GPGSV,3,3,10,19,10,114,,36,,,*40
R< $GPRMC,032203.000,A,35xx.xxxx,N,139xx.xxxx,E,0.17,231.72,081210,,,D*61
R< $GPVTG,231.72,T,,M,0.17,N,0.32,K,D*3A
S> $PHLX810*35
R< $PHLX852,GR245*39
   $PMTK001,-1,0*1F
S> $PHLX826*30
R< $PHLX859*38
   $PMTK001,-1,0*1F
S> $PHLX828*3E
S> $PMTK182,2,9*32
R< $PMTK001,-1,0*1F
   $PMTK182,3,9,C22016C2*1A
   $PMTK001,182,2,3*25
S> $PHLX831*36
R< $PHLX863,y2*56
   $PMTK001,-1,0*1F
S> $PHLX836*31
R< $PHLX869,0*27
   $PMTK001,-1,0*1F
S> $PHLX841,0*2D
R< $PHLX871,GR245,2*26
   $PMTK001,-1,0*1F
S> $PHLX842,0*2E
R< $PHLX872,GR245,1*26
   $PMTK001,-1,0*1F
S> $PHLX833*34
R< $PHLX866,0,10,100*18
   $PMTK001,-1,0*1F
S> $PMTK182,2,8*33
R< $PMTK182,3,8,00015B70*6F
   $PMTK001,182,2,3*25
S> $PMTK182,2,10*0A
R< $PMTK182,3,10,00001104*23
   $PMTK001,182,2,3*25
S> $PMTK605*31
R< $PMTK705,M-core_2.12,0000,GR-245,1.0*2F
S> $PHLX828*3E
R< $PMTK001,-1,0*1F
S> $PMTK182,14,460800*36

【ここでSerial通信関係の一連の環境設定が行われる】

IOCTL_SERIAL_GET_COMMSTATUS
IOCTL_SERIAL_GET_BAUD_RATE
IOCTL_SERIAL_GET_LINE_CONTROL
IOCTL_SERIAL_GET_CHARS
IOCTL_SERIAL_GET_HANDFLOW
IOCTL_SERIAL_GET_BAUD_RATE
IOCTL_SERIAL_SET_BAUD_RATE  slabser0  Rate: 460800
IOCTL_SERIAL_SET_RTS
IOCTL_SERIAL_SET_DTR
IOCTL_SERIAL_SET_LINE_CONTROL  slabser0  StopBits: 1 Parity: NONE WordLength: 8
IOCTL_SERIAL_SET_CHAR  slabser0  EOF:0 ERR:0 BRK:0 EVT:0 XON:0 XOFF:0
IOCTL_SERIAL_SET_HANDFLOW  slabser0  Shake:1 Replace:40 XonLimit:28672 XoffLimit:7168
IOCTL_SERIAL_SET_TIMEOUTS  slabser0  RI:0 RM:0 RC:500 WM:0 WC:50
IOCTL_SERIAL_SET_QUEUE_SIZE  slabser0  InSize: 8194 OutSize: 1024

S> $PHLX826*30
R< $PHLX859*38
   $PMTK001,-1,0*1F
S> $PHLX828*3E
R< $PMTK001,-1,0*1F
S> $PMTK182,7,0,8000*1A ← データダウンロード開始
R< $PMTK182,8,00000000,A40C3D0000880401640000 ... 31E74C*27
   $PMTK182,8,00000800,33830D42422E0B43A00000 ... 2C0B43*2F
   $PMTK182,8,00001000,970000001C6043C47835E7 ... 81437F*26
   $PMTK182,8,00002000,F8270B436500000039A943 ... 000000*2E
   $PMTK182,8,00002800,B6D143A77641E74C62A70D ... 45E74C*50

   ...
   

このやりとりを見ているとデータの取得コマンドは従来の "$PMTK182" で行うようですので、データを取得するだけなら新しいMT3318チップセットでも特に支障となることはなさそうです.


新しいコマンドが "$PHLX8xx" という事のようですが、HLXはHOLUX社の略号でしょうからひょっとして各メーカー毎にコマンド名が違うのかも知れません.i-BlueシリーズのTransystem社の製品でもコマンドは "$PHLX" なのでしょうかね? この辺は各メーカー毎にカスタマイズできる仕様なのかもしれませんね.実際はMTKチップセットの仕様ではなくて各メーカーが独自に実装した部分なのかもしれません.


Calendar

December 2010
S M T W T F S
 1234
567891011
12131415161718
19202122232425
262728293031  
  • Links

  • Meta