Reintegrate the FullEPAddresses development branch into trunk.
This commit is contained in:
		
							parent
							
								
									e8570c4a37
								
							
						
					
					
						commit
						47f6a35013
					
				
					 265 changed files with 2120 additions and 2486 deletions
				
			
		| 
						 | 
				
			
			@ -119,7 +119,7 @@ const USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 | 
			
		|||
		{
 | 
			
		||||
			.Header                 = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},
 | 
			
		||||
 | 
			
		||||
			.EndpointAddress        = (ENDPOINT_DIR_OUT | TMC_OUT_EPNUM),
 | 
			
		||||
			.EndpointAddress        = TMC_OUT_EPADDR,
 | 
			
		||||
			.Attributes             = (EP_TYPE_BULK | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA),
 | 
			
		||||
			.EndpointSize           = TMC_IO_EPSIZE,
 | 
			
		||||
			.PollingIntervalMS      = 0x01
 | 
			
		||||
| 
						 | 
				
			
			@ -129,7 +129,7 @@ const USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 | 
			
		|||
		{
 | 
			
		||||
			.Header                 = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},
 | 
			
		||||
 | 
			
		||||
			.EndpointAddress        = (ENDPOINT_DIR_IN | TMC_IN_EPNUM),
 | 
			
		||||
			.EndpointAddress        = TMC_IN_EPADDR,
 | 
			
		||||
			.Attributes             = (EP_TYPE_BULK | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA),
 | 
			
		||||
			.EndpointSize           = TMC_IO_EPSIZE,
 | 
			
		||||
			.PollingIntervalMS      = 0x01
 | 
			
		||||
