* Remove type erased gpio structs
* Implement Peripheral for ErasedPin
* Simpler type erasing, accept ErasedPin in pin drivers, remove type erased drivers
* Reformulate pin drivers using Flex
* Erase gpio types by default
* Accept any pin in AnyPin
* Add changelog and migration guide
* Fix tests and examples
* Undo rename of clone_unchecked
* i2c: fix embedded-hal transactions
* changelog+fmt
* small naming cleanup
* i2c: fix 1 byte reads
* typo
* small cleanup and add a few internal docs
* update changelog
* rebase & CHANGELOG
* extract next op conversion
* fix `setup_read()` logic for 0 length reads.
* return error for 0 length reads and 0 length writes where start=false
* comment about max_len in setup_write()
* filter out 0 length read operations in `transaction()`
* Short circuit for problematic 0 lengths in read_operation and write_operation
* don't short circuit a 0 length write operation if stop=true
* handle write_read when the read bufer is empty
* Keep a single PinType trait
* Merge impl blocks
* Deduplicate usb pad workaround
* Deduplicate some bit manipulation
* Remove gpio dispatch proc macro
* Inline PinType into GpioProperties
* i2c hil test
* pin
* fmt
* Test
* WIP (gpio test left)
* Finalize the CODE part (to be cleaned up)
fmt
* Smaller cleanup
* cleanup
* rebase
* fix
* getting last chips ready
* Addressing reviews
* [esp-metadata] Remove lazy_static in favor of OnceLock
* [esp-wifishark] Remove lazy_static in favor of normal initialisation
* [ieee802154-sniffer] Shorten SelectorConfig initialisation
* [ieee802154-sniffer] Remove lazy_static in favor of normal initialisation
* Rework hal initialization
* Turn sw interrupt control into a virtual peripheral
* Return a tuple instead of a named struct
* Fix docs
* Remove SystemClockControl
* Move software interrupts under interrupt
* Re-document what's left in system
* Update time docs
* Update sw int docs
* Introduce Config
* Fix tests
* Remove redundant inits
* Doc
* Clean up examples&tests
* Update tests
* Add changelog entry
* Start migration guide
* Restore some convenience-imports
* Remove Config from prelude
* Update package dependencies and bump version numbers
* Update `CHANGELOG.md` for each package to be published
* Remember to update `xtensa-lx-rt` too :)
* Add and use TrapFrame::new() in esp-wifi
* Bump `xtensa-lx-rt` by minor instead of patch, as there are breaking changes
---------
Co-authored-by: Dániel Buga <bugadani@gmail.com>
* RSA cleanup & API consistency change, part 2
* RSA cleanup & API consistency change, part 3
* Add async tests
* Fix async for ESP32
* Merge impl blocks
* Backtrack on some mutability changes
* Use Acquire/Release ordering
* Fwd to write_multi_start instead of duplicating impl