Add USB_STRING_DESCRIPTOR and make the Keyboard demo use it.

pull/1469/head
László Monda 11 years ago committed by Dean Camera
parent 2e70de6194
commit 28cadf077e

@ -142,34 +142,19 @@ const USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
* the string descriptor with index 0 (the first index). It is actually an array of 16-bit integers, which indicate * 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. * 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 = const USB_Descriptor_String_t PROGMEM LanguageString = USB_STRING_DESCRIPTOR(LANGUAGE_ID_ENG);
{
.Header = {.Size = USB_STRING_LEN(1), .Type = DTYPE_String},
.UnicodeString = {LANGUAGE_ID_ENG}
};
/** Manufacturer descriptor string. This is a Unicode string containing the manufacturer's details in human readable /** 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 * form, and is read out upon request by the host when the appropriate string ID is requested, listed in the Device
* Descriptor. * Descriptor.
*/ */
const USB_Descriptor_String_t PROGMEM ManufacturerString = const USB_Descriptor_String_t PROGMEM ManufacturerString = USB_STRING_DESCRIPTOR(L"Dean Camera");
{
.Header = {.Size = USB_STRING_LEN(11), .Type = DTYPE_String},
.UnicodeString = L"Dean Camera"
};
/** Product descriptor string. This is a Unicode string containing the product's details in human readable form, /** 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 * and is read out upon request by the host when the appropriate string ID is requested, listed in the Device
* Descriptor. * Descriptor.
*/ */
const USB_Descriptor_String_t PROGMEM ProductString = const USB_Descriptor_String_t PROGMEM ProductString = USB_STRING_DESCRIPTOR(L"LUFA Keyboard Demo");
{
.Header = {.Size = USB_STRING_LEN(18), .Type = DTYPE_String},
.UnicodeString = L"LUFA Keyboard Demo"
};
/** This function is called by the library when in device mode, and must be overridden (see library "USB Descriptors" /** 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 * documentation) by the application code so that the address and size of a requested descriptor can be given

@ -706,6 +706,9 @@
#endif #endif
} ATTR_PACKED USB_Descriptor_String_t; } ATTR_PACKED USB_Descriptor_String_t;
/** Convenience macro to easily create \ref USB_Descriptor_String_t instances without having to count characters. */
#define USB_STRING_DESCRIPTOR(string) {.Header = {.Size = sizeof(string), .Type = DTYPE_String}, .UnicodeString = string}
/** \brief Standard USB String Descriptor (USB-IF naming conventions). /** \brief Standard USB String Descriptor (USB-IF naming conventions).
* *
* Type define for a standard string descriptor. Unlike other standard descriptors, the length * Type define for a standard string descriptor. Unlike other standard descriptors, the length

Loading…
Cancel
Save