qgmap 0.1.8 リリース

かなり間が空いてしまいましたが、qgmap の 0.1.8 をリリースします。→ダウンロードページ

今回は期間が空いているにも関わらず、バグフィックス+α 程度の更新しかありません・・・。ごめんなさい。

今回の修正は以下のとおりです。

  • GPS使用時にズーム操作をすると、中心地がおかしくなるバグを修正
  • rootユーザにパスワード設定をしている場合、自動マウントできない問題の対処
  • 2GBを超えた ISO イメージのマウント対応

1つめは、 bxk07344 さん、sugarware さんからご報告いただいたバグの修正です。
GPSを追従モードで使用中にズームを行うと GPS モードに入った位置に飛ばされてしまうというバグを修正しました。

2つめは、sugarware さんのご要望の機能で、root ユーザにパスワードを設定している場合の対策を行いました。

rootにパスワードを設定している方は、「root権限で実行する」にチェックを入れると自動マウントができるようになります。

ただし、qgmap の様な一般アプリは、本来は root 権限で動かすべきではありません。qgmap が root 権限で動作することになるので、バグなどでシステムファイルを壊したりしてしまう可能性も否定できません。自己責任でご指定ください

また、同様の理由で root にパスワードを設定していると PHS による位置取得もできなかったようで、これも直しました。sugarware さんがPHS位置取得ができないとコメントされていたのは、これが原因だったのかもしれません。

3つめは 「2GB を超えた ISO イメージのマウント対応」と、大げさに表現してますが、ただ単に 2GB超のファイルもファイルダイアログで表示できるようにしただけです ^^;
もともと 2GB 超のファイルもマウント可能だったようです。

いろいろ試してみたところ、Qtのライブラリを使ってファイル一覧を取得すると、なぜか 2GB 以上のファイルは一覧に含まれないようです。そのため、Zaurus純正の「ファイル」タブでも、別のアプリでもファイルの存在が見えません。

ですが、コマンドラインから mount してみると、問題なくマウントできてしまいました。

そこでファイル一覧の取得に Qt のライブラリではなく、一般的な glib の関数を使うことで2GB超のファイルも見えるようにしました。これで違和感なく 2GB 超のイメージを指定できるはずです。

また、ついでに .rom と .iso 以外は見えないようにしてあります。

軽くしか試してないので、2GB以上の地図ファイルをお持ちの方はぜひ試してみてください。

qgmap 0.1.7 リリース

リリース直後ですが、いろいろとバグバグだったので修正しました。→ダウンロードページ

bxk07344さんに教えていただいた以下のバグを修正しています。

  • MapPathダイアログでパスが設定されているにも関わらず「地図のパスは最低1つ必要です」と表示されるバグを修正。
  • v0.1.5以前のMapPath設定, GPS設定の引き継ぎに問題があったので修正
  • パス指定・イメージファイル指定で/home/zaurus/documentsより上位ディレクトリを指定可能に

他にも細かいバグがあるかもしれないので、気づいたらご指摘をお願いします。

qgmap 0.1.6 リリース

約1ヶ月半ぶりになりますが、qgmapをリリースします。→ダウンロードページ

今回はちょっと使い勝手が向上する機能を追加しました。

  • イメージファイル自動マウント機能
  • 複数イメージファイル/ディレクトリ対応
  • QCop メッセージによる緯度経度指定ジャンプ対応
  • GPS機器選択対応

