Get rid of the redundant ATTR_NEVER_INLINE macro which translated to the same as...
[pub/USBasp.git] / Demos / Device / ClassDriver / KeyboardMouseMultiReport / Descriptors.c
index 1cd4493..32b6b4b 100644 (file)
@@ -52,30 +52,30 @@ const USB_Descriptor_HIDReport_Datatype_t PROGMEM HIDReport[] =
        HID_RI_USAGE(8, 0x02), /* Mouse */
        HID_RI_COLLECTION(8, 0x01), /* Application */
                HID_RI_REPORT_ID(8, HID_REPORTID_MouseReport),
-           HID_RI_USAGE(8, 0x01), /* Pointer */
-           HID_RI_COLLECTION(8, 0x00), /* Physical */
-               HID_RI_USAGE_PAGE(8, 0x09), /* Button */
-               HID_RI_USAGE_MINIMUM(8, 0x01),
-               HID_RI_USAGE_MAXIMUM(8, 0x03),
-               HID_RI_LOGICAL_MINIMUM(8, 0x00),
-               HID_RI_LOGICAL_MAXIMUM(8, 0x01),
-               HID_RI_REPORT_COUNT(8, 0x03),
-               HID_RI_REPORT_SIZE(8, 0x01),
-               HID_RI_INPUT(8, HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_ABSOLUTE),
-               HID_RI_REPORT_COUNT(8, 0x01),
-               HID_RI_REPORT_SIZE(8, 0x05),
-               HID_RI_INPUT(8, HID_IOF_CONSTANT),
-               HID_RI_USAGE_PAGE(8, 0x01), /* Generic Desktop */
-               HID_RI_USAGE(8, 0x30), /* Usage X */
-               HID_RI_USAGE(8, 0x31), /* Usage Y */
-               HID_RI_LOGICAL_MINIMUM(8, -1),
-               HID_RI_LOGICAL_MAXIMUM(8, 1),
-               HID_RI_PHYSICAL_MINIMUM(8, -1),
-               HID_RI_PHYSICAL_MAXIMUM(8, 1),
-               HID_RI_REPORT_COUNT(8, 0x02),
-               HID_RI_REPORT_SIZE(8, 0x08),
-               HID_RI_INPUT(8, HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_RELATIVE),
-           HID_RI_END_COLLECTION(0),
+               HID_RI_USAGE(8, 0x01), /* Pointer */
+               HID_RI_COLLECTION(8, 0x00), /* Physical */
+                       HID_RI_USAGE_PAGE(8, 0x09), /* Button */
+                       HID_RI_USAGE_MINIMUM(8, 0x01),
+                       HID_RI_USAGE_MAXIMUM(8, 0x03),
+                       HID_RI_LOGICAL_MINIMUM(8, 0x00),
+                       HID_RI_LOGICAL_MAXIMUM(8, 0x01),
+                       HID_RI_REPORT_COUNT(8, 0x03),
+                       HID_RI_REPORT_SIZE(8, 0x01),
+                       HID_RI_INPUT(8, HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_ABSOLUTE),
+                       HID_RI_REPORT_COUNT(8, 0x01),
+                       HID_RI_REPORT_SIZE(8, 0x05),
+                       HID_RI_INPUT(8, HID_IOF_CONSTANT),
+                       HID_RI_USAGE_PAGE(8, 0x01), /* Generic Desktop */
+                       HID_RI_USAGE(8, 0x30), /* Usage X */
+                       HID_RI_USAGE(8, 0x31), /* Usage Y */
+                       HID_RI_LOGICAL_MINIMUM(8, -1),
+                       HID_RI_LOGICAL_MAXIMUM(8, 1),
+                       HID_RI_PHYSICAL_MINIMUM(8, -1),
+                       HID_RI_PHYSICAL_MAXIMUM(8, 1),
+                       HID_RI_REPORT_COUNT(8, 0x02),
+                       HID_RI_REPORT_SIZE(8, 0x08),
+                       HID_RI_INPUT(8, HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_RELATIVE),
+               HID_RI_END_COLLECTION(0),
        HID_RI_END_COLLECTION(0),
 
        /* Keyboard Report */
@@ -83,34 +83,34 @@ const USB_Descriptor_HIDReport_Datatype_t PROGMEM HIDReport[] =
        HID_RI_USAGE(8, 0x06), /* Keyboard */
        HID_RI_COLLECTION(8, 0x01), /* Application */
                HID_RI_REPORT_ID(8, HID_REPORTID_KeyboardReport),
