cancel
Showing results for 
Search instead for 
Did you mean: 

USB custom HID increase report Size from 64 to 256 bytes?

ADIt
Associate II

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

2 REPLIES 2
S.Ma
Principal

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.

ADIt
Associate II

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