Maybe there's a secret I'm missing but this looks like a development / debug flag that got left in.
I'm porting an app from SDK11 to SDK15, when I call app_button_init() it calls nrf_drv_gpiote_init() which is mapped to nrfx_gpiote_init()
Everything works and nrfx_gpiote_init() returns NRFX_SUCCESS.
But NRFX_SUCCESS is not zero.
So nrf_drv_gpiote_init() returns NRFX_SUCCESS which is then checked by VERIFY_SUCCESS(err_code), and promptly blows up and lands in the app error handler.
Since this is happening in the SDK code it's a problem
From app_button.c
if (!nrf_drv_gpiote_is_init()) { err_code = nrf_drv_gpiote_init(); VERIFY_SUCCESS(err_code); }
from nrfx_errors.h
#define NRFX_ERROR_BASE_NUM 0x0BAD0000 #define NRFX_ERROR_DRIVERS_BASE_NUM (NRFX_ERROR_BASE_NUM + 0x10000) /** @brief Enumerated type for error codes. */ typedef enum { NRFX_SUCCESS = (NRFX_ERROR_BASE_NUM + 0), ///< Operation performed successfully. NRFX_ERROR_INTERNAL = (NRFX_ERROR_BASE_NUM + 1), ///< Internal error. ...
Keith Vasilakes
Intricon