- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
we're working with a multi-channel manual-out dma on the FX3, but we noticed that wrapping up a 32 Kb buffer takes very long time (CyU3PDmaMultiChannelSetWrapUp takes 160 us while a single CyU3PDmaMultiChannelCommitBuffer takes about 10 - 20 us).
Is there a way to speed up the wrap up? Why does it take so much?
Thank you very much.
Gianni
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Please create a tech support case. It would be easier to understand and resolve this through the tech support channel with one of our experts.
Cheers,
Anand
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Was a solution ever found?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Gianni,
We have not done any benchmarking on the SetWrapup API call, as this is only expected to happen rarely. The actual firmware execution delay for a SetWrapup API call would be minimal (depends on the amount of time required to get a mutex lock on the channel structure). However, you can expect to see some delay before the corresponding data buffer is accessible on the consumer side.
The SetWrapup call only notifies the producer that it should not wait for more data, but should wrap up this buffer and move on. In the case of a Manual channel, the Produce Event callback will be triggered after the producer actually wraps up the buffer; and the user will then have to commit the corresponding data to the consumer.
Thanks,
Sai Krishna.