<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>LPC MicrocontrollersのトピックLPCOpen Mouse Example from 8-bit X/Y Inputs to 16-bit</title>
    <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPCOpen-Mouse-Example-from-8-bit-X-Y-Inputs-to-16-bit/m-p/583189#M20818</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by esheets on Wed Nov 25 10:20:52 MST 2015&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;As you can see below, I changed HID_USAGE_GENERIC_X to -32767 and HID_USAGE_GENERIC_Y to 32767 to get the greatest possible value range for a 16 bit variable. I also changed HID_ReportSize to 16 rather than 8. I read that wMaxPacketSize must be greater than the number of packets to be sent, which it should be since that value is set to 8. I believe regarding the USB desc file, I have everything set the way it should be.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;So with the original working 8-bit code, I am using a `uint8_t report[report_size]`. When I changed it, I increased the report size to 5 where it was 3 before. My understanding is that: `report[0] = mouse buttons, report[1] = lower 8 bits of X, report[2] = upper 8 bits of X, report[3] = lower 8 bits of Y, report[4] = upper 8 bits of Y`. Is this the correct implementation of a 16 bit X/Y 16-bit variable? I've looked online for something that may help, but nothing seems to be very thorough with what needs to be done. I'm sure there must be something in the hid_mouse.c code that I need to change other than increasing the mouse report size and making X and Y variables 16 bit instead of 8 bit.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; /**
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * HID Mouse Report Descriptor
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; const uint8_t Mouse_ReportDescriptor[] = {
&amp;nbsp;&amp;nbsp;&amp;nbsp; HID_UsagePage(HID_USAGE_PAGE_GENERIC),
&amp;nbsp;&amp;nbsp;&amp;nbsp; HID_Usage(HID_USAGE_GENERIC_MOUSE),
&amp;nbsp;&amp;nbsp;&amp;nbsp; HID_Collection(HID_Application),
&amp;nbsp;&amp;nbsp;&amp;nbsp; HID_Usage(HID_USAGE_GENERIC_POINTER),
&amp;nbsp;&amp;nbsp;&amp;nbsp; HID_Collection(HID_Physical),
&amp;nbsp;&amp;nbsp;&amp;nbsp; HID_UsagePage(HID_USAGE_PAGE_BUTTON),
&amp;nbsp;&amp;nbsp;&amp;nbsp; HID_UsageMin(1),
&amp;nbsp;&amp;nbsp;&amp;nbsp; HID_UsageMax(3),
&amp;nbsp;&amp;nbsp;&amp;nbsp; HID_LogicalMin(0),
&amp;nbsp;&amp;nbsp;&amp;nbsp; HID_LogicalMax(1),
&amp;nbsp;&amp;nbsp;&amp;nbsp; HID_ReportCount(3),
&amp;nbsp;&amp;nbsp;&amp;nbsp; HID_ReportSize(1),
&amp;nbsp;&amp;nbsp;&amp;nbsp; HID_Input(HID_Data | HID_Variable | HID_Absolute),
&amp;nbsp;&amp;nbsp;&amp;nbsp; HID_ReportCount(1),
&amp;nbsp;&amp;nbsp;&amp;nbsp; HID_ReportSize(5),
&amp;nbsp;&amp;nbsp;&amp;nbsp; HID_Input(HID_Constant),
&amp;nbsp;&amp;nbsp;&amp;nbsp; HID_UsagePage(HID_USAGE_PAGE_GENERIC),
&amp;nbsp;&amp;nbsp;&amp;nbsp; HID_Usage(HID_USAGE_GENERIC_X),
&amp;nbsp;&amp;nbsp;&amp;nbsp; HID_Usage(HID_USAGE_GENERIC_Y),
&amp;nbsp;&amp;nbsp;&amp;nbsp; HID_LogicalMin( (uint16_t) -32767),&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //was -127
&amp;nbsp;&amp;nbsp;&amp;nbsp; HID_LogicalMax(32767),&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //was 127
&amp;nbsp;&amp;nbsp;&amp;nbsp; HID_ReportSize(16),&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Was 8
&amp;nbsp;&amp;nbsp;&amp;nbsp; HID_ReportCount(2),
&amp;nbsp;&amp;nbsp;&amp;nbsp; HID_Input(HID_Data | HID_Variable | HID_Relative),
&amp;nbsp;&amp;nbsp;&amp;nbsp; HID_EndCollection,
&amp;nbsp;&amp;nbsp;&amp;nbsp; HID_EndCollection,
&amp;nbsp;&amp;nbsp;&amp;nbsp; };
&amp;nbsp;&amp;nbsp;&amp;nbsp; const uint16_t Mouse_ReportDescSize = sizeof(Mouse_ReportDescriptor);

