Skip to content

Do I need to yield in the main loop? #13018

Answered by projectgus
tb4450 asked this question in nRF
Discussion options

You must be logged in to vote

There was also some recent work to restructure how the TinyUSB stack is serviced on a few ports, though this hasn't been extended to nrf

I actually have a patch here to extend the "new" TinyUSB servicing approach to nrf port, but it's not working with SoftDevice yet. Hoping to submit it as a PR soon.

The nrf port doesn't call the "hook" for TinyUSB in as many places as other ports did, which seems like it's actually a bug. However, replacing it with the new approach for servicing TinyUSB will probably be the best fix.

In the meantime, I think the least impactful workaround would be to call machine.idle() in your loop. There may still be some slowdown, but probably not as much as machine…

Replies: 1 comment 2 replies

Comment options

andrewleech
Nov 19, 2023
Collaborator Sponsor

You must be logged in to vote
2 replies
@projectgus
Comment options

Answer selected by tb4450
@tb4450
Comment options

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
nRF
Labels
None yet
3 participants