From 0f322c1d4ef341c3468ff291fca740bcdae3fa48 Mon Sep 17 00:00:00 2001 From: Jacob Rosenthal Date: Fri, 12 Nov 2021 08:55:20 -0700 Subject: [PATCH] fix set_duty ptr write --- embassy-nrf/src/pwm.rs | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/embassy-nrf/src/pwm.rs b/embassy-nrf/src/pwm.rs index 3301093f5..90cdf69c6 100644 --- a/embassy-nrf/src/pwm.rs +++ b/embassy-nrf/src/pwm.rs @@ -438,6 +438,11 @@ impl<'d, T: Instance> SimplePwm<'d, T> { self.duty[channel] = duty & 0x7FFF; + // reload ptr in case self was moved + r.seq0 + .ptr + .write(|w| unsafe { w.bits((&self.duty).as_ptr() as u32) }); + // defensive before seqstart compiler_fence(Ordering::SeqCst);