まだまだ改良しなければならないらしいところはありますが,とりあえず動いているようなので公開します。
BaseUsbHost
UVCカメラにアイソクロナス転送、USBフラッシュメモリにバルク転送、マウスにインタラプト転送、
コントロール転送が使えます。USBハブが使えます。
実装での特徴としては、割り込みからのTDの通知にmbed-RTOSのqueueを使用。
ED,TD,ITD,HCCAの確保にposix_memalignを使用。
スレッドとは非同期に転送できるように、転送データのバッファはTD,ITDの末尾にも貼り付けれようにした。
アイソクロナス転送ではうまくいっているが、コントロール転送の連続コマンド送信はエラーになりやすいみたい。
使用例として以前のカラートラッキングのプログラムを動くようにしてみました。
UVCカメラはLogitechC270専用にしてコンフィグレーションディスクリプタを読み取るのを止めた。
SET_CONFIGURATION,SET_INTERFACE,UVCへのコントロールを送っいるだけです。
BaseUsbHost_example
下のキャプチャーはカメラからmbedにモーションJPEGをアイソクロナス転送したデータを
確認のためにパソコンのターミナルソフトで数値表示しているところです。
CCの行はITDのコントールのコンディションコード、
PSの行はITDの中のパケットステータスのコンディションコードの発生回数を表示しています。

(2012/12/4)
---
0 件のコメント:
コメントを投稿