2021年3月13日土曜日

tyny USB

Raspberry Pi PicoのSDKで採用しているUSBスタックはtyny USB。
tynyUSBはGithubの説明文を読むと組み込みシステム用のオープン ソースクロスプラットフォーム USB ホスト/デバイス スタックだそうです。

GitHub - hathach/tinyusb: An open source cross-platform USB stack for embedded system

ここでサポートしているクラスは以下のように紹介されています。

  • USB オーディオ クラス 2.0 (UAC2) 開発中
  • Bluetooth ホスト コントローラ インターフェイス (BTH HCI)
  • 通信クラス (CDC)
  • デバイス ファームウェアの更新 (DFU): Runtinme のみ
  • ヒューマンインタフェースデバイス(HID):ジェネリック(イン&アウト)、キーボード、マウス、ゲームパッドなど.
  • 大容量ストレージ クラス(MSC): 複数の LUN 対応
  • Music Instrument Digital Interface(MIDI)
  • RNDIS、CDC-ECM を使用したネットワーク (開発中)
  • USBテストおよび測定クラス(USBTMC)
  • 汎用の In & Out エンドポイントを使用したベンダー固有のクラスサポート。INF ファイルなしの winUSB ドライバーをロードする MS OS 2.0 互換の記述子と使用できます。
  • ベンダ固有のクラスを使用するWebUSB
ホストもHIDとMSCに対応となっていますが開発中でテスト不十分となっています。

サンプルコードに含まれるtusb_config.hにも下記のようにマクロ定義されています。
//------------- CLASS -------------//
#define CFG_TUD_CDC             0
#define CFG_TUD_MSC             0
#define CFG_TUD_HID             1
#define CFG_TUD_MIDI            0
#define CFG_TUD_VENDOR          0

これを見るとMIDIクラスはSDKでもサポートされていそうですがサンプルコードはありません、この辺は早めに試してみたいところです。

0 件のコメント:

コメントを投稿