esp32: Enable machine.USBDevice to configure USB at runtime.

This adds support for `machine.USBDevice` to S2 and S3 boards.

Signed-off-by: Sebastian Romero <s.romero@arduino.cc>
This commit is contained in:
Sebastian Romero
2024-12-04 16:30:56 +01:00
committed by Damien George
parent bdda91fe74
commit 5f2d05d417
3 changed files with 9 additions and 0 deletions

View File

@@ -78,6 +78,7 @@ if(MICROPY_PY_TINYUSB)
${MICROPY_DIR}/shared/tinyusb/mp_usbd.c
${MICROPY_DIR}/shared/tinyusb/mp_usbd_cdc.c
${MICROPY_DIR}/shared/tinyusb/mp_usbd_descriptor.c
${MICROPY_DIR}/shared/tinyusb/mp_usbd_runtime.c
)
list(APPEND MICROPY_INC_TINYUSB

View File

@@ -183,6 +183,10 @@ soft_reset_exit:
mp_thread_deinit();
#endif
#if MICROPY_HW_ENABLE_USB_RUNTIME_DEVICE
mp_usbd_deinit();
#endif
gc_sweep_all();
// Free any native code pointers that point to iRAM.

View File

@@ -215,6 +215,10 @@
#else
#define MICROPY_HW_USB_VID (CONFIG_TINYUSB_DESC_CUSTOM_VID)
#endif
#ifndef MICROPY_HW_ENABLE_USB_RUNTIME_DEVICE
#define MICROPY_HW_ENABLE_USB_RUNTIME_DEVICE (1) // Support machine.USBDevice
#endif
#endif
#ifndef MICROPY_HW_USB_PID