Skip to main content
ADIt
Associate II
December 28, 2018
Question

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

  • December 28, 2018
  • 2 replies
  • 2127 views

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

This topic has been closed for replies.

2 replies

S.Ma
Principal
December 28, 2018

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
ADItAuthor
Associate II
December 28, 2018

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