My project uses a PDM microphone connected to a nrf5340. I previousy had this working using the nrfx_pdm driver, with NCS 2.6 but then had to migrate the project to NCS 2.8...
It appears the PDM driver library has updated the version (to 3.7.0 it appears from the ifdefs in nrfx_pdm.c), which broke my code...
The api now provides for multiple PDM instances, so requires an 'instance' pointer to all the calls. This update was relatively simple, but I couldn't find how to do this line:
IRQ_CONNECT(DT_IRQN(PDM_NL), IRQ_PRIO_LOWEST, nrfx_pdm_irq_handler, 0, 0);
The nrfx_pdm_irq_handler() function is no longer defined...
If I just comment out this line, then as soon as the pdm sampling starts it crashes due to an 'unhandled interrupt' (which is logical...)
I cannot find a sample code for using the PDM driver on 2.8 (or any version for that matter) that shows the use of the new API.
The documentation page for the driver is (in common with most of the doc) a simple reformating of the header file, with no explanation of the correct way to use the various functions and multiple macros....
Is there a well coded example for the PDM driver available somewhere?