X-Git-Url: http://git.linex4red.de/pub/USBasp.git/blobdiff_plain/11ed8be1754e57eafbb4b4a62325cfd77317ff77..5cae54154506176d64a581c5b3d9550c901b570c:/Projects/XPLAINBridge/USARTDescriptors.c diff --git a/Projects/XPLAINBridge/USARTDescriptors.c b/Projects/XPLAINBridge/USARTDescriptors.c index 1b265411c..f14bac032 100644 --- a/Projects/XPLAINBridge/USARTDescriptors.c +++ b/Projects/XPLAINBridge/USARTDescriptors.c @@ -1,13 +1,13 @@ /* LUFA Library - Copyright (C) Dean Camera, 2012. + Copyright (C) Dean Camera, 2013. dean [at] fourwalledcubicle [dot] com www.lufa-lib.org */ /* - Copyright 2012 Dean Camera (dean [at] fourwalledcubicle [dot] com) + Copyright 2013 Dean Camera (dean [at] fourwalledcubicle [dot] com) Permission to use, copy, modify, distribute, and sell this software and its documentation for any purpose is hereby granted @@ -18,7 +18,7 @@ advertising or publicity pertaining to distribution of the software without specific, written prior permission. - The author disclaim all warranties with regard to this + 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 @@ -58,8 +58,8 @@ const USB_Descriptor_Device_t PROGMEM USART_DeviceDescriptor = .ProductID = 0x204B, .ReleaseNumber = VERSION_BCD(00.01), - .ManufacturerStrIndex = 0x01, - .ProductStrIndex = 0x02, + .ManufacturerStrIndex = USART_STRING_ID_Manufacturer, + .ProductStrIndex = USART_STRING_ID_Product, .SerialNumStrIndex = USE_INTERNAL_SERIAL, .NumberOfConfigurations = FIXED_NUM_CONFIGURATIONS @@ -91,7 +91,7 @@ const USART_USB_Descriptor_Configuration_t PROGMEM USART_ConfigurationDescriptor { .Header = {.Size = sizeof(USB_Descriptor_Interface_t), .Type = DTYPE_Interface}, - .InterfaceNumber = 0, + .InterfaceNumber = INTERFACE_ID_CDC_CCI, .AlternateSetting = 0, .TotalEndpoints = 1, @@ -124,8 +124,8 @@ const USART_USB_Descriptor_Configuration_t PROGMEM USART_ConfigurationDescriptor .Header = {.Size = sizeof(USB_CDC_Descriptor_FunctionalUnion_t), .Type = DTYPE_CSInterface}, .Subtype = CDC_DSUBTYPE_CSInterface_Union, - .MasterInterfaceNumber = 0, - .SlaveInterfaceNumber = 1, + .MasterInterfaceNumber = INTERFACE_ID_CDC_CCI, + .SlaveInterfaceNumber = INTERFACE_ID_CDC_DCI, }, .CDC_NotificationEndpoint = @@ -142,7 +142,7 @@ const USART_USB_Descriptor_Configuration_t PROGMEM USART_ConfigurationDescriptor { .Header = {.Size = sizeof(USB_Descriptor_Interface_t), .Type = DTYPE_Interface}, - .InterfaceNumber = 1, + .InterfaceNumber = INTERFACE_ID_CDC_DCI, .AlternateSetting = 0, .TotalEndpoints = 2, @@ -213,7 +213,8 @@ const USB_Descriptor_String_t PROGMEM USART_ProductString = */ uint16_t USART_GetDescriptor(const uint16_t wValue, const uint8_t wIndex, - const void** const DescriptorAddress) + const void** const DescriptorAddress, + uint8_t* const DescriptorMemorySpace) { const uint8_t DescriptorType = (wValue >> 8); const uint8_t DescriptorNumber = (wValue & 0xFF); @@ -221,6 +222,8 @@ uint16_t USART_GetDescriptor(const uint16_t wValue, const void* Address = NULL; uint16_t Size = NO_DESCRIPTOR; + *DescriptorMemorySpace = MEMSPACE_FLASH; + switch (DescriptorType) { case DTYPE_Device: @@ -234,15 +237,15 @@ uint16_t USART_GetDescriptor(const uint16_t wValue, case DTYPE_String: switch (DescriptorNumber) { - case 0x00: + case USART_STRING_ID_Language: Address = &USART_LanguageString; Size = pgm_read_byte(&USART_LanguageString.Header.Size); break; - case 0x01: + case USART_STRING_ID_Manufacturer: Address = &USART_ManufacturerString; Size = pgm_read_byte(&USART_ManufacturerString.Header.Size); break; - case 0x02: + case USART_STRING_ID_Product: Address = &USART_ProductString; Size = pgm_read_byte(&USART_ProductString.Header.Size); break;