- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
FX2LP control endpoint 0 is able to transfer more than 64 bytes. How that could be explained?. The control center device info shows 64 bytes for the control endpoint 0. Is it the hardware versus software limitation?.
Solved! Go to Solution.
- Tags:
- cy7c68013a
- fx2lp
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
EP0 is a fixed 64 byte wide endpoint. It uses a single 64 byte buffer for both IN and OUT transfers, so the maximum packet size can be 64 bytes.
In control center if the 'bytes to transfer' is chosen to be more than 64 bytes, then the no of packets will increase while each packet being of 64 bytes, i.e. larger size of data will be split into 64 bytes packet. This will be taken care by the Control Center.
Regards,
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
EP0 is a fixed 64 byte wide endpoint. It uses a single 64 byte buffer for both IN and OUT transfers, so the maximum packet size can be 64 bytes.
In control center if the 'bytes to transfer' is chosen to be more than 64 bytes, then the no of packets will increase while each packet being of 64 bytes, i.e. larger size of data will be split into 64 bytes packet. This will be taken care by the Control Center.
Regards,
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
using cypress library , I am also able to send/receive 256 bytes (long nBytes = 256;). Does the cypress library handles data buffers of more than 64 bytes the same way?. i.e., internally dividing the 256 data requests and handles them in chunks of 64 bytes?.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
any update reply?.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Please provide details : which Cy library you are referring to and which API are you using?
Regards,
Mallika
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
.NET:
https://www.cypress.com/file/53111/download
Cypress CyUSB .NET DLL Programmer's Reference
page 28:
int len = 256; byte[] buf = new byte[len]; CtrlEndPt.XferData(ref buf, ref len);
page 88:
int len = 128; byte[] buf = new byte[len];
CtrlEndPt.Write(ref buf, ref len);
n is 256 or less.
CyUSB::CyControlEndpoint ^ctrlEp;
ctrlEp→Target=CyConst::TGT_DEVICE;
etc.
ctrlEp→write(buf, n);
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
The host controller also handles and takes care and of splitting into 64 bytes chunks.
Regards,
Mallika