| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
| |
this doesn't cover every `struct` & co. in `embassy-rp`, but at least it
adds those needed for `Adc` and `adc::Channel`.
|
| | |
|
| |
|
|
|
|
| |
Fix soundness issue introduced in a previous soundness fix https://github.com/embassy-rs/embassy/pull/2602 .
PeripheralRef must not implement DerefMut itself, but the blanket impl must still require DerefMut. Otherwise
you can create two instances of a driver on the same uart by using `&my_uart`.
|
| |
|
|
|
|
|
|
|
| |
if you have `PeripheralRef<'a, AnyPIn>` for pin A, and `AnyPin` (owned) for pin B, you can `mem::swap` them.
so, getting access forever to pin A, just by "sacrificing" pin B
this defeats the point of PeripheralRef, which is if you got a `PeripheralRef<'a, T>` then you're only allowed to use the peripheral for `'a`.
Also some drivers rely on the fact only one instance of a singleton exists for soundness, so this is a soundness fix for those.
|
| |
|
|
|
| |
* Make some fields and functions non-public where possible.
* Enable doc warnings for missing public API docs.
|
|
|
internal use only. (#1700)
|