これは、MID816(minipad)用 CFW mid816etc のGPS拡張ツールです。
mid816etc を導入後、この拡張をインストールしてください。
●インストール
- まず、mid816etc CFWを入れておくのが前提。
- mid816gps-tools-1.0.0.zip を適当なフォルダに解凍しておく。
- gpsinit.sh を接続するGPSレシーバーに応じて編集する。
- MID816を起動し、USBデバッグモードでPCと接続する。
- mid816gps-tools-1.0.0.zip を解凍したフォルダをカレントにしてDOS窓を開く。
- gps-tools.bat を実行。
- インストールが終了すると自動的に再起動される。
●gpsinit.sh
Androidブート時に、GPSデバイスを初期化するスクリプトです。
次の行を変更可能です。
- GPS_DEVICE_TTY=ttyUSB0
GPSが接続されているシリアルポートのttyデバイスを指定します。
通常、ttyUSB0になります。 - GPS_DEVICE_SPEED=4800
GPSが接続されているシリアルポートの通信速度(bps)です。
GPSレシーバー毎にデフォルトの速度が決められているはずなので調べてください。 - GPS_DEVICE_MODEL="SiRF StarIII general"
接続されているレシーバーのGPSチップ名称です。gpsdevice.conf に記述されたセクション毎のチップ名称を記述してください。
●ttyUSB0以外に接続されるデバイスの場合
GPSレシーバーを接続した時の dmesg から、ttyUSB0 以外のデバイスファイルにGPSレシーバーが接続される場合は次の修正が必要です。
- gpsinit.sh の GPS_DEVICE_TTY を正しく記述する。
たとえば、ttyUSB5 なら
GPS_DEVICE_TTY=ttyUSB5
- etc\ttyUSB0.sh ファイルを デバイスファイルに合わせたファイル名に変更する。
たとえば、ttyUSB5 なら
etc\ttyUSB5.sh
以上の変更を行い、インストールを実行してください。
●GPSレシーバーの接続
動作確認が取れているのは下記の通りです。
- GT-730FL-S (Sky Traq Venus 6 / pl2303 / 38400bps)
- Gosget BU-363 (SiRF StartIII / pl2303 / 4800bps)
- SKYLAB SKM50 (MTK3327 / cp2102 / 9600bps)
USBシリアルドライバは、
pl2303.koが、insmod されます。
cp210x.ko
cdc-acm.ko
ftdi_sio.ko
GPSレシーバーを接続するとき、および外す時は、設定よりGPSをOFFにしてから行ってください。ウィジェットなどでのON/OFFが便利です。
本体の電源を切る必要はありません。
●gpsdevice.conf
接続するGPSデバイスのコマンドが記述されたファイルです。
[]で括られたレシーバーごとのセクションに必要なコマンドを記述します。
- [SiRF StarIII general]
GPSチップ名称です。[]でくくった中の文字列をgpsinit.shにて指定します。 - GPSCMD_INIT=
GPSレシーバーを初期化するコマンドです。現在、未使用です。 - GPSCMD_COLDSTART=
GPSレシーバーをコールドスタートするコマンドです。 - GPSCMD_WARMSTART=$PSRF104,0,0,0,0,1,1,12,2*
GPSレシーバーをウォームスタートするコマンドです。現在、未使用です。 - GPSCMD_HOTSTART=$PSRF104,0,0,0,0,1,1,12,1*
GPSレシーバーをホットスタートするコマンドです。現在、未使用です。 - GPSCMD_BAUDRATE=$PSRF100,1,%d,8,1,0*
GPSレシーバー側のシリアル通信速度を設定するコマンドです。現在、未使用です。 - GPSCMD_MSG_UPDATE_H=
GPSからのメッセージ通知を頻繁に行うためのコマンドです。これによりGPSを利用するアプリケーション起動時にメッセージ頻度を上げます。目安として1秒ごとにメッセージが送られてくるように指定します。
メッセージ毎に複数のコマンドになる場合は、'|'でセパレートしてください。 - GPSCMD_MSG_UPDATE_L=
GPSからのメッセージ通知をアイドリングするためのコマンドです。GPSが使用されていないアイドリング時のメッセージ頻度を下げます。目安として10秒ごとにメッセージが送られてくるように指定します。
メッセージ毎に複数のコマンドになる場合は、'|'でセパレートしてください。
上記、コマンド指定の記述はascii文字列になります。
バイナリコマンド送る必要がある場合は'\'に続いてバイナリコードを記述してください。
現在、対応外のGPSレシーバーを利用している場合、上記コマンドを調査し、指定された内容のメッセージを記述することで対応できるかもしれません。
●ダウンロード
mid816gps-tools ver1.0.0
mid816gps-tools-1.0.0.zip
http://www.megaupload.com/?d=IDF0WG13
以上。
っと。
とりあえず、電源を切らなくてもGPSレシーバーの着脱ができるようになったのがヨカッタ。
ttyデバイスの初期化にinotifydが使えたのが幸い。
M001とは違い、ファームイメージが簡単にいじれないこともあり、今回は追加ツール的なインストール方法を取ってみた。
ま、ハックされたファームが必要なのは仕方ないけどね(・∀・)
内容が分かる人は適当にいじってみてくだされ。