&amp;nbsp;&amp;nbsp;&amp;nbsp; /**
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * USB Standard Device Descriptor
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */
&amp;nbsp;&amp;nbsp;&amp;nbsp; ALIGNED(4) const uint8_t USB_DeviceDescriptor[] = {
&amp;nbsp;&amp;nbsp;&amp;nbsp; USB_DEVICE_DESC_SIZE,/* bLength */
&amp;nbsp;&amp;nbsp;&amp;nbsp; USB_DEVICE_DESCRIPTOR_TYPE,/* bDescriptorType */
&amp;nbsp;&amp;nbsp;&amp;nbsp; WBVAL(0x0200),/* bcdUSB : 2.00*/
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x00,/* bDeviceClass */
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x00,/* bDeviceSubClass */
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x00,/* bDeviceProtocol */
&amp;nbsp;&amp;nbsp;&amp;nbsp; USB_MAX_PACKET0,/* bMaxPacketSize0 */
&amp;nbsp;&amp;nbsp;&amp;nbsp; WBVAL(0x1FC9),/* idVendor */
&amp;nbsp;&amp;nbsp;&amp;nbsp; WBVAL(0x0085),/* idProduct */
&amp;nbsp;&amp;nbsp;&amp;nbsp; WBVAL(0x0100),/* bcdDevice : 1.00 */
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x01,/* iManufacturer */
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x02,/* iProduct */
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x03,/* iSerialNumber */
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x01/* bNumConfigurations */
&amp;nbsp;&amp;nbsp;&amp;nbsp; };

