Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

blocking mode for bulk transfers possible? #163

Closed
khimaros opened this issue Jul 6, 2020 · 1 comment
Closed

blocking mode for bulk transfers possible? #163

khimaros opened this issue Jul 6, 2020 · 1 comment
Labels

Comments

@khimaros
Copy link

khimaros commented Jul 6, 2020

i am creating a CDC class device and would like endpoint bulk writes from the host to block until they have been processed by the device. is there any way to achieve this with LUFA?

@abcminiuser
Copy link
Owner

That's really up to the host driver implementation, but generally speaking, no. Bulk transfers are enqueued on the host side in advance and scheduled/sent via the low level USB controller driver via DMA as bus bandwidth permits. That's how bulk transfers end up having larger thoughput than other fixed interval endpoint types at the expense of higher latency.

The best way to approach this would be to add in an application level command/response layer above the CDC layer, so you can send (potentially multiple) commands with a given sequence number and have the device reply back with an acknowledges for each command that has been processed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants