Hi,
I've built a application based off of the ble_app_hrs_rscs_relay_pca10040_s132 example in SES using a Laird BL652 module (nRF52832 underlying device). Presently the program works with the following configuration to have the relay device connected to one central as a peripheral (relay to phone connection) and connected to two peripheral devices as a central device (relay to sensor devices). I'm trying to add more than two peripheral devices to be able to be connected to the relay device, but have been getting the following RAM errors whenever I define the sdk_config.h to support more link connections. When modifying the memory location and size under project->options->linker(common)->section placement macros I still get the RAM errors unless I only have a have a maximum of 3 total links.
SDK_CONFIG.h Settings that work (any value higher than this gives an error in this dual mode (central/peripheral) configuration):
// <o> NRF_SDH_BLE_PERIPHERAL_LINK_COUNT - Maximum number of peripheral links. #ifndef NRF_SDH_BLE_PERIPHERAL_LINK_COUNT #define NRF_SDH_BLE_PERIPHERAL_LINK_COUNT 1 #endif // <o> NRF_SDH_BLE_CENTRAL_LINK_COUNT - Maximum number of central links. #ifndef NRF_SDH_BLE_CENTRAL_LINK_COUNT #define NRF_SDH_BLE_CENTRAL_LINK_COUNT 2 #endif // <o> NRF_SDH_BLE_TOTAL_LINK_COUNT - Total link count. // <i> Maximum number of total concurrent connections using the default configuration. #ifndef NRF_SDH_BLE_TOTAL_LINK_COUNT #define NRF_SDH_BLE_TOTAL_LINK_COUNT 3 #endif
RAM Errors:
<warning> nrf_sdh_ble: Insufficient RAM allocated for the SoftDevice. <warning> nrf_sdh_ble: Change the RAM start location from 0x200049D8 to 0x20005418. <warning> nrf_sdh_ble: Maximum RAM size for application is 0xABE8. <error> nrf_sdh_ble: sd_ble_enable() returned NRF_ERROR_NO_MEM.
Is there any other settings that need to be changed in order to enable more devices to be connected while in this configuration? Or does this central/peripheral connection type occupy more RAM space that other types and thus will not allow more than 3 total connections? Or does the nRF52832 not support as many devices connected for some other reason with the SoftDevice 132 in this multi-role configuration.
Thanks!