diff options
Diffstat (limited to 'bootloaders/diskloader/src/USBDesc.h')
-rw-r--r-- | bootloaders/diskloader/src/USBDesc.h | 62 |
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 |