&amp;nbsp;&amp;nbsp;&amp;nbsp; /**
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * USB FSConfiguration Descriptor
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * All Descriptors (Configuration, Interface, Endpoint, Class, Vendor)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */
&amp;nbsp;&amp;nbsp;&amp;nbsp; ALIGNED(4) uint8_t USB_FsConfigDescriptor[] = {
&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Configuration 1 */
&amp;nbsp;&amp;nbsp;&amp;nbsp; USB_CONFIGURATION_DESC_SIZE,/* bLength */
&amp;nbsp;&amp;nbsp;&amp;nbsp; USB_CONFIGURATION_DESCRIPTOR_TYPE,/* bDescriptorType */
&amp;nbsp;&amp;nbsp;&amp;nbsp; WBVAL(/* wTotalLength */
&amp;nbsp;&amp;nbsp;&amp;nbsp; USB_CONFIGURATION_DESC_SIZE&amp;nbsp;&amp;nbsp; +
&amp;nbsp;&amp;nbsp;&amp;nbsp; USB_INTERFACE_DESC_SIZE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; +
&amp;nbsp;&amp;nbsp;&amp;nbsp; HID_DESC_SIZE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; +
&amp;nbsp;&amp;nbsp;&amp;nbsp; USB_ENDPOINT_DESC_SIZE
&amp;nbsp;&amp;nbsp;&amp;nbsp; ),
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x01,/* bNumInterfaces */
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x01,/* bConfigurationValue */
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x00,/* iConfiguration */
&amp;nbsp;&amp;nbsp;&amp;nbsp; USB_CONFIG_SELF_POWERED,/* bmAttributes */
&amp;nbsp;&amp;nbsp;&amp;nbsp; USB_CONFIG_POWER_MA(2),&amp;nbsp;&amp;nbsp;&amp;nbsp; /* bMaxPower */

&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Interface 0, Alternate Setting 0, HID Class */
&amp;nbsp;&amp;nbsp;&amp;nbsp; USB_INTERFACE_DESC_SIZE,/* bLength */
&amp;nbsp;&amp;nbsp;&amp;nbsp; USB_INTERFACE_DESCRIPTOR_TYPE,/* bDescriptorType */
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x00,/* bInterfaceNumber */
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x00,/* bAlternateSetting */
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x01,/* bNumEndpoints */
&amp;nbsp;&amp;nbsp;&amp;nbsp; USB_DEVICE_CLASS_HUMAN_INTERFACE,/* bInterfaceClass */
&amp;nbsp;&amp;nbsp;&amp;nbsp; HID_SUBCLASS_BOOT,/* bInterfaceSubClass */
&amp;nbsp;&amp;nbsp;&amp;nbsp; HID_PROTOCOL_MOUSE,/* bInterfaceProtocol */
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x04,/* iInterface */
&amp;nbsp;&amp;nbsp;&amp;nbsp; /* HID Class Descriptor */
&amp;nbsp;&amp;nbsp;&amp;nbsp; /* HID_DESC_OFFSET = 0x0012 */
&amp;nbsp;&amp;nbsp;&amp;nbsp; HID_DESC_SIZE,/* bLength */
&amp;nbsp;&amp;nbsp;&amp;nbsp; HID_HID_DESCRIPTOR_TYPE,/* bDescriptorType */
&amp;nbsp;&amp;nbsp;&amp;nbsp; WBVAL(0x0111),/* bcdHID : 1.11*/
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x00,/* bCountryCode */
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x01,/* bNumDescriptors */
&amp;nbsp;&amp;nbsp;&amp;nbsp; HID_REPORT_DESCRIPTOR_TYPE,/* bDescriptorType */
&amp;nbsp;&amp;nbsp;&amp;nbsp; WBVAL(sizeof(Mouse_ReportDescriptor)),/* wDescriptorLength */
&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Endpoint, HID Interrupt In */
&amp;nbsp;&amp;nbsp;&amp;nbsp; USB_ENDPOINT_DESC_SIZE,/* bLength */
&amp;nbsp;&amp;nbsp;&amp;nbsp; USB_ENDPOINT_DESCRIPTOR_TYPE,/* bDescriptorType */
&amp;nbsp;&amp;nbsp;&amp;nbsp; HID_EP_IN,/* bEndpointAddress */
&amp;nbsp;&amp;nbsp;&amp;nbsp; USB_ENDPOINT_TYPE_INTERRUPT,/* bmAttributes */
&amp;nbsp;&amp;nbsp;&amp;nbsp; WBVAL(0x0008),/* wMaxPacketSize */
&amp;nbsp;&amp;nbsp;&amp;nbsp; HID_MOUSE_REPORT_INTERVAL,/* bInterval */
&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Terminator */
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0/* bLength */
&amp;nbsp;&amp;nbsp;&amp;nbsp; };
&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 15 Jun 2016 20:23:31 GMT</pubDate>
    <dc:creator>lpcware</dc:creator>
    <dc:date>2016-06-15T20:23:31Z</dc:date>
    <item>
      <title>LPCOpen Mouse Example from 8-bit X/Y Inputs to 16-bit</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPCOpen-Mouse-Example-from-8-bit-X-Y-Inputs-to-16-bit/m-p/583189#M20818</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by esheets on Wed Nov 25 10:20:52 MST 2015&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;As you can see below, I changed HID_USAGE_GENERIC_X to -32767 and HID_USAGE_GENERIC_Y to 32767 to get the greatest possible value range for a 16 bit variable. I also changed HID_ReportSize to 16 rather than 8. I read that wMaxPacketSize must be greater than the number of packets to be sent, which it should be since that value is set to 8. I believe regarding the USB desc file, I have everything set the way it should be.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;So with the original working 8-bit code, I am using a `uint8_t report[report_size]`. When I changed it, I increased the report size to 5 where it was 3 before. My understanding is that: `report[0] = mouse buttons, report[1] = lower 8 bits of X, report[2] = upper 8 bits of X, report[3] = lower 8 bits of Y, report[4] = upper 8 bits of Y`. Is this the correct implementation of a 16 bit X/Y 16-bit variable? I've looked online for something that may help, but nothing seems to be very thorough with what needs to be done. I'm sure there must be something in the hid_mouse.c code that I need to change other than increasing the mouse report size and making X and Y variables 16 bit instead of 8 bit.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; /**
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * HID Mouse Report Descriptor
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; const uint8_t Mouse_ReportDescriptor[] = {
&amp;nbsp;&amp;nbsp;&amp;nbsp; HID_UsagePage(HID_USAGE_PAGE_GENERIC),
&amp;nbsp;&amp;nbsp;&amp;nbsp; HID_Usage(HID_USAGE_GENERIC_MOUSE),
&amp;nbsp;&amp;nbsp;&amp;nbsp; HID_Collection(HID_Application),
&amp;nbsp;&amp;nbsp;&amp;nbsp; HID_Usage(HID_USAGE_GENERIC_POINTER),
&amp;nbsp;&amp;nbsp;&amp;nbsp; HID_Collection(HID_Physical),
&amp;nbsp;&amp;nbsp;&amp;nbsp; HID_UsagePage(HID_USAGE_PAGE_BUTTON),
&amp;nbsp;&amp;nbsp;&amp;nbsp; HID_UsageMin(1),
&amp;nbsp;&amp;nbsp;&amp;nbsp; HID_UsageMax(3),
&amp;nbsp;&amp;nbsp;&amp;nbsp; HID_LogicalMin(0),
&amp;nbsp;&amp;nbsp;&amp;nbsp; HID_LogicalMax(1),
&amp;nbsp;&amp;nbsp;&amp;nbsp; HID_ReportCount(3),
&amp;nbsp;&amp;nbsp;&amp;nbsp; HID_ReportSize(1),
&amp;nbsp;&amp;nbsp;&amp;nbsp; HID_Input(HID_Data | HID_Variable | HID_Absolute),
&amp;nbsp;&amp;nbsp;&amp;nbsp; HID_ReportCount(1),
&amp;nbsp;&amp;nbsp;&amp;nbsp; HID_ReportSize(5),
&amp;nbsp;&amp;nbsp;&amp;nbsp; HID_Input(HID_Constant),
&amp;nbsp;&amp;nbsp;&amp;nbsp; HID_UsagePage(HID_USAGE_PAGE_GENERIC),
&amp;nbsp;&amp;nbsp;&amp;nbsp; HID_Usage(HID_USAGE_GENERIC_X),
&amp;nbsp;&amp;nbsp;&amp;nbsp; HID_Usage(HID_USAGE_GENERIC_Y),
&amp;nbsp;&amp;nbsp;&amp;nbsp; HID_LogicalMin( (uint16_t) -32767),&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //was -127
&amp;nbsp;&amp;nbsp;&amp;nbsp; HID_LogicalMax(32767),&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //was 127
&amp;nbsp;&amp;nbsp;&amp;nbsp; HID_ReportSize(16),&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Was 8
&amp;nbsp;&amp;nbsp;&amp;nbsp; HID_ReportCount(2),
&amp;nbsp;&amp;nbsp;&amp;nbsp; HID_Input(HID_Data | HID_Variable | HID_Relative),
&amp;nbsp;&amp;nbsp;&amp;nbsp; HID_EndCollection,
&amp;nbsp;&amp;nbsp;&amp;nbsp; HID_EndCollection,
&amp;nbsp;&amp;nbsp;&amp;nbsp; };
&amp;nbsp;&amp;nbsp;&amp;nbsp; const uint16_t Mouse_ReportDescSize = sizeof(Mouse_ReportDescriptor);

