* Make the `DMA` peripheral API more consistent
* Update examples for devices with `PDMA`
* Update examples for devices with `GDMA`
* Update `CHANGELOG.md`
* Update example after rebasing
* LCD_CAM I8080 POC
* Hush CI
* Apply user provided frequency
* Expose bit and byte order
* Properly support command and dummy phases
* Expose clock edge settings
* Allow background transfers
* Add support for both 8 bit and 16 bit
* Remove unnecessary interrupt usage
* Expose all config
* Add LcdCamPeripheral
* Fix up register modification
* Remove 2^13 limit on data phase
* Make example a bit more interesting
* Add DMA peripheral trait bounds
* Use raw interrupts
* Write module level docs
* Improve example doc
* Allow for splitting of the USB Serial JTAG peripheral into tx/rx components
* Update `CHANGELOG.md`
* Split single waker into tx/rx wakers
* Fix interrupt bug and update embassy example
The wakers were written to trigger opposite, so the rx waker
would trigger for tx interrupts and vice versa.
Also update the embassy example to run read/write in
separate tasks.
* rustfmt
---------
Co-authored-by: Jesse Braham <jesse@beta7.io>
* Create virtual peripherals for `ADC`/`DAC`
* Refactor the `analog::dac` module
* Refactor the `analog::adc` module
* Decouple the ADC driver from the `embedded-hal` traits
* Update `CHANGELOG.md`
* Seal the `AdcCalScheme` trait, reduce visibility of `AdcCalEfuse` trait
* Remove `APB_SARADC`/`SENS` peripherals from the `Peripherals` struct
* Add `document-features` dependency to all HAL packages
* Update package-level documentation for each chip-specific HAL package
* Document package features for all chip-specific HALs
* update embassy in Cargo.toml and add embassy-time-driver
* fix embassy-time for esp-hal-common
* update CHANGELOG.md
* fix clippy warning by removing manual adc implimentation for esp32
* undo change, fixing clippy error by removing unused use statement
* remove embassy crates-io patches
* remove a remaining embassy patch
* Update embassy-time version in esp-hal-common/Cargo.toml
Co-authored-by: Scott Mabin <scott@mabez.dev>
* remove the remaining embassy patches
* remove embassy-time as a dependency for esp*-hal
---------
Co-authored-by: Scott Mabin <scott@mabez.dev>
* Add support for 80Mhz psram, selected using 'psram-80mhz' feature
Default stays 40 MHz
* Added changelog regarding 80MHz PSRAM support
* Add 80Mhz support also to octal psram
* Add documentation for 80Mhz psram in lib.rs
* Linker script adjustments needed for wifi drivers (#1074)
* Add `embedded-io` feature to each chip-specific HAL (#1072)
* Add `embedded-io` feature to each chip-specific HAL
* Update `CHANGELOG.md`
* Update to `1.0.0` releases of `embedded-hal-*` packages (#1068)
* Update to `1.0.0` releases of `embedded-hal-*` packages
* Update `CHANGELOG.md`
* Added changelog regarding 80MHz PSRAM support
---------
Co-authored-by: Björn Quentin <bjoernQ@users.noreply.github.com>
Co-authored-by: Jesse Braham <jessebraham@users.noreply.github.com>
* Add `rt-riscv` and `rt-xtensa` features to `esp-hal-common` to allow enabling/disable runtime support
* Update the CI workflow to check the chip-specific HAL packages without default features
* Update `CHANGELOG.md`
* separate SpiDmaTransfer impl for rx and tx
* format code
* update spi_slave_dma example
* update CHANGELOG
* fix changelog entry
* add dma_read and dma_write examples for all supported chips
* Update to `embedded-hal@1.0.0-rc.2` and friends, bump some other deps
* Update method name in `SetDutyCycle` trait implementation
* Implement `DelayNs` trait
* Update `CHANGELOG.md`
* Update `usb-device` as well
* Use latest `embassy-executor` release
* Add macro to create DMA buffers and descriptors
* Remove WDT disabling from remaining examples
* CHANGELOG.md entry
* Remove redundant `unsafe`
* Easier way to make RX and TX same sized
* RISC-V executors
* Add multiprio example to RISC-V SoCs
* Check new examples
* Hack in support for generic queue
* Reserve SoftwareInterrupt0 for multicore thread-mode executors
* Merge interrupt executors
* Merge thread-mode executors
* Document the new features and expand on time drivers
* Main tasks don't have to return !
* Unify multiprio examples
* Undo C6 log output change
* Async read implementation for usb serial jtag
* Check the example in ci
* Add the example's required features
* Add changelog entry
* Improve the example
* Add examples for other boards
* Fix changelog
* Add required features for examples
* make pins optional for Spi::new (master, full-duplex mode)
* add additional method to setup spi pins (master, full-duplex mode)
* add additional method to setup spi pins (master, half-duplex mode)
* remove generic type parameters for Spi::new
* update documentation
* make `with_pins` could be chained
* update CHANGELOG.md
* update CHANGELOG.md
* make the return value of a method like `with_{*}` owned
* fix (maybe?) all broken examples caused by the change (esp32-hal)
* fix (maybe?) all broken examples caused by the change (esp32c2-hal)
* fix (maybe?) all broken examples caused by the change (esp32c3-hal)
* fix (maybe?) all broken examples caused by the change (esp32c6-hal)
* fix (maybe?) all broken examples caused by the change (esp32h2-hal)
* fix (maybe?) all broken examples caused by the change (esp32s2-hal)
* fix (maybe?) all broken examples caused by the change (esp32s3-hal)
* rerun 'cargo fmt' for esp-hal-common
* rerun 'cargo fmt' for the rest of examples
* Temporarily disable async `SYSTIMER` implementation, remove mention from `CHANGELOG.md`
* Remove a couple files which are not required
* Fix warning for `sha` examples
* Fix warning for non-C3 devices
* s/interrupt_clear/clear_interrupt/