So-net無料ブログ作成
検索選択

USBプロジェクト - ファームウェアに立ち返る (2) [USB]このエントリーを含むはてなブックマーク#

1516092

ターゲットを液晶モジュール制御に定めて、「正しい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ハード&ソフト開発のすべて―USBコントローラの使い方からWindows/Linuxドライバの作成まで (TECHI―Bus Interface)

USBハード&ソフト開発のすべて―USBコントローラの使い方からWindows/Linuxドライバの作成まで (TECHI―Bus Interface)

  • 作者: インターフェース編集部
  • 出版社/メーカー: CQ出版
  • 発売日: 2006/07
  • メディア: 単行本

nice!(0)  コメント(0)  トラックバック(0)  このエントリーを含むはてなブックマーク#

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

トラックバックの受付は締め切りました

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。