<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://community.arm.com/utility/feedstylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>How can I change the pipeID in cy7c68013?</title><link>https://community.arm.com/developer/tools-software/tools/f/keil-forum/23843/how-can-i-change-the-pipeid-in-cy7c68013</link><description> 
I use the cy7c68013 with slave fifo and auto in-out mode. 
And now 4 bulk pipe is used with piptID 2,4,6,8 
but I want to chage last pipe 8 to 10, so edit and compile and
download iic file of dscr.a51(8051 firmWare). But and then can&amp;#39;t
communicate.</description><dc:language>en-US</dc:language><generator>Telligent Community 10</generator><item><title>RE: How can I change the pipeID in cy7c68013?</title><link>https://community.arm.com/thread/89639?ContentTypeID=1</link><pubDate>Tue, 24 Mar 2009 00:39:41 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:57e43a7a-ad5a-4f15-95b1-b85f957ba4cc</guid><dc:creator>Andy Neil</dc:creator><description>&lt;p&gt;&lt;p&gt;
I think that&amp;#39;s more generally true than just USB:&lt;/p&gt;

&lt;p&gt;
Inexperienced (or just plain lazy) programmers tend to write
hard-coded constants where configurable parameters would be far more
maintainable...&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How can I change the pipeID in cy7c68013?</title><link>https://community.arm.com/thread/55695?ContentTypeID=1</link><pubDate>Mon, 23 Mar 2009 19:16:29 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:8c2659fb-f2b3-4a4c-8b16-2af531cabe27</guid><dc:creator>Tsuneo Chinzei</dc:creator><description>&lt;p&gt;&lt;p&gt;
Pipe ID stands for the endpoint address. It is fixed on the
EZUSB-FX2(LP) chip. There is no endpoint of address 10. Then, you
have to rewrite the PC app or PC device driver, so that it doesn&amp;#39;t
depend on the endpoint address directly.&lt;/p&gt;

&lt;p&gt;
Programmer of less USB experience writes hard-coded endpoint
address directly in his PC application or in the device driver. When
he encounters migration of the chip, he learns that the direct
endpoint address is evil, it disturbs the migration.&lt;/p&gt;

&lt;p&gt;
On the PC side, the endpoint address should be retrieved using
index. The index shows the order with which the endpoint appears in
the interface on the descriptor set of the device.&lt;/p&gt;

&lt;p&gt;
For WinUSB,&lt;br /&gt;
WinUsb_QueryPipe returns WINUSB_PIPE_INFORMATION structure for the
specified PipeIndex. This structure gives the PipeId for the pipe.
PipeIndex, starting from zero, corresponds to the order of endpoint
descriptors on the interface. In this way, you use a fixed index for
the pipe, instead of fixed PipeId.&lt;/p&gt;

&lt;p&gt;
On the migration of chip, any endpoint address will do for the
pipe. Just keep the order of the endpoint descriptors on the config
set on the device.&lt;/p&gt;

&lt;p&gt;
Most of PC USB libraries and some device drivers have similar
indexing mechanism of pipe, which hides the endpoint address.&lt;/p&gt;

&lt;p&gt;
- Cypress CyUSB.sys driver exposes Endpoint address directly. But
when the code follows the example of CCyUSBDevice::BulkInEndPt in
CyAPI.chm, the Endpoint address is hidden behind the index of the
Endpoint array.&lt;/p&gt;

&lt;p&gt;
- USBIO.SYS driver from Thesycon driver exposes Endpoint address
directly.&lt;br /&gt;
But the endpoint address is specified programatically in
USBIO_PIPE_CONFIGURATION_INFO. USBIO_PIPE_CONFIGURATION_INFO array is
retrieved on the USBIO_CONFIGURATION_INFO structure by
IOCTL_USBIO_GET_CONFIGURATION_INFO request.&lt;/p&gt;

&lt;p&gt;
- MS WinDDK bulkusb and isousb example driver hide Endpoint
address behind the pipe name.&lt;br /&gt;
etc.&lt;/p&gt;

&lt;p&gt;
Tsuneo&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>