Commit bbe1eebc has changed the order of TIM candidates when using the
time-driver-any feature. For instance, in the case of STM32F3, it
previously returned TIM2 but now returns TIM15. Consequently, the
"multiprio" example no longer works as it requires three *free* CC
register (for alarms), while TIM15 provides only one (CC1 is always
reserved for regular time keeping).
This commit was successfully tested on STM32F3. Additionally, I
verified that all the examples using a timer for STM32F0 and STM32F4
still build correctly.
Fixes#2749
This makes rtt output work right when using `cargo run` in release mode.
Debug was already enabled for release builds in some of the examples but
not all.
inline assembly is supported since rust 1.59, we're way past that.
enabling this makes the compiled code more compact, and on rp2040
even decreses memory usage by not needing thunks in sram.
This introduces a `Pender` struct with enum cases for thread-mode, interrupt-mode and
custom callback executors. This avoids calls through function pointers when using only
the thread or interrupt executors. Faster, and friendlier to `cargo-call-stack`.
`embassy-executor` now has `arch-xxx` Cargo features to select the arch and to enable
the builtin executors (thread and interrupt).
It currently contains whoever was first to write some code for the crate,
even if many more people have contributed to it later.
The field is "sort of" deprecated, it was made optional recently:
https://rust-lang.github.io/rfcs/3052-optional-authors-field.html
Due the the reasons listed there I believe removing it is better than
setting it to generic fluff like "The Embassy contributors".