963: Remove some uses of the `futures` crate r=Dirbaio a=Dirbaio
- use `Future` from `core`
- `poll_fn` is now stable in `core` since Rust 1.64 (out today)
- Use `join` from `embassy-futures`.
Co-authored-by: Dario Nieuwenhuis <dirbaio@dirbaio.net>
949: (embassy-rp): Implement RealTimeClock r=lulf a=MathiasKoch
Basically a 1:1 port of the great implementation effort made by `rp-hal`
Co-authored-by: Mathias <mk@blackbird.online>
957: Take into account size of revert index r=lulf a=lulf
Fixes a bug in the partition assertions that ensures that the state page(s) have enough space for 2x active partition range.
Add unit test to verify that panic is observed.
Co-authored-by: Ulf Lilleengen <ulf.lilleengen@gmail.com>
Fixes a bug in the partition assertions that ensures that the state
page(s) have enough space for 2x active partition range.
Add unit test to verify that panic is observed.
956: Remove BootFlash borrow r=lulf a=lulf
Compiler will infer a different lifetime for BootFlash than for the borrowed flash, which makes it require more type annotations than if it was just owning the type. Since it doesn't really matter if it owns or borrows in practical use, change it to own so that it simplifies usage.
Co-authored-by: Ulf Lilleengen <ulf.lilleengen@gmail.com>
Compiler will infer a different lifetime for BootFlash than for the
borrowed flash, which makes it require more type annotations than if it
was just owning the type. Since it doesn't really matter if it owns or
borrows in practical use, change it to own so that it simplifies usage.
950: Add .into_inner() and .get_mut() to Mutex r=Dirbaio a=hulthe
Similar to the methods on std Mutex, these methods allow accessing the underlying data without locking the mutex when you have exclusive access to it.
Co-authored-by: Joakim Hulthe <joakim@hulthe.net>
948: (embassy-stm32): make `State::new()` const, consistent with others r=Dirbaio a=FrozenDroid
Co-authored-by: Vincent Stakenburg <v.stakenburg@sinewave.nl>
946: sync/signal: wake old waker on overflow instead of panicking. r=Dirbaio a=Dirbaio
This makes behavior consistent with `WakerRegistration`. It allows canceling `wait` in one task and then calling `wait` in another. If two tasks are `wait`ing concurrently the signal will be received by only one of them, randomly.
Co-authored-by: Dario Nieuwenhuis <dirbaio@dirbaio.net>
This makes behavior consistent with `WakerRegistration`. It allows canceling `wait`
in one task and then calling `wait` in another. If two tasks are `wait`ing
concurrently the signal will be received by only one of them, randomly.
This commit add two constants and updates the comment about ALP.
It was not easy to find the definition of ALP but after searching I
found what I believe is the correct definition in section 3.3 "Clocks"
in the referenced document below.
Active Low Power (ALP):
Supplied by an internal or external oscillator. This clock is
requested by cores when accessing backplane registers in other cores
or when performing minor computations. When an external crystal is
used to provide reference clock, ALP clock frequency is determined by
the frequency of the external oscillator. A 37.4 MHz reference clock
is recommended.
Refs:
https://www.infineon.com/dgdl/Infineon-AN214828_Power_Consumption_Measurements-ApplicationNotes-v03_00-EN.pdf?fileId=8ac78c8c7cdc391c017d0d2803a4630d