| 
						 | 
				
			
			@ -139,7 +139,7 @@ const USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 | 
			
		|||
		{
 | 
			
		||||
			.Header                 = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},
 | 
			
		||||
 | 
			
		||||
			.EndpointAddress        = (ENDPOINT_DIR_IN | TMC_NOTIFICATION_EPNUM),
 | 
			
		||||
			.EndpointAddress        = TMC_NOTIFICATION_EPADDR,
 | 
			
		||||
			.Attributes             = (EP_TYPE_INTERRUPT | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA),
 | 
			
		||||
			.EndpointSize           = TMC_NOTIFICATION_EPSIZE,
 | 
			
		||||
			.PollingIntervalMS      = 0xFF
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -43,20 +43,20 @@
 | 
			
		|||
		#include <LUFA/Drivers/USB/USB.h>
 | 
			
		||||
 | 
			
		||||
	/* Macros: */
 | 
			
		||||
		/** Endpoint number of the TMC notification IN endpoint. */
 | 
			
		||||
		#define TMC_NOTIFICATION_EPNUM  2	
 | 
			
		||||
		/** Endpoint address of the TMC notification IN endpoint. */
 | 
			
		||||
		#define TMC_NOTIFICATION_EPADDR  (ENDPOINT_DIR_IN  | 2)
 | 
			
		||||
 | 
			
		||||
		/** Endpoint number of the TMC device-to-host data IN endpoint. */
 | 
			
		||||
		#define TMC_IN_EPNUM            3	
 | 
			
		||||
		/** Endpoint address of the TMC device-to-host data IN endpoint. */
 | 
			
		||||
		#define TMC_IN_EPADDR            (ENDPOINT_DIR_IN  | 3)
 | 
			
		||||
 | 
			
		||||
		/** Endpoint number of the TMC host-to-device data OUT endpoint. */
 | 
			
		||||
		#define TMC_OUT_EPNUM           4	
 | 
			
		||||
		/** Endpoint address of the TMC host-to-device data OUT endpoint. */
 | 
			
		||||
		#define TMC_OUT_EPADDR           (ENDPOINT_DIR_OUT | 4)
 | 
			
		||||
 | 
			
		||||
		/** Size in bytes of the TMC data endpoints. */
 | 
			
		||||
		#define TMC_IO_EPSIZE           64
 | 
			
		||||
		#define TMC_IO_EPSIZE            64
 | 
			
		||||
 | 
			
		||||
		/** Size in bytes of the TMC notification endpoint. */
 | 
			
		||||
		#define TMC_NOTIFICATION_EPSIZE 8
 | 
			
		||||
		#define TMC_NOTIFICATION_EPSIZE  8
 | 
			
		||||
 | 
			
		||||
	/* Type Defines: */
 | 
			
		||||
		/** Type define for the device configuration descriptor structure. This must be defined in the
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -129,12 +129,9 @@ void EVENT_USB_Device_ConfigurationChanged(void)
 | 
			
		|||
	bool ConfigSuccess = true;
 | 
			
		||||
 | 
			
		||||
	/* Setup TMC In, Out and Notification Endpoints */
 | 
			
		||||
	ConfigSuccess &= Endpoint_ConfigureEndpoint(TMC_NOTIFICATION_EPNUM, EP_TYPE_INTERRUPT, ENDPOINT_DIR_IN,
 | 
			
		||||
	                                            TMC_IO_EPSIZE, ENDPOINT_BANK_SINGLE);
 | 
			
		||||
	ConfigSuccess &= Endpoint_ConfigureEndpoint(TMC_IN_EPNUM,  EP_TYPE_BULK, ENDPOINT_DIR_IN,
 | 
			
		||||
	                                            TMC_IO_EPSIZE, ENDPOINT_BANK_SINGLE);
 | 
			
		||||
	ConfigSuccess &= Endpoint_ConfigureEndpoint(TMC_OUT_EPNUM, EP_TYPE_BULK, ENDPOINT_DIR_OUT,
 | 
			
		||||
	                                            TMC_IO_EPSIZE, ENDPOINT_BANK_SINGLE);
 | 
			
		||||
	ConfigSuccess &= Endpoint_ConfigureEndpoint(TMC_NOTIFICATION_EPADDR, EP_TYPE_INTERRUPT, TMC_IO_EPSIZE, 1);
 | 
			
		||||
	ConfigSuccess &= Endpoint_ConfigureEndpoint(TMC_IN_EPADDR,  EP_TYPE_BULK, TMC_IO_EPSIZE, 1);
 | 
			
		||||
	ConfigSuccess &= Endpoint_ConfigureEndpoint(TMC_OUT_EPADDR, EP_TYPE_BULK, TMC_IO_EPSIZE, 1);
 | 
			
		||||
 | 
			
		||||
	/* Indicate endpoint configuration success or failure */
 | 
			
		||||
	LEDs_SetAllLEDs(ConfigSuccess ? LEDMASK_USB_READY : LEDMASK_USB_ERROR);
 | 
			
		||||
| 
						 | 
				
			
			@ -418,7 +415,7 @@ bool ReadTMCHeader(TMC_MessageHeader_t* const MessageHeader)
 | 
			
		|||
	uint8_t  ErrorCode;
 | 
			
		||||
 | 
			
		||||
	/* Select the Data Out endpoint */
 | 
			
		||||
	Endpoint_SelectEndpoint(TMC_OUT_EPNUM);
 | 
			
		||||
	Endpoint_SelectEndpoint(TMC_OUT_EPADDR);
 | 
			
		||||
 | 
			
		||||
	/* Abort if no command has been sent from the host */
 | 
			
		||||
	if (!(Endpoint_IsOUTReceived()))
 | 
			
		||||
| 
						 | 
				
			
			@ -450,7 +447,7 @@ bool WriteTMCHeader(TMC_MessageHeader_t* const MessageHeader)
 | 
			
		|||
	MessageHeader->InverseTag = ~CurrentTransferTag;
 | 
			
		||||
 | 
			
		||||
	/* Select the Data In endpoint */
 | 
			
		||||
	Endpoint_SelectEndpoint(TMC_IN_EPNUM);
 | 
			
		||||
	Endpoint_SelectEndpoint(TMC_IN_EPADDR);
 | 
			
		||||
 | 
			
		||||
	/* Send the command header to the host */
 | 
			
		||||
	BytesTransferred = 0;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue