2011年12月11日日曜日

ディジタル・オーディオ実験用基板BlackTankの進捗状況

BlackTankは忘れた頃にやってくる・・・


MTM07で勢い余って展示しておいたBlackTankですが、急にやる気が出てきました。

私は、基板をスクエアーに作ってその中に機能を美しく詰め込むのが大好きです。
BlackTankも例に漏れずそんな感じで作ったオーディオ基板です。


と言っても、音質などは二の次で、とにかく色々楽しもうと色々欲張った感じになっています。
以下は、部品面、内層1、内層2、半田面の配線です。





この基板は、酔漢さんが進められておられるオーディオ・フレームワークUZUMEを利用できるように設計してあります。どうもMTM08には出展されるという事なので、BlackTankとしても出撃できるように準備をゆっくり開始する事にしました。

今日は久しぶりの通電と開発環境の確認です。

以前はOpenOCDを使ってデバッグしていたのですが、SWDを使った開発環境の方が手軽でした。
そこで、LPCXpressoのデバッガ側とターゲット側を切り離し、デバッガ側からそのままBlackTankに接続してデバッグする方針に変更です。


BlackTankでは、20ピンのJTAGを出しておいたので、そのままSWDによるデバッグも可能です。
このまま具合が良ければ、次回以降の設計でSWDの10ピンコネクタだけにするかもしれません。

MTM07出展報告

もう1週間が過ぎてしまいましたが、MTM07の出展報告です。

UZUMEオーディオ・フレームワーク開発用基板

UZUMEは、酔漢さんが進められているオーディオ・フレームワークで、リアルタイム処理をフレームワーク側で遮蔽して、ユーザがオーディオ・アルゴリズムの実装に集中できるという素敵なコンセプトを持っています。

BlackTankは、オーディオ・コーデックを搭載したオーディオ・フレームワーク開発用基板で、パラメータ調整に必要な4系統のスイッチやボリューム、ちょっとした息抜きに便利な有機ELディスプレイなどを搭載しています。

実は一か所バグがあってファームウェア開発のテンションが下がり気味でした。
MTM07への出展によって幾つかの気づきがあったので開発再開の予定です。


Natural Tiny Shell

Natural Tiny Shellは、MTMには全く相応しくない「地味すぎるネタ」として展示しました。

殆どの人は「何これ?」という感じでしたが、スタッフが熱心に説明してくれたのと、「おっ!VT100というのに惹かれましたがこれは?」というその筋の方によって意外に人気のあった展示です。


LPCXpresso Clock

こちらはLPCXpresso Clockです。
今年は5月頃から全く身動きが取れないくらい色々忙しかったので、息抜きプロジェクトで作りました。GT-720Fで受信した時刻情報をそのまま表示という展示。


お菓子コーナー

そして、CuBeatSystemsブース恒例のお菓子コーナー。
間違って夫についてきてしまった奥様方やお子様に人気でした。


今回は積極的に色々してくれるスタッフに助けられました。
スタッフさんありがとう。

2011年12月2日金曜日

薄暗くなること間違いなし!MTM07の展示内容

さて、明日から2日間に渡って東京工業大学にてMake: Tokyo Meeting 07が開催されます。
CuBeatSystemsも半ば惰性で出展します。おぉ、こんなはずでは。


先日触れたとおり、「LPCXpresso横浜お楽しみ部会」の勢いに乗る予定でしたが、ついでに「小規模組み込みシステムプラットフォーム研究部会」も触れておこうとか、「日頃のマイコンいじりできない欲求を解消しよう」とかで、既に何者なのかわからなくなっています。

当日は、歩き回ってお疲れの皆様を癒すべく、「素敵な笑顔のスタッフと、むさ苦しい私がパソコンと睨めっこ。」というシュールな設定のブースでお出迎えする予定です。

以下はブースの完成イメージ図です。


プログラムガイドは「こちら」をご覧下さい。
オライリージャパンさんの公式サイトは「こちら」です。

当日は二人とも「うーん。」とか「あれぇ~。」とか言いながら、さして難しくもない課題に永遠と悩み続ける姿を皆様にお届けする予定です。

会場でお会いできる事を楽しみにしております。

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活用アイデア・アプリケーション開発コンテスト表彰式」と「コンテスト受賞作品の紹介」も行われる予定です。紹介のプレゼンテーションは私自身が担当する予定ですので皆様是非お越し下さい。

