From 319b0fe3d78c60aa123a8cbdfac850d61f1478b0 Mon Sep 17 00:00:00 2001 From: Martin Marmsoler <martin.marmsoler@gmail.com> Date: Sat, 27 Jan 2024 18:20:53 +0100 Subject: [PATCH] Do not wait when the pwm is disabled Reason: because in this case no seqend event is raised and therefore an infinity loop occurs --- embassy-nrf/src/pwm.rs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/embassy-nrf/src/pwm.rs b/embassy-nrf/src/pwm.rs index 90aeb09c0..e0583b770 100644 --- a/embassy-nrf/src/pwm.rs +++ b/embassy-nrf/src/pwm.rs @@ -760,7 +760,9 @@ impl<'d, T: Instance> SimplePwm<'d, T> { // defensive wait until waveform is loaded after seqstart so set_duty // can't be called again while dma is still reading - while r.events_seqend[0].read().bits() == 0 {} + if self.is_enabled() { + while r.events_seqend[0].read().bits() == 0 {} + } } /// Sets the PWM clock prescaler.