&amp;nbsp;&amp;nbsp;&amp;nbsp; /**
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * USB Standard Device Descriptor
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */
&amp;nbsp;&amp;nbsp;&amp;nbsp; ALIGNED(4) const uint8_t USB_DeviceDescriptor[] = {
&amp;nbsp;&amp;nbsp;&amp;nbsp; USB_DEVICE_DESC_SIZE,/* bLength */
&amp;nbsp;&amp;nbsp;&amp;nbsp; USB_DEVICE_DESCRIPTOR_TYPE,/* bDescriptorType */
&amp;nbsp;&amp;nbsp;&amp;nbsp; WBVAL(0x0200),/* bcdUSB : 2.00*/
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x00,/* bDeviceClass */
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x00,/* bDeviceSubClass */
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x00,/* bDeviceProtocol */
&amp;nbsp;&amp;nbsp;&amp;nbsp; USB_MAX_PACKET0,/* bMaxPacketSize0 */
&amp;nbsp;&amp;nbsp;&amp;nbsp; WBVAL(0x1FC9),/* idVendor */
&amp;nbsp;&amp;nbsp;&amp;nbsp; WBVAL(0x0085),/* idProduct */
&amp;nbsp;&amp;nbsp;&amp;nbsp; WBVAL(0x0100),/* bcdDevice : 1.00 */
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x01,/* iManufacturer */
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x02,/* iProduct */
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x03,/* iSerialNumber */
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x01/* bNumConfigurations */
&amp;nbsp;&amp;nbsp;&amp;nbsp; };

