summaryrefslogtreecommitdiff
path: root/src/device/usbd.h
diff options
context:
space:
mode:
authorhathach <[email protected]>2019-11-02 23:29:35 +0700
committerhathach <[email protected]>2019-11-02 23:29:35 +0700
commita0cffdc843ca21cf4fa02c2eccdf6a708708a8f6 (patch)
treea9b3de09659634e29ca3ecfaa5452271e9e7453a /src/device/usbd.h
parent51a834f0ae58ba68b390b2e83d28303689759f50 (diff)
parent164d0db8256fda66ade079a874ad9d3fbef500f3 (diff)
Merge branch 'pigrew-ZLP_Request2' into cr1901-msp430f5529
Diffstat (limited to 'src/device/usbd.h')
-rw-r--r--src/device/usbd.h18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/device/usbd.h b/src/device/usbd.h
index f0887f0db..b3665d7f2 100644
--- a/src/device/usbd.h
+++ b/src/device/usbd.h
@@ -41,6 +41,9 @@
// Application API
//--------------------------------------------------------------------+
+// Init device stack
+bool tud_init (void);
+
// Task function should be called in main/rtos loop
void tud_task (void);
@@ -304,6 +307,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
}