| ************* |
| Class Drivers |
| ************* |
| |
| Class drivers implement USB protocols such as CDC serial, HID, mass storage, |
| and MIDI. Enable only the classes your product uses: device APIs start with |
| ``tud_`` and host APIs start with ``tuh_``. |
| |
| Start with :doc:`device` or :doc:`host`, then use the class page for its |
| configuration, data flow, callbacks, and examples. The API lists below focus |
| on the calls normally needed by an application; the public headers remain the |
| complete API reference. |
| |
| Support matrix |
| ============== |
| |
| .. list-table:: |
| :header-rows: 1 |
| :widths: 24 18 18 40 |
| |
| * - Class |
| - Device |
| - Host |
| - Guide |
| * - Audio 1.0/2.0 |
| - Yes |
| - No |
| - :doc:`audio` |
| * - Bluetooth HCI |
| - Yes |
| - No |
| - :doc:`bluetooth` |
| * - CDC serial |
| - Yes |
| - Yes |
| - :doc:`cdc` |
| * - DFU 1.1 |
| - Yes |
| - No |
| - :doc:`dfu` |
| * - HID 1.11 |
| - Yes |
| - Yes |
| - :doc:`hid` |
| * - MIDI 1.0/2.0 |
| - Yes |
| - Yes |
| - :doc:`midi` |
| * - Mass Storage (BOT) |
| - Yes |
| - Yes |
| - :doc:`msc` |
| * - Media Transfer (MTP) |
| - Yes |
| - No |
| - :doc:`mtp` |
| * - Network (ECM/RNDIS/NCM) |
| - Yes |
| - No |
| - :doc:`network` |
| * - Printer |
| - Yes |
| - No |
| - :doc:`printer` |
| * - Test and Measurement (USBTMC) |
| - Yes |
| - No |
| - :doc:`usbtmc` |
| * - Vendor-specific |
| - Yes |
| - Custom driver |
| - :doc:`vendor` |
| * - Video 1.5 |
| - Yes |
| - No |
| - :doc:`video` |
| |
| .. toctree:: |
| :maxdepth: 1 |
| :hidden: |
| |
| device |
| host |
| audio |
| bluetooth |
| cdc |
| dfu |
| hid |
| midi |
| msc |
| mtp |
| network |
| printer |
| usbtmc |
| vendor |
| video |