* 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
* 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>
* Teach `xtask` about the `qa-test` package
* Create the `qa-test` package and move some examples to it
* Check `qa-test` package in CI
* Add `README.md`