* embassy-usb support
* Add changelog entry
* Update embassy-usb-synopsys-otg
* Change VID/PID to match the blocking example
* Add missing initialisation
* Clean up
* fmt
* Remove log init
* Use released crate
* Revert to released embassy-usb
* Update vid/pid
* Remove redundant TAIT feature gate
* i2c:
* i2c: refactor transaction() and reuse for master_read, master_write, and master_write_read
* i2c: cargo fmt
* i2c: fix an issue with not clearing interrupt bits & move where we reset fifo and command_list
* i2c: fix async compile error
* i2c: fix for esp32 & esp32s2
* i2c: real fix for esp32 (End command never gets cmd_done bit set!)
* i2c: fmt and removal of an unwrap() that I was using while debugging
* i2c: only define opcode values in one place
i2c: use CommandReg in add_cmd
* i2c: async direct & embedded_hal support working
* i2c: cargo fmt
* examples: cargo fmt
* 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`
* Create a virtual `CPU_CTRL` peripheral for ESP32/S3
* Create a virtual `RADIO_CLK` peripherals for all devices with radios
* Use `PeripheralRef` for the `CpuControl` constructors
* Update `CHANGELOG.md`
* Support 192 and 256-bit keys for AES
* quick fix
* Not `panic`ing on wrong key length
* fmt + hil
Update comment
* Add more doc comments
* Use `Key` enum for DMA mode
fix
* API fix: make some critical functions private
* Use `Into<Key>` instead of forcing users to call funcs with `key.into()`
* Extract inner modules of `gpio` module into their own files
* Update `CHANGELOG.md`
* Add missing doc comment in `gpio::lp_io` module
---------
Co-authored-by: Scott Mabin <scott@mabez.dev>
* Split software interrupts
* Make swint0 unavailable on a multi_core target when using thread-executor
* Clarify why embassy_multiprio example needs two executors
* Make interrupt-executor require a SoftwareInterrupt<n>
* Improve code
* CHANGELOG.md
* Don't use `#[interrupt]` in thread-executor
* More docs
* Typo fixed
* Provide native APIs for SPI functionality currently handled by `embedded-hal` traits
* Provide APIs for I2C functionality currently handled by `embedded-hal` traits
* Rebase and update HIL test for SPI to get it building again
* Reduce duplication of code within the `analog::adc` module
* Add a public `read_oneshot` method to the ADC driver
* Do not require `embedded-hal@0.2.x` traits for ADC examples
* Add doc comments to all public methods which do not already have them
* Clean up `embedded-hal-02` related imports
* Clean up some random warnings
* Update various examples to no longer depend on `embedded-hal-02` feature
* Build `esp-hal` without default features enabled in CI
* Decouple the TWAI driver from the `embedded-hal` and `embedded-can` packages
* No longer require `embedded-hal`/`embedded-can` for the TWAI example
* Update `CHANGELOG.md`
* Add support for building a package without its default features to `xtask`
* Do not require `embedded_hal_02` traits in examples where they are not required
* Do not require `embedded_hal_02` traits for filling a buffer with random bytes
* Remove patches and just use git dependency for PACs instead
* Various `README.md` normalization/updates for simpler packages
* Update `README.md` for `esp-hal` and `esp-lp-hal`
* Update repo-level `README.md`
* uart: allow driver to init as blocking or async
* adds a mode type param to Uart types
* remove #[interrupt] usage
* add constructor for blocking and async modes
* blocking constructor takes optional interrupt
* async chooses the correct handler to bind at runtime
* moves interrupt enable for uart into the driver
* changelog