2011年10月29日土曜日

小規模組み込みシステム向けシェル・タスク『Natural Tiny Shell Task』が、TOPPERS活用アイデア・アプリケーション開発コンテストのアプリケーション開発部門で銀賞を受賞

小規模組み込みシステム向けシェル・タスク『Natural Tiny Shell Task』が、2011年度のTOPPERS活用アイデア・アプリケーション開発コンテストのアプリケーション開発部門で銀賞を受賞しました。




関連してET2011のTOPPERS/SESSAMEパビリオンにおいて、アプリケーションについてのショート・プレゼンテーションとデモンストレーションも予定しています。TOPPERS(や、その他RTOS)を使った小規模組み込みシステムでシェルのようなものが欲しいけど、あまり良い物が見つからないとお困りの方は是非御来場下さい。

詳しくはTOPPERSプロジェクト/ET2011のページを御覧下さい。

「小規模組み込みシステムプラットフォーム研究部会」開催のお知らせ

『小規模組み込みシステムプラットフォーム研究部会』開催のお知らせです。


小規模の定義は参加者の方々それぞれで構いません。
とにかくシステムのプラットフォームを考えるのが好きという方のための会です。

詳しくはATNDを御覧下さい。
http://atnd.org/events/21520

2011年10月23日日曜日

MTM07出展のお知らせ

MTM07出展します。

今回は「LPCXpresso横浜お楽しみ部会」併設「小規模組み込みシステムプラットフォーム研究部会」での出展です。(出展者名はCuBeatSystemsです。)


小規模組み込みシステムを愛してやまない人達に向けた展示を目指しています。
皆様とお会いできることを楽しみにしております。

2011年10月13日木曜日

汎用BluetoothモジュールWT32搭載WCA-009を購入。

WCA-009とは、Bluegiga社のBluetooth Audio ModuleであるWT32を搭載したモジュールです。
マイコン工作実験日記の大野さんが頒布しています。

私はというと「Bluetoothって何だべなぁ~。」という感じで素人もいいところなのですが、Bluetoothで繋がるということは手持ちのIS03と連携させて何かできるかもね!ということで購入して試してみる事にしました。


このモジュールは名称こそ「Bluetooth Audio Module」となっているものの、GPIOやUARTが出ていてマイコン基板のインターフェースとして色々な応用ができるようになっています。


うーん。
MTM07でもこれを使った物がチラホラ見かけられるかもしれませんね!

2011年10月8日土曜日

「LPCXpresso横浜お楽しみ部会」を開催しました~。

「LPCXpresso横浜お楽しみ部会」を開催しました。

本日は、もくもく会の傍らプレゼンテーション3本をゆるゆるとこなすという会でした。
ライブな感じを味わっていただくための写真を掲載しておきます。

会場は神奈川県民活動サポートセンター 15階会議室(1501)でした。


この会は「ゆるゆる」な会なので、イラストで来場者の方を和ませる作戦です。


とびっきりの風景・・・とはいきませんが、遠くに見える海を眺めながらのもくもく会でした。


こちらは @h-kenken さん。
シェルからコマンドで操作できる組み込み装置な感じが好きです!




こちらは @tabriSyu39 さん。
気合十分で周辺デバイスの実装が完了しています。
プログラムの実装フェーズに入っていました。



こちらは @todotani さん。
どこかで見た事のある・・・と思った方。
はい。あのブログのお方です。
3階建ての構造ですが、シンプルに纏まっていて良い感じ。
当日取り組んでいらっしゃった成果を「XBee APIモードライブラリのLPCXpressoへの移植」で公開して下さっています。



こちらは @suikan_blackfin さん。
オーディオプラットフォームUzumeの第1版のデバッグの様子です。
プレゼンテーションでもプラットフォームの狙いについて熱く語って頂きました。



こちらは @noztos さん。
おっと~。Androidとの連携か?!


こちらは @hellslonghorn さん。
おっと~。Smart Fusionとの連携か?!


私はというと、すっかり自分の物を撮影するのを忘れてしまいました。
なので家に帰って撮影です。
LPCXpresso ClockをGPS時計にしてみました。
TOPPERS/ASP for LPCを使っています。


色々なサプライズがありましたが、本編より夜の会合の方が盛り上がってしまったのは内緒です。


皆様お忙しい中の御参加ありがとうございました。
非常に有意義な時間を過ごす事ができました。