CDCクラス
CDCは、Communicatios Class InterfaceとData Class Interfaceを持つ。
Communications Class Interface:
管理と通知(optionally)の2つを行っていてデバイスの設定や管理を行う。
これはデバイスがコール管理を実装しているか否かで挙動が変わる。
規格書の3.4.1を参照
例:
デバイス側でコール管理をしていると管理や設定の情報はendpoint0越しにデータのやり取りを行う。
通知はinterrupt endpointで行われます.
Data Class Interface
実際の通信データのやり取りを行っている。
bulk endpointで行われる。
これらの実装はCommunication Class Interfaceとして
intterupt input endpointが1つ
otionallyでoutputのものが1つ
bulk inputとbulk outputのそれぞれが1つ
という3つのendpointでの実装になる。
DescriptorはPCからUSBケーブルをデバイスに接続した際にPCに対して送信されるもの
「このデバイスはこういうデバイス(CDCであることや使うendpointとか)ですよー」みたいな情報が含まれています。