usb-serial-for-android/test/arduino_leonardo_bridge_mul.../USBDesc.h

78 wiersze
2.3 KiB
C

/*
Copyright (c) 2011, Peter Barrett
Copyright (c) 2015, Arduino LLC
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 PLUGGABLE_USB_ENABLED
#if defined(EPRST6)
#define USB_ENDPOINTS 7 // AtMegaxxU4
#else
#define USB_ENDPOINTS 5 // AtMegaxxU2
#endif
#define ISERIAL_MAX_LEN 20
#define CDC_INTERFACE_COUNT 2
#define CDC_ENPOINT_COUNT 3
// kai:begin
#undef CDC_ACM_INTERFACE
#undef CDC_DATA_INTERFACE
#undef CDC_FIRST_ENDPOINT
#undef CDC_ENDPOINT_ACM
#undef CDC_ENDPOINT_OUT
#undef CDC_ENDPOINT_IN
#undef CDC_RX
#undef CDC_TX
#define CDC_ACM_INTERFACE1 0 // CDC ACM
#define CDC_DATA_INTERFACE1 1 // CDC Data
#define CDC_FIRST_ENDPOINT1 1
#define CDC_ENDPOINT_ACM1 (CDC_FIRST_ENDPOINT1) // CDC First
#define CDC_ENDPOINT_OUT1 (CDC_FIRST_ENDPOINT1+1)
#define CDC_ENDPOINT_IN1 (CDC_FIRST_ENDPOINT1+2)
#define CDC_ACM_INTERFACE2 2 // CDC ACM
#define CDC_DATA_INTERFACE2 3 // CDC Data
#define CDC_FIRST_ENDPOINT2 4
#define CDC_ENDPOINT_ACM2 (CDC_FIRST_ENDPOINT2) // CDC First
#define CDC_ENDPOINT_OUT2 (CDC_FIRST_ENDPOINT2+1)
#define CDC_ENDPOINT_IN2 (CDC_FIRST_ENDPOINT2+2)
// only one of both interfaces is functional:
#define ACTIVE_INTERFACE 1
#if ACTIVE_INTERFACE == 1
# define CDC_CLASS_INTERFACE CDC_ACM_INTERFACE1
# define CDC_RX CDC_ENDPOINT_OUT1
# define CDC_TX CDC_ENDPOINT_IN1
#else
# define CDC_CLASS_INTERFACE CDC_ACM_INTERFACE2
# define CDC_RX CDC_ENDPOINT_OUT2
# define CDC_TX CDC_ENDPOINT_IN2
#endif
#undef USB_VID
#define USB_VID 0x2342
// kai:end
#define INTERFACE_COUNT (MSC_INTERFACE + MSC_INTERFACE_COUNT)
#define IMANUFACTURER 1
#define IPRODUCT 2
#define ISERIAL 3