* Fix renamed config options
* Make `flip-link` feature into a config-option
* Remove `psram-quad`/`psram-octal` - replaced by `psram`
* Changelogs
* Fix
* Add `esp_config::Validator::Enumeration`
* Fix HIL-tests
* HIL: use octal psram for the S3
* Fix xtask
* xtask
* examples
* Make `spi-address-workaround` only available on ESP32
* Always allow `cfg(spi_address_workaround)`
* Make config-options valid for all targets
* wip
* Fix and clean up
* Introduce PinGuard and reconnecting an output signal to a different pin clears previous connections
* Add demft for PinGuard
* Keep pins around in SpiDma
* Simplify i2c
* Changelog
* Clean up
* Don't use PeripheralRef directly
* Handle RTS pin
---------
Co-authored-by: Dániel Buga <bugadani@gmail.com>
* `gpio` and `i2c::master` cleanup, smaller updates
fmt
* spi docs update
* fmt
* alter `split` doc example for different pin types
* address reviews
* adjust to changes after rebase
* Add configuration structs for GPIO drivers, make constructors fallible
* Update all examples and HIL tests to use new GPIO driver API
* Update migration guide
* Update `CHANGELOG.md`
* Fix errors
* Add `apply_config` functions
* Fixes
* wip
* wip2
* derive Default for Config and TxConfig
* Roll back changes related to SharedConfig
* fmt
* sure
* Changelog + migration guide entry
* `tx.apply_config(&TxConfig)` -> `tx.apply_config(&Config)`
to be consistent
* address review
* Reflect the removal of the rx prefix in migration guide
* reviews + rebase
* feat: uart configurable `tx_idle_num`
* fix: remove extraneous setter
* fix: use `ConfigError` instead of `assert!`; clarify unit of bit time
* fix: remove unneeded assert
* chore: revert by updating to newest main
* fix: just set to 0
* fix: unsafe on the register modification
* Fix changelog
---------
Co-authored-by: Dániel Buga <bugadani@gmail.com>
This doesn't seem to be listed on the "Firmware Image Format" page in
the docs, but it follows the pattern of the other values.
Confirmed working on my ESP32-S3-WROOM-2 with 32MB flash.
* implement Peripheral<P = Self> for Rng and Trng
* make esp_wifi::init take impl Peripheral for RNG source
* implement Sealed for Rng and Trng
* use Copy impl for Rng in Peripheral::clone_unchecked
* Support 3-wire-SPI
* CHANGELOG.md
* Remove 'Error::ArgumentsInvalid', more docs
* Rebase Fix
* `DataMode::Single` -> `DataMode::FourWire`
* Rename, again
* docs wording
* Honor ESP32
* Have some testing for DataMode::Single
* Mark `with_sio0/1` unstable
* fix small typo
* Adjust `new_with_config` removal example
Remove the `config` parameter construction as it has changed and is not
relevant to this example.
* Mention builder lite
* Mention `Spi` enum prefix removal
* Remove `new_with_config` from unrelated examples
* Code block fix `dif` -> `diff` typo
* rmt: consolidate listen_interrupt() calls
such that they reduce to a single load/modify/store operation
* rmt: avoid EnumSet::iter for better codegen with optlevel=s
This iterator generates relatively complex code, which is not reliably
reduced to the intended simple memory access, even if the `events`
argument is constant at compile time. Rather, the loop might be
retained, which is inefficient and leads to much larger code.
Tested on riscv using cargo objdump, with the following cargo profile
[profile.release]
codegen-units = 1
debug = true
debug-assertions = false
incremental = false
lto = 'fat'
opt-level = 3|'s'
overflow-checks = false
* Fix some styling issues in top-level README.md
* Update package dependencies and bump version numbers
* Update each `CHANGELOG.md` file for packages to be published
* Update `esp-hal` migration guide
* Fix typo in `esp-hal` changelog