aboutsummaryrefslogtreecommitdiff
path: root/bootloaders/diskloader/src/USBDesc.h
diff options
context:
space:
mode:
Diffstat (limited to 'bootloaders/diskloader/src/USBDesc.h')
-rw-r--r--bootloaders/diskloader/src/USBDesc.h62
1 files changed, 32 insertions, 30 deletions
diff --git a/bootloaders/diskloader/src/USBDesc.h b/bootloaders/diskloader/src/USBDesc.h
index 094dba5..a3f1b0f 100644
--- a/bootloaders/diskloader/src/USBDesc.h
+++ b/bootloaders/diskloader/src/USBDesc.h
@@ -16,48 +16,50 @@
** SOFTWARE.
*/
+#define CDC_ENABLED
#ifdef CDC_ENABLED
+#define CDC_INTERFACE_COUNT 2
+#define CDC_ENPOINT_COUNT 3
+#else
+#define CDC_INTERFACE_COUNT 0
+#define CDC_ENPOINT_COUNT 0
+#endif
+
+#ifdef HID_ENABLED
+#define HID_INTERFACE_COUNT 1
+#define HID_ENPOINT_COUNT 1
+#else
+#define HID_INTERFACE_COUNT 0
+#define HID_ENPOINT_COUNT 0
+#endif
#define CDC_ACM_INTERFACE 0 // CDC ACM
#define CDC_DATA_INTERFACE 1 // CDC Data
-#define CDC_ENDPOINT_ACM 1
-#define CDC_ENDPOINT_OUT 2
-#define CDC_ENDPOINT_IN 3
-
-#define HID_INTERFACE 2 // HID Interface
-#define HID_ENDPOINT_INT 4
-
-#define INTERFACE_COUNT 3 // 2 for cdc + 1 for hid
-
-#else
+#define CDC_FIRST_ENDPOINT 1
+#define CDC_ENDPOINT_ACM (CDC_FIRST_ENDPOINT) // CDC First
+#define CDC_ENDPOINT_OUT (CDC_FIRST_ENDPOINT+1)
+#define CDC_ENDPOINT_IN (CDC_FIRST_ENDPOINT+2)
-#define HID_INTERFACE 2 // HID Interface
-#define HID_ENDPOINT_INT 4
+#define HID_INTERFACE (CDC_ACM_INTERFACE + CDC_INTERFACE_COUNT) // HID Interface
+#define HID_FIRST_ENDPOINT (CDC_FIRST_ENDPOINT + CDC_ENPOINT_COUNT)
+#define HID_ENDPOINT_INT (HID_FIRST_ENDPOINT)
-#define INTERFACE_COUNT 1 // 1 for hid
+#define INTERFACE_COUNT (MSC_INTERFACE + MSC_INTERFACE_COUNT)
-#endif
-
-typedef struct
-{
- ConfigDescriptor config;
#ifdef CDC_ENABLED
- CDCDescriptor cdc;
+#define CDC_RX CDC_ENDPOINT_OUT
+#define CDC_TX CDC_ENDPOINT_IN
#endif
- HIDDescriptor hid;
-} Config;
-extern Config USB_ConfigDescriptor PROGMEM;
-extern DeviceDescriptor USB_DeviceDescriptor PROGMEM;
-extern DeviceDescriptor USB_DeviceDescriptorA PROGMEM;
-
-extern const u16 STRING_LANGUAGE[2] PROGMEM;
-extern const u16 STRING_IPRODUCT[28] PROGMEM;
-extern const u16 STRING_IMANUFACTURER[12] PROGMEM;
+#ifdef HID_ENABLED
+#define HID_TX HID_ENDPOINT_INT
+#endif
#define IMANUFACTURER 1
#define IPRODUCT 2
+#define USB_PID_LEONARDO 0x0034
+#define USB_PID_MICRO 0x0035
+#define USB_VID 0x2341 // arduino LLC vid
+//#define USB_PID ARDUINO_MODEL_USB_PID
-#define CDC_TX CDC_ENDPOINT_IN
-#define CDC_RX CDC_ENDPOINT_OUT \ No newline at end of file