embedded-hal implements the trait on every ZTimer Clock, switching around times.
embedded-hal-async implements a clock independent Delay struct, which picks the right clock.
embedded-hal 0.2 had different traits that were implemented on the different clocks. (support removed from this crate)
There's no clear winner here yet; still, some unification is in order (at least for the new traits). Possibly we could supply both, with the Delay being more "pick the best available clock for the task", and the impls on Clock using that clock no matter how sensible.
Those implementations use different approaches:
embedded-hal 0.2 had different traits that were implemented on the different clocks.(support removed from this crate)There's no clear winner here yet; still, some unification is in order (at least for the new traits). Possibly we could supply both, with the Delay being more "pick the best available clock for the task", and the impls on Clock using that clock no matter how sensible.