USB superspeed peripherals Forum Discussions
I believe my FX3 is renumerating properly after loading firmware built by the provided example: basic_examples/cyfxbulklpauto
After loading the firmware, the FX3 DVK renumerates with product id: 0x00f0.
Now that I'm looking through the cyfxbulklpauto code, however, I can't see where this renumerated product-id is set. Where is this set, and how?
Thanks!
Show LessHello,
i use the slavefifosync example (only endpoint 0x81) and i want to send
zero size packets from the source (like PKTEND# functionality).
I tried CyU3PDmaChannelCommitBuffer (chHandle, 0,0) but failed.
How can i do this?
Best regards
g
Show LessHey all -
The FX3 requires 32 bit addressing, but everything that goes over USB2 (and, at the very least, control endpoints on USB3) is 16 bits. How are the extra 16 bits pushed to the FX3? If you have the fields:
int requesttype, int request, int value, int index, char *bytes, int size, int timeout
... in your USB control message, are you pushing the extra 16 address bits over the index field?
Thanks for your time!
Show LessIf I receive a DMA buffer from the GPIF (that is I get a callback) can I use the DMA buffer by passing it to CyU3PDmaChannelSetupSendBuffer?
Can I create a "fake" CyU3PDmaBuffer_t where the buffer field points at a location in memory that another DMA channel is using?
For example can I call CyU3PDmaChannelGetBuffer to get a CyU3PDmaBuffer_t for a DMA transfer that just completed, and then pass that to CyU3PDmaChannelSetupSendBuffer to commit the same buffer with no memory copying to the outgoing DMA channel?
Likewise can I allocate my own CyU3PDmaBuffer_t by using a CyU3PMemAlloc and then populate the fields to make it looks like a CyU3PDmaBuffer_t?
CyU3PDmaBuffer_t *my_dma = (CyU3PDmaBuffer_t *)CyU3PMemAlloc(sizeof(CyU3PMemAlloc));
my_dma.buffer = p; /* some location in memory that is part of a dma memory on another channel */
my_dma.count = 1;
my_dma.size = length_to_transfer; /* amount of memory to transfer */
my_dma.status = ???; /* not sure what should go here, maybe CyU3PDmaMode_t */
Show LessIf I have already created a DMA channel, but I want to allocate an extra buffer to use with CyU3PDmaChannelSetupSendBuffer, how do I go about allocating that buffer correctly?
Show LessSeveral of the dma structures have the prodHeader, prodFooter, & consHeader fields. For example CyU3PDmaMultiChannelConfig_t, CyU3PDmaChannel, and CyU3PDmaChannelConfig_t contain them. I don't see any documentation on what they do.
Does anyone know if these can be used to chop off a header or footer on a DMA transfer in an automated fashion? Any information people have about these fields would be appreciated.
Oliver
Show LessI modified bulkloopauto firmware in the example of FX3 SDK, and measured 35MBytes/sec data speed on each endpoint.
Is there an idea to speed up the data rate? (at least 100MBytes/sec)
Show LessHow to get Bus Data ? For example Bits 20-27.
Setting all Bits manual or is there any other way ?
Single Bit In / Out works fine, but i dont find any example to read bytes / words ?
Thanks !