<?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中的主题 Re: LPC1347 HID_SetReport and HID_GetReport functions NOT called</title>
    <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC1347-HID-SetReport-and-HID-GetReport-functions-NOT-called/m-p/524343#M6979</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by Tsuneo on Tue Jul 01 09:37:55 MST 2014&lt;/STRONG&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: &lt;/STRONG&gt;&lt;BR /&gt;I also discovered that the two functions responsible for information exchange are not being called, i.e HID_SetReport and HID_GetReport.&lt;/SPAN&gt;&lt;HR /&gt;&lt;BR /&gt;&lt;SPAN&gt;HID_SetReport() and HID_GetReport() are called just when your host sends Set/GetReport request over the control transfer. These routines are not called by the interrupt OUT/IN endpoint events.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;When the interrupt OUT EP receives an output report, HID_Ep_Hdlr() callback is called with USB_EVT_OUT "event" parameter. Your code reads out the report using USBD_API-&amp;gt;hw-&amp;gt;ReadEP(), as the HID_Ep_Hdlr( USB_EVT_OUT ) does on usbd_rom_hid_generic example, hid_generic.c&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;You may send an input report over the interrupt IN EP, using USBD_API-&amp;gt;hw-&amp;gt;WriteEP(), as the above routine does.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Tsuneo&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 15 Jun 2016 16:51:14 GMT</pubDate>
    <dc:creator>lpcware</dc:creator>
    <dc:date>2016-06-15T16:51:14Z</dc:date>
    <item>
      <title>LPC1347 HID_SetReport and HID_GetReport functions NOT called</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC1347-HID-SetReport-and-HID-GetReport-functions-NOT-called/m-p/524342#M6978</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by bonitusb on Fri Jun 27 03:51:48 MST 2014&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hello everyone,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;has anyone had success with the Lpc1347 USB_HID_Generic using IAR Embedded workbench?&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I used Visual Basic to create my interface panel and it is working very fine with Lpc1343.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;i am using this example bundle, "lpcopen_2_05_keil_iar_nxp_lpcxpresso_1347"&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;With LPC1347, i can connect the device to the host but the problem is that no information is exchanged between them. I also discovered that the two functions responsible for information exchange are not being called, i.e HID_SetReport and HID_GetReport.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Has anyone an idea?&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 16:51:13 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC1347-HID-SetReport-and-HID-GetReport-functions-NOT-called/m-p/524342#M6978</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T16:51:13Z</dc:date>
    </item>
    <item>
      <title>Re: LPC1347 HID_SetReport and HID_GetReport functions NOT called</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC1347-HID-SetReport-and-HID-GetReport-functions-NOT-called/m-p/524343#M6979</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by Tsuneo on Tue Jul 01 09:37:55 MST 2014&lt;/STRONG&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: &lt;/STRONG&gt;&lt;BR /&gt;I also discovered that the two functions responsible for information exchange are not being called, i.e HID_SetReport and HID_GetReport.&lt;/SPAN&gt;&lt;HR /&gt;&lt;BR /&gt;&lt;SPAN&gt;HID_SetReport() and HID_GetReport() are called just when your host sends Set/GetReport request over the control transfer. These routines are not called by the interrupt OUT/IN endpoint events.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;When the interrupt OUT EP receives an output report, HID_Ep_Hdlr() callback is called with USB_EVT_OUT "event" parameter. Your code reads out the report using USBD_API-&amp;gt;hw-&amp;gt;ReadEP(), as the HID_Ep_Hdlr( USB_EVT_OUT ) does on usbd_rom_hid_generic example, hid_generic.c&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;You may send an input report over the interrupt IN EP, using USBD_API-&amp;gt;hw-&amp;gt;WriteEP(), as the above routine does.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Tsuneo&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 16:51:14 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC1347-HID-SetReport-and-HID-GetReport-functions-NOT-called/m-p/524343#M6979</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T16:51:14Z</dc:date>
    </item>
    <item>
      <title>Re: LPC1347 HID_SetReport and HID_GetReport functions NOT called</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC1347-HID-SetReport-and-HID-GetReport-functions-NOT-called/m-p/524344#M6980</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by bonitusb on Wed Jul 02 03:10:13 MST 2014&lt;/STRONG&gt;&lt;BR /&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt;/* HID Interrupt endpoint event handler. */
