* 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
* Add self-testing mode for `TWAI` peripheral
* changelog entry
* fix docs build
* fix async example
* Restore example to original state
fix comment
* `NoAck` -> `SelfTest`
* Use the peripheral ref pattern for `OneShotTimer` and `PeriodicTimer`
* Update tests and examples to reflect changes in timer API
* Update `CHANGELOG.md`
* Re-export the `main` procmacro from `esp-hal-embassy` rather than `esp-hal`
* Fix documentation warnings
* Flatten the `time_driver` module
* clippy
* Update `CHANGELOG.md`
* Extract embassy support into `esp-hal-embassy` package
* Update relevant packages/examples/tests to get CI green again
* Add back `defmt` support
* Re-export `Executor` and `InterruptExecutor` rather than making `executor` module public
* Document the `esp-hal-embassy` package
* Update `CHANGELOG.md`
* Hack together a "fix" for the `SYSTIMER` time driver
* Make `clippy` shut up
* Remove interrupt and thread executor embassy features
* Reserve sw interrupt 3 (4) instead of 0 for multicore systems with the embassy feature enabled
* Remove uneeded #[feature()] from examples
* Fix HIL tests
* Add thread mode context id and fix up examples
* improve embassy module docs
* changelog
* fixup hil tests
* Fixup usb examples
* Convert `SoftwareInterrupt` to a unit struct
* Remove the `SystemExt` trait and rename `SystemParts` to `SystemControl`
* Update all examples an HIL tests to reflect previous API changes
* Clean up imports in `hil-test` package, address `clippy` lint warnings
* Update `CHANGELOG.md`