Hello,
I am currently migrating from SDK12.2 with softdevice S132 V3 to SDK14 with softdevice S132 V5 and have a problem configuring device names larger than BLE_GAP_DEVNAME_DEFAULT_LEN.
The following code shows, how i tried to configur the device name. This, however, returns NRF_ERROR_INVALID_ADDR.
ble_cfg_t* p_ble_cfg; ble_gap_cfg_device_name_t device_name = {0}; uint8_t device_name_buff[226] = GAP_DEFAULT_DEVICE_NAME; device_name.vloc = BLE_GATTS_VLOC_STACK; ble_gap_conn_sec_mode_t secmode = {.sm = 1, .lv = 3};//IIS_e_comPermitEncryptedMitmProtectedWrite device_name.write_perm = secmode; device_name.p_value = device_name_buff; device_name.max_len = sizeof(device_name_buff); device_name.current_len = strlen((char *) device_name_buff); p_ble_cfg = (ble_cfg_t*) &device_name; err_code = sd_ble_cfg_set(BLE_GAP_CFG_DEVICE_NAME, p_ble_cfg, ram_start); APP_ERROR_CHECK(err_code);
To get the ram_start i tried two different ways. First by using
err_code = nrf_sdh_ble_default_cfg_set(BLE_DEFAULT_SD_CONFIG, &ram_start); APP_ERROR_CHECK(err_code);
then by using
err_code = nrf_sdh_ble_app_ram_start_get(&ram_start); APP_ERROR_CHECK(err_code);
but it results in the same error.
Any help would be much appreciated.
Thanks in advance,
Niclas