From d0c466e81cb5102b9e8bd89b118f807b4863c517 Mon Sep 17 00:00:00 2001 From: Michael Ring Date: Sat, 21 Feb 2015 16:27:13 +0100 Subject: [PATCH] mraa_adv_func.h: Added pwm initialization replace current code in pwm does not work for beaglebone src/pwm/pwm.c Implemented check for pwm_init_replace Signed-off-by: Michael Ring Signed-off-by: Brendan Le Foll --- include/mraa_adv_func.h | 1 + src/pwm/pwm.c | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/include/mraa_adv_func.h b/include/mraa_adv_func.h index 552ebff..8874e0e 100644 --- a/include/mraa_adv_func.h +++ b/include/mraa_adv_func.h @@ -54,6 +54,7 @@ typedef struct { mraa_result_t (*aio_init_pre) (unsigned int aio); mraa_result_t (*aio_init_post) (mraa_aio_context dev); + mraa_pwm_context (*pwm_init_replace) (int pin); 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); diff --git a/src/pwm/pwm.c b/src/pwm/pwm.c index 3070c67..92b20eb 100644 --- a/src/pwm/pwm.c +++ b/src/pwm/pwm.c @@ -161,6 +161,10 @@ mraa_pwm_read_duty(mraa_pwm_context dev) mraa_pwm_context mraa_pwm_init(int pin) { + if (advance_func->pwm_init_replace != NULL) { + return advance_func->pwm_init_replace(pin); + } + if (advance_func->pwm_init_pre != NULL) { if (advance_func->pwm_init_pre(pin) != MRAA_SUCCESS) return NULL;