gpshook

ダウンロード

現在,2つのバージョンが存在します.

47さん作 高機能バージョン

こちらの「Muplus Designer(Windows版)by 47」へ
上記配布アーカイブに含まれないファイルをお求めの方はこちらから,ベースとなったバージョンを持っていってください.

オリジナル版

gpshook093d.lzh
過去バージョンはこちら (変更履歴にリンクがあります)

このソフトウェアのライセンスは GPL に準拠します.

概要

機能概要

gpshookは,以下の機能を持ったプラグインモジュールです.

動作確認環境

使い方

組み込み方法

  1. アーカイブのMS_ROOT以下をメモステのルート以下にコピーします.こんな感じになるはず.
    /(ルート)
      +-seplugins/
        +-gpshook.prx
        +-gpshook/
          +-*.wav
          +-gpshook.cfg
    
  2. 警告音等の *.wav は,22KHz, 8bit, 無圧縮,モノラル の wav ファイルなら何でも使用できます.好みに合わせて /seplugins/gpshook/*.wav を置き換えてください.
  3. gpshook.cfg を編集して,gpshook の設定をします.
    WarnSpeed=30    ←スピードが これkm/h 以上のときのみオービス警告を有効にします.
    WarnDistance=0  ←オービスまでの距離が これm より近くなったら警告します.
    WarnETA=20      ←オービスに到達するまでの時間が これ秒 以内ときに警告します.
    SoundLoop=1     ←警告音の再生ループ回数を設定します.
    LogInterval=10  ←これ分 ごとにログファイルを分割します.
    
    WarnDistance と WarnETA のどちらかは 0 に設定してください.どちらも 0 でない場合,WarnETA の設定値が用いられます.
    LogInterval=0 に設定すると,ログファイルは分割されません.ただし PSP をサスペンドした時は,LogInterval の設定にかかわらずその時点でログが分割されます.ログファイルを分割すると,PSP フリーズ時にログを失うリスクを低減できます.
  4. 以下は一般的なプラグインの組み込み方と同じです.
  5. /seplugins/game.txtに以下の1行を追加します.このファイルがない場合は新規作成してください.
    ms0:/seplugins/gpshook.prx
    
  6. Rボタンを押しながらPSPの電源をいれ,リカバリーモードに入ってください.そこで,
    Plugins→gpshook.prx [GAME] を (Enabled) に変更してください.
  7. あとは普通に MAPLUS を起動してください.

組み込み後の使用法

※注意
 ボタン操作の説明で,たとえば「×+○」と表記されているものは,「×ボタンを押しながら○ボタンを押す」事を示しています.更に正確に書くと,「×ボタンを押しっぱなしにして,○ボタンを押す→離してから,×ボタンを離す」です.
 gpshook では,×ボタンを押された状態で他のボタンが押されたときは,そのボタンを MAPLUS 側には認識させないようになっています.先の例で,○ボタンを離す前に×ボタンが離されたりすると,○ボタンが MAPLUS に認識され gpshook が想定しない状態になってしまいます.

オートパイロット機能の使い方

機能的には 47さん作の 自動ルート案内機能とまったく同じです.自動操縦を行うためのボタン操作が違うだけです.以下簡単な操作方法
  1. あらかじめ,「おこのみスポット」のフォルダ内に経由地にしたいスポットを順番に登録しておきます.一つのフォルダが一つのルートになります.
  2. 一番最初の経由地を選びます.MAPLUS の「目的地を決める」→「おこのみ」→「フォルダ選択」→「スポット選択」を手動でおこないます.
    ※注意
  3. この状態で「×+○」を押すと,オートパイロットモードになり,そのスポットを最初の経由地として,自動でクイックスタートによるルート案内を行います.
    「×+□」を押すと,フォルダの登録順とは逆に案内するリバースモードになります.
  4. 経由地に到達すると,「ルート案内を終了します」のメッセージをトリガとして,最初に選択したフォルダの次のスポット (リバースモードで起動したときは前のスポット) を目的地として,自動でクイックスタートによるルート案内を行います.
  5. 以後,フォルダ内の最後 (リバースモードでは最初) に到達するまでオートパイロットモードは継続します.途中でオートパイロットモードを止めたいときは,「×+△」を押します.
※注意
オートパイロットモードは ISO/CSO 起動での使用を強く推奨します.
UMD 起動時は,UMD シーク動作により MAPLUS の動作が想定より遅れる事があり,gpshook の自動ボタン入力のタイミングとずれが生じ,正常動作しない事があります.

PC ツールの使い方

dat2kml.bat

dat2kml.bat は,gpshook が出力したログデータを GoogleEarth 上に表示できる形式 (kml) に変換するバッチファイルです.分割されたログデータを結合→kml 変換まで一気に行います.Windows2000/XP 以降でのみ動作します.
  1. gpsbabel を入手して,テキトーに解凍しておきます.
  2. フォルダを一つ作り (仮に,C:\gpslog とします),そこに
    dat2kml.bat・gpslogcv.exe
    gpsbabel.exe・libexpat.dll (gpsbabel のパッケージに含まれています)
    をコピーします.
  3. gpshook の GPS ログファイルをすべて,dat2kml.bat にドラッグ & ドロップすると,kml ファイルが作成されます.
    通常は以上で変換されているはずですが,GPS ログファイルが多すぎる場合,「指定されたデバイス,パス,またはファイルにアクセスできません」というメッセージボックスが表示され,変換が失敗します.その場合は以下の手順を行ってください.
  4. 新たにフォルダを作成し (仮に C:\log とします) GPS ログファイルをそこにコピーします.
  5. dat2kml.bat に C:\log をドラッグ & ドロップすると,C:\log 内に kml ファイルが作成されます.

gpslogcv

gpslogcvは,GPS のログ (バイナリ) を NMEA-0183 に変換するコマンドラインツールです.ここのを機能追加して使わせていただきました.NMEA-0183 に限らず他の形式に変換する事もできます.詳しくは上のリンクへ.

あしあと互換に変換する場合:

gpslogcv -IPSP -DT <ログファイル>

既知のバグ

変更履歴

↓過去バージョンはここのリンクから
v0.93d ログファイル書き込みのコードを小変更.BIOS3.5x 以降のログファイルが 0バイトになる現象が,直ってるかもしれないし直ってないかもしれない.
v0.93c オートパイロットの以下のバグを修正.
・オートパイロットが開始できない (例: 一個目のフォルダを空にする)
・オートパイロットが途中のスポットで終了してしまう
※MAPLUS 改造スレの皆さんにあらためて感謝.でも現在地表示画面で×+○を押すのはイヤ〜ン
v0.93b ・093→093a の過程で,オービスに反応しなくなる事があるバグを仕込んでしまったのを修正
・093→093a の過程で,gpshook.cfg の設定にかかわらず,WarnETA=0 になってしまうバグを仕込んでしまったのを修正
v0.93a ・GPS ログから GoogleEarth のデータに一発で変換するバッチファイルを追加
・prx のサイズを更に縮めた
・gpslogcv で,有効なログデータが無効とみなされるバグ修正
v0.93 ・47さん作 オートパイロット機能が便利だったので取り込みました.
・音声メッセージの種類を増やした.
・ボタン割り当てを「×+何か」ボタンに変更.それに伴い,gpshook へのボタン入力に MAPLUS が反応しないようにした.
・ovis.dat を prx に組み込んだ (ovis データロードルーチンを削除)
・ソースコードの見直しにより,prx サイズを 6KB ほど削減
・(デバッグモード) gpslog.dat を再生可能にした
v0.92i ・またつまらぬバグを仕込んでしまった (OVIS の方位判定) のを修正
v0.92h ・HOME ボタン終了時,お気に入りスポットロード時に死ぬバグを修正
v0.92g ・CFW 3.30OE-A' に対応
v0.92f ・PSPサスペンド時にログファイルが破壊されるバグ修正
v0.92e ・サウンドのノイズ低減 (サウンドバッファへの転送バグ修正)
・LogInterval 分後に勝手にログ記録が開始されてしまうバグ修正
v0.92d ・「地図を移動した瞬間現在位置に戻ってしまう」が直ってませんでした.むしゃくしゃしてテストせずにリリースした.今は反省している.
○LR,方向ボタン を押した時点で自動入力を停止する仕様に変更します.アナログパッドでの移動時は相変わらずこの症状になりますが,これは仕様とさせていただきます.
まぁこの機能はボタン入力を不要にする BOOT.BIN のへパッチが発見されるまでの繋ぎと考えてください.
v0.92c ・オービスまでの距離演算を間違えていた_| ̄|○ (最大30%ほどの誤差)
v0.92b ・ボタン入力自動化のあおりで,地図を移動した瞬間現在位置に戻ってしまうw バグ修正
・ログ分割機能が無効になっていたバグ修正
v0.92 ・オープニング〜GPS 捕捉までのボタン入力を自動化した
・ログが10分間しか記録できないバグ修正
v0.91 ・gpshook.cfg を追加して,オービス警告までの距離・時間 および オービス警告しない車速を設定可能にした
・警告音の再生ループ回数を設定可能にした
v0.90・βバージョン公開

その他

今までソフトウェアライセンスについていい加減に考えていましたが,GPL に準拠します.端的に言えば, なんかあればMAPLUSスレにでも書き込んでくれれば,気まぐれで対応するかも.

戻る