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

how to set ble gap address type to RANDOM_PRIVATE_RESOLVABLE

I want to change the ble gap address type to RANDOM_PRIVATE_RESOLVABLE. In gap_params_init(), I add these line at the end of the function

ble_gap_addr_t *p_gap_address;
err_code = sd_ble_gap_addr_get(p_gap_address);
APP_ERROR_CHECK(err_code);
p_gap_address->addr_type = BLE_GAP_ADDR_TYPE_RANDOM_PRIVATE_RESOLVABLE;
err_code = sd_ble_gap_addr_set(p_gap_address);
APP_ERROR_CHECK(err_code);

The code is based on ble_app_template. No error or warning, but it does not work. what should I do?

Parents Reply
  • I tried to use sd_ble_gap_privacy_set() to set a random private resolvable address. I added these code in gap_params_init():

    	ble_gap_privacy_params_t *ble_gap_privacy_params;
    	err_code = sd_ble_gap_privacy_get(ble_gap_privacy_params);
    	APP_ERROR_CHECK(err_code);
    	ble_gap_privacy_params->privacy_mode = BLE_GAP_PRIVACY_MODE_DEVICE_PRIVACY;
    	ble_gap_privacy_params->private_addr_type = BLE_GAP_ADDR_TYPE_RANDOM_PRIVATE_RESOLVABLE;
    	ble_gap_privacy_params->private_addr_cycle_s = BLE_GAP_DEFAULT_PRIVATE_ADDR_CYCLE_INTERVAL_S;
    	ble_gap_privacy_params->p_device_irk = NULL;
    	err_code = sd_ble_gap_privacy_set(ble_gap_privacy_params);
    	APP_ERROR_CHECK(err_code);
    

    No error or warning, but it still does not work.

Children
No Data
Related