asynchronous/embassy: Introduce separate interrupt receiver struct#100
asynchronous/embassy: Introduce separate interrupt receiver struct#100RobertZ2011 wants to merge 2 commits intoOpenDevicePartnership:v0.2.0from
Conversation
6b4878d to
6957b14
Compare
Cargo Vet Audit Passed
|
There was a problem hiding this comment.
Pull request overview
Refactors the Embassy async interrupt handling by splitting interrupt processing and interrupt waiting into dedicated types, and updates examples/MSRV accordingly.
Changes:
- Extracted interrupt logic into a new
src/asynchronous/embassy/interrupt.rsmodule withInterruptProcessorandInterruptReceiver. - Updated Embassy controller/task APIs and examples to use
InterruptProcessor, and introducedcreate_interrupt_receiver()for waiting on interrupts. - Bumped MSRV to Rust 1.90, updated CI MSRV check, and added
embassy-futuresfor yielding support.
Reviewed changes
Copilot reviewed 4 out of 8 changed files in this pull request and generated 8 comments.
Show a summary per file
| File | Description |
|---|---|
| src/asynchronous/embassy/task.rs | Updates interrupt task to operate on InterruptProcessor instances. |
| src/asynchronous/embassy/mod.rs | Replaces old Interrupt type with InterruptProcessor, adds create_interrupt_receiver(), and adjusts command waiting. |
| src/asynchronous/embassy/interrupt.rs | New module containing interrupt processing, guarded interrupt enable, and interrupt receiving/waiting logic + tests. |
| examples/rt685s-evk/src/bin/plug_status.rs | Uses InterruptProcessor for the IRQ task and InterruptReceiver for waiting on plug events. |
| examples/rt685s-evk/src/bin/fw_update.rs | Updates IRQ task to accept InterruptProcessor. |
| examples/rt685s-evk/Cargo.lock | Dependency lock updates (Embassy ecosystem + related crates). |
| examples/rt685s-evk/.cargo/config.toml | Changes default DEFMT_LOG level to trace. |
| Cargo.toml | Bumps rust-version to 1.90 and adds optional embassy-futures under the embassy feature. |
| Cargo.lock | Adds embassy-futures to the lockfile. |
| .github/workflows/check.yml | Updates the MSRV matrix to 1.90. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
6957b14 to
d0fbd17
Compare
d0fbd17 to
16ed82c
Compare
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 4 out of 8 changed files in this pull request and generated 2 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
16ed82c to
4f79808
Compare
4f79808 to
d14af70
Compare
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 3 out of 6 changed files in this pull request and generated 1 comment.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
d14af70 to
2922d62
Compare
2922d62 to
f0bbe0b
Compare
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 3 out of 5 changed files in this pull request and generated 2 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Create a struct to allow waiting for interrupts without needing to block the core controller object. Move interrupt related code into its own module.
f0bbe0b to
8c69db3
Compare
89bd606 to
70947c9
Compare
Create a struct to allow waiting for interrupts without needing to block the core controller object. Move interrupt related code into its own module.