<?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>topic LPCOpen USB HID class issues in LPC Microcontrollers</title>
    <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPCOpen-USB-HID-class-issues/m-p/525244#M7880</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by midas on Thu May 30 19:56:33 MST 2013&lt;/STRONG&gt;&lt;BR /&gt;&lt;P&gt;I have ported the lpcusblib_GenericHidDevice project to my own board, LPC11u37 based. I have encountered a few issues:&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;1. As an LPCXpresso project it seems to run fine, both with USE_USB_ROM_STACK enabled and disabled, but as an IAR project, when I enable the USE_USB_ROM_STACK flag I get a HardFault exception due to an unaligned access somewhere in the internal rom driver (it does work correctly with this flag disabled, i.e. with the alternative USB drivers in C files)?&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;2. I wanted to use the EVENT_USB_Device_Connect() and EVENT_USB_Device_Disconnect() routines, but realized nobody ever called them, so they would get optimized away and never fire?&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;3. I needed to modify the HID descriptors and operation to communicate with the host using EP1 IN and OUT, rather then using reports over EP0. After I modified the original interface descriptor, which only used HID_ReportINEndpoint but no HID_ReportOUTEndpoint, by adding an additional EP in the HID interface descriptors, the HIDClient.exe utility failed to communicate with the application. After digging through the code, I encountered the following remark in file HIDClassDevice.h:&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;" * @note Due to technical limitations, the HID device class driver does not utilize a separate OUT&lt;BR /&gt;&amp;nbsp;*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; endpoint for host-&amp;amp;gt;device communications. Instead, the host-&amp;amp;gt;device data (if any) is sent to&lt;BR /&gt;&amp;nbsp;*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; the device via the control endpoint."&lt;BR /&gt;Is that a silicon problem, or a software issue that might get fixed in a future update?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 15 Jun 2016 16:53:41 GMT</pubDate>
    <dc:creator>lpcware</dc:creator>
    <dc:date>2016-06-15T16:53:41Z</dc:date>
    <item>
      <title>LPCOpen USB HID class issues</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPCOpen-USB-HID-class-issues/m-p/525244#M7880</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by midas on Thu May 30 19:56:33 MST 2013&lt;/STRONG&gt;&lt;BR /&gt;&lt;P&gt;I have ported the lpcusblib_GenericHidDevice project to my own board, LPC11u37 based. I have encountered a few issues:&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;1. As an LPCXpresso project it seems to run fine, both with USE_USB_ROM_STACK enabled and disabled, but as an IAR project, when I enable the USE_USB_ROM_STACK flag I get a HardFault exception due to an unaligned access somewhere in the internal rom driver (it does work correctly with this flag disabled, i.e. with the alternative USB drivers in C files)?&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;2. I wanted to use the EVENT_USB_Device_Connect() and EVENT_USB_Device_Disconnect() routines, but realized nobody ever called them, so they would get optimized away and never fire?&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;3. I needed to modify the HID descriptors and operation to communicate with the host using EP1 IN and OUT, rather then using reports over EP0. After I modified the original interface descriptor, which only used HID_ReportINEndpoint but no HID_ReportOUTEndpoint, by adding an additional EP in the HID interface descriptors, the HIDClient.exe utility failed to communicate with the application. After digging through the code, I encountered the following remark in file HIDClassDevice.h:&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;" * @note Due to technical limitations, the HID device class driver does not utilize a separate OUT&lt;BR /&gt;&amp;nbsp;*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; endpoint for host-&amp;amp;gt;device communications. Instead, the host-&amp;amp;gt;device data (if any) is sent to&lt;BR /&gt;&amp;nbsp;*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; the device via the control endpoint."&lt;BR /&gt;Is that a silicon problem, or a software issue that might get fixed in a future update?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 16:53:41 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPCOpen-USB-HID-class-issues/m-p/525244#M7880</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T16:53:41Z</dc:date>
    </item>
  </channel>
</rss>

