periphmraa: fix pwm calls to PIO
Signed-off-by: Sanrio Alvares <sanrio.alvares@intel.com> Signed-off-by: Noel Eck <noel.eck@intel.com>
This commit is contained in:
@@ -90,7 +90,6 @@ typedef struct {
|
||||
mraa_result_t (*pwm_init_pre) (int pin);
|
||||
mraa_result_t (*pwm_init_post) (mraa_pwm_context pwm);
|
||||
mraa_result_t (*pwm_period_replace) (mraa_pwm_context dev, int period);
|
||||
mraa_result_t (*pwm_duty_cycle_replace) (mraa_pwm_context dev, int duty_cycle);
|
||||
float (*pwm_read_replace) (mraa_pwm_context dev);
|
||||
mraa_result_t (*pwm_write_replace) (mraa_pwm_context dev, float duty);
|
||||
mraa_result_t (*pwm_write_pre) (mraa_pwm_context dev, float percentage);
|
||||
|
||||
@@ -68,14 +68,16 @@ mraa_pman_pwm_period_replace(mraa_pwm_context dev, int period)
|
||||
}
|
||||
|
||||
static mraa_result_t
|
||||
mraa_pman_pwm_duty_cycle_replace(mraa_pwm_context dev, int duty_cycle)
|
||||
mraa_pman_pwm_write_replace(mraa_pwm_context dev, float duty)
|
||||
{
|
||||
if (!dev) {
|
||||
syslog(LOG_ERR, "pwm: stop: context is NULL");
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (APwm_setDutyCycle(dev->bpwm, duty_cycle) != 0) {
|
||||
// PIO can only take values between 0 <= duty <= 100
|
||||
int d = (int) (duty > 100 ) ? 100 : duty;
|
||||
if (APwm_setDutyCycle(dev->bpwm, d) != 0) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -103,12 +105,6 @@ mraa_pman_pwm_read_replace(mraa_pwm_context dev)
|
||||
return -MRAA_ERROR_FEATURE_NOT_SUPPORTED;
|
||||
}
|
||||
|
||||
static mraa_result_t
|
||||
mraa_pman_pwm_write_replace(mraa_pwm_context dev, float duty)
|
||||
{
|
||||
return -MRAA_ERROR_FEATURE_NOT_SUPPORTED;
|
||||
}
|
||||
|
||||
static mraa_result_t
|
||||
mraa_pman_uart_init_raw_replace(mraa_uart_context dev, const char* path)
|
||||
{
|
||||
@@ -867,7 +863,6 @@ mraa_peripheralman_plat_init()
|
||||
|
||||
b->adv_func->pwm_init_raw_replace = &mraa_pman_pwm_init_raw_replace;
|
||||
b->adv_func->pwm_period_replace = &mraa_pman_pwm_period_replace;
|
||||
b->adv_func->pwm_duty_cycle_replace = &mraa_pman_pwm_duty_cycle_replace;
|
||||
b->adv_func->pwm_enable_replace = &mraa_pman_pwm_enable_replace;
|
||||
b->adv_func->pwm_read_replace = &mraa_pman_pwm_read_replace;
|
||||
b->adv_func->pwm_write_replace = &mraa_pman_pwm_write_replace;
|
||||
|
||||
@@ -269,7 +269,12 @@ mraa_pwm_init(int pin)
|
||||
}
|
||||
return pret;
|
||||
}
|
||||
|
||||
#if defined(PERIPHERALMAN)
|
||||
return mraa_pwm_init_raw(chip, pin);
|
||||
#else
|
||||
return mraa_pwm_init_raw(chip, pinn);
|
||||
#endif
|
||||
}
|
||||
|
||||
mraa_pwm_context
|
||||
|
||||
Reference in New Issue
Block a user