Tip / ログイン to post questions, reply, level up, and achieve exciting badges. Know more

cross mob

UVCのベンダーインターフェース - KBA218335 - Community Translated (JA)

UVCのベンダーインターフェース - KBA218335 - Community Translated (JA)

GeethaP_31
Employee
Employee
50 questions asked 10 questions asked 5 questions asked

Community Translated by keni_4440091 Expert       Version: **

Translation - English: Vendor Interface in UVC - KBA218335

質問:

UVCデバイスへのベンダー要求の送信方法

回答:

コントロールセンターからベンダーコマンドを送信するためには、UVC記述子ファイルの中でベンダーインターフェースを生成する必要があります。終端はこのインターフェースと関係しているか、関係していない場合があります。列挙後、このベンダーインターフェースはコントロールセンターで表示されるcyusb3ドライバーとバインドされる必要があります。

ベンダーインターフェースを生成するためには、AN75779サンプルプロジェクトで下記の変更が求められます:

  1. UVC記述子ファイルの中の、CyFxUSBHSConfigDscr[ ] およびCyFxUSBSSConfigDscr[ ]

    1. 記述子の長さおよび、全てのサブ記述子フィールドをD9からE2CyFxUSBSSConfigDscrの中)におよびCDからD6CyFxUSBHSConfigDscrの中)に更新します。

         2. インターフェース数を2から3に変更します。

         3. バルクストリーミングビデオデータ(CyFxUSBHSConfigDscrの中)用の終端記述子およびバルク終端(CyFxUSBSSConfigDscrの中)用超高速終端コンパニオン記述子の後、下記を含みます:

0x09,               /*記述子サイズ */

CY_U3P_USB_INTRFC_DESCR,       /* インターフェース記述子タイプ */

0x02,               /* インターフェース数 */

0x00,               /* 代替設定数 */

0x00,               /* 終端数 */

0xFF,               /* インターフェースクラス */

0x00,                /* インターフェースサブクラス */

0x00,                /* インターフェースプロトコルクラス */

0x00                 /* インターフェース記述子文字列インデックス */

 

  2. uvc.cファイルのCyFxUVCApplnUSBSetupCB()関数で、ベンダー要求を処理するための下記のテンプレートを含むUVCクラス要求用のスイッチケースの前に: if ((bmReqType &
CY_U3P_USB_TYPE_MASK) ==
      CY_U3P_USB_VENDOR_RQT)
      {
         switch(bRequest)
         {
               case 0x76:
                    CyU3PDebugPrint(2, "Vendor command received…\n");
                              /*
要求される機能毎のコードを実装 */
                     CyU3PUsbAckSetup();
                    return CyTrue;
                   default:
                       return CyFalse;
         }

      }

0 件の賞賛
282 件の閲覧回数
寄稿者