diff options
| author | hathach <[email protected]> | 2019-10-28 22:56:14 +0700 |
|---|---|---|
| committer | GitHub <[email protected]> | 2019-10-28 22:56:14 +0700 |
| commit | 78523301bb7f6ae5bba18768ad670d9b2ae73fd7 (patch) | |
| tree | 1e90ae98dfa0ced2859051f5b7d9aeb799b4034d /src/device/usbd.h | |
| parent | 5d975d93139e0ce346372dc07ca34ef9df7b0287 (diff) | |
| parent | 03f1a6d9262f27270633b8faaab7b3bdf8437cee (diff) | |
Merge pull request #202 from smunaut/dfu-rt
Add support for DFU Runtime class for devices
Diffstat (limited to 'src/device/usbd.h')
| -rw-r--r-- | src/device/usbd.h | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/device/usbd.h b/src/device/usbd.h index f0887f0db..0ad126e94 100644 --- a/src/device/usbd.h +++ b/src/device/usbd.h @@ -304,6 +304,21 @@ TU_ATTR_WEAK bool tud_vendor_control_complete_cb(uint8_t rhport, tusb_control_re /* Endpoint In */\
7, TUSB_DESC_ENDPOINT, _epin, TUSB_XFER_BULK, U16_TO_U8S_LE(_epsize), 0
+//------------- DFU Runtime -------------//
+#define TUD_DFU_APP_CLASS (TUSB_CLASS_APPLICATION_SPECIFIC)
+#define TUD_DFU_APP_SUBCLASS 0x01u
+
+// Length of template descriptr: 18 bytes
+#define TUD_DFU_RT_DESC_LEN (9 + 9)
+
+// DFU runtime descriptor
+// Interface number, string index, attributes, detach timeout, transfer size
+#define TUD_DFU_RT_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_RT, _stridx, \
+ /* Function */ \
+ 9, DFU_DESC_FUNCTIONAL, _attr, U16_TO_U8S_LE(_timeout), U16_TO_U8S_LE(_xfer_size), U16_TO_U8S_LE(0x0101)
+
#ifdef __cplusplus
}
|
