pwm.c: Must write period before duty_cycle to avoid sysfs error
Signed-off-by: Henry Bruce <henry.bruce@intel.com>
This commit is contained in:
committed by
Thomas Ingleby
parent
41bbc0b86b
commit
7aea3459a9
@@ -386,15 +386,15 @@ mraa_pwm_config_ms(mraa_pwm_context dev, int ms ,float ms_float)
|
|||||||
int old_dutycycle, old_period, status;
|
int old_dutycycle, old_period, status;
|
||||||
old_dutycycle = mraa_pwm_read_duty(dev);
|
old_dutycycle = mraa_pwm_read_duty(dev);
|
||||||
old_period = mraa_pwm_read_period(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);
|
status = mraa_pwm_period_us(dev, ms*1000);
|
||||||
if (status != MRAA_SUCCESS) {
|
if (status != MRAA_SUCCESS) {
|
||||||
mraa_pwm_write_duty(dev, old_dutycycle);
|
mraa_pwm_write_duty(dev, old_dutycycle);
|
||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
|
status = mraa_pwm_write_duty(dev, 0);
|
||||||
|
if (status != MRAA_SUCCESS) {
|
||||||
|
return status;
|
||||||
|
}
|
||||||
status = mraa_pwm_pulsewidth_us(dev, ms_float*1000);
|
status = mraa_pwm_pulsewidth_us(dev, ms_float*1000);
|
||||||
if (status != MRAA_SUCCESS) {
|
if (status != MRAA_SUCCESS) {
|
||||||
mraa_pwm_write_duty(dev, old_dutycycle);
|
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;
|
int old_dutycycle, old_period, status;
|
||||||
old_dutycycle = mraa_pwm_read_duty(dev);
|
old_dutycycle = mraa_pwm_read_duty(dev);
|
||||||
old_period = mraa_pwm_read_period(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);
|
status = mraa_pwm_period_us(dev, ms*1000);
|
||||||
if (status != MRAA_SUCCESS) {
|
if (status != MRAA_SUCCESS) {
|
||||||
mraa_pwm_write_duty(dev, old_dutycycle);
|
mraa_pwm_write_duty(dev, old_dutycycle);
|
||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
|
status = mraa_pwm_write_duty(dev, 0);
|
||||||
|
if (status != MRAA_SUCCESS) {
|
||||||
|
return status;
|
||||||
|
}
|
||||||
status = mraa_pwm_pulsewidth_us(dev, (ms*1000)*percentage);
|
status = mraa_pwm_pulsewidth_us(dev, (ms*1000)*percentage);
|
||||||
if (status != MRAA_SUCCESS) {
|
if (status != MRAA_SUCCESS) {
|
||||||
mraa_pwm_write_duty(dev, old_dutycycle);
|
mraa_pwm_write_duty(dev, old_dutycycle);
|
||||||
|
|||||||
Reference in New Issue
Block a user