Jan 20, 2008
RCプロポ Joystick(その2:途中経過)
USBコントローラをUSBN9604に変更して製作中。ハードはとても簡単なのですぐに出来たが、ソフトで苦戦中。
デバイスの初期化までは出来たので、Windowsから「不明なデバイス」として認識されることまでは確認。AVRにも割り込みが発生してデータが読めるので恐らくそれなりに正しく動作している模様。
ただ、あまりにプリミティブなコントローラなのと、EndPoint0のFIFOが8バイトしかないのでディスクリプタの送信が1回で出来ないなど、かなり面倒。たぶんもう使わない。
NSのサイトを見ると「Not recommended for new designs (as of 14-Nov-06)」なので、使っちゃダメみたいだけど。
次はMAX3420あたりを使ってみよう。
Jan 06, 2008
RCプロポ Joystick(その1)
とりあえず、AVRに受信機を接続してデータを読み取ることはできたので、そのままEZ-USBに接続してJoystick化。この程度の処理であれば、EZ-USB単体でも出来そうだけど、まずは動くことを優先にしたので、こういう仕様(最終的にはUSBN9604で接続か、AVRUSBを取り込んで単体動作か、にする予定)。
EZ-USBでのHIDデバイス作成方法については、CypressのHIDサンプル(creating_a_sample_ez_usb_composite_hid_device_9.zip)を、JoystickのReport Descriptorについてはusb.orgのHID Usage Tables(Hut1_12.pdf)を参考にしてみた。
HIDデバイスのReport Descriptorの書き方がイマイチわかんないなあと思っていたけど、同じくusb.orgにあるHID Descriptor Tool(Win32用)を使うとバイナリ値が取得できるので、これを利用した。
2CHプロポなので、X,Y軸しかないアナログジョイスティックをでっち上げ、ひとまずWindowsPCに接続してみたところ、ちゃんと認識出来た。
コントロールパネルの「ゲームコントローラ」でキャリブレーション後、適当なゲームを実行して操作出来ることも確認。
今回の作りだと、好きな送信機と受信機の組み合わせで使用できるし、改造も不要。
ただ、送信機の電池は必要だし、常に電波を送信するのでちょっと気持ち悪いか。