Commit Graph

77 Commits

Author SHA1 Message Date
peter.marcisovsky 8b0caa2375 fix(usb_host): Dont abort on unsupported client events
- suspend and resume client events
2025-12-08 14:11:43 +01:00
LiPeng 01a1028df8 feat(cherry_usb): Pin cherryusb component version 2025-09-12 15:50:07 +08:00
LiPeng df0a9610e9 fix(usb): fix ths bug that ALT escape input for USB HID keyboard 2025-09-03 10:53:23 +08:00
LiPeng 9e1a90f565 feat(usb): add CherryUSB support for multiple USB controllers selection 2025-09-03 10:30:34 +08:00
LiPeng 57b1c80bcd feat(usb): add CherryUSB host msc example 2025-09-03 10:30:34 +08:00
LiPeng d55edd8503 feat(usb): add ALT escape input for USB HID keyboard 2025-09-03 10:30:34 +08:00
LiPeng 53bd498b7b feat(examples/peripherals/usb/cherryusb/host/cherryusb_host): add CherryUSB host example 2025-09-03 10:30:34 +08:00
Tomas Rezucha 8fb0366f70 feat(usb/host): Add option to choose peripheral for USB host library
Starting with ESP32-P4 we can have targets that have more than 1 USB-OTG peripheral.
This commit adds an option to choose which peripherals will be used by USB Host lib.

Internally, we will still have only 1 Root HUB but with multiple Root ports.
2025-07-01 10:11:55 +02:00
peter.marcisovsky 95bd653ec1 feat(usb_host): Move DMA capable memory to external ram on P4
- DWC-OTG internal DMA can access psram on esp32p4
    - Move DMA memory buffs to psram, to save internal ram
    - HCD tests and MSC example runs in CI with psram enabled
2025-05-13 13:31:17 +02:00
Roman Leonov 418583a5be fix(usb_host_lib): Returned task suspend 2024-10-09 11:05:21 +02:00
Roman Leonov 3d07895c8f refactor(usb_host_examples): Enabled Hub support by default 2024-10-07 10:13:10 +02:00
Daniel Paul 658b1de02c docs: Consistent naming convention for ESP Component Registry 2024-07-23 14:10:34 +08:00
Roman Leonov 39f91a3d5a refactor(enum): Curved out Enumeration process from Hub Driver 2024-06-03 10:27:37 +02:00
Tomas Rezucha 348d4ef18d fix(usb/examples): Fix UVC example crash on non-UVC device connection 2024-03-12 20:19:12 +01:00
Tomas Rezucha 832a706eb5 revert(usb_host): Revert temporary disable cdc_acm_vcp test for P4
This reverts commit b1bbca60ee
2024-03-05 10:04:10 +01:00
Peter Marcisovsky 51d6296fde ci: Added esp32p4 usb tests to CI:
- added new test for usb_host_lib example for all targets
    - CI USB host test are run on esp32p4
    - CI USB device tests temporarily disabled until usb_device runner is fixed
    - hcd and usb_host tests which do not require PHY are run on esp32p4
2024-02-29 10:35:09 +01:00
Marius Vikhammer b1bbca60ee ci(usb_host): disable cdc_acm_vcp example for P4 2024-02-18 15:22:43 +08:00
Roland Dobai 1a80217af5 Merge branch 'bugfix/kconcheck_file_checks' into 'master'
bugfix: Fixed KConfig files that were not succesfully checked

Closes IDF-9028 and IDF-9027

See merge request espressif/esp-idf!28385
2024-02-07 19:12:25 +08:00
Tomas Rezucha 81031490dc Merge branch 'fix/usb_example_newlib_nano' into 'master'
fix(usb/example): Fixed MSC compilation with Newlib Nano format

Closes IEC-60

See merge request espressif/esp-idf!28702
2024-02-06 17:42:11 +08:00
Jakub Kocka 0b00e49ac5 fix: Fixed KConfig files that were not succesfully checked 2024-02-02 14:13:45 +01:00
Tomas Rezucha f13ae0fc08 feat(esp32p4): Add USB-OTG support for ESP32-P4 2024-01-30 15:07:11 +01:00
Tomas Rezucha e511905fd2 fix(usb/example): Fixed MSC compilation with Newlib Nano format
https://github.com/espressif/idf-extra-components/issues/254
2024-01-25 09:51:51 +01:00
Tomas Rezucha a5e647cf7f refactor(usb/examples): Depend on new esp_driver_gpio
This will exclude unneeded drivers from the build.
2024-01-18 07:28:06 +01:00
Peter Marcisovsky 24adb6ed3c feat(us/host): set device cfg during enumeration
- user callback funciton to set device configuration
      as a part of usb_host_install
    - callback provides device descriptor of a device being enumerated
    - user can set which cfg descriptor the USB device will be set with
    - user can filter device enumeration
    - Kconfig menu to enable callback function
    - usb_host_lib example demonstration
