- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi, kenshow-san
Confirm to work this KBA.
Thanks
Jenna
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Jenna-san,
Japanese translation was over.
And, the KBA of autumn list has been filled. I hope the next KBA list.
Below is a translation of KBA230466.
Original KBA:
FX3/CX3: UVC Extension Unit Application – KBA230466
Thanks.
==============================
タイトル: FX3 / CX3:UVC拡張ユニットアプリケーション – KBA230466
バージョン:**
質問1:
ベンダー固有の機能をUVCファームウェアに追加することは可能でしょうか?
回答:
はい、ベンダー固有の機能をUVCファームウェアに追加できます。USBビデオクラスの仕様に従って、拡張ユニットでは、標準のUSBベンダーリクエストと同様に、ベンダー固有の機能を追加できます。AN75779 - USBビデオクラス(UVC)フレームワークでEZ-USB FX3を使用してイメージセンサーインターフェイスを実装する方法は、UVC拡張ユニットを実装します。拡張ユニットコントロールのサンプル、デバイスファームウェアバージョンの取得または設定は、AN75779ファームウェアに実装されています。
拡張ユニット制御の実装の詳細については、AN75779サンプルプロジェクトの拡張ユニット制御の実装 -KBA219280をご参照願います。
質問2:
UVC拡張ユニットとどのように通信しますか?
AN75779ファームウェアでは、拡張ユニットは空ですが、サンプルデザインが実装されており、デバイスファームウェアのバージョンを取得または設定できるようになっています。デバイスは、複数の拡張ユニットをサポートできます。
拡張ユニットが使用されている場合、標準のホストアプリケーションは、その機能を認識するように設計されていない限り、その機能を認識しません。カスタム拡張コントロールとホストアプリケーションは、これらのコントロールをクエリするように設計できます。
このナレッジベースの記事(KBA)には、AN75779ファームウェアからデバイスファームウェアバージョンを取得または設定するためのサンプルホストアプリケーション(コンソールアプリ)が用意されています。このサンプルホストアプリケーションは、Visual Studio 2015(VS 2015)でビルドされています。SetGetExtensionUnit APIを使用して、SET/GET要求をUVCデバイスの拡張ユニットに送信します。
質問3:
UVC Extension Unitサンプルホストアプリケーションの使用中にエラー0x80070492が発生します。その理由は何でしょうか?
回答:
UVC拡張ユニットサンプルアプリケーションを使用してUVCファームウェアの拡張ユニットと通信しているときに、図1に示すようにエラーが発生する可能性があります。
図1 . エラー0x80070492
エラー0x80070492はE_PROP_SET_UNSUPPORTED であり、指定されたプロパティセットがサポートされていない場合に発生します。このサンプルホストアプリケーションで設定されるプロパティは、使用されるGUIDに対応しています。このエラーは、拡張ユニットのGUIDとホストアプリケーションのGUIDの間に不一致がある場合に発生します。
このエラーを解決するには:
- Visual Studioを使用して生成されたGUIDでcyfxuvcdscr.cファイルの拡張ユニットディスクリプタの16バイトのGUIDフィールドを更新します。
- デフォルトのAN75779ファームウェアを使用している場合は、UVC_EXTENSION_UNITマクロが有効になっているかどうかを確認してください。
質問4:
UVC Extension Unitサンプルホストアプリケーションの使用中にエラー0x80070490が発生します。その理由は何でしょうか?
回答:
UVCファームウェアの拡張ユニットでUVC拡張ユニットサンプルアプリケーションを使用しているときに、図2に示すようにエラーが発生する可能性があります。
図2 . エラー0x80070490
エラー0x80070490はE_PROP_ID_UNSUPPORTEDです。これは、指定されたプロパティ識別子がサポートされていない場合に発生します。このサンプルホストアプリケーションのプロパティ識別子は、デバイスでサポートされているbmControlに対応し、拡張ユニットディスクリプタで言及されています。
このエラーは、SET / GET要求がファームウェアで正しく処理されていない場合、またはホストアプリケーションが要求を処理するコントロールがUVCデバイスでサポートされていない場合に発生します。
このエラーを解決するには:
- ホストアプリケーションとUVCデバイスでサポートされているベンダー固有のコントロールが同じであることを確認します。図4に示すように、拡張ユニットディスクリプタのbmControlフィールドを確認できます。
- ファームウェアで、ホストアプリケーションからのSET/GET要求がAN75779サンプルプロジェクト-KBA219280の拡張ユニット制御の実装に基づいて正しく処理されることを確認します。
たとえば、サンプルホストアプリケーションでは、0x01ベンダー固有のコントロールがサポートされています。したがって、SET/GET要求は、ホストから0x01コントロールにアドレス指定されて送信されます。UVCデバイスは0x01制御をサポートし、ホストからのSET / GET要求を処理し、要求に正しく応答できる必要があります。
図3に示すAN75779サンプルファームウェアのディスクリプタは、0x01制御をサポートしています。
図3 . 拡張ユニット - bmControlフィールド
図4. デバイスがサポートする制御に対処するSET/GET要求の処理
図5. コントロール定義
注:図3に示すように、ディスクリプタにお客様固有のbmControlを追加して有効にすることができます。コントロールをサポートするには、ホストアプリケーションを変更する必要があります。
- ホストアプリケーションからのSET/GET要求に応答して、予期したデータが制御インターフェースを介して送信されることを確認します。
- ホストから要求されたデータ長がUVCデバイスでサポートされている長さと一致していることを確認してください。
質問5:
拡張ユニットを有効にしたCX3サンプルコードはありますでしょうか?
回答:
CX3のサンプルコードは、拡張ユニットをサポートし、ベンダー固有のリクエストを処理するように変更できます。このKBAに添付されているサンプルコードCX3:OV5640は、UVC_EEXTENSION_UNITマクロを有効にすると、ベンダー固有の機能をUVCデバイスに追加します。このファームウェアは、このKBAに添付されているサンプルホストアプリケーションでテストされています。
注:KBAが添付されたファームウェアを使用してCX3デバイスをプログラミングすると、CX3はVID/PIDとしてFX3デバイスとして列挙され、ファームウェアで拡張製品の文字列ディスクリプタが変更されて、ファームウェアが拡張ユニットホストアプリケーションと互換性を持つようになります。
==============================
9-Sept-2020