summaryrefslogtreecommitdiff
path: root/examples/device
diff options
context:
space:
mode:
Diffstat (limited to 'examples/device')
-rw-r--r--examples/device/cdc_msc_hid/src/usb_descriptors.c52
-rw-r--r--examples/device/cdc_msc_hid_freertos/src/usb_descriptors.c51
-rw-r--r--examples/device/hid_generic_inout/src/usb_descriptors.c28
-rw-r--r--examples/device/msc_dual_lun/src/usb_descriptors.c21
4 files changed, 96 insertions, 56 deletions
diff --git a/examples/device/cdc_msc_hid/src/usb_descriptors.c b/examples/device/cdc_msc_hid/src/usb_descriptors.c
index 6ddc11a82..bb830ca27 100644
--- a/examples/device/cdc_msc_hid/src/usb_descriptors.c
+++ b/examples/device/cdc_msc_hid/src/usb_descriptors.c
@@ -79,25 +79,34 @@ uint8_t const desc_hid_report[] =
TUD_HID_REPORT_DESC_KEYBOARD( HID_REPORT_ID(REPORT_ID_KEYBOARD), ),
TUD_HID_REPORT_DESC_MOUSE ( HID_REPORT_ID(REPORT_ID_MOUSE), )
};
+
+// Invoked when received GET HID REPORT DESCRIPTOR
+// Application return pointer to descriptor
+// Descriptor contents must exist long enough for transfer to complete
+uint8_t const * tud_hid_descriptor_report_cb(void)
+{
+ return desc_hid_report;
+}
+
#endif
//------------- Configuration Descriptor -------------//
enum
{
- #if CFG_TUD_CDC
- ITF_NUM_CDC = 0,
- ITF_NUM_CDC_DATA,
- #endif
+#if CFG_TUD_CDC
+ ITF_NUM_CDC = 0,
+ ITF_NUM_CDC_DATA,
+#endif
- #if CFG_TUD_MSC
- ITF_NUM_MSC,
- #endif
+#if CFG_TUD_MSC
+ ITF_NUM_MSC,
+#endif
- #if CFG_TUD_HID
- ITF_NUM_HID,
- #endif
+#if CFG_TUD_HID
+ ITF_NUM_HID,
+#endif
- ITF_NUM_TOTAL
+ ITF_NUM_TOTAL
};
enum
@@ -136,17 +145,20 @@ uint8_t const desc_configuration[] =
#endif
};
-
-// tud_desc_set is required by tinyusb stack
-tud_desc_set_t tud_desc_set =
+// Invoked when received GET DEVICE DESCRIPTOR
+// Application return pointer to descriptor
+uint8_t const * tud_descriptor_device_cb(void)
{
- .device = &desc_device,
- .config = desc_configuration,
+ return (uint8_t const *) &desc_device;
+}
-#if CFG_TUD_HID
- .hid_report = desc_hid_report,
-#endif
-};
+// Invoked when received GET CONFIGURATION DESCRIPTOR
+// Application return pointer to descriptor
+// Descriptor contents must exist long enough for transfer to complete
+uint8_t const * tud_descriptor_configuration_cb(void)
+{
+ return desc_configuration;
+}
//------------- String Descriptors -------------//
diff --git a/examples/device/cdc_msc_hid_freertos/src/usb_descriptors.c b/examples/device/cdc_msc_hid_freertos/src/usb_descriptors.c
index 0a2970a63..fad6794a7 100644
--- a/examples/device/cdc_msc_hid_freertos/src/usb_descriptors.c
+++ b/examples/device/cdc_msc_hid_freertos/src/usb_descriptors.c
@@ -79,25 +79,34 @@ uint8_t const desc_hid_report[] =
TUD_HID_REPORT_DESC_KEYBOARD( HID_REPORT_ID(REPORT_ID_KEYBOARD), ),
TUD_HID_REPORT_DESC_MOUSE ( HID_REPORT_ID(REPORT_ID_MOUSE), )
};
+
+// Invoked when received GET HID REPORT DESCRIPTOR
+// Application return pointer to descriptor
+// Descriptor contents must exist long enough for transfer to complete
+uint8_t const * tud_hid_descriptor_report_cb(void)
+{
+ return desc_hid_report;
+}
+
#endif
//------------- Configuration Descriptor -------------//
enum
{
- #if CFG_TUD_CDC
- ITF_NUM_CDC = 0,
- ITF_NUM_CDC_DATA,
- #endif
+#if CFG_TUD_CDC
+ ITF_NUM_CDC = 0,
+ ITF_NUM_CDC_DATA,
+#endif
- #if CFG_TUD_MSC
- ITF_NUM_MSC,
- #endif
+#if CFG_TUD_MSC
+ ITF_NUM_MSC,
+#endif
- #if CFG_TUD_HID
- ITF_NUM_HID,
- #endif
+#if CFG_TUD_HID
+ ITF_NUM_HID,
+#endif
- ITF_NUM_TOTAL
+ ITF_NUM_TOTAL
};
enum
@@ -136,16 +145,20 @@ uint8_t const desc_configuration[] =
#endif
};
-// tud_desc_set is required by tinyusb stack
-tud_desc_set_t tud_desc_set =
+// Invoked when received GET DEVICE DESCRIPTOR
+// Application return pointer to descriptor
+uint8_t const * tud_descriptor_device_cb(void)
{
- .device = &desc_device,
- .config = desc_configuration,
+ return (uint8_t const *) &desc_device;
+}
-#if CFG_TUD_HID
- .hid_report = desc_hid_report,
-#endif
-};
+// Invoked when received GET CONFIGURATION DESCRIPTOR
+// Application return pointer to descriptor
+// Descriptor contents must exist long enough for transfer to complete
+uint8_t const * tud_descriptor_configuration_cb(void)
+{
+ return desc_configuration;
+}
//------------- String Descriptors -------------//
diff --git a/examples/device/hid_generic_inout/src/usb_descriptors.c b/examples/device/hid_generic_inout/src/usb_descriptors.c
index b25915ceb..2b0e40d9c 100644
--- a/examples/device/hid_generic_inout/src/usb_descriptors.c
+++ b/examples/device/hid_generic_inout/src/usb_descriptors.c
@@ -89,16 +89,28 @@ uint8_t const desc_configuration[] =
};
-// tud_desc_set is required by tinyusb stack
-tud_desc_set_t tud_desc_set =
+// Invoked when received GET DEVICE DESCRIPTOR
+// Application return pointer to descriptor
+uint8_t const * tud_descriptor_device_cb(void)
{
- .device = &desc_device,
- .config = desc_configuration,
+ return (uint8_t const *) &desc_device;
+}
-#if CFG_TUD_HID
- .hid_report = desc_hid_report,
-#endif
-};
+// Invoked when received GET CONFIGURATION DESCRIPTOR
+// Application return pointer to descriptor
+// Descriptor contents must exist long enough for transfer to complete
+uint8_t const * tud_descriptor_configuration_cb(void)
+{
+ return desc_configuration;
+}
+
+// Invoked when received GET HID REPORT DESCRIPTOR
+// Application return pointer to descriptor
+// Descriptor contents must exist long enough for transfer to complete
+uint8_t const * tud_hid_descriptor_report_cb(void)
+{
+ return desc_hid_report;
+}
//------------- String Descriptors -------------//
diff --git a/examples/device/msc_dual_lun/src/usb_descriptors.c b/examples/device/msc_dual_lun/src/usb_descriptors.c
index 43a785024..5c01d9e6b 100644
--- a/examples/device/msc_dual_lun/src/usb_descriptors.c
+++ b/examples/device/msc_dual_lun/src/usb_descriptors.c
@@ -82,17 +82,20 @@ uint8_t const desc_configuration[] =
TUD_MSC_DESCRIPTOR(ITF_NUM_MSC, 0, EPNUM_MSC, 0x80 | EPNUM_MSC, 64), // highspeed 512
};
-
-// tud_desc_set is required by tinyusb stack
-tud_desc_set_t tud_desc_set =
+// Invoked when received GET DEVICE DESCRIPTOR
+// Application return pointer to descriptor
+uint8_t const * tud_descriptor_device_cb(void)
{
- .device = &desc_device,
- .config = desc_configuration,
+ return (uint8_t const *) &desc_device;
+}
-#if CFG_TUD_HID
- .hid_report = desc_hid_report,
-#endif
-};
+// Invoked when received GET CONFIGURATION DESCRIPTOR
+// Application return pointer to descriptor
+// Descriptor contents must exist long enough for transfer to complete
+uint8_t const * tud_descriptor_configuration_cb(void)
+{
+ return desc_configuration;
+}
//------------- String Descriptors -------------//