* Add test case
* Split into files
* Do not clear interrupt status bits in handler
* Document changes
* Refactor gpio tests to test the default interrupt handler by default
* Fix typo
* Extract mk_static
* Write a bit about interrupt handling
* Various fixes
* Test that the future doesn't resolve for a preceding interrupt
* Add multi-core test
* ESP32: handle GPIO interrupt on the listening core
* Fix multi-core edge case
* inter-state
* inter-state (2)
* warnings fix
* fix warnings
* fmt + changelogs
* another unsafe extern "C" doode
* real fmt now
* MSRV + format
* Ignore unsafe_op_in_unsafe_fn lint for now in esp-hal and esp-wifi
* msrv + fmt
* ugh....
* get lcd_cam example right
* expr_2021 -> expr experiment
* gagagugu
* reviews
* more unneeded unsafes (help)
* finish esp-hal unsafe cleanup
* each unsafe call is marked separately
fmt
* should be good now (?)
* piece was never an option...
* dumb
* 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
* Mark unstable APIs + make `macros` private
* address reviews
* use `instability` instead of feature
* fix dependencies
* More tagging
* `Persistable` and `procmacros` - unstable
* Adjust for changes
* sure...
* 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
* 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>
* 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
* Allow accessing signal list via ErasedPin
* Replace AnyPin with more flexible signal config
* Update tests and examples
* Fix enable_from_gpio value
* Access signals from pin drivers
* DummyPin is not a pin
* Remove redundant public fns
* Various fixes, rename ErasedPin
* Changelog
* rustfmt
* Update i8080
* Typos and endless recursion
* Drop Pin suffix from traits
* Extract AF conversion
* Touch up changelog
* Clean up spi tests
* Refactor pull resistor handling
* Don't disable configured output functionality
* Clean up TODO
* Tweak docs
* Clean up examples
* Remove type erased gpio structs
* Implement Peripheral for ErasedPin
* Simpler type erasing, accept ErasedPin in pin drivers, remove type erased drivers
* Reformulate pin drivers using Flex
* Erase gpio types by default
* Accept any pin in AnyPin
* Add changelog and migration guide
* Fix tests and examples
* Undo rename of clone_unchecked
* i2c hil test
* pin
* fmt
* Test
* WIP (gpio test left)
* Finalize the CODE part (to be cleaned up)
fmt
* Smaller cleanup
* cleanup
* rebase
* fix
* getting last chips ready
* Addressing reviews
* Rework hal initialization
* Turn sw interrupt control into a virtual peripheral
* Return a tuple instead of a named struct
* Fix docs
* Remove SystemClockControl
* Move software interrupts under interrupt
* Re-document what's left in system
* Update time docs
* Update sw int docs
* Introduce Config
* Fix tests
* Remove redundant inits
* Doc
* Clean up examples&tests
* Update tests
* Add changelog entry
* Start migration guide
* Restore some convenience-imports
* Remove Config from prelude
Making these available straight from `gpio` aligns it with other Embassy
implementations (mainly nrf and stm32).
Signed-off-by: Priit Laes <plaes@plaes.org>
* Use the peripheral ref pattern for `OneShotTimer` and `PeriodicTimer`
* Update tests and examples to reflect changes in timer API
* Update `CHANGELOG.md`
* Extract embassy support into `esp-hal-embassy` package
* Update relevant packages/examples/tests to get CI green again
* Add back `defmt` support
* Re-export `Executor` and `InterruptExecutor` rather than making `executor` module public
* Document the `esp-hal-embassy` package
* Update `CHANGELOG.md`
* Hack together a "fix" for the `SYSTIMER` time driver
* Make `clippy` shut up
* Remove interrupt and thread executor embassy features
* Reserve sw interrupt 3 (4) instead of 0 for multicore systems with the embassy feature enabled
* Remove uneeded #[feature()] from examples
* Fix HIL tests
* Add thread mode context id and fix up examples
* improve embassy module docs
* changelog
* fixup hil tests
* Fixup usb examples