* Hide most of the unstable peripherals
* Lint with correct toolchain, lint with unstable enabled
* Require unstable feature and lint using it
* Auto-lint xtensas with esp toolchain
* Fix msrv and ieee802154
* Add feature to examples
* Don't require building ieee802154 for all examples
* Mark modules in documentation
* added dhcp to access point example, also GW IP is configure from environment as shown in Cargo.toml
* changelog entry
* Revert "changelog entry"
This reverts commit 3412d1c1948e42789f0dc2ec2d46ac3c23c879ac.
* default gateway IP in case env IP isn't provided
* dhcp server runs in a loop so that it will restart on an error
* 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`
* feat(esp-alloc): Add heap usage stats and provide `esp_alloc::get_info!()` macro
* refactor(esp-alloc): Feature gate internal memory usage that requires extra computation.
- Introduce the `internal-heap-stats` feature for `esp-alloc`.
- Add `esp_alloc::get_info!()` to `psram_quad` example to show usage and
ensure coverage of the feature in tests.
* refactor(esp-alloc): Remove `get_info!()` macro in favour of documenting `HEAP.stats()`
* Implement defmt::Format for HeapStats and RegionStats
* rustfmt
* show usage percent + move bar drawing logic to separate functions
* update doc comments
* Fixed a typo in qa-test/src/bin/psram_quad.rs
Co-authored-by: Scott Mabin <scott@mabez.dev>
* minor improvements to write bar functions
* Aligned the indentation in Cargo.toml
Co-authored-by: Kirill Mikhailov <62840029+playfulFence@users.noreply.github.com>
* Fixed a typo in docs
Co-authored-by: Kirill Mikhailov <62840029+playfulFence@users.noreply.github.com>
* Nitpicking x2
Co-authored-by: Kirill Mikhailov <62840029+playfulFence@users.noreply.github.com>
* Surround a function call with backticks
Co-authored-by: Kirill Mikhailov <62840029+playfulFence@users.noreply.github.com>
* rustfmt
---------
Co-authored-by: Anthony Grondin <104731965+AnthonyGrondin@users.noreply.github.com>
Co-authored-by: Scott Mabin <scott@mabez.dev>
Co-authored-by: Kirill Mikhailov <62840029+playfulFence@users.noreply.github.com>
* 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
* Rewrite time driver
* Don't store priority
* Changelog
* Fix doc example
* Use separate locks for Alarms
* Mention generic queues
* Cache the next wakeup timestamp
* Immediately repoll if timestamp is in the past
* Add benchmark
* Remove equality check for now
* Enable interrupts when allocating the alarm
* Clean up
* Use relaxed ordering
* wut
* Typo
* Move benchmar
* fmt
* WIP
* WIP(1)
* done
* changelog entry
* swint example needs to lose some weight
+ fix psram
* get twai and touch examples back, lcd example to qa, less embassy
* more moving
* move changelog entry
* address reviews
upd: revert "is_not_release" check
* rebase + a bit more changes
remove useless feature
* address review
remove inappropriate doctest tutorial
* get all sleep examples back and to qa-test
fmt
* get rid of some redundant printlns in doctests
* etm timer upd
* make printlns great again
* writeln! -> println!
* clear "timer with interrupts" doctest
* 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
* Review feedback
* changelog and migration
* /unit_count/unit_value/g
* changelog and migration
* /unit_count/unit_value/g
* 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
* Make TimerGroup Timer's dumb and untyped
* changelog
* review
* review
* 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