&amp;nbsp;&amp;nbsp;&amp;nbsp; /**
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * USB FSConfiguration Descriptor
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * All Descriptors (Configuration, Interface, Endpoint, Class, Vendor)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */
&amp;nbsp;&amp;nbsp;&amp;nbsp; ALIGNED(4) uint8_t USB_FsConfigDescriptor[] = {
&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Configuration 1 */
&amp;nbsp;&amp;nbsp;&amp;nbsp; USB_CONFIGURATION_DESC_SIZE,/* bLength */
&amp;nbsp;&amp;nbsp;&amp;nbsp; USB_CONFIGURATION_DESCRIPTOR_TYPE,/* bDescriptorType */
&amp;nbsp;&amp;nbsp;&amp;nbsp; WBVAL(/* wTotalLength */
&amp;nbsp;&amp;nbsp;&amp;nbsp; USB_CONFIGURATION_DESC_SIZE&amp;nbsp;&amp;nbsp; +
&amp;nbsp;&amp;nbsp;&amp;nbsp; USB_INTERFACE_DESC_SIZE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; +
&amp;nbsp;&amp;nbsp;&amp;nbsp; HID_DESC_SIZE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; +
&amp;nbsp;&amp;nbsp;&amp;nbsp; USB_ENDPOINT_DESC_SIZE
&amp;nbsp;&amp;nbsp;&amp;nbsp; ),
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x01,/* bNumInterfaces */
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x01,/* bConfigurationValue */
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x00,/* iConfiguration */
&amp;nbsp;&amp;nbsp;&amp;nbsp; USB_CONFIG_SELF_POWERED,/* bmAttributes */
&amp;nbsp;&amp;nbsp;&amp;nbsp; USB_CONFIG_POWER_MA(2),&amp;nbsp;&amp;nbsp;&amp;nbsp; /* bMaxPower */

&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Interface 0, Alternate Setting 0, HID Class */
&amp;nbsp;&amp;nbsp;&amp;nbsp; USB_INTERFACE_DESC_SIZE,/* bLength */
&amp;nbsp;&amp;nbsp;&amp;nbsp; USB_INTERFACE_DESCRIPTOR_TYPE,/* bDescriptorType */
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x00,/* bInterfaceNumber */
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x00,/* bAlternateSetting */
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x01,/* bNumEndpoints */
&amp;nbsp;&amp;nbsp;&amp;nbsp; USB_DEVICE_CLASS_HUMAN_INTERFACE,/* bInterfaceClass */
&amp;nbsp;&amp;nbsp;&amp;nbsp; HID_SUBCLASS_BOOT,/* bInterfaceSubClass */
&amp;nbsp;&amp;nbsp;&amp;nbsp; HID_PROTOCOL_MOUSE,/* bInterfaceProtocol */
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x04,/* iInterface */
&amp;nbsp;&amp;nbsp;&amp;nbsp; /* HID Class Descriptor */
&amp;nbsp;&amp;nbsp;&amp;nbsp; /* HID_DESC_OFFSET = 0x0012 */
&amp;nbsp;&amp;nbsp;&amp;nbsp; HID_DESC_SIZE,/* bLength */
&amp;nbsp;&amp;nbsp;&amp;nbsp; HID_HID_DESCRIPTOR_TYPE,/* bDescriptorType */
&amp;nbsp;&amp;nbsp;&amp;nbsp; WBVAL(0x0111),/* bcdHID : 1.11*/
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x00,/* bCountryCode */
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x01,/* bNumDescriptors */
&amp;nbsp;&amp;nbsp;&amp;nbsp; HID_REPORT_DESCRIPTOR_TYPE,/* bDescriptorType */
&amp;nbsp;&amp;nbsp;&amp;nbsp; WBVAL(sizeof(Mouse_ReportDescriptor)),/* wDescriptorLength */
&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Endpoint, HID Interrupt In */
&amp;nbsp;&amp;nbsp;&amp;nbsp; USB_ENDPOINT_DESC_SIZE,/* bLength */
&amp;nbsp;&amp;nbsp;&amp;nbsp; USB_ENDPOINT_DESCRIPTOR_TYPE,/* bDescriptorType */
&amp;nbsp;&amp;nbsp;&amp;nbsp; HID_EP_IN,/* bEndpointAddress */
&amp;nbsp;&amp;nbsp;&amp;nbsp; USB_ENDPOINT_TYPE_INTERRUPT,/* bmAttributes */
&amp;nbsp;&amp;nbsp;&amp;nbsp; WBVAL(0x0008),/* wMaxPacketSize */
&amp;nbsp;&amp;nbsp;&amp;nbsp; HID_MOUSE_REPORT_INTERVAL,/* bInterval */
&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Terminator */
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0/* bLength */
&amp;nbsp;&amp;nbsp;&amp;nbsp; };
&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 20:23:31 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPCOpen-Mouse-Example-from-8-bit-X-Y-Inputs-to-16-bit/m-p/583189#M20818</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T20:23:31Z</dc:date>
    </item>
  </channel>
</rss>

