December 08, 2007

WM6 Pro. SDK



Windows Mobile 6 Professional SDKをインスコして、開発環境(.NET)のテストをGPSモニターで行ってみた。


f:id:rzero3:20071208222936j:image


「プラットフォームの変更」を行うだけですぐ動くことは確認。


ちょっと驚いたのは、FormFactorを「Windows Mobile 6 Professional VGA」に変更するだけで、全てのコントロールが拡大されたこと。


とはいえ、文字サイズとラベルなどの大きさのバランスが悪いので、微調整は必要のようだ。


それでも結構ラクに移植ができそう。


動作的にもGPSの受信や、ログがとれることは確認できたので問題なさそうである。


あとはWM6のStandard版との共用は可能なのか調べてみたい。



(まだWM6Pro用は公開はしていません。Standard版でよければココにありますが、X01Tでは画面がオカシイです。)


| | Comments (0) | TrackBack (0)

December 06, 2007

またGPSモニター修正(V0.23α)



GPSモニターにまたまたバグが発覚したので修正版をアップ・・・orz。


(toma-yaさんいつも申し訳ありませんm(_ _)m。)



GPSモニターV0.23α修正内容



  • 速度が0の時にエラーが発生するバグを修正



いただいたコメントから推測かぎり、GPS機器側である一定の速度以下だと、速度あるいは方位の情報が「空文字」で送られてくるようだ。


ただこの状況はウチの機器では発生しない・・・


おそらく個々の機器で送信フォーマットの解釈が違うと思われるが実際どうだろう?


数値のチェックを強化することで今回は対応したが、他に問題が無いか若干不安ではある。



ご利用はココからどうぞ。


※もしDL済みの方や使用中の方も入れ替えて下さいm(_ _)m。



※覚え書き


CompactFramework2.0ではTryParseメソッド(文字を数値化し、できない場合は「false」を返す)が使えないことを発見・・・


これくらい実装しておいてくれてもいいんじゃないか??


| | Comments (0) | TrackBack (0)

December 05, 2007

GPSモニター修正(V0.22α)



GPSモニターにバグが発覚したので修正版をアップ。



GPSモニターV0.22α修正内容



  • GPS受信不可時にエラーが発生するバグを修正



コメントでご指摘いただいくまで極めて初歩的なミスを見逃していた・・・orz


(測位データが無いのに数値変換してしまいエラーが発生していた)


このままだとトンネル内に入ると間違いなくエラーである・・・


toma-yaさんスミマセンでしたm(_ _)m。


ご利用はココからどうぞ。


※もしDL済みの方や使用中の方も入れ替えて下さいm(_ _)m。


| | Comments (0) | TrackBack (0)

December 02, 2007

GPSモニターを少し変更



作成したGPSモニターがリアルQVGA画面でも小さくならないようにしてみた。


一応Verは0.21αとしておいたが機能的には全く変更なしである。


f:id:rzero3:20071202222220j:image



よろしければ右のバナーの「フリーソフトα版」からどうぞ。


| | Comments (0) | TrackBack (0)

November 18, 2007

ちょっと修正



移動した距離と、その平均移動速度を表示する機能をGPSモニターに追加し、V0.2αにした。


[V0.2αの変更点]



  • 現在時刻を表示するように変更

  • 積算距離の積算開始時刻と積算時間を表示するように変更

  • 積算距離から平均速度を表示するように変更

  • ちなみにこれらは、右メニューから「ResetOdd」で0にクリアされる


f:id:rzero3:20071118172810j:image



右のバナーの「フリーソフトα版」のエントリーからどうぞ。


| | Comments (0) | TrackBack (0)

November 13, 2007

一応公開



f:id:rzero3:20071113194002j:image


今日の外出時にテストして、どうやらGPSデータのログとりや通信テストぐらいはできそうなことは確認できた。


また、BT通信中はサスペンドに移行しないようで、1時間連続(無操作状態で)ログをとってみたが問題なくとれることも確認した。


ということで、一旦これを公開してみることにする。


右のバナーから「フリーソフトα版」のエントリーからダウンロード可能だ。



デバッグが完全とはいえないし、エラー処理に甘いところとかありそうだがα版ということでカンベンしてもらうつもり(←おい)。



お暇と興味があれば人柱覚悟で使ってみてくださいm(_ _)m。


| | Comments (0) | TrackBack (0)

November 10, 2007

GPSロガー(for WM6 Std.)その4



進行方向を示すアイコンを付けてみた。


8方向だけなので、無いよりマシな機能といった程度ではあるが・・・


f:id:rzero3:20071110154918j:image


アイコンはフリーの画像を借用した。


(「Emperor Penguin Empire」さんの「矢印ぺそぎん1」を使用させて頂いている。)



あとはサスペンドの問題をどうにかしないと実用的じゃないな・・・


画面オフのみでサスペンドに移行しない設定か、アプリからサスペンドに移行しない方法を見つけないと・・・



うぅ、そろそろ本業に本腰入れないとマジでやばい・・・


| | Comments (0) | TrackBack (0)

うぅ・・・めんどくさい・・・



GPSからのデータをロギングするアプリを作ってみたものの・・・


これメチャクチャデバッグがめんどくさい・・・


というのは、速度とか移動距離とか方位とかって車である程度走らないとチェックできない。


しかも、運転中だからそんなに細かいチェックなんてなおさらできない・・・


走る→バグが見つかる→直す→また走る・・・これの繰り返しだ。


こんなデバッグそうそうやってられんわヽ(`Д´*)ノ



やっぱりダミーのGPSデータ出力を作らないとここからはダメかもしれない・・・


どうすっかな・・・



…(;゜д゜)ハッ! もしかして、車じゃなくて人力で走れば、健康のためにも一石二鳥か!


U1010かついでランニングすれば、バグ発見と同時に即修正、すぐに検証できるぞ!



・・・ダメだ・・・できそうもないわ・・・orz


| | Comments (0) | TrackBack (0)

November 09, 2007

GPSロガー(for WM6 Std.)その2



○起動画面


f:id:rzero3:20071109223752j:image


とりあえず動くようにはした。


実装した機能はとりあえず予定通りのこれだけ。



  1. シリアル通信(もちろんBT含)で任意のポートとGPSユニットに通信ができる

  2. 通信設定画面を設けパラメータの保存ができる

  3. 移動ログをNMEAフォーマットで記録できる

  4. ログ保存位置とファイル名が指定できる

  5. 現在地が緯度、経度で表示できる

  6. 捕捉衛星数が表示できる

  7. 移動スピードが計算でき表示できる

  8. 積算移動距離が表示できること(リセット機能付き)



現機能の備忘録


○Actionメニュー


f:id:rzero3:20071109224014j:image



  • Open

    • GPSと接続し通信を開始する

    • (この時点ではログを作成していない)



  • Close

    • GPSとの通信を終了する



  • Exit

    • 本アプリの終了





○Settingメニュー


f:id:rzero3:20071109224311j:image



  • Parameters

    • GPSの通信パラメータを指定する(別画面)

    • ログファイルの保存先を指定する



  • Option

    • 現在未使用



  • ResetOdd

    • 積算距離をリセットする



  • LogStart

    • NMEAログファイルの書込みを開始する

    • (LogStartするとこの項目はLogStopに変わり、ログ終了もここを押す)





○Parameters画面


f:id:rzero3:20071109224702j:image



  • メイン画面から「Setting」→「Parameters」でこの画面になる

    • Port GPSと接続するCOMポートを指定

    • Baudrate 通信速度の設定

    • DataLen. 通信データビット長の設定

    • Parity 通信パリティの設定

    • StopBit 通信ストップビットの設定

    • LogFile ログファイルの保存先

    • (保存先はFileメニューの「SelectLogFile」で設定する)





○File(param)メニュー


f:id:rzero3:20071109225142j:image



  • Save

    • 表示している設定で保存する



  • SelectLogFile

    • ログファイルの保存先を設定する(別画面)





○ログファイル設定画面


f:id:rzero3:20071109225350j:image


※ここはsmart-pda.netさんの「FileDialog.dll(1.0.6)」を使用させていただいた



  • ファイル名と保存先をここで設定する



○実行時画面


f:id:rzero3:20071109225634j:image



  • 最上部左から

    • 緯度

    • 経度

    • 高度



  • Speed(速度Km/H)

    • 右側は進行方向(のはず)



  • Odd(積算距離Km)

    • 右側は最後に加えた距離(m)



  • Sate.(衛星数)

  • REC

    • ログ記録時は赤になる

    • REC左のボックスは通信中点滅する



  • 最下部のボックスに通信内容を表示する



●既知の問題



  • 設定ファイルやログファイルをを本体メモリー内に保存できない

    • 現在設定ファイルはStorageCardのMyDocumentに保存するようにしている

    • 恐らくはセキュリティの問題だろうが、まだ未解決





さて、帰宅時に速度と積算距離のテストをするかな。


| | Comments (0) | TrackBack (0)

GPSロガー(for WM6 Std.)その3



事務所から自宅までの間のログをとりながらテストしてみた。


使用機器はX02HT+BT-359の組み合わせである。


f:id:rzero3:20071110010340j:image


とりあえず速度はそこそこちゃんと出てる気がする。


(あくまで車搭載のスピードメータと比較しての話)


ただ、5秒間の平均速度を5秒毎に更新にしていたが、ちょっと間が抜けた感じがする。


やはり1秒毎の速度を出すか、あるいは1秒毎に移動平均(過去3秒くらいの平均か?)を出すかしたいところだ。


また、進行方向(真北が0度基準の方位角)もほぼ正確なようだが、数字ではやはりわかりにくい。


電子コンパスのような表示にしたいのだが・・・グラフィックはなぁ・・・


(ちなみにこのVerでは、高度をどこから取るか決めかねているので表示していない)



とりあえず、NMEAログはちゃんととれていた。


○取得ログをGPSBabelでGoogleEarthに変換


f:id:rzero3:20071110011115j:image


もう少しテストして問題なさそうならどっかで公開してみるかな。


(しかし、こんな自己満足アプリを公開するのは気が引けるか・・・)


| | Comments (0) | TrackBack (0)

November 07, 2007

GPSロガー(for WM6 Std.)その1



ちょっとまじめにGPSロガーを作成することにした。


そのため、昨日のモノは捨てて1からやり直しだ。


実装機能としてはこれだけを予定している。



  1. シリアル通信(もちろんBT含)で任意のポートとGPSユニットに通信ができること

  2. 通信設定画面を設けパラメータの保存ができること

  3. 移動ログをNMEAフォーマットで記録できること

  4. ログ保存位置とファイル名が指定できること

  5. 現在地が緯度、経度で表示できること

  6. 捕捉衛星数が表示できること

  7. 移動スピードが計算でき表示できること

  8. 積算移動距離が表示できること(リセット機能付き)


とりあえず画面は適当にこんな感じ。


f:id:rzero3:20071107234048j:image


上3つに、左から「緯度」、「経度」、「高度」を表示している。


Speedはもちろん「速度」、Oddが「積算距離」、Sate.が「衛星数」である。


下部のリストには受信生データが入るようになり、「REC」サインは記録中に赤くなるようにするつもり。



現在、上記1,5,6のみ実装済み。


少しずつ機能を加えていくつもり。


| | Comments (0) | TrackBack (0)

November 06, 2007

WM6のプログラミング



X02HTでGPSログ(NMEA)をとれるソフトを作ってみた。


●起動画面


f:id:rzero3:20071106133628j:image


●ログ録り中画面


f:id:rzero3:20071106134027j:image


VS2005(C#)+WM6 Std SDKで作成


う~ん・・・結構制約が多いし、GPS切り離し時に固まったり、Disposeが上手くいかなかったり作法が難しい。


とりあえずログだけはとれてるのだが、このままじゃなぁ・・・


またヒマ見てリファインしていくかな・・・


※ソースコードは「Bluetoothシリアル通信を使ってみよう(Pocket PC編)」さんのところのものを参考にさせていただいた。


| | Comments (0) | TrackBack (0)

April 02, 2007

う~む・・・謎だらけ・・・



今日一日「.net(C#)」の挙動に振り回された・・・


ある部分に修正を加えたら(そんなに大きな修正ではない)、全く関係の無い部分がオカシクなってしまい、無限スパイラルに陥ってしまったのだ。


具体的にはSQL文をSQL2005(エクスプレス)に投げるところで、「不適切」とかいわれてしまうようになってしまった。


最初は文字コードを疑ったのだが、コード化して調べるも問題ない。


このSQL文をコピペして張り付ければ、これまた問題ないのだ。


もっとワカランのは、本来この変な挙動はPLC(産業用シーケンサ)からイーサネットで経由で取り込んだデータで合成するときのみオカシイことだ。


このデータをテキストボックスからダミーでこのクラスに放り込むと問題なく動く。


で、このテキストボックスとイーサーネットからのデータをコンペアしても同じだといいやがる・・・


もう八方ふさがりでしかたなく1世代前のソースに改造分を合成してやると・・・あら不思議、何事も無かったかのように動くのだ。


CやC++ではポインタの扱いをミスれば何が起こるかわからないが、C#でこうまで挙動不審を見せられるとは思わなかった・・・


今まで、XPはもちろんCEプラットフォームでも作ったが、こんなことはなかったので驚きである。


おかげで、1日ずつスケジュールがずれてしまった・・・orz


地獄から開放されるのはもう少しさきになりそうだな。


| | Comments (0) | TrackBack (0)

January 05, 2007

リハビリ?



正月気分が全然抜けず、このままだと社会復帰できそうにない。


それではマズイと思い、年末にテキトーに作っていたストップウォッチを改良なんかしてリハビリすることにした。


改良点は以下のとおり



  • 現在のラップタイムがわかるようにした

  • 画面を広く使うため、コマンドボタンの機能をメニューキーに割り振った

  • アイコンの作成


f:id:rzero3:20070106044738j:image


・・・たったこれだけだ・・・まぁリハビリだからしょうがないか・・・


それでも自分の用途には問題なく使えそうなのでよしとしよう。


あさっての稼動立会いで使おうかな・・・


| | Comments (0) | TrackBack (0)

December 23, 2006

ストップウォッチ



久々にWMソフトの自作ネタ。


といってもたくさんの方がフリーでアップされているのになんで?っていうほど普通のストップウォッチである。


仕事柄、工場系ソフトを作ることが多いのだが、タクトタイムなんてものを計ることがよくある。


DLしてもっと高機能のものを使ってもよかったが、来年はいくつかWindowsCEプラットフォームの仕事もありそうなので久々に作ってみることにした。


f:id:rzero3:20061223234014j:image


製作時間は1時間くらい。


機能的にはラップが無限に記録できて、ファイル(CSV)に保存できるという単純なものである。


あとは、ラップの平均、最大と最小を表示したいが、これはまだ実装していない。


ファイル名やフォルダも固定なので、これもそのうちなんとかしたいと思う。


しかし、最初に作ったVerではミリ秒がカウントされないので焦った。


いろいろ調べてみると、FrameWork2.0上ではDateTime型にミリ秒が入らないということらしい。


しょうがないので、アプリの起動時間を保存するTickCountを使ってミリ秒を表示できるようにした。


(もっとも、MSによれば精度は500msecなので、表示してもあまり意味は無いと思うが・・・)


ま、自分で使うには充分だろう。


| | Comments (0) | TrackBack (0)

ストップウォッチRev1



平均ラップ、最大ラップ、最小ラップ表示を実装した。


またラップリストも実装したのだが、若干誤差(10msec単位)が出る問題あり。


こんなところでいいや(投げやり)。


f:id:rzero3:20061224013202j:image


| | Comments (0) | TrackBack (0)