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 件のコメント:
コメントを投稿