2018-12-27 07:30 PM
hi I want to transfer 256 bytes from host to stm32 device over Custom HID interface
Following is the report desc in my stm32,
/** Usb HID report descriptor. */
__ALIGN_BEGIN static uint8_t CUSTOM_HID_ReportDesc_FS[USBD_CUSTOM_HID_REPORT_DESC_SIZE] __ALIGN_END =
{
0x06,0x00,0xFF, //Usage Page 0xff00
0x09, 0x01, //USAGE (Pointer)
0xA1,0x01, //Collection (application)
//Input Report
0x19,0x01, //Usage Minimum
0x29,0x40, //Usage Minimum
0x15,0x00, //Logical Minimum
0x26,0xFF,0x00, //Logical Minimum
0x75,0x08, //report size : 8-bit field size
0x95, CUSTOM_HID_EPIN_SIZE, //Report count
0x81,0x02, //Input (data, array, Abs)
//Output Report
0x19,0x01, //usage Minimum
0x29,0x40, //usage Minimum
0x75,0x08, //report size : 8-bit field size
0x95,CUSTOM_HID_EPOUT_SIZE, //Report Count
0x91,0x02, //Output (data, array, Abs)
0xC0 //END_COLLECTION
};
If i am changing the CUSTOM_HID_EPIN_SIZE,CUSTOM_HID_EPOUT_SIZE to 256 my USB device is unable to be recognized.
So, i need some help to modify the report desc to support 256 byte transfer
Thanks
2018-12-27 09:58 PM
Unless I'm wrong, the USB message duration is limited in time. USB FS (Full Speed) devices and messages, regardless of the class are limited to 64 bytes packets and 1 msec polling. The raw bitrate is 12mbps if I remember well. You would need to use HS (high speed) interface to get up to 512 bytes and faster message rate.
2018-12-28 12:23 AM
Hi,
Thanks for the answer ,
The MCU in my case is STM32F103c8t6.
I think it doesn't have USB High speed USB interface only has Full-speed