From 77d4676616f6267d88444aeff70895b73280d0ee Mon Sep 17 00:00:00 2001 From: Manivannan Sadhasivam Date: Tue, 14 Aug 2018 19:07:18 +0530 Subject: [PATCH] mraa: fix mraa_gpio_lookup function 1. Extend the lookup count to phy_pin_count to cover all physical pins exposed on the board 2. Ignore the non GPIO pins by checking for GPIO capability Signed-off-by: Manivannan Sadhasivam --- src/mraa.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/mraa.c b/src/mraa.c index bc06443..d568238 100644 --- a/src/mraa.c +++ b/src/mraa.c @@ -917,7 +917,11 @@ mraa_gpio_lookup(const char* pin_name) return -1; } - for (i = 0; i < plat->gpio_count; i++) { + for (i = 0; i < plat->phy_pin_count; i++) { + // Skip non GPIO pins + if (!(plat->pins[i].capabilities.gpio)) + continue; + if (plat->pins[i].name != NULL && strncmp(pin_name, plat->pins[i].name, strlen(plat->pins[i].name) + 1) == 0) { return i;