mirror of
				https://github.com/mik3y/usb-serial-for-android
				synced 2025-10-31 02:17:23 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			78 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			78 lines
		
	
	
		
			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
 |