diff options
author | Zach Eveland <zeveland@blacklabel-development.com> | 2011-08-14 16:59:34 -0400 |
---|---|---|
committer | Zach Eveland <zeveland@blacklabel-development.com> | 2011-08-14 16:59:34 -0400 |
commit | ddd3418a4faabdfb82bef69ec62e2560125c919b (patch) | |
tree | 2b01673d20c50ab4ef1e980bbaafb4b79e7559de /cores/arduino/USBDesc.h | |
parent | b8a2daf8bcda528be820eb0b76e6b15961cd71c0 (diff) |
Serial via USB works
Integrated rest of Peter's USB implementation
Diffstat (limited to 'cores/arduino/USBDesc.h')
-rw-r--r-- | cores/arduino/USBDesc.h | 107 |
1 files changed, 107 insertions, 0 deletions
diff --git a/cores/arduino/USBDesc.h b/cores/arduino/USBDesc.h new file mode 100644 index 0000000..2ad7725 --- /dev/null +++ b/cores/arduino/USBDesc.h @@ -0,0 +1,107 @@ + + +/* Copyright (c) 2011, Peter Barrett +** +** Permission to use, copy, modify, and/or distribute this software for +** any purpose with or without fee is hereby granted, provided that the +** above copyright notice and this permission notice appear in all copies. +** +** THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL +** WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED +** WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR +** BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES +** OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +** WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +** ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS +** SOFTWARE. +*/ + +#define CDC_ENABLED +#define HID_ENABLED +//#define MSC_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 + +#ifdef MSC_ENABLED +#define MSC_INTERFACE_COUNT 1 +#define MSC_ENPOINT_COUNT 2 +#else +#define MSC_INTERFACE_COUNT 0 +#define MSC_ENPOINT_COUNT 0 +#endif + +#define CDC_ACM_INTERFACE 0 // CDC ACM +#define CDC_DATA_INTERFACE 1 // CDC Data +#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 (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 MSC_INTERFACE (HID_INTERFACE + HID_INTERFACE_COUNT) // MSC Interface +#define MSC_FIRST_ENDPOINT (HID_FIRST_ENDPOINT + HID_ENPOINT_COUNT) +#define MSC_ENDPOINT_OUT (MSC_FIRST_ENDPOINT) +#define MSC_ENDPOINT_IN (MSC_FIRST_ENDPOINT+1) + +#define INTERFACE_COUNT (MSC_INTERFACE + MSC_INTERFACE_COUNT) + +#ifdef CDC_ENABLED +#define CDC_RX CDC_ENDPOINT_OUT +#define CDC_TX CDC_ENDPOINT_IN +#endif + +#ifdef HID_ENABLED +#define HID_TX HID_ENDPOINT_INT +#endif + +#ifdef MSC_ENABLED +#define MSC_RX MSC_ENDPOINT_OUT +#define MSC_TX MSC_ENDPOINT_IN +#endif + + +#define IMANUFACTURER 0 +#define IPRODUCT 0 +#define ISERIAL 1 // Only need this for MSC + + +#define WRITABLE_DIRECTORY // undef saved 56 + 512 RAM + +#define FAT_DISK_LABEL 'b','o','o','t','l','o','a','d','e','r',' ' // 11 chars (undef saves 12) +#define FAT_FILE_NAME 'F','I','R','M','W','A','R','E','B','I','N' // 11 chars +#define MSC_DISK_SERIAL '0','0','0','0','0','0','0','0','1','7','0','1' // 12 chars + +#ifdef MICROTOUCH + +#define USB_VID 0x239A // Adafruit vid +#define USB_PID 0x2001 // sorry dave sprach zarathustra +#define FAT_OEM_NAME 'r','o','s','s','u','m','u','r' // 8 chars +#define PRODUCT_NAME 'M','i','c','r','o','t','o','u','c','h' + +#else + +#define USB_VID 0x2341 // arduino LLC vid +#define USB_PID 0x0020 // educated guess +#define FAT_OEM_NAME 'l','e','o','n','a','r','d','o' // 8 chars +#define PRODUCT_NAME 'A','r','d','u','i','n','o','l','l','c' // 10 + + +#endif
\ No newline at end of file |