From 0b84c30d7c85ccb5f40f8f6fedb49397a30306ca Mon Sep 17 00:00:00 2001 From: Ganesh Ramachandran Date: Thu, 4 Apr 2019 15:16:29 +0530 Subject: [PATCH] Fixed support for DigitalOut(NC) instantiation --- targets/TARGET_TOSHIBA/TARGET_TMPM066/gpio_api.c | 3 +++ targets/TARGET_TOSHIBA/TARGET_TMPM3H6/gpio_api.c | 3 +++ targets/TARGET_TOSHIBA/TARGET_TMPM3HQ/gpio_api.c | 3 +++ targets/TARGET_TOSHIBA/TARGET_TMPM46B/gpio_api.c | 3 +++ targets/TARGET_TOSHIBA/TARGET_TMPM4G9/gpio_api.c | 3 +++ 5 files changed, 15 insertions(+) diff --git a/targets/TARGET_TOSHIBA/TARGET_TMPM066/gpio_api.c b/targets/TARGET_TOSHIBA/TARGET_TMPM066/gpio_api.c index a50b742be0..0b6025e165 100644 --- a/targets/TARGET_TOSHIBA/TARGET_TMPM066/gpio_api.c +++ b/targets/TARGET_TOSHIBA/TARGET_TMPM066/gpio_api.c @@ -40,6 +40,9 @@ void gpio_init(gpio_t *obj, PinName pin) { // Store above pin mask, pin name into GPIO object obj->pin = pin; + if (pin == (PinName)NC) { + return; + } obj->mask = gpio_set(pin); obj->port = (GPIO_Port) (pin >> 3); if ((PortName)obj->port == PortH) { diff --git a/targets/TARGET_TOSHIBA/TARGET_TMPM3H6/gpio_api.c b/targets/TARGET_TOSHIBA/TARGET_TMPM3H6/gpio_api.c index 35bb2b0a14..ae51ea47b7 100644 --- a/targets/TARGET_TOSHIBA/TARGET_TMPM3H6/gpio_api.c +++ b/targets/TARGET_TOSHIBA/TARGET_TMPM3H6/gpio_api.c @@ -24,6 +24,9 @@ void gpio_init(gpio_t *obj, PinName pin) { // Store above pin mask, pin name into GPIO object obj->pin = pin; + if (pin == (PinName)NC) { + return; + } obj->mask = gpio_set(pin); obj->port = (PortName)(pin >> 3); TSB_CG->FSYSENA |= (1 << (obj->port)); diff --git a/targets/TARGET_TOSHIBA/TARGET_TMPM3HQ/gpio_api.c b/targets/TARGET_TOSHIBA/TARGET_TMPM3HQ/gpio_api.c index 35bb2b0a14..ae51ea47b7 100644 --- a/targets/TARGET_TOSHIBA/TARGET_TMPM3HQ/gpio_api.c +++ b/targets/TARGET_TOSHIBA/TARGET_TMPM3HQ/gpio_api.c @@ -24,6 +24,9 @@ void gpio_init(gpio_t *obj, PinName pin) { // Store above pin mask, pin name into GPIO object obj->pin = pin; + if (pin == (PinName)NC) { + return; + } obj->mask = gpio_set(pin); obj->port = (PortName)(pin >> 3); TSB_CG->FSYSENA |= (1 << (obj->port)); diff --git a/targets/TARGET_TOSHIBA/TARGET_TMPM46B/gpio_api.c b/targets/TARGET_TOSHIBA/TARGET_TMPM46B/gpio_api.c index 93cb6e02cb..34fd48a424 100644 --- a/targets/TARGET_TOSHIBA/TARGET_TMPM46B/gpio_api.c +++ b/targets/TARGET_TOSHIBA/TARGET_TMPM46B/gpio_api.c @@ -37,6 +37,9 @@ void gpio_init(gpio_t *obj, PinName pin) { // Store above pin mask, pin name into GPIO object obj->pin = pin; + if (pin == (PinName)NC) { + return; + } obj->mask = gpio_set(pin); obj->port = (GPIO_Port) (pin >> 3); CG_SetFcPeriphA((1 << obj->port), ENABLE); diff --git a/targets/TARGET_TOSHIBA/TARGET_TMPM4G9/gpio_api.c b/targets/TARGET_TOSHIBA/TARGET_TMPM4G9/gpio_api.c index 6ba6d38269..f40fcc7d05 100644 --- a/targets/TARGET_TOSHIBA/TARGET_TMPM4G9/gpio_api.c +++ b/targets/TARGET_TOSHIBA/TARGET_TMPM4G9/gpio_api.c @@ -61,6 +61,9 @@ void gpio_init(gpio_t *obj, PinName pin) { // Store above pin mask, pin name into GPIO object obj->pin = pin; + if (pin == (PinName)NC) { + return; + } obj->pin_num = PIN_POS(pin); obj->mask = gpio_set(pin); obj->port = (PortName) PIN_PORT(pin);