From fa210942845ca223db9dd8027c0ec88a3c84cfca Mon Sep 17 00:00:00 2001 From: Dmitry Bogdanov Date: Fri, 8 May 2015 20:21:14 +0400 Subject: [PATCH] backport of Issue: Pinology #808 --- .../mbed/targets/hal/TARGET_NXP/TARGET_LPC2460/gpio_api.c | 3 +++ .../mbed/targets/hal/TARGET_NXP/TARGET_LPC2460/gpio_object.h | 4 ++++ 2 files changed, 7 insertions(+) diff --git a/libraries/mbed/targets/hal/TARGET_NXP/TARGET_LPC2460/gpio_api.c b/libraries/mbed/targets/hal/TARGET_NXP/TARGET_LPC2460/gpio_api.c index fd9c29b528..2678dfdaa5 100644 --- a/libraries/mbed/targets/hal/TARGET_NXP/TARGET_LPC2460/gpio_api.c +++ b/libraries/mbed/targets/hal/TARGET_NXP/TARGET_LPC2460/gpio_api.c @@ -29,6 +29,9 @@ void gpio_init(gpio_t *obj, PinName pin) { if (pin == (PinName)NC) return; obj->pin = pin; + if (pin == (PinName)NC) + return; + obj->mask = gpio_set(pin); LPC_GPIO_TypeDef *port_reg = (LPC_GPIO_TypeDef *) ((int)pin & ~0x1F); diff --git a/libraries/mbed/targets/hal/TARGET_NXP/TARGET_LPC2460/gpio_object.h b/libraries/mbed/targets/hal/TARGET_NXP/TARGET_LPC2460/gpio_object.h index f149950b16..291dfb848e 100644 --- a/libraries/mbed/targets/hal/TARGET_NXP/TARGET_LPC2460/gpio_object.h +++ b/libraries/mbed/targets/hal/TARGET_NXP/TARGET_LPC2460/gpio_object.h @@ -48,6 +48,10 @@ static inline int gpio_read(gpio_t *obj) { return ((*obj->reg_in & obj->mask) ? 1 : 0); } +static inline int gpio_is_connected(const gpio_t *obj) { + return obj->pin != (PinName)NC; +} + #ifdef __cplusplus } #endif