2010年8月5日木曜日

m001etc-B2

以下、ドキュメント的な文章(`・ω・´)

●はじめに

Beta 2版です。
基本的な仕様はB1と変わりませんが、設定ファイルなどを外部に出して個別設定ができるようにしました。
あと、個人的にswap関係の設定も追加しました(^_^;

ダウンロードは右サイドバーからどうぞ。



●B1からの変更点
  • gps_freerunner レシーバーコマンドメッセージをバイナリメッセージに対応。
  • GPSレシーバーチップの設定ファイルを追加。
  • u-bloxのGPSチップに対応したつもり。
  • GPS初期化の設定ファイルを追加。
  • swap初期化の設定ファイルを追加。(オプション)
  • 各個別指定ファイルのupdate.sh処理追加。
  • scriptcmdを手直し。
  • google mapを一般アプリに変更(削除可)

●インストール構成ファイル

B2から、GPSなどの個別設定に対応できるように、インストール時に構成ファイルを使用するようにしました。
各自の環境に合わせた構成内容を記述することにより、インストール処理時に自動的に本体に反映するようになります。
構成ファイルはzip解凍後にできる次の3つです。
script\usr_etc\gpsdevice.conf
script\usr_etc\gpsinit.sh
script\usr_etc\swapinit.sh
必要に応じて、3つのファイルをテキストエディタなどで開き、中身を編集してください。

※編集後の保存時には改行コードに注意してください(UNIX系)


●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レシーバーを利用している場合、上記コマンドを調査し、指定された内容のメッセージを記述することで対応できるかもしれません。


●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 に記述されたセクション毎のチップ名称を記述してください。

●swapinit.sh
Androidブート時に、swapをonにするスクリプトです。
次の行を変更可能です。
  • SWAP_DEVICE=""
    swapパーティションのデバイスファイルを指定します。
    例:SWAP_DEVICE="/dev/block/mmcblk0p2"
    空文字列の場合、swap onは行いません。
  • SWAP_SWAPPINESS=30
    カーネルのswappiness値を指定します。
    特に変更の必要がなければそのままでも問題ありません。
以上。


と言うわけで、色々いじれるようにしてみた。

GPSチップの各コマンドはネットでぐぐれば色々調べられると思う。
おいらは、GPS受信機用NMEAモニタ for Windows NMEA.EXE Ver1.60 (4river氏作)のiniファイルを参考にさせてもらった。
作者殿には感謝感謝m(__)m

swap設定も追加したので手間無しで環境インストールできるようになって便利。

オイラ仕様でごまめなさい(´・ω・`)


