In SDK8.1 and SDK9.0 we have new driver nrf_drv_gpiote which has GPIOTE interrfupt handler in conflict with app_gpiote library. How to fix this
In SDK8.1 and SDK9.0 we have new driver nrf_drv_gpiote which has GPIOTE interrfupt handler in conflict with app_gpiote library. How to fix this
I have tried to merge the conflicted GPIOTE_IRQHandler and tested few use cases, they seems to work. Make sure that you do not use same pin in both app_gpiote library and nrf_drv_gpiote driver.
sdk_9.0.merge_gpiote_handler.c
Diff for fix in SDK 9.0 from @pkarc: www.diffchecker.com/nub7badx
Once again, make sure that there are no pin conflicts between library and driver and this should work just fine.
NOTE: Tested only on Keil
@ any Nordic employee: what is the reasoning behind the introduction of a gpiote driver? is it because the app_gpiote was not really fully implementing the whole functionality? why was this introduced so late, as it was part of the chip for a long time now? I just would like to know the philosophy around it, such that I can anticipate on possible changes in the future. For example, should I abandon using the app_gpiote altogether, and start working with the driver instead? Is that the idea, that it will disappear from the SDK, because of it being a somewhat limited implementation of the gpiote functionality?
@ any Nordic employee: what is the reasoning behind the introduction of a gpiote driver? is it because the app_gpiote was not really fully implementing the whole functionality? why was this introduced so late, as it was part of the chip for a long time now? I just would like to know the philosophy around it, such that I can anticipate on possible changes in the future. For example, should I abandon using the app_gpiote altogether, and start working with the driver instead? Is that the idea, that it will disappear from the SDK, because of it being a somewhat limited implementation of the gpiote functionality?