diff options
Diffstat (limited to 'Projects/Webserver')
| -rw-r--r-- | Projects/Webserver/Descriptors.c | 18 | ||||
| -rw-r--r-- | Projects/Webserver/Descriptors.h | 20 | ||||
| -rw-r--r-- | Projects/Webserver/USBDeviceMode.c | 54 | ||||
| -rw-r--r-- | Projects/Webserver/USBHostMode.c | 26 | 
4 files changed, 66 insertions, 52 deletions
| diff --git a/Projects/Webserver/Descriptors.c b/Projects/Webserver/Descriptors.c index 54cec1ce3..57519c864 100644 --- a/Projects/Webserver/Descriptors.c +++ b/Projects/Webserver/Descriptors.c @@ -157,7 +157,7 @@ const USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =  		{  			.Header                 = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint}, -			.EndpointAddress        = (ENDPOINT_DIR_IN | CDC_NOTIFICATION_EPNUM), +			.EndpointAddress        = CDC_NOTIFICATION_EPADDR,  			.Attributes             = (EP_TYPE_INTERRUPT | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA),  			.EndpointSize           = CDC_NOTIFICATION_EPSIZE,  			.PollingIntervalMS      = 0xFF @@ -183,20 +183,20 @@ const USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =  		{  			.Header                 = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint}, -			.EndpointAddress        = (ENDPOINT_DIR_OUT | CDC_RX_EPNUM), +			.EndpointAddress        = CDC_RX_EPADDR,  			.Attributes             = (EP_TYPE_BULK | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA),  			.EndpointSize           = CDC_TXRX_EPSIZE, -			.PollingIntervalMS      = 0x01 +			.PollingIntervalMS      = 0x05  		},  	.RNDIS_DataInEndpoint =  		{  			.Header                 = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint}, -			.EndpointAddress        = (ENDPOINT_DIR_IN | CDC_TX_EPNUM), +			.EndpointAddress        = CDC_TX_EPADDR,  			.Attributes             = (EP_TYPE_BULK | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA),  			.EndpointSize           = CDC_TXRX_EPSIZE, -			.PollingIntervalMS      = 0x01 +			.PollingIntervalMS      = 0x05  		},  	.MS_Interface = @@ -219,20 +219,20 @@ const USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =  		{  			.Header                 = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint}, -			.EndpointAddress        = (ENDPOINT_DIR_IN | MASS_STORAGE_IN_EPNUM), +			.EndpointAddress        = MASS_STORAGE_IN_EPADDR,  			.Attributes             = (EP_TYPE_BULK | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA),  			.EndpointSize           = MASS_STORAGE_IO_EPSIZE, -			.PollingIntervalMS      = 0x01 +			.PollingIntervalMS      = 0x05  		},  	.MS_DataOutEndpoint =  		{  			.Header                 = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint}, -			.EndpointAddress        = (ENDPOINT_DIR_OUT | MASS_STORAGE_OUT_EPNUM), +			.EndpointAddress        = MASS_STORAGE_OUT_EPADDR,  			.Attributes             = (EP_TYPE_BULK | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA),  			.EndpointSize           = MASS_STORAGE_IO_EPSIZE, -			.PollingIntervalMS      = 0x01 +			.PollingIntervalMS      = 0x05  		}  }; diff --git a/Projects/Webserver/Descriptors.h b/Projects/Webserver/Descriptors.h index b0e0c1160..591947c89 100644 --- a/Projects/Webserver/Descriptors.h +++ b/Projects/Webserver/Descriptors.h @@ -42,23 +42,23 @@  		#include <LUFA/Drivers/USB/USB.h>  	/* Macros: */ -		/** Endpoint number of the Mass Storage device-to-host data IN endpoint. */ -		#define MASS_STORAGE_IN_EPNUM          3 +		/** Endpoint address of the Mass Storage device-to-host data IN endpoint. */ +		#define MASS_STORAGE_IN_EPADDR         (ENDPOINT_DIR_IN  | 3) -		/** Endpoint number of the Mass Storage host-to-device data OUT endpoint. */ -		#define MASS_STORAGE_OUT_EPNUM         4 +		/** Endpoint address of the Mass Storage host-to-device data OUT endpoint. */ +		#define MASS_STORAGE_OUT_EPADDR        (ENDPOINT_DIR_OUT | 4)  		/** Size in bytes of the Mass Storage data endpoints. */  		#define MASS_STORAGE_IO_EPSIZE         64 -		/** Endpoint number of the CDC device-to-host notification IN endpoint. */ -		#define CDC_NOTIFICATION_EPNUM         5 +		/** Endpoint address of the CDC device-to-host notification IN endpoint. */ +		#define CDC_NOTIFICATION_EPADDR        (ENDPOINT_DIR_IN  | 5) -		/** Endpoint number of the CDC device-to-host data IN endpoint. */ -		#define CDC_TX_EPNUM                   1 +		/** Endpoint address of the CDC device-to-host data IN endpoint. */ +		#define CDC_TX_EPADDR                  (ENDPOINT_DIR_IN  | 1) -		/** Endpoint number of the CDC host-to-device data OUT endpoint. */ -		#define CDC_RX_EPNUM                   2 +		/** Endpoint address of the CDC host-to-device data OUT endpoint. */ +		#define CDC_RX_EPADDR                  (ENDPOINT_DIR_OUT | 2)  		/** Size in bytes of the CDC device-to-host notification IN endpoint. */  		#define CDC_NOTIFICATION_EPSIZE        8 diff --git a/Projects/Webserver/USBDeviceMode.c b/Projects/Webserver/USBDeviceMode.c index 591ee92b0..158e7590f 100644 --- a/Projects/Webserver/USBDeviceMode.c +++ b/Projects/Webserver/USBDeviceMode.c @@ -45,19 +45,24 @@ USB_ClassInfo_RNDIS_Device_t Ethernet_RNDIS_Interface_Device =  		.Config =  			{  				.ControlInterfaceNumber         = 0, - -				.DataINEndpointNumber           = CDC_TX_EPNUM, -				.DataINEndpointSize             = CDC_TXRX_EPSIZE, -				.DataINEndpointDoubleBank       = true, - -				.DataOUTEndpointNumber          = CDC_RX_EPNUM, -				.DataOUTEndpointSize            = CDC_TXRX_EPSIZE, -				.DataOUTEndpointDoubleBank      = true, - -				.NotificationEndpointNumber     = CDC_NOTIFICATION_EPNUM, -				.NotificationEndpointSize       = CDC_NOTIFICATION_EPSIZE, -				.NotificationEndpointDoubleBank = true, - +				.DataINEndpoint                 = +					{ +						.Address                = CDC_TX_EPADDR, +						.Size                   = CDC_TXRX_EPSIZE, +						.Banks                  = 1, +					}, +				.DataOUTEndpoint                = +					{ +						.Address                = CDC_RX_EPADDR, +						.Size                   = CDC_TXRX_EPSIZE, +						.Banks                  = 1, +					}, +				.NotificationEndpoint           = +					{ +						.Address                = CDC_NOTIFICATION_EPADDR, +						.Size                   = CDC_NOTIFICATION_EPSIZE, +						.Banks                  = 1, +					},  				.AdapterVendorDescription       = "LUFA RNDIS Adapter",  				.AdapterMACAddress              = {{0x02, 0x00, 0x02, 0x00, 0x02, 0x00}},  			}, @@ -71,16 +76,19 @@ USB_ClassInfo_MS_Device_t Disk_MS_Interface =  	{  		.Config =  			{ -				.InterfaceNumber           = 2, - -				.DataINEndpointNumber      = MASS_STORAGE_IN_EPNUM, -				.DataINEndpointSize        = MASS_STORAGE_IO_EPSIZE, -				.DataINEndpointDoubleBank  = false, - -				.DataOUTEndpointNumber     = MASS_STORAGE_OUT_EPNUM, -				.DataOUTEndpointSize       = MASS_STORAGE_IO_EPSIZE, -				.DataOUTEndpointDoubleBank = false, - +				.InterfaceNumber                = 2, +				.DataINEndpoint                 = +					{ +						.Address                = MASS_STORAGE_IN_EPADDR, +						.Size                   = MASS_STORAGE_IO_EPSIZE, +						.Banks                  = 1, +					}, +				.DataOUTEndpoint                = +					{ +						.Address                = MASS_STORAGE_OUT_EPADDR, +						.Size                   = MASS_STORAGE_IO_EPSIZE, +						.Banks                  = 1, +					},  				.TotalLUNs                 = 1,  			},  	}; diff --git a/Projects/Webserver/USBHostMode.c b/Projects/Webserver/USBHostMode.c index e7091fc89..601ebda45 100644 --- a/Projects/Webserver/USBHostMode.c +++ b/Projects/Webserver/USBHostMode.c @@ -44,16 +44,22 @@ USB_ClassInfo_RNDIS_Host_t Ethernet_RNDIS_Interface_Host =  	{  		.Config =  			{ -				.DataINPipeNumber           = 1, -				.DataINPipeDoubleBank       = false, - -				.DataOUTPipeNumber          = 2, -				.DataOUTPipeDoubleBank      = false, - -				.NotificationPipeNumber     = 3, -				.NotificationPipeDoubleBank = false, - -				.HostMaxPacketSize          = UIP_CONF_BUFFER_SIZE, +				.DataINPipe             = +					{ +						.Address        = (PIPE_DIR_IN  | 1), +						.Banks          = 1, +					}, +				.DataOUTPipe            = +					{ +						.Address        = (PIPE_DIR_OUT | 2), +						.Banks          = 1, +					}, +				.NotificationPipe       = +					{ +						.Address        = (PIPE_DIR_IN  | 3), +						.Banks          = 1, +					}, +				.HostMaxPacketSize      = UIP_CONF_BUFFER_SIZE,  			},  	}; | 
