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

Increase transfer rate. MIDI BLE

Hi,

I want to increase the amount of BLE MIDI packages I am sending. Softdevice 132 nrf52832

MIDI data is sent by notifications and updates of the characteristic value.

I started from the custom example. These are the conection intervals.

#define MIN_CONN_INTERVAL               MSEC_TO_UNITS(7.5, UNIT_1_25_MS)        // 100 /**< Minimum acceptable connection interval (0.1 seconds). */
#define MAX_CONN_INTERVAL               MSEC_TO_UNITS(12, UNIT_1_25_MS)       // 200  /**< Maximum acceptable connection interval (0.2 second). */
#define SLAVE_LATENCY                   0                                       /**< Slave latency. */
#define CONN_SUP_TIMEOUT                MSEC_TO_UNITS(500, UNIT_10_MS)        // 4000  /**< Connection supervisory timeout (4 seconds). */

I update the characteristic by calling Softdevice.

err_code = sd_ble_gatts_hvx(p_midi_service->conn_handle, &hvx_params);


And then I call
 idle_state_handle();

In order to allow softdevice process the transmission. Is it right?

How can I update the characteristics value more often?

Thank you in advance and regards,

Manuel







Parents
  • Setting max connection interval to 12ms can be detrimental to the negotiated connection interval given what Central is controlling the link, if the max CI is too low the Central might use its default value that could be anywhere from 7.5ms to several seconds. 

    1. What devices are the Peripheral and the Central? 

    2. How big is your payload?

    3. How low latency do you need?
  • Thank you and sorry for my late reply. For any reason I didn't get the notification.

    1. The peripheral is a MIDI controller. The Central can be a Macbook Pro 2015 or an iPad Pro.

    2. The payload can be from a single MIDI realtime (1 byte) message to a bunch of MIDI messages that don't fit into one single 20 byte notification package.

    3. 7.5 ms is already a considerable latency.

    Regards,

Reply
  • Thank you and sorry for my late reply. For any reason I didn't get the notification.

    1. The peripheral is a MIDI controller. The Central can be a Macbook Pro 2015 or an iPad Pro.

    2. The payload can be from a single MIDI realtime (1 byte) message to a bunch of MIDI messages that don't fit into one single 20 byte notification package.

    3. 7.5 ms is already a considerable latency.

    Regards,

Children
No Data
Related