From dee0a30e16e3d4d9725eb16f7205cb1dfa1063cd Mon Sep 17 00:00:00 2001 From: Lorenz Meier Date: Tue, 26 Feb 2013 21:27:33 +0100 Subject: [PATCH] Hotfix: ensure PWM output on IO and FMU stops when disarming --- apps/drivers/stm32/drv_pwm_servo.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/apps/drivers/stm32/drv_pwm_servo.c b/apps/drivers/stm32/drv_pwm_servo.c index 954b458f59..2b8641f002 100644 --- a/apps/drivers/stm32/drv_pwm_servo.c +++ b/apps/drivers/stm32/drv_pwm_servo.c @@ -299,8 +299,12 @@ up_pwm_servo_arm(bool armed) rCR1(i) |= GTIM_CR1_CEN | GTIM_CR1_ARPE; } else { - /* on disarm, just stop auto-reload so we don't generate runts */ - rCR1(i) &= ~GTIM_CR1_ARPE; + // XXX This leads to FMU PWM being still active + // but uncontrollable. Just disable the timer + // and risk a runt. + ///* on disarm, just stop auto-reload so we don't generate runts */ + //rCR1(i) &= ~GTIM_CR1_ARPE; + rCR1(i) = 0; } } }