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

MSC Device: Add asynchronous IO support #2967

Open
wants to merge 8 commits into
base: master
Choose a base branch
from

Conversation

HiFiPhile
Copy link
Collaborator

@HiFiPhile HiFiPhile commented Jan 29, 2025

Describe the PR

Currently, mixing the MSC class with other classes could be problematic since IO operations could block tud_task() for a long time and degrade real-time performance, especially for isochronous and interrupt transfer-based classes.

Now, it's possible to delegate IO operations to a background task.

The cdc_msc_freertos example has been updated for demonstration. One can change CFG_EXAMPLE_MSC_IO_DELAY_MS to a high value and type in the console while doing disk IO. With CFG_EXAMPLE_MSC_ASYNC_IO ON and OFF, the latency difference should be very noticeable.

@HiFiPhile HiFiPhile marked this pull request as ready for review January 29, 2025 16:18
Signed-off-by: HiFiPhile <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant