2011-11-07 05:46 AM
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