PICnome通信その他について

ブレッドボードから脱皮したことで、だいぶ作業効率あがりました。
 
とりあえず、Monome 40h用に公開されているファーム・ウェアのPICへの移植は完了しました。今のところ、A/D変換に関しては機能を未実装にしてありますが、それ以外はバッチコーイ。
 
もすこし、ソースの体裁を整えたり、なんやかんやしたら、何らかの形で公開しようと思います。
 
で、ファームが移植できてもまだまだなわけです。
 
ファームのソースを見れば分かりますが、Monomeがやっているのは、超ざっくり言うと
 
「何行目、何列目のボタンを押したよー、LEDどう光らせるー?」
 
というやりとりだけ。ボタンの位置情報と、ボタンを押したか放したかを2バイトで表現し、USBを経由してPCへ送信し、LEDの位置情報と点灯させるか否かや、その他の設定等を2バイトで受け取り、その動作を実行するというシンプル・イズ・ベストなシステム。
 
ただし、実際にMax/MSPとかでMonomeを使う場合にはOpenSound Controlというプロトコルでソフトウェアと通信する必要があるわけです。で、Monome自信はバイトデータを送受信しかしていないので、例えば、Monomeから送信されたバイトデータをOSCの形式に変換して、ソフトウェアに送信し、ソフトウェアから送信されたOSC形式のコマンドをバイトデータに変換しMonomeで受信するためのMonomeとソフトウェアの中間で働いてくれる通訳さんが必須。オリジナルではこの役目をmonomeserialが担っているんです。
 
というわけで、Monome PIC Version用のmonomeserialを作らないといかんわけです。
 
で、それもちゃっちゃとJavaで作ってしまいました。だって、ファームを移植しながらデバッグをするのに必要だったので、PIC作業のC言語と通信作業のJavaを行ったり来たりして、どっちがどっちか訳分からなくなりながらRXTXJavaOSCを使ったハードとPCの通信制御の良い勉強になるなーっと思いつつやりました。GUIのデザインをしっかりさせたら、こっちもファームと一緒に公開予定です。
 
明日にでも、Monome PIC VersionとMax/MSPで通信してるデモムービーをアップできればと思っております。

タグ: ,

コメントをどうぞ

Get Adobe Flash playerPlugin by wpburn.com wordpress themes