in my application I have setup the nRF52 to wake-up from deep sleep if a low value is detected on either of two GPIOs (4 and 5). What I'm trying to achieve, is to be able to detect upon wakeup which of the two has caused the interrupt. The issue is that it can be a very short pulse that appears on the GPIOs and causes the interrupt, such that when the device has booted again the signal has gone again to a non-interrupt state, therefore making it impossible (?) to know which GPIO caused the wakeup. Is there a good way to do it? Does the nRF52 chip has any feature that can help? Otherwise, I guess I'll have to implement externally some kind of latch.
Check if your chip supports the LATCH register in GPIO. The triggered pin should read a 1 in that register.
Hm, that's a good idea! I'm using nRF52832, so it seams that LATCH is supported. Do you know if there is any application example that uses this feature?
I would suggest checking out this thread where my colleague Håkon discuss and explains how to use the DETECT signal and LATCH register. There are no example projects specifically showcasing the LATCH registers features, but any that use the nrfx_gpiote driver should be rather easy to implement.