Is there any example of the SAADC working?

I tried to follow any possible forum tutorial from nRF and Decave

It is very frustrating if you don’t get any nRF SDK peripheral example to work. I tried it with the SAADC but either got stuck at weird “unknown function calls” or with DWM1001 doing nothing.

Here’s what I did. I used the UART example and integrated the SAADC example from NRF. Then I initialized the IRQ and used the TIMER2.

This is so basic that I don’t even know what could go wrong. But with PANS and all the strange interrupt management it obviously is possible to screw that up too.

void dwm_user_start(void)
dwm_irq_t irq;
printf(“SAADC HAL simple example started.”);

    irq.vector_nr = SAADC_IRQn;
irq.p_hndlr = SAADC_IRQHandler;

int rv = dwm_interrupt_register(&irq);

    irq.vector_nr = TIMER2_IRQn;
irq.p_hndlr = TIMER2_IRQHandler;

rv += dwm_interrupt_register(&irq);

if (rv == DWM_OK) 
      //task_create(user_thread_entry, 50, "user");          


void user_thread_entry(uint32_t data)

  while(1) {


In the case when i uncomment task_create(user_thread_entry, 50, “user”); for just a simple ADC sample call obviously some IRQ is called but it doesn’t find its route to the NVIC. Then, SEGGER breaks and returns in an unknown function at some address 0x00000536. sigh

Sorry to say this, but up to a certain point the PANS library becomes more and more useless to me and my team. With that said, I don’t believe we will success in using DWM1001 at all with this level of service and documentation. To start from scratch without PANS becomes more and more the only alternative when you guys keep the lib shut from public and/or this level of documentation.

Sorry to say so…