<feed xmlns='http://www.w3.org/2005/Atom'>
<title>embassy/embassy-hal-common/src, branch main</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>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>
<entry>
<title>hal-common: require DerefMut for peripherals, not just Deref.</title>
<updated>2023-07-02T20:16:01+00:00</updated>
<author>
<name>Dario Nieuwenhuis</name>
<email>dirbaio@dirbaio.net</email>
</author>
<published>2023-07-02T20:07:20+00:00</published>
<link rel='alternate' type='text/html' href='http://git.d464.sh/rust/embassy/commit/?id=c9b9be5b819911aaf809df9b55be7e7efa3a1fba'/>
<id>c9b9be5b819911aaf809df9b55be7e7efa3a1fba</id>
<content type='text'>
Otherwise you can create multiple drivers on the same singleton like this:

```rust
let mut input = Input::new(&amp;pin, Pull::None);
let mut output = Output::new(&amp;pin, Level::Low, Speed::Low);
input.is_high();
output.set_high();
input.is_high();
output.set_high();
```

Thanks @pennae for reporting.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Otherwise you can create multiple drivers on the same singleton like this:

```rust
let mut input = Input::new(&amp;pin, Pull::None);
let mut output = Output::new(&amp;pin, Level::Low, Speed::Low);
input.is_high();
output.set_high();
input.is_high();
output.set_high();
```

Thanks @pennae for reporting.
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove embassy-cortex-m crate, move stuff to embassy-hal-common.</title>
<updated>2023-06-09T14:44:20+00:00</updated>
<author>
<name>Dario Nieuwenhuis</name>
<email>dirbaio@dirbaio.net</email>
</author>
<published>2023-06-09T14:14:13+00:00</published>
<link rel='alternate' type='text/html' href='http://git.d464.sh/rust/embassy/commit/?id=98c821ac39c65903057c2d8ed320d1616e9f23ae'/>
<id>98c821ac39c65903057c2d8ed320d1616e9f23ae</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix tests.</title>
<updated>2023-05-29T17:46:28+00:00</updated>
<author>
<name>Dario Nieuwenhuis</name>
<email>dirbaio@dirbaio.net</email>
</author>
<published>2023-05-29T17:46:28+00:00</published>
<link rel='alternate' type='text/html' href='http://git.d464.sh/rust/embassy/commit/?id=46961cfdf72a3b5d54b241a41d9f2496c6dc6229'/>
<id>46961cfdf72a3b5d54b241a41d9f2496c6dc6229</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix some typos</title>
<updated>2023-05-08T21:25:01+00:00</updated>
<author>
<name>Dirk Stolle</name>
<email>striezel-dev@web.de</email>
</author>
<published>2023-05-08T21:25:01+00:00</published>
<link rel='alternate' type='text/html' href='http://git.d464.sh/rust/embassy/commit/?id=0584312ef0324d2ac67dbb9517176fabf628eec9'/>
<id>0584312ef0324d2ac67dbb9517176fabf628eec9</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>stm32: remove TIMX singleton when used on timer driver</title>
<updated>2023-04-16T22:47:25+00:00</updated>
<author>
<name>xoviat</name>
<email>xoviat@users.noreply.github.com</email>
</author>
<published>2023-04-16T22:47:25+00:00</published>
<link rel='alternate' type='text/html' href='http://git.d464.sh/rust/embassy/commit/?id=776e001b5befc50ff409b5cd8252bbb61fbb5acc'/>
<id>776e001b5befc50ff409b5cd8252bbb61fbb5acc</id>
<content type='text'>
fixes #1316.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
fixes #1316.
</pre>
</div>
</content>
</entry>
<entry>
<title>common/peripheral: do not require mut in PeripheralRef clone_unchecked.</title>
<updated>2023-04-11T21:09:02+00:00</updated>
<author>
<name>Dario Nieuwenhuis</name>
<email>dirbaio@dirbaio.net</email>
</author>
<published>2023-04-11T21:00:14+00:00</published>
<link rel='alternate' type='text/html' href='http://git.d464.sh/rust/embassy/commit/?id=9a677ab618aa7a7612cd079b77d3240bdb02fdac'/>
<id>9a677ab618aa7a7612cd079b77d3240bdb02fdac</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Add must_use to OnDrop</title>
<updated>2023-03-17T10:40:19+00:00</updated>
<author>
<name>Rasmus Melchior Jacobsen</name>
<email>rmja@laesoe.org</email>
</author>
<published>2023-03-17T10:40:19+00:00</published>
<link rel='alternate' type='text/html' href='http://git.d464.sh/rust/embassy/commit/?id=7be385dbb182a2bdafa286e4eb214bfea0190342'/>
<id>7be385dbb182a2bdafa286e4eb214bfea0190342</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>hal-common/atomic_ring_buffer: add push_bufs() push_slices()</title>
<updated>2023-03-02T03:11:49+00:00</updated>
<author>
<name>Patrick Oppenlander</name>
<email>patrick.oppenlander@gmail.com</email>
</author>
<published>2023-02-07T03:49:44+00:00</published>
<link rel='alternate' type='text/html' href='http://git.d464.sh/rust/embassy/commit/?id=78974dfeb4db4a36bf9478397fd65370eb1dcf0c'/>
<id>78974dfeb4db4a36bf9478397fd65370eb1dcf0c</id>
<content type='text'>
This allows a writer to access all of the free space in the buffer, even
when it's wrapping around.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This allows a writer to access all of the free space in the buffer, even
when it's wrapping around.
</pre>
</div>
</content>
</entry>
<entry>
<title>common: allow atomic ringbuf to fill up to N instead of just N-1.</title>
<updated>2023-03-02T00:01:19+00:00</updated>
<author>
<name>Dario Nieuwenhuis</name>
<email>dirbaio@dirbaio.net</email>
</author>
<published>2023-03-01T23:57:54+00:00</published>
<link rel='alternate' type='text/html' href='http://git.d464.sh/rust/embassy/commit/?id=f95aafc90e365bbdd243c0ed5069ff23abfa8be4'/>
<id>f95aafc90e365bbdd243c0ed5069ff23abfa8be4</id>
<content type='text'>
This allows the ringbuf to be filled up to `N` instead of just `N-1`, using some fun tricks on the indices.

The advantage is better performance: Before, the first write would fill N-1 bytes, The second would write just the 1 byte left before wrapping, then N-2. Then 2, then N-3, and so on. This would result in more smaller chunks, so worse perf. This problem is gone now.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This allows the ringbuf to be filled up to `N` instead of just `N-1`, using some fun tricks on the indices.

The advantage is better performance: Before, the first write would fill N-1 bytes, The second would write just the 1 byte left before wrapping, then N-2. Then 2, then N-3, and so on. This would result in more smaller chunks, so worse perf. This problem is gone now.
</pre>
</div>
</content>
</entry>
</feed>
