summaryrefslogtreecommitdiff
path: root/src/device
diff options
context:
space:
mode:
authorhathach <[email protected]>2019-07-25 16:52:20 +0700
committerhathach <[email protected]>2019-07-25 16:52:20 +0700
commit8ba71be6ee26c077ca37b895d773f2507f9371c8 (patch)
treeee9c142f4a51121c0a79c0232c1de8ab772c91d9 /src/device
parentcaf2b6d46346ee0d27f2e10c57b84a538c799475 (diff)
more webusb + vendor
Diffstat (limited to 'src/device')
-rw-r--r--src/device/usbd.h37
1 files changed, 17 insertions, 20 deletions
diff --git a/src/device/usbd.h b/src/device/usbd.h
index cd261575d..525fced8e 100644
--- a/src/device/usbd.h
+++ b/src/device/usbd.h
@@ -119,6 +119,19 @@ TU_ATTR_WEAK bool tud_vendor_control_complete_cb(uint8_t rhport, tusb_control_re
#define TUD_BOS_PLATFORM_DESCRIPTOR(...) \
4+TU_ARGS_NUM(__VA_ARGS__), TUSB_DESC_DEVICE_CAPABILITY, DEVICE_CAPABILITY_PLATFORM, 0x00, __VA_ARGS__
+//------------- WebUSB BOS -------------//
+
+// Descriptor Length
+#define TUD_BOS_WEBUSB_DESC_LEN 24
+
+// Vendor Code, iLandingPage
+#define TUD_BOS_WEBUSB_DESCRIPTOR(_vendor_code, _ipage) \
+ TUD_BOS_PLATFORM_DESCRIPTOR(TUD_BOS_WEBUSB_UUID, U16_TO_U8S_LE(0x0100), _vendor_code, _ipage)
+
+#define TUD_BOS_WEBUSB_UUID \
+ 0x38, 0xB6, 0x08, 0x34, 0xA9, 0x09, 0xA0, 0x47, \
+ 0x8B, 0xFD, 0xA0, 0x76, 0x88, 0x15, 0xB6, 0x65
+
//------------- Configuration -------------//
#define TUD_CONFIG_DESC_LEN (9)
@@ -233,33 +246,17 @@ TU_ATTR_WEAK bool tud_vendor_control_complete_cb(uint8_t rhport, tusb_control_re
/* MS Endpoint (connected to embedded jack out) */\
5, TUSB_DESC_CS_ENDPOINT, MIDI_CS_ENDPOINT_GENERAL, 1, 3
-//------------- WebUSB -------------//
-
-// Descriptor Length
-#define TUD_BOS_WEBUSB_DESC_LEN 24
+//------------- Vendor -------------//
+#define TUD_VENDOR_DESC_LEN (9+7+7)
-// Vendor Code, iLandingPage
-#define TUD_BOS_WEBUSB_DESCRIPTOR(_vendor_code, _ipage) \
- TUD_BOS_PLATFORM_DESCRIPTOR(TUD_BOS_WEBUSB_UUID, U16_TO_U8S_LE(0x0100), _vendor_code, _ipage)
-
-#define TUD_BOS_WEBUSB_UUID \
- 0x38, 0xB6, 0x08, 0x34, 0xA9, 0x09, 0xA0, 0x47, \
- 0x8B, 0xFD, 0xA0, 0x76, 0x88, 0x15, 0xB6, 0x65
-
-#if 0
-//------------- Custom -------------//
-
-#define TUD_WEBUSB_DESC_LEN (9+7+7)
-
-// Interface number, string index, EP Out & IN address, size & polling interval
-#define TUD_WEBUSB_DESCRIPTOR(_itfnum, _stridx) \
+// Interface number, string index, EP Out & IN address, EP size
+#define TUD_VENDOR_DESCRIPTOR(_itfnum, _stridx, _epout, _epin, _epsize) \
/* Interface */\
9, TUSB_DESC_INTERFACE, _itfnum, 0, 2, TUSB_CLASS_VENDOR_SPECIFIC, 0x00, 0x00, _stridx,\
/* Endpoint Out */\
7, TUSB_DESC_ENDPOINT, _epout, TUSB_XFER_BULK, U16_TO_U8S_LE(_epsize), 0,\
/* Endpoint In */\
7, TUSB_DESC_ENDPOINT, _epin, TUSB_XFER_BULK, U16_TO_U8S_LE(_epsize), 0
-#endif
#ifdef __cplusplus