2024-01-04 16:09:13 +01:00
Tomas Rezucha 62091b4fa0 fix(usb/uvc): Add negotiation retry for some cameras
Some cameras would refuse first stream format and would only accept
on second retry.
2023-11-29 11:34:47 +08:00
Tomas Rezucha f48f433d5b fix(usb/host): Do not abort on string descriptor overflow
Some devices return full LANGID table, even if short LANGID table was requested.
No memory overflow occurs, because we have allocated enough memory for transfers to the
default pipe. So we can ignore the error and continue with string desc fetching.
2023-11-20 09:12:54 +01:00
Peter Marcisovsky 546b76befa feat(usb/host): Modifiy usb_host_lib example
The example keeps handling connections/disconnections indefinitely.
Added kconfig.projbuild for GPIO selection.
GPIO0 press does terdown/uninstall.
2023-10-30 13:40:44 +01:00
Roman Leonov 375907299e fix(usb/host): added hid_driver_uninstall call during APP_QUIT for HID Host example 2023-10-25 09:04:20 +02:00
Tomas Rezucha e6fde2e13e refactor(usb/host_msc_example): Increase transfer speeds
- Upgrade to MSC driver 1.1.1 for zero copy transfers
- Use setvbuf() to increase size of VFS file buffer
- Add example test
2023-10-24 15:19:58 +02:00
Tomas Rezucha 31f11848d2 Merge branch 'feature/usb_examples_trim_build' into 'master'
change(usb/examples): Trim the builds of USB examples

See merge request espressif/esp-idf!26320
2023-10-10 23:33:11 +08:00
Tomas Rezucha b4c387f9f3 change(usb/examples): Trim the USB example builds
Include minimal set of components: main and everything it depends on
2023-10-10 10:28:47 +02:00
Roman Leonov 1bd0c0f6f6 feat(usb/host): add Kconfig for negotiation protocol configuration in UVC example 2023-10-06 12:43:17 +02:00
morris b12e250b2c refactor(examples): reformat peripheral examples with astyle_py 2023-09-28 10:08:04 +08:00
Ivan Grokhotkov 6d87100a70 feat(examples): add local components via idf_component.yml
Specifying all the dependencies (managed and local) in the manifest
makes it easier for users to see every component the example
depends on.
2023-09-19 10:38:24 +02:00
Roman Leonov 5ceac3cd19 feat(usb): update HID Host example 2023-06-29 11:58:46 +02:00
KonstantinKondrashov e72061695e all: Removes unnecessary newline character in logs
Closes https://github.com/espressif/esp-idf/issues/11465
2023-06-09 03:31:21 +08:00
Saurabh Kumar Bansal 7cc59918bc usbd: add usb composite device example 2023-04-19 14:02:33 +05:30
Tomas Rezucha 2c6d0bae90 usb: Update host CDC examples 2023-04-04 07:47:55 +00:00
Kapil Gupta 30a2558450 esp_wifi: Merge wpa_supplicant and esp_wifi Kconfig 2023-02-11 07:38:45 +08:00
Roman Leonov bb1e1737d3 usbh: hid change key event handler 2023-01-27 11:13:33 +01:00
Roman Leonov 4c162af6c9 usb_host: license and typos fixes 2023-01-11 14:23:22 +01:00
Roman Leonov 4a7a6bf35b usb_host: hid example 2022-12-09 17:02:44 +01:00
Tomas Rezucha abdf7430e0 usb_host: Extend VCP example with more devices
Closes https://github.com/espressif/esp-idf/issues/9652
Closes https://github.com/espressif/esp-idf/issues/8951
2022-12-07 11:33:48 +00:00
Tomas Rezucha cf59a8a2bd Merge branch 'feature/usb_v5_qol' into 'master'
usb: USB IDF v5 update

Closes IDF-4690 and IDF-5767

See merge request espressif/esp-idf!19875
2022-09-08 19:50:22 +08:00
Tomas Rezucha fac9579d95 usb_host: Use MSC driver from component registry 2022-09-05 20:14:57 +02:00
Tomas Rezucha d95ba21328 usb_host: Use CDC driver from component registry 2022-09-05 20:14:56 +02:00
Martin Valik 3bcd9ceefe USB: Add usb uvc example
Closes https://github.com/espressif/esp-idf/issues/6493
2022-08-29 10:44:39 +02:00
Ivan Grokhotkov e596c84d49 build system: re-add -Wno-format as private flag for some example components 2022-08-03 16:42:47 +04:00
David Cermak 5c383d7b73 esp_netif/lwip: Fix deps cycles to "lwip -> esp_netif -> phy-drivers"
Fix dependency tree so that lwip doesn't depend on any specific network
interface component.
Network interface drivers shall depend on esp_netif.
esp_netif shall depend on lwip (but not on any specific interface
driver) -- it optionally depends on vfs and esp_eth (need ethernet
header for L2/bridge mode)
2022-07-20 14:59:07 +02:00
jiangguangming e0d9220a6e example: peripherals/usb: fix typo naming of local variables 2022-07-20 09:36:24 +08:00