cancel
Showing results for 
Search instead for 
Did you mean: 

Custom HID sending more tha 1 bytes [Solved]

lukasz239955_stm1
Associate
Posted on November 07, 2011 at 14:46

I have problem with sending report bigger than 1 bytes. I have configured descriptor 

and endpoints buffers address  ( I am using 2 endpoints because i develop Composite device HID + MSC which is working properly when using 1 bytes reports ). Now device enumarate and I can write to it but sending not invoke endpoint callback.

Did anyone has similar problems ?

report descriptor :

const uint8_t CustomHID_ReportDescriptor[CUSTOMHID_SIZ_REPORT_DESC] =

  {

          0x06, 0x00, 0xff,              // USAGE_PAGE (Vendor Defined Page 1)

              0x09, 0x01,                    // USAGE (Vendor Usage 1)

              0xa1, 0x01,                    // COLLECTION (Application)

              0x85, 0x01,                    //   REPORT_ID (1)

              0x09, 0x01,                    //   USAGE (Vendor Usage 1)

              0x15, 0x00,                    //   LOGICAL_MINIMUM (0)

              0x26, 0xff, 0x00,              //   LOGICAL_MAXIMUM (255)

              0x75, 0x08,                    //   REPORT_SIZE (8)

              0x95, 0x05,                    //   REPORT_COUNT (5)

              0x91, 0x82,                     //   OUTPUT (Data,Var,Abs,Vol)

              0xc0                           // END_COLLECTION

  }; /* CustomHID_ReportDescriptor */

buffors

#define BTABLE_ADDRESS      (0x00)

//Konfiguracja buforów do ENDPOINT`ow

/* EP0  */

/* rx/tx buffer base address */

//EP0 kontrolny

#define ENDP0_RXADDR        (0x18)

#define ENDP0_TXADDR        (0x58)

/* EP1  */

//EP1 MASS STORAGE (bufory po 40)

/* tx buffer base address */

#define ENDP1_TXADDR        (0x98)

#define ENDP1_RXADDR        (0xD8)        //TODO:modyfikacja endp1

//EP2 HID bufory po 40

#define ENDP2_TXADDR        (0x118)

#define ENDP2_RXADDR        (0x158)        //TODO:modyfikacja endp1

0 REPLIES 0