最初の2つは、前々から考えてはいたものの、UIを作るのが大変そうで敬遠していた機能です (^^;

今までは1つのディレクトリしか指定できませんでしたが、今回から8つまでイメージファイル / 地図ディレクトリが指定可能になりました。それに伴い、自動でマウントする機能も付けました。

 
左上のアイコンから「Map Path」を選択

 

地図イメージ設定ダイアログ
地図イメージ設定ダイアログ

「追加」を押すと、ファイル/ディレクトリ選択ダイアログが表示されるので、地図ディレクトリの場合は、今までどおり imgs ディレクトリを指定し、イメージファイルの場合は、.rom, .isoファイルを指定してください。

地図ディレクトリ/イメージファイル選択ダイアログ
地図ディレクトリ/イメージファイル選択ダイアログ

これで地域別、用途別に地図イメージを作成しておき、必要な地図イメージだけをSDカードにコピーするといった運用が可能になります。また、いちいちマウントする手間が省けます。

 

QCopメッセージ対応は、bxk07344 さんがのぼぶろぐにて乗換案内とqgmapを連携させる方法を公開されたのがきっかけで作った機能です。
以下のようにQCopメッセージを送信することで、外部から指定した座標へジャンプさせることが可能になります。

 # qcop QPE/Application/qgmap 'setWGSLocation(QString)' '緯度,経度[,zoom]' 
# qcop QPE/Application/qgmap 'setTokyoLocation(QString)' '緯度,経度[,zoom]'

世界測地系、日本測地系のどちらでも指定可能です。

 

最後がGPS機器選択対応です。複数の GPS 機器をお持ちの方用に、5機種まで設定を登録できるようにし、簡単に切り替えられるようにしました。

新しいGPSメニュー
新しいGPSメニュー

Settingsを選択すると、各GPS機器の設定が可能です。それ以降の5つがそれぞれ設定したGPS機器となります。選択中の設定には上記のようにチェックが入って表示されます。

GPS設定ダイアログ
GPS設定ダイアログ

Nameで設定した名称がGPSメニューにも表示されます。他の項目は今までと同じです。

あまり需要は無い機能かもしれませんが、私がデバッグ目的で uPod と M-241 を切り替えるときに設定をいちいち書き直すのが面倒だったので追加しました。あっかんべー

 

HB1さんのZegaも着々とバージョンアップされてますね。次のバージョンではルート案内の曲がり角拡大表示機能を実装予定とか。うーん。すごい。ほとんどカーナビじゃないですか。
GPSログやルート案内などのGPS・ナビ関連機能は全然かなわないですね。

qgmapの今後の予定として、一応、GPSのNMEAログ取得機能は実装するつもりですが、それ以降はGPS・ナビ系以外の機能に力を入れる予定です。

カスタムPOIデータ対応や、sugarwareさんにご要望をいただきながらも先延ばしになっていた住所指定ジャンプ機能あたりを実装しようかなと思ってます。

あと、ダウンロードページの使い方の欄が膨れ上がってきたので、以前手を付けて以来放置状態のマニュアルへちょっとずつ書き写して整備していかないとですね・・。

無線LANアクセスポイント探索ソフト – WifiConnect

久しぶりのブログ更新は、新作のリリースです。

今回開発したのは無線LANアクセスポイントを探索して表示するソフト「WifiConnect」です。 →ダウンロードページ

WifiConnect
WifiConnect

zaurusにありそうでなかった、周囲のアクセスポイントを検索して接続するソフトを目指して開発中(なので接続できないのにアプリ名がconnect)なのですが、完成はあまりに先のことになりそうなので、探索したAPを表示するだけのバージョンとして公開します。

今回対応している無線LANカードは、例によってGW-CF54Gと、WN-54G/CFの2つだけです。しかも、090318版以降のドライバでのみ使用可能ですのでご注意ください。ドライバのアップデートが必要です。
今までのバージョンでは無線LAN接続をしていないときに/proc/net/wirelessを読み出すとSegfaultが起こるバグがあったため、WifiConnectが起動直後にアプリが落ちてしまいます。

ハード的には、zaurusで一般的につかえる他のカードでもスキャンは可能なのですが、純正ドライバがLinux標準のスキャンAPIを持っていないため、今回は非対応です。

使い方は簡単で、無線LANカードを挿入して、WifiConnectを実行し、「Scan」ボタンを押すだけ。周囲のアクセスポイントを探索して表示します。

表示項目は以下の通りです。

表示項目 
表示項目

本当はWindowsのようにダブルクリックで接続・・・とか、設定とかできたらいいなと思っていたのですが、設定ファイルの編集処理などを作るのに結構時間がかかりそうなので、とりあえずこの程度の機能ですが、多少は役に立つかなと思って公開しました。

感想やご要望等いただけるとありがたいです。ただ、最近ずっと忙しい日が続いているので、対応は遅くなってしまうかもしれません。ごめんなさい。

qgmap 0.1.5 リリース

qgmap の新版をリリースします。→ダウンロードページ

今回は主に GPS 関連の変更です。

  • GPS位置追従/追従解除が可能に
    (v0.1.4では強制追従でした)
  • GPS位置が取得できていないときは移動しないように変更
    (南米に飛ばされなくなりました)
  • 三角マーカでGPS取得位置と移動方向を表示(カーナビのように)
  • GPS情報ウィンドウに移動速度、移動方向、標高を追加
  • 地図閲覧の邪魔にならないようにGPS情報ウィンドウを右下隅に表示
  • 「Menu」キーでポップアップメニュー表示
  • 「Map Path」メニューの地図データディレクトリ選択ダイアログで
    SDカードとCFの認識が間違っていたバグを修正

項目は多いですが、細々とした変更が多いです。

今回の目玉は、三角マーカによる現在位置表示機能です。 目玉というほどの機能ではないですが(^^;

マーカ表示
現在位置のマーカ表示

カーナビのようにマーカの向きは移動方向を示しています。

0.1.4 の時はGPSで取得した現在位置で強制的にセンタリングされていましたが、現在位置の追従/非追従を切り換えられるようになりました。

「G」キーを押した時は追従モードになっています。右下のGPS情報ウィンドウの右上にロックアイコンが表示されます。
スタイラスやカーソルキー、0〜9キーで画面を移動させるとロックが解除され、GPSの取得位置に追従しなくなります。(ロックアイコンも消えます)
スペースキーを押せば再び追従します。

GPS情報ウィンドウ
右上にロックアイコン 下に移動速度・方向、標高表示を追加

また、地味に移動速度、移動方向、標高表示に対応しました。

あと、ディレクトリ選択ダイアログを実装してから今までまったく気づいていなかったのですが、「Map Path」で開くディレクトリ選択ダイアログで CF と SD カード認識の判定が逆になってたので修正しました。
SDカードを挿しているとCFとして認識し、CFを挿しているとSDと認識するという、何ともお粗末なバグでした。

ようやくこれでなんとかGPS端末として最低限の機能が実装できたかな・・・?