From 7aea3459a91418d535c297f19d11429298a6a99b Mon Sep 17 00:00:00 2001 From: Henry Bruce Date: Wed, 19 Nov 2014 16:55:48 -0800 Subject: [PATCH] pwm.c: Must write period before duty_cycle to avoid sysfs error Signed-off-by: Henry Bruce --- src/pwm/pwm.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/pwm/pwm.c b/src/pwm/pwm.c index 7cefbfc..313db77 100644 --- a/src/pwm/pwm.c +++ b/src/pwm/pwm.c @@ -386,15 +386,15 @@ mraa_pwm_config_ms(mraa_pwm_context dev, int ms ,float ms_float) int old_dutycycle, old_period, status; old_dutycycle = mraa_pwm_read_duty(dev); old_period = mraa_pwm_read_period(dev); - status = mraa_pwm_write_duty(dev, 0); - if (status != MRAA_SUCCESS) { - return status; - } status = mraa_pwm_period_us(dev, ms*1000); if (status != MRAA_SUCCESS) { mraa_pwm_write_duty(dev, old_dutycycle); return status; } + status = mraa_pwm_write_duty(dev, 0); + if (status != MRAA_SUCCESS) { + return status; + } status = mraa_pwm_pulsewidth_us(dev, ms_float*1000); if (status != MRAA_SUCCESS) { mraa_pwm_write_duty(dev, old_dutycycle); @@ -410,15 +410,15 @@ mraa_pwm_config_percent(mraa_pwm_context dev, int ms ,float percentage) int old_dutycycle, old_period, status; old_dutycycle = mraa_pwm_read_duty(dev); old_period = mraa_pwm_read_period(dev); - status = mraa_pwm_write_duty(dev, 0); - if (status != MRAA_SUCCESS) { - return status; - } status = mraa_pwm_period_us(dev, ms*1000); if (status != MRAA_SUCCESS) { mraa_pwm_write_duty(dev, old_dutycycle); return status; } + status = mraa_pwm_write_duty(dev, 0); + if (status != MRAA_SUCCESS) { + return status; + } status = mraa_pwm_pulsewidth_us(dev, (ms*1000)*percentage); if (status != MRAA_SUCCESS) { mraa_pwm_write_duty(dev, old_dutycycle);