The SDK version I use is 15.3. And I tried to add the following code to the ble_nus.c
static uint32_t char2_add(ble_nus_t * p_nus, ble_nus_init_t const * p_nus_init)
{
/**@snippet [Adding proprietary characteristic to S110 SoftDevice] */
ble_add_char_params_t add_char_params;
uint8_t user_desc[] = "DFU";
memset(&add_char_params, 0, sizeof(add_char_params));
add_char_params.uuid = BLE_UUID_NUS_CHARACTERISTIC2;
add_char_params.uuid_type = p_nus->uuid_type;
add_char_params.max_len = BLE_NUS_MAX_TX_CHAR_LEN;
add_char_params.init_len = sizeof(uint8_t);
add_char_params.is_var_len = true;
add_char_params.char_props.notify = 1;
add_char_params.char_props.write = 1;
add_char_params.char_props.write_wo_resp = 1;
add_char_params.p_user_descr->is_var_len = true;
add_char_params.p_user_descr->char_props.write = 1;
add_char_params.p_user_descr->char_props.read = 1;
add_char_params.p_user_descr->p_char_user_desc = (uint8_t *)user_desc;
add_char_params.p_user_descr->size = sizeof(user_desc);
add_char_params.p_user_descr->max_size = sizeof(user_desc);
add_char_params.read_access = SEC_OPEN;
add_char_params.write_access = SEC_OPEN;
add_char_params.cccd_write_access = SEC_OPEN;
add_char_params.p_user_descr->write_access = SEC_OPEN;
add_char_params.p_user_descr->read_access = SEC_OPEN;
return characteristic_add(p_nus->service_handle, &add_char_params, &p_nus->handles2);
}
But it didn't work.There is no characteristic 0x2901. I don't know what's wrong. Can you give me some advice?
Best regards,
June6