diff options
| author | hathach <[email protected]> | 2019-07-30 00:34:25 +0700 |
|---|---|---|
| committer | hathach <[email protected]> | 2019-07-30 00:34:25 +0700 |
| commit | af3c301ea5152ea4926e005159f4daa894b5df53 (patch) | |
| tree | d3fde63c86a845c0cdd62384e036b180bccc2d07 /examples/device/webusb_serial/src/main.c | |
| parent | d79a209aefe498f78350ee3e08b96b8e17fda6b1 (diff) | |
added BOS MS OS 2.0 descriptor to webusb example, it work with windows
Diffstat (limited to 'examples/device/webusb_serial/src/main.c')
| -rw-r--r-- | examples/device/webusb_serial/src/main.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/examples/device/webusb_serial/src/main.c b/examples/device/webusb_serial/src/main.c index 4990fe24f..d81cf058b 100644 --- a/examples/device/webusb_serial/src/main.c +++ b/examples/device/webusb_serial/src/main.c @@ -153,6 +153,19 @@ bool tud_vendor_control_request_cb(uint8_t rhport, tusb_control_request_t const // Get landing page url return tud_control_xfer(rhport, request, (void*) &desc_url, desc_url.bLength); + case VENDOR_REQUEST_MICROSOFT: + if ( request->wIndex == 7 ) + { + // Get Microsoft OS 2.0 compatible descriptor + uint16_t total_len; + memcpy(&total_len, desc_ms_os_20+8, 2); + + return tud_control_xfer(rhport, request, (void*) desc_ms_os_20, total_len); + }else + { + return false; + } + case 0x22: // Webserial simulate the CDC_REQUEST_SET_CONTROL_LINE_STATE (0x22) to // connect and disconnect. @@ -175,6 +188,8 @@ bool tud_vendor_control_request_cb(uint8_t rhport, tusb_control_request_t const // stall unknown request return false; } + + return true; } // Invoked when DATA Stage of VENDOR's request is complete |
