* 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
* 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
* Mark interconnect as unstable
* Explicitly set unstable feature in HIL tests
* WIP append feature set name to artifact
* Add name to feature sets, build all combinations
* Fix tests
* Provide a looping executor for stable async tests
* Fix usb serial jtag
* Hide interconnect types
* 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
* 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
* 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
* Print panic messages using semihosting
* Don't use defmt's asserts
* Make RA_OFFSET available without panic-handler
* Re-add defmt imports where missing
* Revert unintended test change
* Initialise hal in critical-section test
* Disable defmt in tests by default
* Fix QSPI mode on non-ESP32
* Update tests to count pulses on pins separately
* Fix ESP32 addressing phase issue
* Use defmt's assert
* Set fastrd bit
* Apply pulldowns to define signal level when not driven
* Transfer address bits in data phase on ESP32
* Changelog
* Use a separate buffer for the address, make the workaround configurable
* Remove now-unnecessary additions
* Force SpiDma to remain Send
* Clarify wording, remove prefix
* Clean up manual register manipulation
* Fix byte order
* Clean up qspi test cfgs, enable on ESP32
* Correct comments
* Clean up init_spi_data_mode
* Fix qspi_write on ESP32
* Further cleanup in SPI driver
* Clean up qspi_read
* Fix qspi_write_read test on ESP32
* Merge QSPI tests
* Clean up test
* Attempt to fix test GPIO assingment
* Update esp-hal/src/spi/master.rs
Co-authored-by: Dominic Fischer <14130965+Dominaezzz@users.noreply.github.com>
* Update esp-hal/src/spi/master.rs
* Make sure pins have no internal pullups
---------
Co-authored-by: Dominic Fischer <14130965+Dominaezzz@users.noreply.github.com>