Hi,
Using the SDK 17 library, i had the following code running fine:
//Setup the external interupt and timer interupt
//Pin Interupt setup
err_code = nrf_drv_gpiote_init();
APP_ERROR_CHECK(err_code);
nrf_drv_gpiote_in_config_t in_config = GPIOTE_CONFIG_IN_SENSE_TOGGLE(true);
in_config.sense = NRF_GPIOTE_POLARITY_HITOLO;
in_config.pull = NRF_GPIO_PIN_PULLUP;
//in_config.hi_accuracy = true;
err_code = nrf_drv_gpiote_in_init(IO_NET_RX, &in_config, NET_INTERRUPT);
APP_ERROR_CHECK(err_code);
nrfx_gpiote_in_event_enable(IO_NET_RX, true);
......
static void NET_INTERRUPT(nrf_drv_gpiote_pin_t pin, nrf_gpiote_polarity_t action)
{
nrf_drv_timer_clear(&NET_TIMER);
nrf_drv_timer_disable(&NET_TIMER);
nrf_drv_gpiote_in_event_disable(IO_NET_RX);
...
}
Now i am porting it to ncs 1.9.0, i have changed the code to:
//Setup the external interupt and timer interupt
//Pin Interupt setup
// ** IN NCS THIS SEEMS TO ALREADY BE INITIALISED
if (!nrfx_gpiote_is_init()){
err_code = nrfx_gpiote_init(2);
if (err_code != NRFX_SUCCESS) {
printk("Failed to init gpiote (err %d)\n", err_code);
return;
}
}
nrfx_gpiote_in_config_t in_config = NRFX_GPIOTE_CONFIG_IN_SENSE_TOGGLE(true);
in_config.sense = NRF_GPIOTE_POLARITY_HITOLO;
in_config.pull = NRF_GPIO_PIN_PULLUP;
//in_config.hi_accuracy = true;
err_code = nrfx_gpiote_in_init(IO_NET_RX, &in_config, NET_INTERRUPT);
if (err_code != NRFX_SUCCESS) {
printk("Failed to init gpiote in (err %d)\n", err_code);
return;
}
nrfx_gpiote_in_event_enable(IO_NET_RX, true);
......
static void NET_INTERRUPT(nrf_drv_gpiote_pin_t pin, nrf_gpiote_polarity_t action)
{
nrf_drv_gpiote_in_event_disable(IO_NET_RX);
...
}
Upon running, i get the following zephr error:

(sorry, copy/paste doesnt seem to work from the nrf terminal)
Any pointers to what has not been setup correctly?
many thanks