esp-idf/examples/peripherals
Darian Leung 1aad12468a usb: Hub Driver Update and Refactor
Hub Driver is refactored as follows:

This commit update and refactors the Hub Driver as follows:

- Refactored enumeration state machine and stage functions
    - Enumeration stage is now incremented
    - Combined transfer stages of enumeration into common functions
- Comments updated
- Fixed usbh_hal_disable_debounce_lock() that would cause root_port_handle_events()
    to fail the HCD_PORT_CMD_RESET call because the previous port connection interrupt
    was not cleared.

The following features were added to the Hub Driver

- Enumeration config descriptor is now fetched in two separate stages
    - Header is fetched first to determine the wTotalLength of the descriptor
    - Fetching the full descriptor will request exactly wTotalLength bytes
    - This works around some non-compliant devices that will babble/return zero
        when requesting a length > wTotalLength
    - Closes https://github.com/espressif/esp-idf/issues/7799
- Enumeration now stores string descriptors
    - The Manufacturer, Product, and Serial Number string descriptors are
        now read and stored during enumeration
    - String descriptors are now part of usb_device_info_t
- Added unit test to test enumeration
2022-01-06 15:11:13 +08:00
..
adc adc: support adc dma driver on all chips 2021-12-16 00:19:15 +00:00
gpio esp8684: support GPIO peripheral, IO_MUX, GPIO matrix. 2021-12-29 22:01:45 +08:00
i2c refactor (cxx): C++ I2C example now uses MPU9250 instead of MCP9808 2021-11-18 19:07:44 +08:00
i2s i2s: deprecate confusing names 2021-11-24 13:21:13 +08:00
lcd lcd: gc9a01 meter example 2021-12-01 22:22:19 +08:00
ledc Build & config: Remove leftover files from the unsupported "make" build system 2021-11-11 15:32:36 +01:00
mcpwm Build & config: Remove leftover files from the unsupported "make" build system 2021-11-11 15:32:36 +01:00
pcnt Build & config: Remove leftover files from the unsupported "make" build system 2021-11-11 15:32:36 +01:00
rmt CI: Enable ESP8684 build stage CI on master 2021-12-13 19:18:47 +08:00
sdio Build & config: Remove leftover files from the unsupported "make" build system 2021-11-11 15:32:36 +01:00
secure_element/atecc608_ecdsa atecc608a_example: Update esp-cryptoauthlib submodule pointer 2021-11-26 12:38:32 +08:00
sigmadelta Build & config: Remove leftover files from the unsupported "make" build system 2021-11-11 15:32:36 +01:00
spi_master Build & config: Remove leftover files from the unsupported "make" build system 2021-11-11 15:32:36 +01:00
spi_slave Build & config: Remove leftover files from the unsupported "make" build system 2021-11-11 15:32:36 +01:00
spi_slave_hd spi_slave_hd: fix stack variable bug in seg_slave example 2021-12-10 17:54:29 +08:00
temp_sensor Build & config: Remove leftover files from the unsupported "make" build system 2021-11-11 15:32:36 +01:00
timer_group timer: example migrate to pytest 2021-12-23 11:39:32 +08:00
touch_sensor Build & config: Remove leftover files from the unsupported "make" build system 2021-11-11 15:32:36 +01:00
twai Build & config: Remove leftover files from the unsupported "make" build system 2021-11-11 15:32:36 +01:00
uart Build & config: Remove leftover files from the unsupported "make" build system 2021-11-11 15:32:36 +01:00
usb usb: Hub Driver Update and Refactor 2022-01-06 15:11:13 +08:00
wave_gen Build & config: Remove leftover files from the unsupported "make" build system 2021-11-11 15:32:36 +01:00
README.md Replace all DOS line endings with Unix 2018-07-12 19:10:37 +08:00

Peripherals Examples

This section provides examples how to configure and use ESP32s internal peripherals like GPIO, UART, I2C, SPI, timers, counters, ADC / DAC, PWM, etc.

See the README.md file in the upper level examples directory for more information about examples.