Add extra LUFA TAR archive export exclusions.
[pub/USBasp.git] / Demos / Device / ClassDriver / Mouse / Descriptors.c
index 4c5e6cf..1a7af87 100644 (file)
@@ -1,13 +1,13 @@
 /*
              LUFA Library
-     Copyright (C) Dean Camera, 2011.
+     Copyright (C) Dean Camera, 2012.
 
   dean [at] fourwalledcubicle [dot] com
            www.lufa-lib.org
 */
 
 /*
-  Copyright 2011  Dean Camera (dean [at] fourwalledcubicle [dot] com)
+  Copyright 2012  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
@@ -72,13 +72,13 @@ const USB_Descriptor_Device_t PROGMEM DeviceDescriptor =
 
        .Endpoint0Size          = FIXED_CONTROL_ENDPOINT_SIZE,
 
-       .VendorID               = CPU_TO_LE16(0x03EB),
-       .ProductID              = CPU_TO_LE16(0x2041),
-       .ReleaseNumber          = VERSION_BCD(00.02),
+       .VendorID               = 0x03EB,
+       .ProductID              = 0x2041,
+       .ReleaseNumber          = VERSION_BCD(00.01),
 
        .ManufacturerStrIndex   = 0x01,
        .ProductStrIndex        = 0x02,
-       .SerialNumStrIndex      = USE_INTERNAL_SERIAL,
+       .SerialNumStrIndex      = NO_DESCRIPTOR,
 
        .NumberOfConfigurations = FIXED_NUM_CONFIGURATIONS
 };
@@ -94,13 +94,13 @@ const USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
                {
                        .Header                 = {.Size = sizeof(USB_Descriptor_Configuration_Header_t), .Type = DTYPE_Configuration},
 
-                       .TotalConfigurationSize = CPU_TO_LE16(sizeof(USB_Descriptor_Configuration_t)),
+                       .TotalConfigurationSize = sizeof(USB_Descriptor_Configuration_t),
                        .TotalInterfaces        = 1,
 
                        .ConfigurationNumber    = 1,
                        .ConfigurationStrIndex  = NO_DESCRIPTOR,
 
-                       .ConfigAttributes       = (USB_CONFIG_ATTR_BUSPOWERED | USB_CONFIG_ATTR_SELFPOWERED),
+                       .ConfigAttributes       = (USB_CONFIG_ATTR_RESERVED | USB_CONFIG_ATTR_SELFPOWERED),
 
                        .MaxPowerConsumption    = USB_CONFIG_POWER_MA(100)
                },
@@ -129,16 +129,16 @@ const USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
                        .CountryCode            = 0x00,
                        .TotalReportDescriptors = 1,
                        .HIDReportType          = HID_DTYPE_Report,
-                       .HIDReportLength        = CPU_TO_LE16(sizeof(MouseReport))
+                       .HIDReportLength        = sizeof(MouseReport)
                },
 
        .HID_ReportINEndpoint =
                {
                        .Header                 = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},
 
-                       .EndpointAddress        = (ENDPOINT_DESCRIPTOR_DIR_IN | MOUSE_EPNUM),
+                       .EndpointAddress        = (ENDPOINT_DIR_IN | MOUSE_EPNUM),
                        .Attributes             = (EP_TYPE_INTERRUPT | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA),
-                       .EndpointSize           = CPU_TO_LE16(MOUSE_EPSIZE),
+                       .EndpointSize           = MOUSE_EPSIZE,
                        .PollingIntervalMS      = 0x01
                }
 };
@@ -162,17 +162,7 @@ const USB_Descriptor_String_t PROGMEM ManufacturerString =
 {
        .Header                 = {.Size = USB_STRING_LEN(11), .Type = DTYPE_String},
 
-       .UnicodeString          = {CPU_TO_LE16('D'),
-                                  CPU_TO_LE16('e'),
-                                  CPU_TO_LE16('a'),
-                                  CPU_TO_LE16('n'),
-                                  CPU_TO_LE16(' '),
-                                  CPU_TO_LE16('C'),
-                                  CPU_TO_LE16('a'),
-                                  CPU_TO_LE16('m'),
-                                  CPU_TO_LE16('e'),
-                                  CPU_TO_LE16('r'),
-                                  CPU_TO_LE16('a')}
+       .UnicodeString          = L"Dean Camera"
 };
 
 /** Product descriptor string. This is a Unicode string containing the product's details in human readable form,
@@ -183,21 +173,7 @@ const USB_Descriptor_String_t PROGMEM ProductString =
 {
        .Header                 = {.Size = USB_STRING_LEN(15), .Type = DTYPE_String},
 
-       .UnicodeString          = {CPU_TO_LE16('L'),
-                                  CPU_TO_LE16('U'),
-                                  CPU_TO_LE16('F'),
-                                  CPU_TO_LE16('A'),
-                                  CPU_TO_LE16(' '),
-                                  CPU_TO_LE16('M'),
-                                  CPU_TO_LE16('o'),
-                                  CPU_TO_LE16('u'),
-                                  CPU_TO_LE16('s'),
-                                  CPU_TO_LE16('e'),
-                                  CPU_TO_LE16(' '),
-                                  CPU_TO_LE16('D'),
-                                  CPU_TO_LE16('e'),
-                                  CPU_TO_LE16('m'),
-                                  CPU_TO_LE16('o')}
+       .UnicodeString          = L"LUFA Mouse Demo"
 };
 
 /** This function is called by the library when in device mode, and must be overridden (see library "USB Descriptors"
@@ -231,15 +207,15 @@ uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,
                        {
                                case 0x00:
                                        Address = &LanguageString;
-                                       Size    = LanguageString.Header.Size;
+                                       Size    = pgm_read_byte(&LanguageString.Header.Size);
                                        break;
                                case 0x01:
                                        Address = &ManufacturerString;
-                                       Size    = ManufacturerString.Header.Size;
+                                       Size    = pgm_read_byte(&ManufacturerString.Header.Size);
                                        break;
                                case 0x02:
                                        Address = &ProductString;
-                                       Size    = ProductString.Header.Size;
+                                       Size    = pgm_read_byte(&ProductString.Header.Size);
                                        break;
                        }