aboutsummaryrefslogtreecommitdiffstats
path: root/libmaple/include/libmaple
diff options
context:
space:
mode:
Diffstat (limited to 'libmaple/include/libmaple')
-rw-r--r--libmaple/include/libmaple/usb_cdcacm.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/libmaple/include/libmaple/usb_cdcacm.h b/libmaple/include/libmaple/usb_cdcacm.h
index 6649854..1c46b56 100644
--- a/libmaple/include/libmaple/usb_cdcacm.h
+++ b/libmaple/include/libmaple/usb_cdcacm.h
@@ -53,6 +53,25 @@ extern "C" {
#define USB_CDCACM_CONTROL_LINE_RTS (0x02)
/*
+ * Descriptors, etc.
+ */
+
+#define CDC_FUNCTIONAL_DESCRIPTOR_SIZE(DataSize) (3 + DataSize)
+#define CDC_FUNCTIONAL_DESCRIPTOR(DataSize) \
+ struct { \
+ uint8 bLength; \
+ uint8 bDescriptorType; \
+ uint8 SubType; \
+ uint8 Data[DataSize]; \
+ } __packed
+
+#define USB_DEVICE_CLASS_CDC 0x02
+#define USB_DEVICE_SUBCLASS_CDC 0x00
+#define USB_INTERFACE_CLASS_CDC 0x02
+#define USB_INTERFACE_SUBCLASS_CDC_ACM 0x02
+#define USB_INTERFACE_CLASS_DIC 0x0A
+
+/*
* CDC ACM interface
*/