Functionality to enable the RP-series microcontroller to be reset over the USB interface.
Functionality to enable the RP-series microcontroller to be reset over the USB interface.
This library can be used to enable the RP-series microcontroller to be reset over the USB interface.
This functionality is included by default when using the pico_stdio_usb library and not using TinyUSB directly.
To add this functionality to a project using TinyUSB directly, you need to:
- Link the pico_usb_reset library, and include the pico/usb_reset.h header file where needed.
- Define PICO_ENABLE_USB_RESET_VIA_VENDOR_INTERFACE=1
- Add TUD_RPI_RESET_DESCRIPTOR(<ITF_NUM>, <STR_IDX>) to your USB descriptors (length is TUD_RPI_RESET_DESC_LEN)
- Check if your project has an existing usbd_app_driver_get_cb function:
- If it does, you need to add the usb_reset_interface_driver to the drivers returned
- If it does not, and you aren't using the pico_stdio_usb library, you need to define PICO_USB_RESET_INCLUDE_DEFAULT_APP_DRIVER_CB=1
- Check if your project has an existing Microsoft OS 2.0 Descriptor:
- If it does, you need to add the Function Subset header RPI_RESET_MS_OS_20_DESCRIPTOR(<ITF_NUM>) to your Microsoft OS 2.0 Descriptor (length is RPI_RESET_MS_OS_20_DESC_LEN)
- If it does not, you need to define PICO_USB_RESET_SUPPORT_MS_OS_20_DESCRIPTOR=1 and PICO_USB_RESET_MS_OS_20_DESCRIPTOR_ITF=<ITF_NUM>