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

SCCD not visible in nrfToolbox

I am trying to implement SCCD on S130 v2 sdk11 but this is not in the scope of the tutorial. I have populated the structure just the same as for CCCD, but I can't have the descriptor shown in nRF toolbox or in my own android app when using getDescriptors (developer.android.com/.../BluetoothGattCharacteristic.html. I have tried to un-re-bond device but it does not help. do I have to use add_descriptor function, ? it is not used for cccd, so I don't use it for sccd. If it is needed, please provide an example as the doc does not really help. I want to use this descriptor in order to activate some hardware peripheral on my device independantly from notifications, as the peripheral is HW ressource, hence unique for all clients.

here is my code (sorry for formatting but I am a newbie on this forum)

ble_gatts_attr_md_t sccd_md;
memset(&sccd_md, 0, sizeof(sccd_md));
BLE_GAP_CONN_SEC_MODE_SET_OPEN(&sccd_md.read_perm);
BLE_GAP_CONN_SEC_MODE_SET_OPEN(&sccd_md.write_perm);
    sccd_md.vloc                = BLE_GATTS_VLOC_STACK; 
    sccd_md.rd_auth = 0;
    sccd_md.wr_auth = 0;
    char_md.p_sccd_md           = &sccd_md;  				
    
err_code =  sd_ble_gatts_characteristic_add(p_dss->service_handle,
                                       &char_md,
                                       &attr_char_value,
                                       &p_dss->accelerometer_handles);
Parents
  • OK, I got it work as I realized it was linked to the broadcast property of the char metadata.

    char_md.char_props.broadcast = 1;

    I don't know about this broacast thing and if this is suitable to my project...

    Then playing with SCCD I wish to use RFU bits for custom purpose (I understand using a custom descriptor is better approach and I will evaluate this later).

    how can I read descriptor value from application ? do I hve to use sd_ble_gatts_sys_attr_get ?

Reply
  • OK, I got it work as I realized it was linked to the broadcast property of the char metadata.

    char_md.char_props.broadcast = 1;

    I don't know about this broacast thing and if this is suitable to my project...

    Then playing with SCCD I wish to use RFU bits for custom purpose (I understand using a custom descriptor is better approach and I will evaluate this later).

    how can I read descriptor value from application ? do I hve to use sd_ble_gatts_sys_attr_get ?

Children
No Data
Related