Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was one breaking change that will propergate to a breaking change for end users. CountDown is no longer a trait in embedded_hal 1 and there is no replacment. There are two main paths we could take here: using the CountDown timer from rp2040-hal crate or convert to DelayNs which is what embedded_hal suggested since we only actually use it for a 60micro second delay. This does mean that you need to pass in the Timer instance rather than a CountDown instead but overall keeps the code a bit more generic and requires fewer trait bounds.
It would be nice to rename the generics from C to T as they really now represent the Timer rather than CountDown but T is already used by some iterators later on and renaming those to I conflicts with other generics - so i opted to avoid the renaming bikeshedding in this completely.