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

MCP/Dongle packet throughput limitation

Hi,

It has been mentioned in several threads that the MCP/dongle (on laptop) cannot support transmission of more than 1 packet per connection interval. Could you help clarifying whether this limitation is due to MCP implementation or is it due to the HW on the dongle? Knowing this will help me to debug various bottlenecks I am encountering.

Also, on an Android device, does anyone know

  1. how to set the various parameters that affect throughput (e.g., connection interval), and
  2. how to set MCP (as a GATT client) to receive a stream of notifications from a board (GATT server) that sends out a stream of notifications? Currently, I have to keep pressing the read (one down arrow) but to get one notification at a time.
  • This limitation is in the software running on the dongle.

    1. The most common way to handle changing the connection interval is to send an update request from the Peripheral side. This can be done by using the ble_conn_params module, and setting up the MIN_CONN_INTERVAL and MAX_CONN_INTERVAL as wanted. The module will then send a parameter update request to the Central, if the currently used parameters are outside the range.

    2. If a characteristic has the notify or indicate property, you should see a button with two arrows above a line next to it, as the button next to the Blood Pressure in this screenshot. Pressing this should enable notifications.

    If you don't see any notifications, are you sure that the peer device is actually sending them (i.e. calling sd_ble_gatts_hvx())?

Related