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

Client periodic package break-in

Hi,

 

Setup:

I’m sending ble packages with around 80 Hz from an server (nrf52832 sdk 15.2) to a client device ( nrf52840 sdk 15.2)

 

One Ble package consist of several sensor values. Therefore I implemented a buffer on the client side, which I degrade with 500 Hz

 

Question:

As you can see in the attached picture, there is a big break-in about every second. Is there a way to remove these break-ins?

 

Thank you!

Arthur

Parents
  • Hi,

    Can you explain what is shown on the picture? is this the sensor data?

    Assuming this is sensor data: How do you read sensor data on the device? do you have any periodic events on the server that could block the sensor data from being read? What is the BLE connection interval?

  • Hi,

    the image shows the buffer level on the client side (yes the buffer is filled with sensor data).

    The sensor data is read via spi using ppi and easyDMA.

    No I have no such slow periodic (1s) operations  running on the server side.

    I could not detect any break-ins on the server side. At least the data is passed with 80Hz to sd_ble_gatts_hvx without error code.

    The Ble connection interval is set to 10ms.

    My guess is that the softdevice on the client side is holding back the data for some reason. Are you familiar with anything like this?

  • On the server side you would get errors if you ran out of buffers.

    On the client side the SD would start Nacking packets if the receive buffers was filled. I.e. if the application is not able to read the fast enough. Are you sure the data is actually sent from the server? Have you tried logging this or maybe capture a sniffer trace of the BLE communication to see if the data is actually transmitted? that should at least let us know which side to start debugging on.

Reply
  • On the server side you would get errors if you ran out of buffers.

    On the client side the SD would start Nacking packets if the receive buffers was filled. I.e. if the application is not able to read the fast enough. Are you sure the data is actually sent from the server? Have you tried logging this or maybe capture a sniffer trace of the BLE communication to see if the data is actually transmitted? that should at least let us know which side to start debugging on.

Children
Related