This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

LIBUARTE on ble_app_uart with DMA

Hi All,

I have 2 boards nrf52840 pc10056 and I need to run ble_app_uart using LIBUARTE with DMA in order to obtain a more robust uart communication

I would like to use an uart DMA that will work in background saving the byte received in a buffer (fixed length) and once that it is full having an interrupt where I can check this buffer and send it to the central unit.

Is there any easy way to set  everything up and change the code of ble_app_uart? Any suggestion??

Thanks

Parents
  • Hi 

    You might be seeing a SoftDevice assert because you won't be able to step debug the application code when the SoftDevice is enabled. If you want to step through the code you need to use what is called Monitor Mode Debugging that you can read here. You need to get a return value from sd_ble_gatts_hvx for us to be able to see what exactly goes wrong.

    Are you employing double buffering in your application? I found this thread which explains this quite well. Could you try implementing something like that, and fill one RX buffer while the other one is transferring and emptying?

    Best regards,

    Simon

Reply
  • Hi 

    You might be seeing a SoftDevice assert because you won't be able to step debug the application code when the SoftDevice is enabled. If you want to step through the code you need to use what is called Monitor Mode Debugging that you can read here. You need to get a return value from sd_ble_gatts_hvx for us to be able to see what exactly goes wrong.

    Are you employing double buffering in your application? I found this thread which explains this quite well. Could you try implementing something like that, and fill one RX buffer while the other one is transferring and emptying?

    Best regards,

    Simon

Children
Related