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

Implement wait_for_done for DpiTransfer #2884

Open
EliteTK opened this issue Jan 3, 2025 · 0 comments
Open

Implement wait_for_done for DpiTransfer #2884

EliteTK opened this issue Jan 3, 2025 · 0 comments

Comments

@EliteTK
Copy link
Contributor

EliteTK commented Jan 3, 2025

Motivations

I8080Transfer has this facility already, so this would introduce parity.

In general it can be useful when animating content on a display to avoid re-drawing more often than is necessary to ensure a smooth animation.

Solution

An async wait_for_done function on the DpiTransfer in the same style as the one on I8080Transfer.

Alternatives

I think it should be possible to achieve the same effect by simply implementing an appropriate DmaTxBuffer which tracks how much data has been transferred and synchronizes rendering to which frame is currently being requested combined with using Dpi::send with next_frame_en as true. But I think both styles would be appropriate to support.

Additional context

I've discussed this with @Dominaezzz on matrix (in the Embassy channel) and he recommended I submit this feature request.

I have looked into this and may consider contributing this but please don't hold your breath as I think the DmaTxBuffer route would personally be preferable at the moment.

@EliteTK EliteTK added the status:needs-attention This should be prioritized label Jan 3, 2025
@github-project-automation github-project-automation bot moved this to Todo in esp-rs Jan 3, 2025
@MabezDev MabezDev removed the status:needs-attention This should be prioritized label Jan 6, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Todo
Development

No branches or pull requests

2 participants