2011年11月27日日曜日

GPSモジュールGT-720Fの設定コマンドと応答

忘却の彼方のGPSモジュール

いつだったか忘れましたが、随分前に購入してそれっきりだったGPSモジュールGT-720Fを引っ張り出してきました。 


特にこのモジュールを使いたい強い動機はないのですが、TOPPERS/ASP for LPCのUART系のデバッグに色々繋いで確かめたいというのと、どうせデバッグするなら「何か本当に使っている感じが欲しい」という事からの再登場です。(本当に使っている感じにするのは、成果物をより実用的なものにする意図があります。)

先日の「LPCXpresso横浜お楽しみ部会」にあわせて適当に仕立てた時、(どうでも良いけど)気になる事があったので調べる事にしました。 (私の場合、本当に些細でどうでも良い事が気になって大事な時間を使ってしまったりして何だか残念な感じです。)

(どうでも良いけど)気になる事

  • 「データ・シート」と言われているPDFに設定コマンドの仕様が書かれていない。
  • 「SkyTraq(付属アプリケーション)では設定できるけど、マイコンからはできない。」と主張している人がいる。
  • それっぽいPDFは見つかるが、GT-720Fで使えるのかわからない。
  • 誰もあまり調べてない。
まぁ、GPSと言えばu-bloxでしょという感じで、このモジュールにそれほど時間をかける意味もないのですが、気にしなくて良いや、と思えば思うほど、どんどん気になってくるのです。

とりあえず調べる

コマンドのやり取りに関する「それっぽいPDF」は見つかったので、それを参考にアプリケーションとGPSの通信を見てみます。

下のやりとりは、Configuration NMEA Messageコマンドです。

以下のメッセージは、SkyTraqのNMEAメッセージ編集画面で設定を実行した時に、アプリケーションからGPSモジュールに投げられるコマンドです。


さて、GPSモジュールからは2つのパケットが返ってきました。



さて、ウェブに転がっていたApplication Note AN0003 Binary Messages Of SkyTraq Venus 5 GPS Receiver Ver 0.3 Feb. 1, 2007と比較してみます。(Start of SequenceとEnd of Sequenceを黄色で囲ってあります。)

以下の通り、メッセージのフォーマットが一致している事がわかります。


Configure NMEA Messageのペイロードの仕様は、以下のように記述されていました。
どうやらこのPDFの内容と完全に一致するようです。


ACKの場合、要求に応じてACK応答の後に情報を返してくるようになっています。
これは、先の結果どおりです。


このように、それっぽいPDFの内容と一致していそうという事がわかりました。
それではということで、マイコンに以下のようなインターフェースを実装してみました。


とにかくマイコン上のアプリケーションからこのインターフェースを呼べば、SkyTraqと同じ設定が可能になるというわけです。

試しにVTGのみ1秒に設定し、その他を0(出力なし)にしてみました。


どうやら制御できているようです。


ということで

ということで、GT-720Fの設定はSkyTraqからだけでなく、当然のようにマイコンからも可能である事がわかりました。

まぁ、だからなんだという感じですが、特別に摩訶不思議なシーケンスがあるわけではない、という事がわかってスッキリしました。

モジュールに対して、永続的に設定を書き込みたいわけではないけど使いたい設定がある場合には、やはりマイコンから直接操作してやりたいものです。
コマンドの中にはバージョンを取得するインターフェースもあるので、GPSモジュールのバージョンを調べるのも良いかもしれません。

2011年11月24日木曜日

ET2011でNatural Tiny Shell (NT-Shell)のデモ・キットを展示しました

御報告が遅くなりましたが、ET2011でNatural Tiny Shell (NT-Shell)のデモ・キットを展示しました。
以下の写真が展示の様子です。


物凄く地味なデモですし、内容も内容ですから、本当に興味を持った人しか立ち止まらない感じで、逆にそれが個人的に面白かったです。

私のプレゼンテーションを聞いてくれた人からも「実は私も同じようにシェルに不満を持っていました。」と声をかけてくれた人もいました。


さて、肝心の成果物ですが、本日Version 0.0.8をリリースしました。
http://sourceforge.jp/projects/ntshell/releases/ からダウンロードできます。

以前はシェル用ライブラリだけでしたが、今回から「ライブラリ」と「サンプル」の二本立て構成にしました。今のところ「サンプル」にはTOPPERS用の実装のみ追加しています。

今回プレゼンテーションを作成するにあたって設計を振り返ったところ、まだまだ改良できる点が多くある事に気付きました。

今後も継続的に改善を行ない、よりコンパクトで使いやすいシェルライブラリにする予定です。


2011年11月9日水曜日

小規模組み込みシステム向けシェル・タスク『Natural Tiny Shell Task』のデモ・キットをET2011のTOPPERSブースで展示します。

小規模組み込みシステム向けシェル・タスク『Natural Tiny Shell Task』のデモ・キットをEmbedded Technology 2011TOPPERSブースで展示します。

先日から「Natural Tiny Shell Taskがどうのこうの。」と煩いわけですが、実際に触っていない人にとっては「何がそんなに嬉しいんだ?」という感じです。


そこで、今回は実際に動作を体験して頂けるようにしようと考えました。
下の写真がデモ・キットの外観です。


NXPセミコンダクターズ社のARM Cortex-M3が搭載されたLPCXpresso LPC1768にUSB-UART変換基板が接続されたものです。今回はシェルのデモなのでこれだけでも良いのですが、あまり面白いデモと言えなかったので、カラーLEDを付けてシェルから操作できるようにしてみました。


組み込みシステムのデバッグでは、コマンドをシステムに与えてデバッグする事がよくあります。今回はcolorコマンドに表示色を与えることで、カラーLEDの色が変化するというデモを用意しました。システムに対する要求が視覚的に判断できるので、楽しんでいただけるのではないでしょうか。


また、TOPPERSを触った事のない人にとって「きちんと動いているシェルっぽいもの」を見ても「何がそんなに良いわけ?」となります。そこで、このデモ・キットは、「適当に実装したシェル」と「Natural Tiny Shell」の二つを同時に体験できるように設計してあります。


「適当に実装したシェル」は、それこそ本当に適当で文字の入力を誤ると酷い事になるような実装になっています。「そんなのあるわけ?」と思うかもしれませんが、残念ながら小規模組み込みシステムでは実際によくある話です。

当日は2つの端末を並べて実際に操作しながら比較する事ができるようにする予定です。

ET2011の最終日である18日(金)の15時過ぎから「TOPPERS活用アイデア・アプリケーション開発コンテスト表彰式」と「コンテスト受賞作品の紹介」も行われる予定です。紹介のプレゼンテーションは私自身が担当する予定ですので皆様是非お越し下さい。