* 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
* 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>
* Restructure sleep-related files
* Port most of esp-idf deep sleep code
* Add example
* Remove extra newline
* Hide RtcioWakeupSource from esp32 api
* Explain commented constants
---------
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`
ESP-IDF defines several kinds of mac addresses, but this doesn't map
well to the esp-hal design, because:
1. This isn't actually required by hardware.
2. Wifi / Ble drivers are external to esp-hal.
Hence this patch only allows overriding the base mac and does not
introduce the concept of other types of mac addresses.
* Implement a bunch of missing startup code
* Extract peripheral address retrieval
* Clean up manual register manipulation
* Add missing PMU related setup
* Changelog
* Clean up revision check
* Fix build
* Add note about PMU setup code source
* Use macros to deduplicate hp/lp system setup
* Clean up a bit
* Initialize the correct register in modem_clock_hal_select_wifi_lpclk_source
* 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
* Uart async: Separate futures types and wakers for rx and tx. Avoids possible deadlock when waker gets replaced
* ...
* Formatting issue resolved
* Remove hej (previous debugging) and removed return type from events, as we never read them
* heapless vec changed to enumset, ovf error docstring removed