static ErrorCode_t HID_Ep_Hdlr(USBD_HANDLE_T hUsb, void *data, uint32_t event)
{
USB_HID_CTRL_T *pHidCtrl = (USB_HID_CTRL_T *) data;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
switch (event) {
case USB_EVT_IN:
/* last report is successfully sent. Do something... */
&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; /* loopback the report received. */
USBD_API-&amp;gt;hw-&amp;gt;WriteEP(hUsb, pHidCtrl-&amp;gt;epin_adr, loopback_report, 3);&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; 
break;

case USB_EVT_OUT:
/* Read the new report received. */
USBD_API-&amp;gt;hw-&amp;gt;ReadEP(hUsb, pHidCtrl-&amp;gt;epout_adr, loopback_report);&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; 
break;
}
return LPC_OK;
}&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt;/* HID set report callback function. */
static ErrorCode_t HID_SetReport(USBD_HANDLE_T hHid, USB_SETUP_PACKET *pSetup, uint8_t **pBuffer, uint16_t length)
{ 
&amp;nbsp;&amp;nbsp;&amp;nbsp; uint8_t PCOutReportData = *pBuffer[0];
&amp;nbsp; 
/* we will reuse standard EP0Buf */
if (length == 0) {&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
return LPC_OK;
}

/* ReportID = SetupPacket.wValue.WB.L; */
switch (pSetup-&amp;gt;wValue.WB.H) {
case HID_REPORT_INPUT:
return ERR_USBD_STALL;/* Not Supported */
&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; 
case HID_REPORT_OUTPUT:
*loopback_report = **pBuffer;
&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;&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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; //bonitusb
&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; PCOutReportData = *pBuffer[0];
&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(PCOutReportData &amp;amp; 0x01)
&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; GPIO_PIN0_bit.P0_2 = 1;&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; 
&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; else
&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; GPIO_PIN0_bit.P0_2 = 0;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
break;

case HID_REPORT_FEATURE:
return ERR_USBD_STALL;/* Not Supported */
} 
return LPC_OK;
}&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thank you so much for your reply.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;If i am correct, the USBD_API-&amp;gt;hw-&amp;gt;WriteEP() and USBD_API-&amp;gt;hw-&amp;gt;ReadEP() reads and write to the Endpoints buffer to be used by the HID_SetReport() and HID_GetReport() at [color=#f03]uint8_t **pBuffer[/color] .&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;From the HID_SetReport() function above for example, i want to light and LED on my LPC board when the host sends a Set request. I have confirmed every other functions and interrupt routines to be responding, the host sends request as well.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;My problem is that both HID_SetReport() and HID_GetReport() do not respond to the host Set/GetReport request, at such the instructions within [color=#f00]case HID_REPORT_OUTPUT: and case HID_REPORT_INPUT:[/color] are not executed.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I humbly still need your help.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 16:51:15 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC1347-HID-SetReport-and-HID-GetReport-functions-NOT-called/m-p/524344#M6980</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T16:51:15Z</dc:date>
    </item>
    <item>
      <title>Re: LPC1347 HID_SetReport and HID_GetReport functions NOT called</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC1347-HID-SetReport-and-HID-GetReport-functions-NOT-called/m-p/524345#M6981</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by Tsuneo on Thu Jul 03 13:12:01 MST 2014&lt;/STRONG&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: &lt;/STRONG&gt;&lt;BR /&gt;My problem is that both HID_SetReport() and HID_GetReport() do not respond to the host Set/GetReport request, at such the instructions within case HID_REPORT_OUTPUT: and case HID_REPORT_INPUT: are not executed.&lt;/SPAN&gt;&lt;HR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I tested usbd_rom_hid_generic example in this LPCOpen library on my LPCXpresso LPC1347 board.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.nxp.com/external-link.jspa?url=http%3A%2F%2Fwww.lpcware.com%2Fsystem%2Ffiles%2Flpcopen_2_05_keil_iar_nxp_lpcxpresso_1347.zip" rel="nofollow noopener noreferrer" target="_blank"&gt;http://www.lpcware.com/system/files/lpcopen_2_05_keil_iar_nxp_lpcxpresso_1347.zip&lt;/A&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;As I don’t have recent IAR setup, I ran the example on Keil MDK-ARM v4.74&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;The source files are common either for IAR or Keil.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;On my side, HID_GetReport( HID_REPORT_INPUT ) and HID_SetReport( HID_REPORT_OUTPUT ) are correctly hit at breakpoints on the debugger, when a host app sends Get_/Set_Report requests.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I tested it using SimpleHIDWrite on Windows. Try this test bench, instead.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.nxp.com/external-link.jspa?url=http%3A%2F%2Fjanaxelson.com%2Ffiles%2FSimpleHIDWrite3.zip" rel="nofollow noopener noreferrer" target="_blank"&gt;http://janaxelson.com/files/SimpleHIDWrite3.zip&lt;/A&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;- At launch, SimpleHIDWrite lists up HID devices attached to the PC, on the upper side of its dialog.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Click on "LPC11Ux HID (Serial=ABCD123456789)"&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;To send Get_Report request, click on "Get Report" button at the bottom.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;To send Set_Report request,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;- type in 0 at ReportID, any hex number at the next text box, and then click on "Set Report" button&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;In this part of your above code,&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;
/* HID Interrupt endpoint event handler. */
static ErrorCode_t HID_Ep_Hdlr(USBD_HANDLE_T hUsb, void *data, uint32_t event)
{
USB_HID_CTRL_T *pHidCtrl = (USB_HID_CTRL_T *) data;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
switch (event) {
case USB_EVT_IN:
/* last report is successfully sent. Do something... */
&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; /* loopback the report received. */
USBD_API-&amp;gt;hw-&amp;gt;WriteEP(hUsb, pHidCtrl-&amp;gt;epin_adr, loopback_report, 3);&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; 
break;
&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR /&gt;&lt;SPAN&gt;HID_Ep_Hdlr( USB_EVT_IN ) is called just &lt;/SPAN&gt;&lt;STRONG&gt;after&lt;/STRONG&gt;&lt;SPAN&gt; the input report is sent over the interrupt EP. You have to call USBD_API-&amp;gt;hw-&amp;gt;WriteEP() at outside of this "case USB_EVT_IN", somewhere appropriate when the input report is available.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Tsuneo&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 16:51:15 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC1347-HID-SetReport-and-HID-GetReport-functions-NOT-called/m-p/524345#M6981</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T16:51:15Z</dc:date>
    </item>
    <item>
      <title>Re: LPC1347 HID_SetReport and HID_GetReport functions NOT called</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC1347-HID-SetReport-and-HID-GetReport-functions-NOT-called/m-p/524346#M6982</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by Tsuneo on Sat Jul 05 12:06:14 MST 2014&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;The OP has put a related question to Jan Axelson's USB forum&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.nxp.com/external-link.jspa?url=http%3A%2F%2Fjanaxelson.com%2Fforum%2Findex.php%3Ftopic%3D1367.0" rel="nofollow" target="_blank"&gt;http://janaxelson.com/forum/index.php?topic=1367.0&lt;/A&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Answered to his new question in above link.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Tsuneo&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 16:51:16 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC1347-HID-SetReport-and-HID-GetReport-functions-NOT-called/m-p/524346#M6982</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T16:51:16Z</dc:date>
    </item>
    <item>
      <title>Re: LPC1347 HID_SetReport and HID_GetReport functions NOT called</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC1347-HID-SetReport-and-HID-GetReport-functions-NOT-called/m-p/524347#M6983</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by bonitusb on Thu Jul 10 15:22:27 MST 2014&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hello Tsuneo,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I have made some little progress. On the PC side[color=#f03]Send/Read reports using a control transfer[/color] were disabled. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;For the previous PC program that was working fine with 1343,&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;fileStreamdevicedata.BeginRead(inputReportBuffer, 0, inputReportBuffer.Length, New AsyncCallback(AddressOf GetInputReportData), inputReportBuffer)&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;SPAN&gt;&amp;nbsp; was used in reading a report by interrupt. Important was the call of GetInputReportData() for reading the input data. If i place this sequence within the control Transfer Read Request, &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;If (chkUseControlTransfersOnly.Checked = True) Then
' Read a report using a control transfer.&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
success = MyHid.GetInputReportViaControlTransfer(hidHandle, inputReportBuffer)
fileStreamdevicedata.BeginRead(inputReportBuffer, 0, inputReportBuffer.Length, New AsyncCallback(AddressOf GetInputReportData), inputReportBuffer)
&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;SPAN&gt;the PC program hangs. At such, i cannot read a report and if i remove it, only the send report is implemented. Does BeginRead works with interrupt transfers only?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Secondly, the behavior of the PC application is as described above, only if on the firmware, the PCInReportData was sent at buffer 0 &lt;/SPAN&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt;*pBuffer[0] = PCInReportData&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;SPAN&gt;. Other than this, any PCInReportData sent at other buffers hangs the PC application.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;For example &lt;/SPAN&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt;*pBuffer[1] = adcValue&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;SPAN&gt;. To this regard, i changed this part of uC codes&amp;nbsp; but the problems were not solved.&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;USBD_API-&amp;gt;hw-&amp;gt;WriteEP(hUsb, pHidCtrl-&amp;gt;epin_adr, loopback_report, [color=#f03]3[/color]); 
*plength = [color=#f03]3[/color]; (static ErrorCode_t HID_GetReport())
USB_HID_REPORT_T reports_data[[color=#f03]3[/color]]; (ErrorCode_t usb_hid_init())
#define HID_INPUT_REPORT_BYTES&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [color=#f03] 3[/color] (hid_desc.h)
&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;SPAN&gt;I want to write InputReportof 3bytes, what must be changed?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks for your reply&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 16:51:17 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC1347-HID-SetReport-and-HID-GetReport-functions-NOT-called/m-p/524347#M6983</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T16:51:17Z</dc:date>
    </item>
  </channel>
</rss>

