mraa_adv_func.h: Added pwm initialization replace
authorMichael Ring <michael.ring@swisscom.com>
Sat, 21 Feb 2015 15:27:13 +0000 (16:27 +0100)
committerBrendan Le Foll <brendan.le.foll@intel.com>
Sat, 4 Apr 2015 16:29:24 +0000 (17:29 +0100)
current code in pwm does not work for beaglebone src/pwm/pwm.c Implemented
check for pwm_init_replace

Signed-off-by: Michael Ring <mail@michael-ring.org>
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
include/mraa_adv_func.h
src/pwm/pwm.c

index 552ebff..8874e0e 100644 (file)
@@ -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);
index 3070c67..92b20eb 100644 (file)
@@ -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;