動作報告など待ってまぁ~っす♪(はぁと


などと、かわいこぶってもしゃーない(`・ω・´)

ていうか、みんなM001に飽きたんだろうなww

18 件のコメント:

  1. 対応してそうなレシーバー持ってるので試してミネバ様とは思っているもののM003だからコエエw

    返信削除
  2. むぅ、、、
    そのままM003に適用するのは止めといたほうが(・ω・;
    誰かM003にポーティングして!(笑)
    って、M003のファームも覗いてみよう。

    返信削除
  3. そうなんです。たぶんバイナリレベルでは互換性あるので独自部分を切り分けていただければなんとかなりそうな気はするのですがいかんせんファームを覗いたことすらないのでなんとも・・・

    返信削除
  4. えーっと、M001とM003のファームをDiffってみました!(`・ω・´)。
    ハードウェアに依存した相違点は、タッチパネル解像度とメモリマップくらいだとモモワレます。
    たぶんポーティングは可能でしょう。
    でも、実機持ってないから試せないw
    脳内ポーティングでいきなり文鎮はヤバいww

    返信削除
  5. テンション上がってきたwwwww
    標準ファームのバージョンと、追加されたファイル(もとの配付ファイルには手を加えていませんよね?)の一覧を作っていただけませんか?
    週末に、文鎮、作ってみます

    返信削除
  6. おはようございます。
    M003に入れてみました。
    m001etc-B1 そのまま入れるとタッチパネルが一段下にずれ、画面下1インチダブって表示されます。
    M003 Slatedroid 1.3 の scriptcmd を使って書き換えしましたら、タッチパネルは治りましたが、下1インチダブって表示されその下のボタン類は生きてます。
    m001etc-B2 は両方タッチパネルがずれました。
    M003でGPS検討中です。
    よろしくお願いします。

    返信削除
  7. sigeさん、つわもの!!( ゜Д゜)
    たぶん、キャリブレーション位置がずれてるのと、フレームバッファが足りてないんでしょうね。
    どちらも、画面解像度の違いからきてると思われます。
    とりあえず、B2はM003でブートできそうな感じですね。

    基本的にGPS対応に必要なのはライブラリ類の入れ替えと必要なファイルをコピーするだけなのでそんなに難しいことはないんです。

    と言うわけで、B2なんちゃってM003対応版を考えてみます。
    おしこうじさん、文鎮になってもしらんww

    返信削除
  8. こっそり告知

    m001etc-B2 を M003になんちゃって対応させたつもりのファイルをUPした気がする(´・ω・`)
    たしか、、、ここに、、、

    http://www.megaupload.com/?d=NWI6NQ6A

    置いてあるカモ。。。

    ベースはB2。(M001オリジナルファーム 1.7.4)
    M001 vs M003でDiffって抽出したファイルのうち必要そうなものを入れてみた。
    具体的には、
    touchcal
    usbgadget.sh
    wm8505_kpad_md.ko
    libwmtapi.so
    scriptcmd
    不要なものも混じってるような気がする。

    例によって、
    文鎮になっても知らん。
    (´・ω・`)

    返信削除
  9. 早速の対応ありがとうございます。
    M003にて書き換え成功いたしました。
    GPS & Bluetooth 持っていないので確認できませんが、メニューすべてあります。
    root swap ほかもろもろ確認しておりませんが、取り急ぎご報告まで。リンクさせていただきます。
    これから GPS 検討しようと思います。

    返信削除
  10. sigeさん、、、、
    人柱ありがとうございます\(^o^)/
    一応、M003のビデオ周りに必要っぽいものだけコピーしたのですが上手く行ってヨカッタ。
    文鎮にならずに済んでヨカッタ。( ´∀`)

    中身はB2のまんまなので、いじり方もまったく同じです。
    と言うことは、ROMのM003化も比較的簡単にできちゃってことか。。。勉強になった。
    後はデバイスが動いてくれるかどうかの検証ですね。
    週末に向けてネタが・・・

    sigeさんの人柱魂に敬礼っ!(`・ω・´ゝ

    返信削除
  11. とりあえずご報告。
    M003バージョンのファームで書き換え成功、GPSの動作も確認できました。
    GPSレシーバーはGlobalsat コメットBU-353 SiRFstarIIIというモデルで、USBシリアル変換はPL-2303、ボーレートは4800bpsという仕様です。

    現在のところ不具合は
    ・スリープに入ってしまうと戻すのに戻るボタンを押しても戻ってこないことがある→強制電源断
    ・suコマンドを使うとSU Requestの画面になり、そのまま
    といったところです。

    Bluetoothについては明日試してみますね。
    M003への対応、ありがとうございました。

    返信削除
  12. Bluetoothも試してみたので報告です。
    レシーバーはMicrosoft Wireless Transceiver for Bluetooth 2.0です。
    Microsoft IntelliMouse Explorer for Bluetoothは発見できたもののペアリング出来ず
    (PINコードがわからなかった…というかマウスってPINコード必要でしたっけ)
    iPod Touchも発見できたもののペアリング出来ず
    といった感じです。

    返信削除
  13. 人柱ーご報告感謝です\(^o^)/

    >Globalsat コメットBU-353 SiRFstarIII

    うちのと同じチップですね。
    サクッと動いてヨカッタです(^^)

    >Bluetoothも試してみた

    マウスのPINコードは0000とか1234とかだとモモワレます。
    でも、BTは基本的にヘッドセットとA2DPしか使えません。
    したがって、マウスとか他のガジェットに接続できても何もできません(´・ω・`)

    >・スリープに入ってしまうと戻すのに戻るボタンを押しても戻ってこないことがある→強制電源断

    こちらでも確認してます。
    原因がよく分からないので今のところ放置してます(^^;;;
    スリープにしない設定(ディスプレイを常に点灯)にすれば何も問題はないのですが、バッテリー制御か、イベント処理に絡んでるような気がします。
    要調査ですねぃ。

    >・suコマンドを使うとSU Requestの画面になり、そのまま

    あり?su動きませんか、、、(´・ω・`)
    M001とM003のsuって違うバイナリなのかな?
    設定-アプリケーション-開発-USBデバッグをONにしてますよね?

    返信削除
  14. おはようゴザイマス
    >設定-アプリケーション-開発-USBデバッグをONにしてますよね?
    あー忘れてました。すんまそん。
    ONにしたらいけました。

    ConnectBotで接続したあとまず入力するコマンドがsuってのはどうなんだw

    返信削除
  15. おはようございます。
    SUの件ですが、M003の場合ConnectBotとSuperuserを上書きインストールしなおせばOKです。
    こちら確認取れてます。

    返信削除
  16. ご両人に感謝感激アメアラレ、はぁはぁ(*´д`*)

    ConnectBot起動->su はデフォだと思ってる私は馬鹿だと思います(・∀・)ノハイ
    むしろ、suBotとか欲しいw

    今後の予定は、スリープ周りのチェックとGPS関係の調整。
    入れ替えて問題なさそうなlibも替えてみたい。
    あと、~peacock 関連の役に立たん thumbserver を殺すかどうか。
    コレ殺すと裏処理のメディア走査がなくなって軽くなるんだけど、スクリーンショットが撮れなくなるんだよなぁ。

    返信削除
  17. Peacock殺したいけどスクショが撮れなくなるのは痛いですね。

    返信削除
  18. おしこうじさん、そうなんスよ。
    何気に便利なスクショ機能だけにもったいない!
    メディア走査だけ殺せないか気が向いたら調べることにしよーっと。

    返信削除