diff options
| author | Drashna Jaelre <[email protected]> | 2019-08-02 14:02:40 -0700 | 
|---|---|---|
| committer | skullydazed <[email protected]> | 2019-08-30 15:01:52 -0700 | 
| commit | cf4575b94a3c65e6535a159fc71fc885aebc2620 (patch) | |
| tree | 2354f2b7a200e02246a564afefedc32357e62b8e /lib/lufa/Projects/SerialToLCD/Descriptors.c | |
| parent | 75ee8df19e0f14ba466f41ab673dde2fe2fdae9c (diff) | |
| download | qmk_firmware-cf4575b94a3c65e6535a159fc71fc885aebc2620.tar.gz qmk_firmware-cf4575b94a3c65e6535a159fc71fc885aebc2620.zip | |
Fix the LUFA lib to use a submodule instead of just files (#6245)
* Remove LUFA files
* Update descriptions for newer version of LUFA
* Create PR6245.md
* Fix CDC(Serial) type errors
* Fix missed merge conflict for AUDIO_DTYPE_CSInterface
Diffstat (limited to 'lib/lufa/Projects/SerialToLCD/Descriptors.c')
| -rw-r--r-- | lib/lufa/Projects/SerialToLCD/Descriptors.c | 257 | 
1 files changed, 0 insertions, 257 deletions
| diff --git a/lib/lufa/Projects/SerialToLCD/Descriptors.c b/lib/lufa/Projects/SerialToLCD/Descriptors.c deleted file mode 100644 index 374ee0a16b..0000000000 --- a/lib/lufa/Projects/SerialToLCD/Descriptors.c +++ /dev/null @@ -1,257 +0,0 @@ -/* -             LUFA Library -     Copyright (C) Dean Camera, 2017. - -  dean [at] fourwalledcubicle [dot] com -           www.lufa-lib.org -*/ - -/* -  Copyright 2017  Dean Camera (dean [at] fourwalledcubicle [dot] com) -  Copyright 2012  Simon Foster (simon.foster [at] inbox [dot] com) - -  Permission to use, copy, modify, distribute, and sell this -  software and its documentation for any purpose is hereby granted -  without fee, provided that the above copyright notice appear in -  all copies and that both that the copyright notice and this -  permission notice and warranty disclaimer appear in supporting -  documentation, and that the name of the author not be used in -  advertising or publicity pertaining to distribution of the -  software without specific, written prior permission. - -  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, 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. -*/ - -/** \file - * - *  USB Device Descriptors, for library use when in USB device mode. Descriptors are special - *  computer-readable structures which the host requests upon device enumeration, to determine - *  the device's capabilities and functions. - */ - -#include "Descriptors.h" - -/* On some devices, there is a factory set internal serial number which can be automatically sent to the host as - * the device's serial number when the Device Descriptor's .SerialNumStrIndex entry is set to USE_INTERNAL_SERIAL. - * This allows the host to track a device across insertions on different ports, allowing them to retain allocated - * resources like COM port numbers and drivers. On demos using this feature, give a warning on unsupported devices - * so that the user can supply their own serial number descriptor instead or remove the USE_INTERNAL_SERIAL value - * from the Device Descriptor (forcing the host to generate a serial number for each device from the VID, PID and - * port location). - */ -#if (USE_INTERNAL_SERIAL == NO_DESCRIPTOR) -	#warning USE_INTERNAL_SERIAL is not available on this AVR - please manually construct a device serial descriptor. -#endif - -/** Device descriptor structure. This descriptor, located in FLASH memory, describes the overall - *  device characteristics, including the supported USB version, control endpoint size and the - *  number of device configurations. The descriptor is read out by the USB host when the enumeration - *  process begins. - */ -const USB_Descriptor_Device_t PROGMEM DeviceDescriptor = -{ -	.Header                 = {.Size = sizeof(USB_Descriptor_Device_t), .Type = DTYPE_Device}, - -	.USBSpecification       = VERSION_BCD(1,1,0), -	.Class                  = CDC_CSCP_CDCClass, -	.SubClass               = CDC_CSCP_NoSpecificSubclass, -	.Protocol               = CDC_CSCP_NoSpecificProtocol, - -	.Endpoint0Size          = FIXED_CONTROL_ENDPOINT_SIZE, - -	.VendorID               = 0x03EB, -	.ProductID              = 0x204B, -	.ReleaseNumber          = VERSION_BCD(0,0,1), - -	.ManufacturerStrIndex   = STRING_ID_Manufacturer, -	.ProductStrIndex        = STRING_ID_Product, -	.SerialNumStrIndex      = USE_INTERNAL_SERIAL, - -	.NumberOfConfigurations = FIXED_NUM_CONFIGURATIONS -}; - -/** Configuration descriptor structure. This descriptor, located in FLASH memory, describes the usage - *  of the device in one of its supported configurations, including information about any device interfaces - *  and endpoints. The descriptor is read out by the USB host during the enumeration process when selecting - *  a configuration so that the host may correctly communicate with the USB device. - */ -const USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor = -{ -	.Config = -		{ -			.Header                 = {.Size = sizeof(USB_Descriptor_Configuration_Header_t), .Type = DTYPE_Configuration}, - -			.TotalConfigurationSize = sizeof(USB_Descriptor_Configuration_t), -			.TotalInterfaces        = 2, - -			.ConfigurationNumber    = 1, -			.ConfigurationStrIndex  = NO_DESCRIPTOR, - -			.ConfigAttributes       = (USB_CONFIG_ATTR_RESERVED | USB_CONFIG_ATTR_SELFPOWERED), - -			.MaxPowerConsumption    = USB_CONFIG_POWER_MA(100) -		}, - -	.CDC_CCI_Interface = -		{ -			.Header                 = {.Size = sizeof(USB_Descriptor_Interface_t), .Type = DTYPE_Interface}, - -			.InterfaceNumber        = INTERFACE_ID_CDC_CCI, -			.AlternateSetting       = 0, - -			.TotalEndpoints         = 1, - -			.Class                  = CDC_CSCP_CDCClass, -			.SubClass               = CDC_CSCP_ACMSubclass, -			.Protocol               = CDC_CSCP_ATCommandProtocol, - -			.InterfaceStrIndex      = NO_DESCRIPTOR -		}, - -	.CDC_Functional_Header = -		{ -			.Header                 = {.Size = sizeof(USB_CDC_Descriptor_FunctionalHeader_t), .Type = DTYPE_CSInterface}, -			.Subtype                = CDC_DSUBTYPE_CSInterface_Header, - -			.CDCSpecification       = VERSION_BCD(1,1,0), -		}, - -	.CDC_Functional_ACM = -		{ -			.Header                 = {.Size = sizeof(USB_CDC_Descriptor_FunctionalACM_t), .Type = DTYPE_CSInterface}, -			.Subtype                = CDC_DSUBTYPE_CSInterface_ACM, - -			.Capabilities           = 0x06, -		}, - -	.CDC_Functional_Union = -		{ -			.Header                 = {.Size = sizeof(USB_CDC_Descriptor_FunctionalUnion_t), .Type = DTYPE_CSInterface}, -			.Subtype                = CDC_DSUBTYPE_CSInterface_Union, - -			.MasterInterfaceNumber  = INTERFACE_ID_CDC_CCI, -			.SlaveInterfaceNumber   = INTERFACE_ID_CDC_DCI, -		}, - -	.CDC_NotificationEndpoint = -		{ -			.Header                 = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint}, - -			.EndpointAddress        = CDC_NOTIFICATION_EPADDR, -			.Attributes             = (EP_TYPE_INTERRUPT | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA), -			.EndpointSize           = CDC_NOTIFICATION_EPSIZE, -			.PollingIntervalMS      = 0xFF -		}, - -	.CDC_DCI_Interface = -		{ -			.Header                 = {.Size = sizeof(USB_Descriptor_Interface_t), .Type = DTYPE_Interface}, - -			.InterfaceNumber        = INTERFACE_ID_CDC_DCI, -			.AlternateSetting       = 0, - -			.TotalEndpoints         = 2, - -			.Class                  = CDC_CSCP_CDCDataClass, -			.SubClass               = CDC_CSCP_NoDataSubclass, -			.Protocol               = CDC_CSCP_NoDataProtocol, - -			.InterfaceStrIndex      = NO_DESCRIPTOR -		}, - -	.CDC_DataOutEndpoint = -		{ -			.Header                 = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint}, - -			.EndpointAddress        = CDC_RX_EPADDR, -			.Attributes             = (EP_TYPE_BULK | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA), -			.EndpointSize           = CDC_TXRX_EPSIZE, -			.PollingIntervalMS      = 0x05 -		}, - -	.CDC_DataInEndpoint = -		{ -			.Header                 = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint}, - -			.EndpointAddress        = CDC_TX_EPADDR, -			.Attributes             = (EP_TYPE_BULK | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA), -			.EndpointSize           = CDC_TXRX_EPSIZE, -			.PollingIntervalMS      = 0x05 -		} -}; - -/** Language descriptor structure. This descriptor, located in FLASH memory, is returned when the host requests - *  the string descriptor with index 0 (the first index). It is actually an array of 16-bit integers, which indicate - *  via the language ID table available at USB.org what languages the device supports for its string descriptors. - */ -const USB_Descriptor_String_t PROGMEM LanguageString = USB_STRING_DESCRIPTOR_ARRAY(LANGUAGE_ID_ENG); - -/** Manufacturer descriptor string. This is a Unicode string containing the manufacturer's details in human readable - *  form, and is read out upon request by the host when the appropriate string ID is requested, listed in the Device - *  Descriptor. - */ -const USB_Descriptor_String_t PROGMEM ManufacturerString = USB_STRING_DESCRIPTOR(L"Simon Foster"); - -/** Product descriptor string. This is a Unicode string containing the product's details in human readable form, - *  and is read out upon request by the host when the appropriate string ID is requested, listed in the Device - *  Descriptor. - */ -const USB_Descriptor_String_t PROGMEM ProductString = USB_STRING_DESCRIPTOR(L"USB-HD44780 Adapter"); - -/** This function is called by the library when in device mode, and must be overridden (see library "USB Descriptors" - *  documentation) by the application code so that the address and size of a requested descriptor can be given - *  to the USB library. When the device receives a Get Descriptor request on the control endpoint, this function - *  is called so that the descriptor details can be passed back and the appropriate descriptor sent back to the - *  USB host. - */ -uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue, -                                    const uint16_t wIndex, -                                    const void** const DescriptorAddress) -{ -	const uint8_t  DescriptorType   = (wValue >> 8); -	const uint8_t  DescriptorNumber = (wValue & 0xFF); - -	const void* Address = NULL; -	uint16_t    Size    = NO_DESCRIPTOR; - -	switch (DescriptorType) -	{ -		case DTYPE_Device: -			Address = &DeviceDescriptor; -			Size    = sizeof(USB_Descriptor_Device_t); -			break; -		case DTYPE_Configuration: -			Address = &ConfigurationDescriptor; -			Size    = sizeof(USB_Descriptor_Configuration_t); -			break; -		case DTYPE_String: -			switch (DescriptorNumber) -			{ -				case STRING_ID_Language: -					Address = &LanguageString; -					Size    = pgm_read_byte(&LanguageString.Header.Size); -					break; -				case STRING_ID_Manufacturer: -					Address = &ManufacturerString; -					Size    = pgm_read_byte(&ManufacturerString.Header.Size); -					break; -				case STRING_ID_Product: -					Address = &ProductString; -					Size    = pgm_read_byte(&ProductString.Header.Size); -					break; -			} - -			break; -	} - -	*DescriptorAddress = Address; -	return Size; -} - | 
