Skip to content

Commit ecfce90

Browse files
committed
HID: add feature report to HID descriptor
This allows to read featureReport using browser HID API
1 parent 4394ba0 commit ecfce90

File tree

1 file changed

+30
-1
lines changed

1 file changed

+30
-1
lines changed

UNOR4USBBridge/DAP.h

Lines changed: 30 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,38 @@ extern "C" {
1010

1111
extern USBHID HID;
1212

13+
#define TUD_HID_REPORT_DESC_R4_INOUT_FEATURE(report_size, ...) \
14+
HID_USAGE_PAGE_N ( HID_USAGE_PAGE_VENDOR, 2 ),\
15+
HID_USAGE ( 0x01 ),\
16+
HID_COLLECTION ( HID_COLLECTION_APPLICATION ),\
17+
/* Report ID if any */\
18+
__VA_ARGS__ \
19+
/* Input */ \
20+
HID_USAGE ( 0x02 ),\
21+
HID_LOGICAL_MIN ( 0x00 ),\
22+
HID_LOGICAL_MAX_N ( 0xff, 2 ),\
23+
HID_REPORT_SIZE ( 8 ),\
24+
HID_REPORT_COUNT( report_size ),\
25+
HID_INPUT ( HID_DATA | HID_VARIABLE | HID_ABSOLUTE ),\
26+
/* Output */ \
27+
HID_USAGE ( 0x03 ),\
28+
HID_LOGICAL_MIN ( 0x00 ),\
29+
HID_LOGICAL_MAX_N ( 0xff, 2 ),\
30+
HID_REPORT_SIZE ( 8 ),\
31+
HID_REPORT_COUNT( report_size ),\
32+
HID_OUTPUT ( HID_DATA | HID_VARIABLE | HID_ABSOLUTE ),\
33+
/* Feature */ \
34+
HID_USAGE ( 0x04),\
35+
HID_LOGICAL_MIN ( 0x00),\
36+
HID_LOGICAL_MAX_N ( 0xff, 2),\
37+
HID_REPORT_SIZE (8),\
38+
HID_REPORT_COUNT(report_size),\
39+
HID_FEATURE (HID_DATA | HID_VARIABLE | HID_ABSOLUTE),\
40+
HID_COLLECTION_END \
41+
1342
static uint8_t const report_descriptor[] =
1443
{
15-
TUD_HID_REPORT_DESC_GENERIC_INOUT(CFG_TUD_HID_EP_BUFSIZE)
44+
TUD_HID_REPORT_DESC_R4_INOUT_FEATURE(CFG_TUD_HID_EP_BUFSIZE)
1645
};
1746

1847
class DAPHIDDevice: public USBHIDDevice {

0 commit comments

Comments
 (0)