* Remove `read_bytes` function, rename `drain_fifo` to `read_bytes`
* Update migration guide
* Update `CHANGELOG.md`
* Use `crate::interrupt::free` in `read_byte`
* Fix HIL test
* Only use `crate::interrupt:free` for ESP32
* Changelog
* Split up PDMA into modules
* Add CryptoDMA implementation
* Move file
* Import SELECT only in the function where we use it
---------
Co-authored-by: Juraj Sadel <juraj.sadel@espressif.com>
* HIL(QOL): Add missing timeouts to various tests
* Increase timeouts for ECC
* Use global timeout in hil tests
* sha: increase test_digest_of_size_1_to_200 timeout from 10 to 15 seconds
* Track async GPIOs in memory
* Add an example
* Deduplicate interrupt handling
* Changelog
* Add gpio_bank_1 symbol
* Derive EnumCount
* Try to fix issues around manual listen calls and multi-core
* Fix test
* Update esp-hal/src/gpio/mod.rs
Co-authored-by: Dominic Fischer <14130965+Dominaezzz@users.noreply.github.com>
* Do not prevent pending interrupt from being handled
* Remove unnecessary unpin
* Add a note about interrupt status flags
---------
Co-authored-by: Dominic Fischer <14130965+Dominaezzz@users.noreply.github.com>
* Derive Builder Lite pattern for `esp_hal::Config` and `WatchdogConfig`
* User builder pattern for `esp_hal::Config` in examples/tests
* Update `CHANGELOG.md`
* Add a derive procmacro to implement the Builder Lite pattern for a struct
* Add `#[non_exhaustive]` and derive `BuilderLite` where necessary in I2C module
* Add `#[non_exhaustive]` and derive `BuilderLite` where necessary in UART module
* Add `#[non_exhaustive]` and derive `BuilderLite` where necessary in SPI module
* Update `CHANGELOG.md`
* Fix build errors in HIL tests
* Fix generated doc comments
* Return a `ParseError` rather than panicking
* Add a method to set the value to `None` for `Option` types
* Fixed triggering a debug-assertion during scan
* CHANGELOGs
* Change `debug_assert` into warning level log
* Enable debug-asserts in hil-test, qa-test and examples
* Change the way we detect and warn about debug-builds
* Warn if opt-level is `0` or `1`
* Add mode param and type erasure to high level timer drivers
* Add async impls for the timers plus eha impl
* re add etm example, fix etm for systimer
* re add tests
* Add Into<AnyTimer> + 'static bounds to the Timer trait
* remove set_alarm_active impl detail from the timer trait
* clippy
* doc fix ups
* changelog and migration guide
* review
* fix h2, reuse schedule for delay
* Add helper traits to simplify DMA channel trait bounds
* Document changes
* Update doc example
* Remove clutter from MG
* Move DmaEligible down to place helper types closer
* Rename
* Include split in the MG
* system timer simplfication
* Removes _all_ type params on Alarm
* Systimer no longer implements peripheral ref, the peripheral ref
pattern is instead intended to be used on the higher level timer
drivers
* Removed `Unit` as a type, in favour of an enum
* Alarms are back in the main `SystemTimer` "driver"
* Made all `Unit` modification methods unsafe, it's not possible to
modify the `Unit`'s safely whilst timers and or the `time::now` API is
in use
* fix examples and tests (by removing them :D)
* changelog and migration
* /unit_count/unit_value/g
* etm doctest
* Review feedback
* Introduce RGB/DPI driver
* Choose different pin for HIL test
* fail
* Use official devkit
* merge update
* non_exhaustive
---------
Co-authored-by: Dominic Fischer <git@dominicfischer.me>
* Fail RMT one-shot transactions if end-marker is missing
* CHANGELOG.md
* Add test
* Fix
* Fix
* RMT: use u32, turn PulseCode into a convenience trait
* Clippy
* Adapt test
* Prefer defmt unwrap
* Auto-bind the GPIO interrupt handler
* Changelog
* Bind interrupt handler when initializing the hal
* Remove user handler overhead unless user handler is bound
* Add tests
* Try to preserve direct-bound handlers
* Fix match
* Don't rely on the vector table to check direct binding
* Fix comment
* Allow splitting off of gpio drivers
* Extract and correct low level connection bits
* Add Input/OutputSignal::connect_to
* Remove unnecessary public API
* Fix typos
* Remove unused private methods
* Add separate Direct signals that do bypass the GPIO matrix
* Do not disable stage input
* Clean up spi_slave test
* Constrain to static Flex
* Improve docs
* Separate input_enable and open_drain parameters
* Link to the chapter
* Changelog
* Clarify
* Remove hidden public SPI API
* Fix in_progress flags not being set
* Remove redundant checks, fix full-duplex flag
* Remove now-redundant Send impl
* apply_config
* SetConfig
* Return ConfigError
* Unwrap config result in ctor