* Add mode param and type erasure to high level timer drivers
* Add async impls for the timers plus eha impl
* re add etm example, fix etm for systimer
* re add tests
* Add Into<AnyTimer> + 'static bounds to the Timer trait
* remove set_alarm_active impl detail from the timer trait
* clippy
* doc fix ups
* changelog and migration guide
* review
* fix h2, reuse schedule for delay
* system timer simplfication
* Removes _all_ type params on Alarm
* Systimer no longer implements peripheral ref, the peripheral ref
pattern is instead intended to be used on the higher level timer
drivers
* Removed `Unit` as a type, in favour of an enum
* Alarms are back in the main `SystemTimer` "driver"
* Made all `Unit` modification methods unsafe, it's not possible to
modify the `Unit`'s safely whilst timers and or the `time::now` API is
in use
* fix examples and tests (by removing them :D)
* changelog and migration
* /unit_count/unit_value/g
* etm doctest
* Review feedback
* Update `hil-test` package dependencies, add simple test for async delay with `SYSTIMER`
* Implement `embedded_hal_async::delay::DelayNs` for the `TIMGx` timers
* Improve tests slightly
* Update `CHANGELOG.md`
* Enable `delay` and `delay_async` tests for the ESP32-H2
* Fix error in `delay_async` test after rebasing
* ESP32 does not have `SYSTIMER`, so don't try to test it :)
* Protect int_ena modifications with INT_ENA_LOCK, clear int_clr in ISRs, move interrupt binds from Future constructor into new_async constructor
* Fix wrong imports
* Address reviews: Remove duplicated/useless code and add HIL test for delay_us and delay_ms
* Implement DelayNs on Target instead of Periodic
* clean dead code
* fix after rebase
* fix build errors
* More accurate nanos to ticks calculation
* Fix wrong handler passed to set_interrupt_handler()
* Update esp-hal/src/timer/timg.rs
Co-authored-by: Dániel Buga <bugadani@gmail.com>
* cleanup left over
---------
Co-authored-by: Juraj Sadel <juraj.sadel@espressif.com>
Co-authored-by: Juraj Sadel <jurajsadel@gmail.com>
Co-authored-by: Dániel Buga <bugadani@gmail.com>