You are here

64 Byte Control Transfer using EnCoRe V | Cypress Semiconductor

64 Byte Control Transfer using EnCoRe V

Summary: 0 Replies, Latest post by SRAM on 29 Nov 2013 01:25 AM PST
Verified Answers: 0
Log in to post new comments.
SRAM's picture
Cypress Employee
50 posts

My USBFS component control Endpoint size in Encore V and EnCoRe III is only 8 Bytes . In my application I need to transfer 64 Bytes . How to do it?

The control Endpoint is  a bidirectional endpoint that uses the same buffer (USBFS_INTERFACE_0_FEATURE_RPT_DATA) to Send and receive the data . This buffer size is only 8 bytes . So if the user is sending any data over the control endpoint there is a possiblility that data may be overwritten . Also the Control transfer size for FS USB is 64 bytes . But due to the buffer limitation the User can send and receive data only in 8 bytes . Below is the solution to over come this problem in EnCore 3 and 5.

The USBFS component of allows the user to override the exisisting routines easily . The Feature report such as GET and SET Report Rountines can be easily over written by following the steps in the USBFS UM datasheet . Please refer the section "Creating vendor specific device request and overriding existing request "of the UM datatsheet available in the following link

Attached is a simple project in which I have over ridden the exisisting routine for the GET and SET REPORT . I have made the buffer size uptp 128 bytes and tested the project . Also unlike the  normal way where there is only one buffer for both IN and OUT in this project there are separate buffers for both GET and SET reports . The Files that has been modified are the USBFS_cls_hid.asm and


Log in to post new comments.