<?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のトピックno data with WriteEP custom USB link</title>
    <link>https://community.nxp.com/t5/LPC-Microcontrollers/no-data-with-WriteEP-custom-USB-link/m-p/584346#M21020</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by david35 on Fri Jun 19 07:11:17 MST 2015&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I am working on a retro-design conception with a custom USB link based on a LPC1825. The host side is a PC with a Cypress driver (CyUSB3.sys, Cypress USB console). I need to configure a communication link using Endpoint2 in interrupt transfer.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;All the EP0 transfers (SETUP_PACKET) seem to be good and the device is well enumerated by the host. Using USBVIEW.exe, I have the same device descriptor as the old product to be retro-designed.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;At the beginning, I started with the VCOM example and I suppressed all the VCOM functions. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The problem is with the EP2_IN interrupt transfert. There is no data transfer from the device to the host. I use a USB analyzer to record data transfer. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The Endpoint2 is initialized with:&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;/* register endpoint interrupt handler */
ep_indx = ((EP2_IN &amp;amp; 0x0F) &amp;lt;&amp;lt; 1) + 1;&amp;nbsp;&amp;nbsp;&amp;nbsp; // EP2_IN=0x82
ret = USBD_API-&amp;gt;core-&amp;gt;RegisterEpHandler(g_hUsb, ep_indx, EP2_hdlr, 0);
&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I Program transfer descriptors for given endpoint using bwtest_USB_Prog_DTD function from usbd_rom_bwtest example with:&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;usb_param.USB_Configure_Event = bwtest_ConfigureEvent;
&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The EP2 Handler is defined as:&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;ErrorCode_t EP2_hdlr(USBD_HANDLE_T hUsb, void *data, uint32_t event)
{
switch (event)
{
case USB_EVT_IN:
{
g_u32_CptItEP2IN++;
USBD_API-&amp;gt;hw-&amp;gt;WriteEP(g_hUsb, EP2_IN, (uint8_t*)g_tu8_TabEcp, 1024);
break;
}
default: break;
}

return LPC_OK;
}&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;With this code, when the host initiates a data transfer, an event USB_EVT_IN is well detected in the EP2_Hdlr function but no data is transferred to the host. This behavior is confirmed with the USB analyzer.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Something is missing. But what?&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks for your help.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;David&lt;/SPAN&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 15 Jun 2016 20:23:30 GMT</pubDate>
    <dc:creator>lpcware</dc:creator>
    <dc:date>2016-06-15T20:23:30Z</dc:date>
    <item>
      <title>no data with WriteEP custom USB link</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/no-data-with-WriteEP-custom-USB-link/m-p/584346#M21020</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by david35 on Fri Jun 19 07:11:17 MST 2015&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I am working on a retro-design conception with a custom USB link based on a LPC1825. The host side is a PC with a Cypress driver (CyUSB3.sys, Cypress USB console). I need to configure a communication link using Endpoint2 in interrupt transfer.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;All the EP0 transfers (SETUP_PACKET) seem to be good and the device is well enumerated by the host. Using USBVIEW.exe, I have the same device descriptor as the old product to be retro-designed.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;At the beginning, I started with the VCOM example and I suppressed all the VCOM functions. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The problem is with the EP2_IN interrupt transfert. There is no data transfer from the device to the host. I use a USB analyzer to record data transfer. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The Endpoint2 is initialized with:&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;/* register endpoint interrupt handler */
ep_indx = ((EP2_IN &amp;amp; 0x0F) &amp;lt;&amp;lt; 1) + 1;&amp;nbsp;&amp;nbsp;&amp;nbsp; // EP2_IN=0x82
ret = USBD_API-&amp;gt;core-&amp;gt;RegisterEpHandler(g_hUsb, ep_indx, EP2_hdlr, 0);
&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I Program transfer descriptors for given endpoint using bwtest_USB_Prog_DTD function from usbd_rom_bwtest example with:&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;usb_param.USB_Configure_Event = bwtest_ConfigureEvent;
&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The EP2 Handler is defined as:&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;ErrorCode_t EP2_hdlr(USBD_HANDLE_T hUsb, void *data, uint32_t event)
{
switch (event)
{
case USB_EVT_IN:
{
g_u32_CptItEP2IN++;
USBD_API-&amp;gt;hw-&amp;gt;WriteEP(g_hUsb, EP2_IN, (uint8_t*)g_tu8_TabEcp, 1024);
break;
}
default: break;
}

return LPC_OK;
}&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;With this code, when the host initiates a data transfer, an event USB_EVT_IN is well detected in the EP2_Hdlr function but no data is transferred to the host. This behavior is confirmed with the USB analyzer.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Something is missing. But what?&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks for your help.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;David&lt;/SPAN&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 20:23:30 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/no-data-with-WriteEP-custom-USB-link/m-p/584346#M21020</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T20:23:30Z</dc:date>
    </item>
  </channel>
</rss>

