Will return the GPIO number used within SYSFS
Closes #63
Signed-off-by: Thomas Ingleby <thomas.c.ingleby@intel.com>
*/
int mraa_gpio_get_pin(mraa_gpio_context dev);
+/**
+ * Get a gpio number as used within sysfs
+ *
+ * @param dev The Gpio context
+ * @return gpio number
+ */
+int mraa_gpio_get_pin_raw(mraa_gpio_context dev);
+
#ifdef __cplusplus
}
#endif
return mraa_gpio_use_mmaped(m_gpio, (mraa_boolean_t) enable);
}
/**
- * Get pin number of Gpio
+ * Get pin number of Gpio. If raw param is True will return the
+ * number as used within sysfs
*
+ * @param raw (optional) get the raw gpio number.
* @return Pin number
*/
- int getPin() {
+ int getPin(bool raw = false) {
+ if (raw) {
+ return mraa_gpio_get_pin_raw(m_gpio);
+ }
return mraa_gpio_get_pin(m_gpio);
}
private:
int
mraa_gpio_get_pin(mraa_gpio_context dev)
{
+ if (dev == NULL) {
+ syslog(LOG_ERR, "gpio: context is invalid");
+ }
return dev->phy_pin;
}
+
+int
+mraa_gpio_get_pin_raw(mraa_gpio_context dev)
+{
+ if (dev == NULL) {
+ syslog(LOG_ERR, "gpio: context is invalid");
+ }
+ return dev->pin;
+}