2 Replies Latest reply on Aug 3, 2020 4:29 PM by keni_4440091

    Community Translation - Vendor Interface in UVC - KBA218335

    keni_4440091

      Hi

       

      I want to translate KBA218335, please confirm to my work.

       

      Regards,

      Nino

        • 1. Re: Community Translation - Vendor Interface in UVC - KBA218335
          JuyoungJ_06

          Hi, Nino-san

          Confirm to work this KBA.

           

          Thanks

          Jenna

          • 2. Re: Community Translation - Vendor Interface in UVC - KBA218335
            keni_4440091

            タイトル:UVCのベンダーインターフェース - KBA218335

             

            バージョン 1

             

            content.librarian 2017/01/17 1:49 に作成。content.librarian 2017/01/17 1:49 に変更。

             

            Version: **

             

            質問:

            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;
                     }

                  }

             

            506 閲覧 カテゴリ: USB: SuperSpeed Peripherals   タグ: superspeed usb peripherals