<feed xmlns='http://www.w3.org/2005/Atom'>
<title>embassy/embassy-hal-internal/src/peripheral.rs, branch fix-input-sync-bypass</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<link rel='alternate' type='text/html' href='http://git.d464.sh/rust/embassy/'/>
<entry>
<title>rp: add missing `Debug` and `defmt::Format` `derive`s for ADC</title>
<updated>2025-05-15T16:38:04+00:00</updated>
<author>
<name>Ralph Ursprung</name>
<email>ralph.ursprung@gmail.com</email>
</author>
<published>2025-05-15T15:29:23+00:00</published>
<link rel='alternate' type='text/html' href='http://git.d464.sh/rust/embassy/commit/?id=4a089fe2455f22f956455548816fcd96735e38d8'/>
<id>4a089fe2455f22f956455548816fcd96735e38d8</id>
<content type='text'>
this doesn't cover every `struct` &amp; co. in `embassy-rp`, but at least it
adds those needed for `Adc` and `adc::Channel`.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
this doesn't cover every `struct` &amp; co. in `embassy-rp`, but at least it
adds those needed for `Adc` and `adc::Channel`.
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove Peripheral trait, rename PeripheralRef-&gt;Peri.</title>
<updated>2025-03-27T14:18:06+00:00</updated>
<author>
<name>Dario Nieuwenhuis</name>
<email>dirbaio@dirbaio.net</email>
</author>
<published>2025-03-26T15:01:37+00:00</published>
<link rel='alternate' type='text/html' href='http://git.d464.sh/rust/embassy/commit/?id=d41eeeae79388f219bf6a84e2f7bde9f6b532516'/>
<id>d41eeeae79388f219bf6a84e2f7bde9f6b532516</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix PeripheralRef soundness issue allowing &amp;T.</title>
<updated>2024-05-07T21:26:15+00:00</updated>
<author>
<name>Dario Nieuwenhuis</name>
<email>dirbaio@dirbaio.net</email>
</author>
<published>2024-05-07T21:21:55+00:00</published>
<link rel='alternate' type='text/html' href='http://git.d464.sh/rust/embassy/commit/?id=b13ad7e80bed802468aac2d876d372c1bcde565c'/>
<id>b13ad7e80bed802468aac2d876d372c1bcde565c</id>
<content type='text'>
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 `&amp;my_uart`.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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 `&amp;my_uart`.
</pre>
</div>
</content>
</entry>
<entry>
<title>hal-internal: remove impl DerefMut for PeripheralRef.</title>
<updated>2024-02-20T00:02:15+00:00</updated>
<author>
<name>Dario Nieuwenhuis</name>
<email>dirbaio@dirbaio.net</email>
</author>
<published>2024-02-20T00:02:15+00:00</published>
<link rel='alternate' type='text/html' href='http://git.d464.sh/rust/embassy/commit/?id=e8474426d8c0ca60ac222845b9c6f7befe3f6a4a'/>
<id>e8474426d8c0ca60ac222845b9c6f7befe3f6a4a</id>
<content type='text'>
if you have `PeripheralRef&lt;'a, AnyPIn&gt;` 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&lt;'a, T&gt;` 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.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
if you have `PeripheralRef&lt;'a, AnyPIn&gt;` 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&lt;'a, T&gt;` 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.
</pre>
</div>
</content>
</entry>
<entry>
<title>docs: document all public apis of embedded-hal-internal</title>
<updated>2023-12-08T21:37:39+00:00</updated>
<author>
<name>Ulf Lilleengen</name>
<email>ulf.lilleengen@gmail.com</email>
</author>
<published>2023-12-08T19:42:52+00:00</published>
<link rel='alternate' type='text/html' href='http://git.d464.sh/rust/embassy/commit/?id=02b7a833d9855bd1db9665b8e9f311f0db93c156'/>
<id>02b7a833d9855bd1db9665b8e9f311f0db93c156</id>
<content type='text'>
* Make some fields and functions non-public where possible.
* Enable doc warnings for missing public API docs.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Make some fields and functions non-public where possible.
* Enable doc warnings for missing public API docs.
</pre>
</div>
</content>
</entry>
<entry>
<title>Rename embassy-hal-common to embassy-hal-internal, document it's for internal use only. (#1700)</title>
<updated>2023-07-28T11:23:22+00:00</updated>
<author>
<name>Dario Nieuwenhuis</name>
<email>dirbaio@dirbaio.net</email>
</author>
<published>2023-07-28T11:23:22+00:00</published>
<link rel='alternate' type='text/html' href='http://git.d464.sh/rust/embassy/commit/?id=036e6ae30c9e772ef8ef20439f121e108b9106f0'/>
<id>036e6ae30c9e772ef8ef20439f121e108b9106f0</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
