USBプロジェクト - ファームウェアに立ち返る (2) [USB]
ターゲットを液晶モジュール制御に定めて、「正しいHIDデバイス」を作成します。 このデバイスは、インタラプトOUT専用になる予定です。
レポート・デスクリプタを作成する
最初にHIDの通信データ構造であるレポート・デスクリプタを考えます。 このBLOGのコメントでも指摘があったように、「勝手プロトコル」を使うつもりであれば、 レポート・デスクリプタの中身を細かく既定する必要はありません。 そこで、MC908JB16のエンド・ポイントを最大限に使えるように、送受信ともに8バイトのデータを送受信することにしました。 データの意味については、後で考えます。
USAGE_PAGE (Generic Desktop) 06 01 00 USAGE (Vendor Usage 1) 09 01 COLLECTION (Application) A1 01 LOGICAL_MINIMUM (0) 15 00 LOGICAL_MAXIMUM (255) 26 FF 00 REPORT_SIZE (8) 75 08 REPORT_COUNT (8) 95 08 USAGE (Vendor Usage 1) 09 01 INPUT (Data,Var,Abs) 81 02 USAGE (Vendor Usage 1) 09 01 OUTPUT (Data,Var,Abs) 91 02 END_COLLECTION C0
某掲示板にあったものをサイズだけ変更しています。 これのC言語書式をレポート・デスクリプタ構造体としてインスタンスします。
//---------------------------------------------------------------------------- // Report Descriptor // Generic 8-byte IN/OUT descriptor //---------------------------------------------------------------------------- const byte reportDesc[25] = { 0x06, 0x00, 0xff, // USAGE_PAGE (Generic Desktop) 0x09, 0x01, // USAGE (Vendor Usage 1) 0xa1, 0x01, // COLLECTION (Application) 0x15, 0x00, // LOGICAL_MINIMUM (0) 0x26, 0xff, 0x00, // LOGICAL_MAXIMUM (255) 0x75, 0x08, // REPORT_SIZE (8) 0x95, 0x08, // REPORT_COUNT (8) 0x09, 0x01, // USAGE (Vendor Usage 1) 0x81, 0x02, // INPUT (Data,Var,Abs) 0x09, 0x01, // USAGE (Vendor Usage 1) 0x91, 0x02, // OUTPUT (Data,Var,Abs) 0xc0 // END_COLLECTION };
ここまでは、機械がやってくれるのでラクチンです。
付録 : USBプロジェクト索引
- USBプロジェクト - ファームウェアに立ち返る (1)
- USBプロジェクト - ファームウェアに立ち返る (2)
- USBプロジェクト - ファームウェアに立ち返る (3)
- USBプロジェクト - ファームウェアに立ち返る (4)
- USBプロジェクト - ファームウェアに立ち返る (5)
- USBプロジェクト - ファームウェアに立ち返る (6)
- USBプロジェクト - ファームウェアに立ち返る (7)
- USBプロジェクト - ファームウェアに立ち返る (8)
- USBプロジェクト - ファームウェアに立ち返る (9)
- USBプロジェクト - ファームウェアに立ち返る (10)
- USBプロジェクト - ファームウェアに立ち返る (11)
- USBプロジェクト - ファームウェアに立ち返る (12)
- USBプロジェクト - ファームウェアに立ち返る (13)
- USBプロジェクト - HIDデバイス(1)
- USBプロジェクト - HIDデバイス(2)
- USBプロジェクト - HIDデバイス(3)
- USBプロジェクト - 複合デバイスを考えた
- USBプロジェクト - HIDデバイス(4)
- USBプロジェクト - HIDデバイス(5)
参考文献
USBハード&ソフト開発のすべて―USBコントローラの使い方からWindows/Linuxドライバの作成まで (TECHI―Bus Interface)
- 作者: インターフェース編集部
- 出版社/メーカー: CQ出版
- 発売日: 2006/07
- メディア: 単行本
USBターゲット機器開発のすべて―各種USBコントローラの使い方と基本ソフトウェアの作成法 (TECHI―Bus Interface)
- 作者:
- 出版社/メーカー: CQ出版
- 発売日: 2005/08
- メディア: 単行本
コメント 0