You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
TinyUSB with raspberry RP2350 CFG_TUD_HID_EP_BUFSIZE Problem
Based on extended dev_hid_composite sample I try to get an Set Report from HID Device with 3 Endpoints.
EP1 Keyboard
EP2 shared EP with 4 Devices
EP3 HID Endpoint
I used these settings in different micros before.
TUD_HID_DESCRIPTOR(ITF_NUM_HID3, 0, HID_ITF_PROTOCOL_NONE, sizeof(desc_hid_report3), EPNUM_HID3, CFG_TUD_HID_EP_BUFSIZE, 10),
HID Report of EP3 is defined with TUD_HID_REPORT_DESC_GENERIC_INOUT(64)
Problem CFG_TUD_HID_EP_BUFSIZE 32 result in Stall of EP0
USBD Setup Received 21 09 00 02 02 00 40 00
HID control request
Stall EP0
Increase of CFG_TUD_HID_EP_BUFSIZE to 64 or 128 result in exit with status = 1
void attribute((noreturn)) __weak _exit(__unused int status) {
#if PICO_ENTER_USB_BOOT_ON_EXIT
reset_usb_boot(0,0);
#else
while (1) {
__breakpoint();
}
#endif
}
If I decrease the TUD_HID_REPORT_DESC_GENERIC_INOUT(16) to 16 bytes everything works well.
Debug
USBD Setup Received 21 09 00 02 02 00 10 00
HID control request
Queue EP 00 with 16 bytes ...
USBD Xfer Complete on EP 00 with 16 bytes
0000: 01 49 31 2E....
What could be the reason for CFG_TUD_HID_EP_BUFSIZE problem?
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
-
TinyUSB with raspberry RP2350 CFG_TUD_HID_EP_BUFSIZE Problem
Based on extended dev_hid_composite sample I try to get an Set Report from HID Device with 3 Endpoints.
EP1 Keyboard
EP2 shared EP with 4 Devices
EP3 HID Endpoint
I used these settings in different micros before.
TUD_HID_DESCRIPTOR(ITF_NUM_HID3, 0, HID_ITF_PROTOCOL_NONE, sizeof(desc_hid_report3), EPNUM_HID3, CFG_TUD_HID_EP_BUFSIZE, 10),
HID Report of EP3 is defined with TUD_HID_REPORT_DESC_GENERIC_INOUT(64)
Problem CFG_TUD_HID_EP_BUFSIZE 32 result in Stall of EP0
USBD Setup Received 21 09 00 02 02 00 40 00
HID control request
Stall EP0
Increase of CFG_TUD_HID_EP_BUFSIZE to 64 or 128 result in exit with status = 1
void attribute((noreturn)) __weak _exit(__unused int status) {
#if PICO_ENTER_USB_BOOT_ON_EXIT
reset_usb_boot(0,0);
#else
while (1) {
__breakpoint();
}
#endif
}
If I decrease the TUD_HID_REPORT_DESC_GENERIC_INOUT(16) to 16 bytes everything works well.
Debug
USBD Setup Received 21 09 00 02 02 00 10 00
HID control request
Queue EP 00 with 16 bytes ...
USBD Xfer Complete on EP 00 with 16 bytes
0000: 01 49 31 2E....
What could be the reason for CFG_TUD_HID_EP_BUFSIZE problem?
Beta Was this translation helpful? Give feedback.
All reactions