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

How to extend "ATT_MTU" and "Data length extension (DLE)" in ble_app_uart

Hello,

We need to extend both "ATT_MTU" and "Data length extension (DLE)" of the example programs "ble_app_uart" and "ble_app_uart_c" in S132 SDK 14.0.0. So could you please advise on the following two parts?

1) How to modify the "ble_app_uart" for "ATT_MTU" extension.

In SDK 14.0.0, we tried to modify the the following line in "ble_app_uart".

main.c line 481 in the function "gatt_init"

[Original line]

err_code = nrf_ble_gatt_att_mtu_periph_set(&m_gatt, 64);

[Modified line(ex. the extension up to 128 bytes)]

err_code = nrf_ble_gatt_att_mtu_periph_set(&m_gatt, 128);

Is the above my modification correct?


2) How to modify the "ble_app_uart" for "Data length extension (DLE)" extension.

I don't understand it, yet. So I inspected the behavior of "ble_app_uart" using ICE(debugger). The results, the following lines ware callded.

line 155 in the function "on_connected_evt"

// Send a data length update request if necessary.
if (p_link->data_length_desired > p_link->data_length_effective)
{
    data_length_update(conn_handle, p_gatt);
}

And the above "if" statement was evaluated to "true" and next, the following lines ware called.

line 88 in the function "data_length_update"

ret_code_t err_code = sd_ble_gap_data_length_update(conn_handle, &dlp, NULL);
if (err_code != NRF_SUCCESS)
{
    NRF_LOG_ERROR("sd_ble_gap_data_length_update() (request)"
                  " on connection 0x%x returned unexpected value 0x%x.",
                  conn_handle, err_code);
}

But the above "if" statement is was evaluated to "true". Because the "sd_ble_gap_data_length_update" returned NRF_ERROR_RESOURCES(19).

So could you plese inform how to extend "Data length extension (DLE)" of "ble_app_uart"?

Regards, Senoo

Related