Now I'm trying to change a device name in `nrf_dfu_ble.c`. I set NRF_DFU_BLE_ADV_NAME like following.
#define NRF_DFU_BLE_ADV_NAME "SPB"
And I imported `stdio.h`, `string.h`. And I edited `gap_params_init` function of `nrf_dfu_ble.c` like following.
static uint32_t gap_params_init(void)
{
uint32_t err_code;
ble_gap_conn_sec_mode_t sec_mode;
uint8_t const *device_name;
uint32_t name_len;
BLE_GAP_CONN_SEC_MODE_SET_OPEN(&sec_mode);
#if (!NRF_DFU_BLE_REQUIRES_BONDS)
err_code = gap_address_change();
VERIFY_SUCCESS(err_code);
if ((m_flags & DFU_BLE_FLAG_USE_ADV_NAME) != 0)
{
NRF_LOG_DEBUG("Setting adv name: %s, length: %d", m_adv_name.name, m_adv_name.len);
device_name = m_adv_name.name;
name_len = m_adv_name.len;
}
else
#endif
{
NRF_LOG_DEBUG("Using default advertising name");
// device_name = (uint8_t const *)(NRF_DFU_BLE_ADV_NAME);
// name_len = strlen(NRF_DFU_BLE_ADV_NAME);
ble_gap_addr_t addr;
err_code = sd_ble_gap_addr_get(&addr);
VERIFY_SUCCESS(err_code);
char name[strlen(NRF_DFU_BLE_ADV_NAME) + 4];
sprintf(name, "%s%02X%02X", NRF_DFU_BLE_ADV_NAME, addr.addr[1], addr.addr[0]);
device_name = (uint8_t const *)name;
name_len = sizeof name;
}
err_code = sd_ble_gap_device_name_set(&sec_mode, device_name, name_len);
VERIFY_SUCCESS(err_code);
err_code = sd_ble_gap_ppcp_set(&m_gap_conn_params);
return err_code;
}
I succeeded to build and download a bootloader project that includes `nrf_dfu_ble.c`.
But the device is not working.
What should I do for it?