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

About define BLE Characteristic

Hi All:

I try to create a custom Characteristic,with nrf_ble_qwr,

but when set is_defered_write  = 1;

connect with NRF_CONNECT APP,I can't write under than 20 byte,if under than 20 byte,write will lock on busy,

but when set is_defered_write  = 0;

I can't write over than 20 byte

Does anyone know how to fix it?

(NRF_SDH_BLE_GATT_MAX_MTU_SIZE need hold on 23)

    // Add the Custom Characteristic.
    memset(&add_char_params, 0, sizeof(add_char_params));
    add_char_params.uuid              = BLE_UUID_CUSTOM;
    add_char_params.uuid_type         = p_cuss->uuid_type;
    add_char_params.max_len           = BLE_CUSTOM_MAX_LEN;
    add_char_params.is_var_len        = true;
    add_char_params.init_len          = 8;
    add_char_params.p_init_value      = init_value_encoded;
    add_char_params.char_props.read   = 1;
    add_char_params.char_props.write  = 1;
    add_char_params.char_props.write_wo_resp   = 1;
    #if NRF_BLE_QWR_MAX_ATTR
    add_char_params.is_defered_write  = 1;
    #endif//#if NRF_BLE_QWR_MAX_ATTR
    add_char_params.read_access       = SEC_OPEN;
    add_char_params.write_access      = SEC_OPEN;

    err_code =  characteristic_add(p_cuss->service_handle, &add_char_params, &p_cuss->custom_handles);
    if (err_code != NRF_SUCCESS)
    {
        return err_code;
    }

Parents Reply Children
No Data
Related