-           HID_RI_USAGE_PAGE(8, 0x07), /* Key Codes */
-           HID_RI_USAGE_MINIMUM(8, 0xE0), /* Keyboard Left Control */
-           HID_RI_USAGE_MAXIMUM(8, 0xE7), /* Keyboard Right GUI */
-           HID_RI_LOGICAL_MINIMUM(8, 0x00),
-           HID_RI_LOGICAL_MAXIMUM(8, 0x01),
-           HID_RI_REPORT_SIZE(8, 0x01),
-           HID_RI_REPORT_COUNT(8, 0x08),
-           HID_RI_INPUT(8, HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_ABSOLUTE),
-           HID_RI_REPORT_COUNT(8, 0x01),
-           HID_RI_REPORT_SIZE(8, 0x08),
-           HID_RI_INPUT(8, HID_IOF_CONSTANT),
-           HID_RI_USAGE_PAGE(8, 0x08), /* LEDs */
-           HID_RI_USAGE_MINIMUM(8, 0x01), /* Num Lock */
-           HID_RI_USAGE_MAXIMUM(8, 0x05), /* Kana */
-           HID_RI_REPORT_COUNT(8, 0x05),
-           HID_RI_REPORT_SIZE(8, 0x01),
-           HID_RI_OUTPUT(8, HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_ABSOLUTE | HID_IOF_NON_VOLATILE),
-           HID_RI_REPORT_COUNT(8, 0x01),
-           HID_RI_REPORT_SIZE(8, 0x03),
-           HID_RI_OUTPUT(8, HID_IOF_CONSTANT),
-           HID_RI_LOGICAL_MINIMUM(8, 0x00),
-           HID_RI_LOGICAL_MAXIMUM(8, 0x65),
-           HID_RI_USAGE_PAGE(8, 0x07), /* Keyboard */
-           HID_RI_USAGE_MINIMUM(8, 0x00), /* Reserved (no event indicated) */
-           HID_RI_USAGE_MAXIMUM(8, 0x65), /* Keyboard Application */
-           HID_RI_REPORT_COUNT(8, 0x06),
-           HID_RI_REPORT_SIZE(8, 0x08),
-           HID_RI_INPUT(8, HID_IOF_DATA | HID_IOF_ARRAY | HID_IOF_ABSOLUTE),
+               HID_RI_USAGE_PAGE(8, 0x07), /* Key Codes */
+               HID_RI_USAGE_MINIMUM(8, 0xE0), /* Keyboard Left Control */
+               HID_RI_USAGE_MAXIMUM(8, 0xE7), /* Keyboard Right GUI */
+               HID_RI_LOGICAL_MINIMUM(8, 0x00),
+               HID_RI_LOGICAL_MAXIMUM(8, 0x01),
+               HID_RI_REPORT_SIZE(8, 0x01),
+               HID_RI_REPORT_COUNT(8, 0x08),
+               HID_RI_INPUT(8, HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_ABSOLUTE),
+               HID_RI_REPORT_COUNT(8, 0x01),
+               HID_RI_REPORT_SIZE(8, 0x08),
+               HID_RI_INPUT(8, HID_IOF_CONSTANT),
+               HID_RI_USAGE_PAGE(8, 0x08), /* LEDs */
+               HID_RI_USAGE_MINIMUM(8, 0x01), /* Num Lock */
+               HID_RI_USAGE_MAXIMUM(8, 0x05), /* Kana */
+               HID_RI_REPORT_COUNT(8, 0x05),
+               HID_RI_REPORT_SIZE(8, 0x01),
+               HID_RI_OUTPUT(8, HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_ABSOLUTE | HID_IOF_NON_VOLATILE),
+               HID_RI_REPORT_COUNT(8, 0x01),
+               HID_RI_REPORT_SIZE(8, 0x03),
+               HID_RI_OUTPUT(8, HID_IOF_CONSTANT),
+               HID_RI_LOGICAL_MINIMUM(8, 0x00),
+               HID_RI_LOGICAL_MAXIMUM(8, 0x65),
+               HID_RI_USAGE_PAGE(8, 0x07), /* Keyboard */
+               HID_RI_USAGE_MINIMUM(8, 0x00), /* Reserved (no event indicated) */
+               HID_RI_USAGE_MAXIMUM(8, 0x65), /* Keyboard Application */
+               HID_RI_REPORT_COUNT(8, 0x06),
+               HID_RI_REPORT_SIZE(8, 0x08),
+               HID_RI_INPUT(8, HID_IOF_DATA | HID_IOF_ARRAY | HID_IOF_ABSOLUTE),
        HID_RI_END_COLLECTION(0),
 };
 
@@ -134,8 +134,8 @@ const USB_Descriptor_Device_t PROGMEM DeviceDescriptor =
        .ProductID              = 0x2066,
        .ReleaseNumber          = VERSION_BCD(00.01),
 
-       .ManufacturerStrIndex   = 0x01,
-       .ProductStrIndex        = 0x02,
+       .ManufacturerStrIndex   = STRING_ID_Manufacturer,
+       .ProductStrIndex        = STRING_ID_Product,
        .SerialNumStrIndex      = NO_DESCRIPTOR,
 
        .NumberOfConfigurations = FIXED_NUM_CONFIGURATIONS
@@ -167,7 +167,7 @@ const USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
                {
                        .Header                 = {.Size = sizeof(USB_Descriptor_Interface_t), .Type = DTYPE_Interface},
 
-                       .InterfaceNumber        = 0x00,
+                       .InterfaceNumber        = INTERFACE_ID_KeyboardAndMouse,
                        .AlternateSetting       = 0x00,
 
                        .TotalEndpoints         = 1,
@@ -263,15 +263,15 @@ uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,
                case DTYPE_String:
                        switch (DescriptorNumber)
                        {
-                               case 0x00:
+                               case STRING_ID_Language:
                                        Address = &LanguageString;
                                        Size    = pgm_read_byte(&LanguageString.Header.Size);
                                        break;
-                               case 0x01:
+                               case STRING_ID_Manufacturer:
                                        Address = &ManufacturerString;
                                        Size    = pgm_read_byte(&ManufacturerString.Header.Size);
                                        break;
-                               case 0x02:
+                               case STRING_ID_Product:
                                        Address = &ProductString;
                                        Size    = pgm_read_byte(&ProductString.Header.Size);
                                        break;