aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--embassy-usb-dfu/CHANGELOG.md2
-rw-r--r--embassy-usb-dfu/src/dfu.rs8
2 files changed, 9 insertions, 1 deletions
diff --git a/embassy-usb-dfu/CHANGELOG.md b/embassy-usb-dfu/CHANGELOG.md
index 466eff211..7e5adb1f2 100644
--- a/embassy-usb-dfu/CHANGELOG.md
+++ b/embassy-usb-dfu/CHANGELOG.md
@@ -8,6 +8,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
8<!-- next-header --> 8<!-- next-header -->
9## Unreleased - ReleaseDate 9## Unreleased - ReleaseDate
10 10
11- changed: Do not reset in the GetStatus request
12
11## 0.2.0 - 2025-08-27 13## 0.2.0 - 2025-08-27
12 14
13- First release with changelog. 15- First release with changelog.
diff --git a/embassy-usb-dfu/src/dfu.rs b/embassy-usb-dfu/src/dfu.rs
index 9a2f125fb..3a390a37a 100644
--- a/embassy-usb-dfu/src/dfu.rs
+++ b/embassy-usb-dfu/src/dfu.rs
@@ -182,7 +182,7 @@ impl<'d, DFU: NorFlash, STATE: NorFlash, RST: Reset, const BLOCK_SIZE: usize> Ha
182 Ok(Request::GetStatus) => { 182 Ok(Request::GetStatus) => {
183 match self.state { 183 match self.state {
184 State::DlSync => self.state = State::Download, 184 State::DlSync => self.state = State::Download,
185 State::ManifestSync => self.reset.sys_reset(), 185 State::ManifestSync => self.state = State::ManifestWaitReset,
186 _ => {} 186 _ => {}
187 } 187 }
188 188
@@ -201,6 +201,12 @@ impl<'d, DFU: NorFlash, STATE: NorFlash, RST: Reset, const BLOCK_SIZE: usize> Ha
201 _ => None, 201 _ => None,
202 } 202 }
203 } 203 }
204
205 fn reset(&mut self) {
206 if matches!(self.state, State::ManifestSync | State::ManifestWaitReset) {
207 self.reset.sys_reset()
208 }
209 }
204} 210}
205 211
206/// An implementation of the USB DFU 1.1 protocol 212/// An implementation of the USB DFU 1.1 protocol