Skip to content

Commit 352beff

Browse files
committed
nRF52: GPIO: Assert that init succeeds
1 parent 6827b42 commit 352beff

File tree

1 file changed

+4
-2
lines changed
  • targets/TARGET_NORDIC/TARGET_NRF5x/TARGET_NRF52

1 file changed

+4
-2
lines changed

targets/TARGET_NORDIC/TARGET_NRF5x/TARGET_NRF52/gpio_api.c

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,7 @@ static void gpiote_pin_uninit(uint8_t pin)
114114
static void gpio_apply_config(uint8_t pin)
115115
{
116116
if (m_gpio_cfg[pin].used_as_gpio || m_gpio_cfg[pin].used_as_irq) {
117+
nrfx_err_t err_code = NRFX_SUCCESS;
117118
if ((m_gpio_cfg[pin].direction == PIN_INPUT)
118119
|| (m_gpio_cfg[pin].used_as_irq)) {
119120
//Configure as input.
@@ -135,7 +136,7 @@ static void gpio_apply_config(uint8_t pin)
135136
break;
136137
}
137138
if (m_gpio_cfg[pin].used_as_irq) {
138-
nrfx_gpiote_in_init(pin, &cfg, gpiote_irq_handler);
139+
err_code = nrfx_gpiote_in_init(pin, &cfg, gpiote_irq_handler);
139140
if ((m_gpio_irq_enabled & ((gpio_mask_t)1 << pin))
140141
&& (m_gpio_cfg[pin].irq_rise || m_gpio_cfg[pin].irq_fall)) {
141142
nrfx_gpiote_in_event_enable(pin, true);
@@ -146,8 +147,9 @@ static void gpio_apply_config(uint8_t pin)
146147
} else {
147148
// Configure as output.
148149
nrfx_gpiote_out_config_t cfg = NRFX_GPIOTE_CONFIG_OUT_SIMPLE(nrf_gpio_pin_out_read(pin));
149-
nrfx_gpiote_out_init(pin, &cfg);
150+
err_code = nrfx_gpiote_out_init(pin, &cfg);
150151
}
152+
MBED_ASSERT(err_code != NRFX_ERROR_NO_MEM);
151153
m_gpio_initialized |= ((gpio_mask_t)1UL << pin);
152154
} else {
153155
m_gpio_initialized &= ~((gpio_mask_t)1UL << pin);

0 commit comments

Comments
 (0)