<feed xmlns='http://www.w3.org/2005/Atom'>
<title>embassy/embassy-executor/src/arch/spin.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>Rustfmt for edition 2024.</title>
<updated>2025-10-06T21:19:53+00:00</updated>
<author>
<name>Dario Nieuwenhuis</name>
<email>dirbaio@dirbaio.net</email>
</author>
<published>2025-10-06T20:56:31+00:00</published>
<link rel='alternate' type='text/html' href='http://git.d464.sh/rust/embassy/commit/?id=8730a013c395cf0bf4c2fa8eeb7f138288103039'/>
<id>8730a013c395cf0bf4c2fa8eeb7f138288103039</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Edition 2024.</title>
<updated>2025-10-06T21:19:53+00:00</updated>
<author>
<name>Dario Nieuwenhuis</name>
<email>dirbaio@dirbaio.net</email>
</author>
<published>2025-10-06T20:55:38+00:00</published>
<link rel='alternate' type='text/html' href='http://git.d464.sh/rust/embassy/commit/?id=abc8e450f936567ad42cb34b5d2a7941b206aa5d'/>
<id>abc8e450f936567ad42cb34b5d2a7941b206aa5d</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Refactor integrated-timers</title>
<updated>2024-12-10T20:31:42+00:00</updated>
<author>
<name>Dániel Buga</name>
<email>bugadani@gmail.com</email>
</author>
<published>2024-11-26T22:54:21+00:00</published>
<link rel='alternate' type='text/html' href='http://git.d464.sh/rust/embassy/commit/?id=5a5495aac43d75610735f2ca80fb6c8e8f31ed71'/>
<id>5a5495aac43d75610735f2ca80fb6c8e8f31ed71</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Add initialize</title>
<updated>2024-11-19T15:25:17+00:00</updated>
<author>
<name>Dániel Buga</name>
<email>bugadani@gmail.com</email>
</author>
<published>2024-11-19T14:59:31+00:00</published>
<link rel='alternate' type='text/html' href='http://git.d464.sh/rust/embassy/commit/?id=8ebe059ecb311ee949f92dde33f2cb8d972b0f7b'/>
<id>8ebe059ecb311ee949f92dde33f2cb8d972b0f7b</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>executor/spin: introduce an architecture agnostic executor</title>
<updated>2024-10-07T06:33:34+00:00</updated>
<author>
<name>Dummyc0m</name>
<email>xieyuanchu@gmail.com</email>
</author>
<published>2024-10-07T06:23:33+00:00</published>
<link rel='alternate' type='text/html' href='http://git.d464.sh/rust/embassy/commit/?id=9e6e09a8d747ec90aae215df8471dfe349993487'/>
<id>9e6e09a8d747ec90aae215df8471dfe349993487</id>
<content type='text'>
Spin polls the raw executor and never sleeps. It is useful for disabling
any power features associated with wfi/wfe-like instructions.

When implementing support for the CH32V30x MCU, the wfi instruction
had issues interacting with the USB OTG peripheral and appeared to be
non-spec-compliant.

1. When sending a USB Data-in packet, the USB peripheral appears to be
unable to read the system main memory while in WFI. This manifests in
the USB peripheral sending all or partially zeroed DATA packets.
Disabling WFI works around this issue.

2. The WFI instruction does not wake up the processor when MIE is
disabled. The MCU provides a WFITOWFE bit to emulate the WFE instruction
on arm, which, when enabled, ignores the MIE and allows the processor to
wake up. This works around the non-compliant WFI implementation.

Co-authored-by: Codetector &lt;codetector@codetector.org&gt;
Co-authored-by: Dummyc0m &lt;y@types.moe&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Spin polls the raw executor and never sleeps. It is useful for disabling
any power features associated with wfi/wfe-like instructions.

When implementing support for the CH32V30x MCU, the wfi instruction
had issues interacting with the USB OTG peripheral and appeared to be
non-spec-compliant.

1. When sending a USB Data-in packet, the USB peripheral appears to be
unable to read the system main memory while in WFI. This manifests in
the USB peripheral sending all or partially zeroed DATA packets.
Disabling WFI works around this issue.

2. The WFI instruction does not wake up the processor when MIE is
disabled. The MCU provides a WFITOWFE bit to emulate the WFE instruction
on arm, which, when enabled, ignores the MIE and allows the processor to
wake up. This works around the non-compliant WFI implementation.

Co-authored-by: Codetector &lt;codetector@codetector.org&gt;
Co-authored-by: Dummyc0m &lt;y@types.moe&gt;
</pre>
</div>
</content>
</entry>
</feed>
