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

Dual peripheral feature?

I see from the release notes of s132 4.0.0-2.alpha that it adds:

Support for 20 links in total with freely selectable role (Central/Peripheral) for each link.

I want to try this feature, but I can’t find any example for this in SDK 12.2.0 or SDK 13.0.0-1.alpha.

Anyone know if such an example exists?

  • Sorry for the delayed reply. I don't remember what I tested this with, but I don't think I used ble_app_uart_c. Is this still an issue? Let me know, and I'll look into it.

  • Petter, if you would be able to look into this it would be much appreciated! What I've found so far is that the dual peripheral example does not handle the ATT MTU requests (compared to the ble_app_uart example). I've modified your example a little bit, and here's the modified project. In order to run this example, unzip the v13.0.0 SDK (nRF5_SDK_13.0.0_04a0bfd.zip), create a folder called "test" under examples/, then put the "multi_uart" project in this "test" folder. I have also captured the RTT messages between the "ble_app_uart"/"ble_app_uart_c" and "multi_uart"/"ble_app_uart_c" in a file called "multi_uart_debug.txt". The current issue on the "multi_uart" is "sd_ble_gattc_exchange_mtu_request() returned unexpected value 0x7". Suggestions?

  • 0x7 is NRF_ERROR_INVALID_PARAM - Invalid Client RX MTU size supplied, see documentation above sd_ble_gattc_exchange_mtu_request(). I see that you call sd_ble_gap_adv_start(&adv_params, 0), with conn_cfg_tag = 0? I think you need to use the tag you used in ble_stack_init(). So it should be something like sd_ble_gap_adv_start(&adv_params, CONN_CFG_TAG)

Related