Skip to content

Commit 6f639b0

Browse files
committed
update hid to use tud_hid_descriptor_report_cb()
1 parent 11614da commit 6f639b0

File tree

4 files changed

+9
-4
lines changed

4 files changed

+9
-4
lines changed

cores/nRF5/Adafruit_TinyUSB_Core/Adafruit_USBD_Device.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,6 @@ tud_desc_set_t tud_desc_set =
4444
{
4545
.device = NULL, // update later
4646
.config = NULL, // update later
47-
.hid_report = NULL // update later
4847
};
4948

5049
// Invoked when received GET_STRING_DESC request
@@ -77,6 +76,7 @@ uint8_t tud_descriptor_string_cb(uint8_t index, uint16_t* desc, uint8_t max_char
7776
break;
7877

7978
case 3:
79+
// serial Number
8080
return load_serial_number(desc);
8181

8282
default: return 0;
@@ -85,6 +85,7 @@ uint8_t tud_descriptor_string_cb(uint8_t index, uint16_t* desc, uint8_t max_char
8585
return 0;
8686
}
8787

88+
8889
} // extern C
8990

9091
Adafruit_USBD_Device USBDevice;

cores/nRF5/Adafruit_TinyUSB_Core/tinyusb/src/class/hid/hid_device.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -201,7 +201,8 @@ bool hidd_control_request(uint8_t rhport, tusb_control_request_t const * p_reque
201201

202202
if (p_request->bRequest == TUSB_REQ_GET_DESCRIPTOR && desc_type == HID_DESC_TYPE_REPORT)
203203
{
204-
usbd_control_xfer(rhport, p_request, (void*) tud_desc_set.hid_report, p_hid->reprot_desc_len);
204+
uint8_t const * desc_report = tud_hid_descriptor_report_cb();
205+
usbd_control_xfer(rhport, p_request, (void*) desc_report, p_hid->reprot_desc_len);
205206
}else
206207
{
207208
return false; // stall unsupported request

cores/nRF5/Adafruit_TinyUSB_Core/tinyusb/src/class/hid/hid_device.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,11 @@ bool tud_hid_mouse_report(uint8_t report_id, uint8_t buttons, int8_t x, int8_t y
6868
// Callbacks (Weak is optional)
6969
//--------------------------------------------------------------------+
7070

71+
// Invoked when received GET REPORT DESCRIPTOR
72+
// Application return pointer to report descriptor.
73+
// descriptor contents must exist long enough for transfer to complete
74+
ATTR_WEAK uint8_t const * tud_hid_descriptor_report_cb(void);
75+
7176
// Invoked when received GET_REPORT control request
7277
// Application must fill buffer report's content and return its length.
7378
// Return zero will cause the stack to STALL request

cores/nRF5/Adafruit_TinyUSB_Core/tinyusb/src/device/usbd.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,8 +41,6 @@
4141
typedef struct {
4242
void const * device; ///< pointer to device descriptor \ref tusb_desc_device_t
4343
void const * config; ///< pointer to the whole configuration descriptor, starting by \ref tusb_desc_configuration_t
44-
uint8_t const* hid_report;
45-
4644
}tud_desc_set_t;
4745

4846
// Descriptor collection set, must be defined by application

0 commit comments

Comments
 (0)