usb_host_notes_index.rst 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. USB Host Maintainers Notes (Introduction)
  2. =========================================
  3. This document contains information regarding the implementation details of the USB Host stack. This document is intended for the maintainers and third-party contributors of the USB Host stack. Users of the USB Host stack should refer to :doc:`../usb_host` instead.
  4. .. warning::
  5. The implementations details of the USB Host stack is categorized as private API. Thus, all layers (other than the USB Host Library) do not adhere to :ref:`ESP-IDF's versioning scheme <versioning-scheme>` (i.e., breaking changes are permitted).
  6. .. figure:: ../../../../_static/usb_host/stack-overview.png
  7. :align: center
  8. :alt: Diagram of Host Stack Layers
  9. :figclass: align-center
  10. This document is split into the following sections:
  11. .. toctree::
  12. :maxdepth: 1
  13. usb_host_notes_design
  14. usb_host_notes_arch
  15. usb_host_notes_dwc_otg
  16. Todo:
  17. - USB Host Maintainers Notes (HAL & LL)
  18. - USB Host Maintainers Notes (HCD)
  19. - USB Host Maintainers Notes (USBH)
  20. - USB Host Maintainers Notes (Hub)
  21. - USB Host Maintainers Notes (USB Host Library)
  22. .. -------------------------------------------------- Introduction -----------------------------------------------------
  23. Introduction
  24. ------------
  25. The ESP-IDF USB Host Stack allows the {IDF_TARGET_NAME} to operate as a USB Host. Operating as a USB Host allows the {IDF_TARGET_NAME} to communicate with a wide range of USB devices. However, most USB Host Stack implementations do not run on embedded hardware (i.e., runs on PCs and smartphones), thus have comparatively more resources (i.e., memory and CPU speed).
  26. The implementation of the ESP-IDF USB Host Stack (henceforth referred to as the Host Stack) takes into account the embedded nature of the {IDF_TARGET_NAME} which is reflected in various aspects of the Host Stack's design.
  27. Features & Limitations
  28. ^^^^^^^^^^^^^^^^^^^^^^
  29. **The Host Stack currently supports the following notable features:**
  30. - Support FS (Full Speed) and LS (Low Speed) devices
  31. - Support all transfer types (Control, Bulk, Isochronous, and Interrupt)
  32. - Automatically enumerates connected devices
  33. - Allows multiple class drivers (i.e., Clients of the USB Host Library) to run simultaneously and share the same device (i.e., composite devices).
  34. **The Host Stack currently has the following notable limitations:**
  35. - No HS (High Speed) support
  36. - No Hub support (currently only supports a single device)