mraa/platform: add mraa_get_pin_count()
authorThomas Ingleby <thomas.c.ingleby@intel.com>
Wed, 21 Jan 2015 15:11:03 +0000 (15:11 +0000)
committerThomas Ingleby <thomas.c.ingleby@intel.com>
Wed, 21 Jan 2015 15:17:34 +0000 (15:17 +0000)
Will return physical pin count.
Closes #75

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

index eb8f0a3..86525e9 100644 (file)
@@ -278,6 +278,13 @@ void mraa_result_print(mraa_result_t result);
  */
 mraa_platform_t mraa_get_platform_type();
 
+/**
+ * Get platform pincount, board must be initialised.
+ *
+ * @return uint of physical pin count on the in-use platform
+ */
+unsigned int mraa_get_pin_count();
+
 #ifdef __cplusplus
 }
 #endif
index 875d434..c51cf22 100644 (file)
@@ -128,6 +128,16 @@ inline std::string getPlatformName()
 }
 
 /**
+ * Return count of physical pins on the running platform
+ *
+ * @return uint of physical pins.
+ */
+inline unsigned int getPinCount()
+{
+    return mraa_get_pin_count();
+}
+
+/**
  * Sets the log level to use from 0-7 where 7 is very verbose. These are the
  * syslog log levels, see syslog(3) for more information on the levels.
  *
index 9076316..91e48c1 100644 (file)
@@ -307,3 +307,12 @@ mraa_get_platform_name()
         return "Unknown";
     return plat->platform_name;
 }
+
+unsigned int
+mraa_get_pin_count()
+{
+    if (plat == NULL) {
+        return 0;
+    }
+    return plat->phy_pin_count;
+}