pwm: add calls for getting PWM max and min period
authorThomas Ingleby <thomas.c.ingleby@intel.com>
Tue, 24 Mar 2015 16:48:06 +0000 (16:48 +0000)
committerThomas Ingleby <thomas.c.ingleby@intel.com>
Tue, 24 Mar 2015 16:48:06 +0000 (16:48 +0000)
Resolves #176

Signed-off-by: Thomas Ingleby <thomas.c.ingleby@intel.com>
api/mraa/pwm.h
api/mraa/pwm.hpp
src/pwm/pwm.c

index bbc9049..ef78110 100644 (file)
@@ -186,6 +186,20 @@ mraa_result_t mraa_pwm_config_ms(mraa_pwm_context dev, int period, float duty);
  */
 mraa_result_t mraa_pwm_config_percent(mraa_pwm_context dev, int period, float duty);
 
+/**
+ * Get the maximum pwm period in us
+ *
+ * @return max pwm in us
+ */
+int mraa_pwm_get_max_period();
+
+/**
+ * Get the minimum pwm period in us
+ *
+ * @return min pwm in us
+ */
+int mraa_pwm_get_min_period();
+
 #ifdef __cplusplus
 }
 #endif
index 2a18a7b..e7ada7a 100644 (file)
@@ -204,6 +204,26 @@ class Pwm
     {
         return mraa_pwm_config_percent(m_pwm, period, duty);
     }
+    /**
+     * Get the maximum pwm period in us
+     *
+     * @return max pwm in us
+     */
+    int
+    max_period()
+    {
+        return mraa_pwm_get_max_period();
+    }
+    /**
+     * Get the minimum pwm period in us
+     *
+     * @return min pwm in us
+     */
+    int
+    min_period()
+    {
+        return mraa_pwm_get_min_period();
+    }
 
   private:
     mraa_pwm_context m_pwm;
index ab5978c..e5ca3fd 100644 (file)
@@ -452,3 +452,21 @@ mraa_pwm_config_percent(mraa_pwm_context dev, int ms, float percentage)
     }
     return MRAA_SUCCESS;
 }
+
+int
+mraa_pwm_get_max_period()
+{
+    if (plat == NULL) {
+        return -1;
+    }
+    return plat->pwm_max_period;
+}
+
+int
+mraa_pwm_get_min_period()
+{
+    if (plat == NULL) {
+        return -1;
+    }
+    return plat->pwm_min_period;
+}