nrf5/sdk: Successful device name advertisment. Added flags to advertisment packet and enable device name byte copy into the advertisment data.
This commit is contained in:
parent
3a68e40102
commit
b65553e57f
@ -319,16 +319,27 @@ bool sd_advertise_data(ubluepy_advertise_data_t * p_adv_params) {
|
||||
"Can not apply device name in the stack."));
|
||||
}
|
||||
|
||||
printf("Device name applied\n");
|
||||
|
||||
adv_data[byte_pos] = (BLE_ADV_AD_TYPE_FIELD_SIZE + p_adv_params->device_name_len);
|
||||
byte_pos += BLE_ADV_AD_TYPE_FIELD_SIZE;
|
||||
adv_data[byte_pos] = BLE_GAP_AD_TYPE_COMPLETE_LOCAL_NAME;
|
||||
// memcpy(&adv_data[byte_pos], p_adv_params->p_device_name, p_adv_params->device_name_len);
|
||||
byte_pos += BLE_ADV_AD_TYPE_FIELD_SIZE;
|
||||
memcpy(&adv_data[byte_pos], p_adv_params->p_device_name, p_adv_params->device_name_len);
|
||||
// increment position counter to see if it fits, and in case more content should
|
||||
// follow in this adv packet.
|
||||
byte_pos += BLE_ADV_AD_TYPE_FIELD_SIZE;
|
||||
byte_pos += p_adv_params->device_name_len;
|
||||
}
|
||||
|
||||
// set flags, default to disc mode
|
||||
adv_data[byte_pos] = (BLE_ADV_AD_TYPE_FIELD_SIZE + BLE_AD_TYPE_FLAGS_DATA_SIZE);
|
||||
byte_pos += BLE_ADV_AD_TYPE_FIELD_SIZE;
|
||||
adv_data[byte_pos] = BLE_GAP_AD_TYPE_FLAGS;
|
||||
byte_pos += BLE_AD_TYPE_FLAGS_DATA_SIZE;
|
||||
adv_data[byte_pos] = BLE_GAP_ADV_FLAGS_LE_ONLY_GENERAL_DISC_MODE;
|
||||
byte_pos += 1;
|
||||
|
||||
|
||||
// scan response data not set
|
||||
if (sd_ble_gap_adv_data_set(adv_data, byte_pos, NULL, 0) != 0) {
|
||||
nlr_raise(mp_obj_new_exception_msg_varg(&mp_type_OSError,
|
||||
|
Loading…
x
Reference in New Issue
Block a user