2010年7月30日金曜日

m001etc-B1人柱公開バージョン

■はじめに

GPSに対応したM001用カスタムファーム、m001etc-B1 を人柱公開します。
Beta 1と言う扱いなので、万人に推奨できるものではありません。
GPSレシーバーを動かしてみたい!と言う人柱精神にあふれた方々向けです。


■注意事項とお願い

次のことについて了解の上、ご利用ください。
  • 全てにおいて無保証、自己責任、ノーサポート、文鎮化しても知らん(´・ω・`) ことが前提です。
  • ここに書いてあることは正確ではありません。間違いが含まれていることがあります。
  • この内容についてメーカーやベンダーに問い合わせはしないこと。
  • 助けが得られなくても男の子は泣いたりしないこと。 
  • よい子は絶対にまねをしないこと。
以上、了解いただけない方は絶対にインストールしないでください。
なお、ファイルは予告なしに削除する事があります。

人柱な方はインストールした結果やGPSの動作報告、場合によってはデバッグログの提供などしてもらえると助かります。

このカスタムファームはGPS実験用のライブラリを組み込んだものですが、GPSがなくてもフツーに使用できます。
デバッグ用にroot化してあったり、不要なアプリは全削除してあったりと、何かと小回りのきく仕様になっています。
また、Bluetoothはデフォルトで使用可能にしてあるので試してみたい方はどうぞ。
できれば、ドングルの動作報告などしてもらえたらありがたいです。

それと、pl2303なGPSでSiRF以外のチップのレシーバーをお持ちの方は、初期化コマンドの実験台になってくだされ(笑)


■m001etc-B1仕様
  • オリジナルファームver1.7.4ベース。
  • アプリを大幅削除。
  • いくつかのアプリを追加。
  • Marketはそのまま。
  • /system/appを自ビルドパッケージに入れ替え。
  • /system/lib/libhardware_legacy.soを入れ替え(GPS対応)
  • Bluetooth設定可。
  • GPS初期化利用可。
  • wifi offでUSB電源を切らない。
  • GPSのホットプラグには未対応。
分かっている問題点
  • wifiでステルスなSSIDを見つけられない。
  • 自動消灯が上手くいかないことがある(?)
  • オリジナル未対応機能の設定は無保証。
  • タッチパネルキャリブレーションができない。

■m001etc-B1インストール

ダウンロードは右サイドバーのダウンロード項からどうぞ。
MEG*UPLOADでスマン(・ω・)

zipを解凍すると script フォルダができるので、ファームウェアアップデート同じ要領でアップデートすればOK。
zipファイルには、ConnectBot.apk と com.chartcross.gpstest.apk が同梱されているので、必要に応じてインストールしてください。


■GPSレシーバー

m001etc-B1で対応しているレシーバーは次の仕様のものです。

本体とUSBで接続し、本体からはシリアルポートとして認識されるもので、
USB-シリアル変換チップ pl2303 が使われているもの。
かつ、
GPSチップ SiRF StartIII 系チップが使われているもの。
(「SiRF pl2303」でぐぐると幾つか機種がヒットするはず)

pl2302ドライバはオリジナルカーネル組み込みのものを使用しています。
シリアルポートのデフォルト通信仕様は次の通りです。
4800bps 8N1

■GPS起動確認
  • GPSレシーバーの取り付け
    本体電源offの状態でGPSレシーバーを取り付けます。
    本体電源onの状態でGPSレシーバーを取り付けてもデバイスの初期化ができないので使用できません(ホットプラグには未対応)
  • 電源on
    本体電源をonにします。
    Androidが起動してきますのでしばらく待ちます。
  • 設定の確認
    「設定-セキュリティ&位置情報-GPS機能をONにする」がチェックされているか確認します
  • 衛星の捕捉
    GPSレシーバーを衛星が捕捉できる場所へ移動させます。
  • テスト
    googleマップや同梱のGPS Testにて動作を確認します。
    (googleマップに現在地が表示されている。GPS Testで衛星を測位している状態が表示される。)

■デバッグ

簡単なデバッグ確認を行う手順です。
  • 設定-アプリケーション-開発-USBデバッグ をチェックする。
  • ConnectBotを起動する。
  • 接続先は local ユーザー名は空でOK。
  • あるいは、adb shellを使ってもOK。
  • コンソールが開いたら、プロンプトより

    $ head /dev/ttyUSB0
    を実行。しばらくするとGPSレシーバーからのNMEAメッセージが表示される。

logcat でもデバッグメッセージが出力されます(タグ:gps_fr)
リモートマシンからadbを使ってlogcatするのがログを取り易いと思います。



■スクショなど


あと、、、、
改造向けの詳しい解説なんかは気が向いたら書く(´・ω・`)

さぁ金曜日だ。
会社帰りにGPSゲットして、
土日に改造三昧、
「うごかねー!」って悲鳴が聞こないように、
健闘をいもる( ̄ー ̄)ニヤリ

2 件のコメント:

  1. SiRFのGPSはボーレート38400bpsのタイプが多いので、是非38400bps版もお願いします。

    返信削除
  2. 今、まとめ中のB2で、各種設定をインストール時に設定できるようにする予定です(^^)
    あと、GPSレシーバーチップの対応も増やせるようにするつもりです。

    返信削除