summaryrefslogtreecommitdiff
path: root/src/device/usbd.h
diff options
context:
space:
mode:
authorHa Thach <[email protected]>2021-05-26 20:17:01 +0700
committerGitHub <[email protected]>2021-05-26 20:17:01 +0700
commit85186ab13661fb3a39975148a48e4b4b26eb57c5 (patch)
tree768260844929b861be3bee1fa2fa4996967d976c /src/device/usbd.h
parent220f4410485a84a4e5e8f2a68e03dd8ed3b93900 (diff)
parentf9c542aa52f7f2e5e532343384441234a019e53d (diff)
Merge pull request #754 from xmos-jmccarthy/master
Add DFU Class per Version 1.1 Spec
Diffstat (limited to 'src/device/usbd.h')
-rw-r--r--src/device/usbd.h15
1 files changed, 13 insertions, 2 deletions
diff --git a/src/device/usbd.h b/src/device/usbd.h
index c707cecfc..53519c4de 100644
--- a/src/device/usbd.h
+++ b/src/device/usbd.h
@@ -1,4 +1,4 @@
-/*
+/*
* The MIT License (MIT)
*
* Copyright (c) 2019 Ha Thach (tinyusb.org)
@@ -587,7 +587,7 @@ TU_ATTR_WEAK bool tud_vendor_control_xfer_cb(uint8_t rhport, uint8_t stage, tusb
//------------- DFU Runtime -------------//
#define TUD_DFU_APP_CLASS (TUSB_CLASS_APPLICATION_SPECIFIC)
-#define TUD_DFU_APP_SUBCLASS 0x01u
+#define TUD_DFU_APP_SUBCLASS (APP_SUBCLASS_DFU_RUNTIME)
// Length of template descriptr: 18 bytes
#define TUD_DFU_RT_DESC_LEN (9 + 9)
@@ -600,6 +600,17 @@ TU_ATTR_WEAK bool tud_vendor_control_xfer_cb(uint8_t rhport, uint8_t stage, tusb
/* Function */ \
9, DFU_DESC_FUNCTIONAL, _attr, U16_TO_U8S_LE(_timeout), U16_TO_U8S_LE(_xfer_size), U16_TO_U8S_LE(0x0101)
+// Length of template descriptr: 18 bytes
+#define TUD_DFU_MODE_DESC_LEN (9 + 9)
+
+// DFU runtime descriptor
+// Interface number, string index, attributes, detach timeout, transfer size
+#define TUD_DFU_MODE_DESCRIPTOR(_itfnum, _stridx, _attr, _timeout, _xfer_size) \
+ /* Interface */ \
+ 9, TUSB_DESC_INTERFACE, _itfnum, 0, 0, TUD_DFU_APP_CLASS, TUD_DFU_APP_SUBCLASS, DFU_PROTOCOL_DFU, _stridx, \
+ /* Function */ \
+ 9, DFU_DESC_FUNCTIONAL, _attr, U16_TO_U8S_LE(_timeout), U16_TO_U8S_LE(_xfer_size), U16_TO_U8S_LE(0x0101)
+
//------------- CDC-ECM -------------//