Functions

uint16_t ble_gattc_mtu_exchange (uint8_t conn_idx)
 Perform MTU Exchange. More...
 
uint16_t ble_gattc_services_browse (uint8_t conn_idx, const ble_uuid_t *p_srvc_uuid)
 Browse all Primary Services or specific Primary Service information on remote GATT server. More...
 
uint16_t ble_gattc_primary_services_discover (uint8_t conn_idx, const ble_uuid_t *p_srvc_uuid)
 Discover Primary Services on remote GATT server. More...
 
uint16_t ble_gattc_included_services_discover (uint8_t conn_idx, uint16_t start_hdl, uint16_t end_hdl)
 Discover Included Services on remote GATT server. More...
 
uint16_t ble_gattc_char_discover (uint8_t conn_idx, uint16_t start_hdl, uint16_t end_hdl, const ble_uuid_t *p_char_uuid)
 Discover Characteristics on remote GATT server. More...
 
uint16_t ble_gattc_char_desc_discover (uint8_t conn_idx, uint16_t start_hdl, uint16_t end_hdl)
 Discover Characteristics Descriptors on remote GATT server. More...
 
uint16_t ble_gattc_read (uint8_t conn_idx, uint16_t handle, uint16_t offset)
 Read Attribute from remote GATT server. More...
 
uint16_t ble_gattc_read_by_uuid (uint8_t conn_idx, uint16_t start_hdl, uint16_t end_hdl, const ble_uuid_t *p_char_uuid)
 Read Attribute by UUID. More...
 
uint16_t ble_gattc_read_multiple (uint8_t conn_idx, const ble_gattc_read_multiple_t *p_param)
 Initiate a Read Multiple Characteristic Values procedure. More...
 
uint16_t ble_gattc_write (uint8_t conn_idx, uint16_t handle, uint16_t offset, uint16_t length, const uint8_t *p_value)
 Write (long) Characteristic (Descriptor) Value. More...
 
uint16_t ble_gattc_write_prepare (uint8_t conn_idx, uint16_t handle, uint16_t offset, uint16_t length, const uint8_t *p_value)
 Prepare Long/Reliable Write to remote GATT server. More...
 
uint16_t ble_gattc_write_execute (uint8_t conn_idx, bool execute)
 Execute Reliable/Long Write to remote GATT server. More...
 
uint16_t ble_gattc_write_no_resp (uint8_t conn_idx, bool signed_write, uint16_t handle, uint16_t length, const uint8_t *p_value)
 Write Attribute to remote GATT server (without response). More...
 
uint16_t ble_gattc_indicate_cfm (uint8_t conn_idx, uint16_t handle)
 Confirm Reception of Indication. More...
 

Detailed Description

Function Documentation

◆ ble_gattc_char_desc_discover()

uint16_t ble_gattc_char_desc_discover ( uint8_t  conn_idx,
uint16_t  start_hdl,
uint16_t  end_hdl 
)

Discover Characteristics Descriptors on remote GATT server.

Parameters
[in]conn_idxCurrent connection index.
[in]start_hdlStart handle.
[in]end_hdlEnd handle.
Return values
SDK_SUCCESSSuccessfully start the Descriptor Discovery procedure.
SDK_ERR_INVALID_CONN_IDXInvalid connection index supplied.
SDK_ERR_NO_RESOURCESNot enough resources.

◆ ble_gattc_char_discover()

uint16_t ble_gattc_char_discover ( uint8_t  conn_idx,
uint16_t  start_hdl,
uint16_t  end_hdl,
const ble_uuid_t p_char_uuid 
)

Discover Characteristics on remote GATT server.

Parameters
[in]conn_idxCurrent connection index.
[in]start_hdlStart handle.
[in]end_hdlEnd handle.
[in]p_char_uuidPointer to Characteristic UUID.If it is NULL, all characteristics are returned.
Return values
SDK_SUCCESSSuccessfully start the Characteristic Discovery procedure.
SDK_ERR_INVALID_CONN_IDXInvalid connection index supplied.
SDK_ERR_NO_RESOURCESNot enough resources.

◆ ble_gattc_included_services_discover()

uint16_t ble_gattc_included_services_discover ( uint8_t  conn_idx,
uint16_t  start_hdl,
uint16_t  end_hdl 
)

Discover Included Services on remote GATT server.

Parameters
[in]conn_idxCurrent connection index.
[in]start_hdlStart handle.
[in]end_hdlEnd handle.
Return values
SDK_SUCCESSSuccessfully start the Relationship Discovery procedure.
SDK_ERR_INVALID_CONN_IDXInvalid connection index supplied.
SDK_ERR_NO_RESOURCESNot enough resources.

◆ ble_gattc_indicate_cfm()

uint16_t ble_gattc_indicate_cfm ( uint8_t  conn_idx,
uint16_t  handle 
)

Confirm Reception of Indication.

Note
Confirm indication which has been correctly received from the peer.
Parameters
[in]conn_idxCurrent connection index.
[in]handleValue handle.
Return values
SDK_SUCCESSSuccessfully send indication confirm.
SDK_ERR_INVALID_CONN_IDXInvalid connection index supplied.
SDK_ERR_NO_RESOURCESNot enough resources.

◆ ble_gattc_mtu_exchange()

uint16_t ble_gattc_mtu_exchange ( uint8_t  conn_idx)

Perform MTU Exchange.

Parameters
[in]conn_idxCurrent connection index.
Return values
SDK_SUCCESSSuccessfully send an MTU Exchange request.
SDK_ERR_INVALID_CONN_IDXInvalid connection index supplied.
SDK_ERR_NO_RESOURCESNot enough resources.

◆ ble_gattc_primary_services_discover()

uint16_t ble_gattc_primary_services_discover ( uint8_t  conn_idx,
const ble_uuid_t p_srvc_uuid 
)

Discover Primary Services on remote GATT server.

Parameters
[in]conn_idxCurrent connection index.
[in]p_srvc_uuidPointer to Service UUID. If it is NULL, all Primary Services will be returned.
Return values
SDK_SUCCESSSuccessfully start the Primary Service Discovery procedure.
SDK_ERR_INVALID_CONN_IDXInvalid connection index supplied.
SDK_ERR_NO_RESOURCESNot enough resources.

◆ ble_gattc_read()

uint16_t ble_gattc_read ( uint8_t  conn_idx,
uint16_t  handle,
uint16_t  offset 
)

Read Attribute from remote GATT server.

Note
This uses either the "Read Characteristic Value" procedure or the "Read Characteristic Descriptor" procedure, depending on the attribute pointed by handle. If offset is non-zero or the attribute length is larger than the MTU, the "Read Long Characteristic Value" procedure or the "Read Long Characteristic Descriptor" procedure will be used respectively.
Parameters
[in]conn_idxCurrent connection index.
[in]handleAttribute handle.
[in]offsetValue offset to start with.
Return values
SDK_SUCCESSSuccessfully start the Read (Long) procedure.
SDK_ERR_INVALID_CONN_IDXInvalid connection index supplied.
SDK_ERR_NO_RESOURCESNot enough resources.

◆ ble_gattc_read_by_uuid()

uint16_t ble_gattc_read_by_uuid ( uint8_t  conn_idx,
uint16_t  start_hdl,
uint16_t  end_hdl,
const ble_uuid_t p_char_uuid 
)

Read Attribute by UUID.

Parameters
[in]conn_idxCurrent connection index.
[in]start_hdlStart handle.
[in]end_hdlEnd handle.
[in]p_char_uuidPointer to Characteristic UUID.
Return values
SDK_SUCCESSSuccessfully start the Read using Characteristic UUID procedure.
SDK_ERR_INVALID_CONN_IDXInvalid connection index supplied.
SDK_ERR_POINTER_NULLInvalid pointer supplied.
SDK_ERR_NO_RESOURCESNot enough resources.

◆ ble_gattc_read_multiple()

uint16_t ble_gattc_read_multiple ( uint8_t  conn_idx,
const ble_gattc_read_multiple_t p_param 
)

Initiate a Read Multiple Characteristic Values procedure.

Parameters
[in]conn_idxCurrent connection index.
[in]p_paramPointer to the parameters of the value.
Return values
SDK_SUCCESSSuccessfully start the Read Multiple Characteristic Values procedure.
SDK_ERR_INVALID_CONN_IDXInvalid connection index supplied.
SDK_ERR_POINTER_NULLInvalid pointer supplied.
SDK_ERR_NO_RESOURCESNot enough resources.

◆ ble_gattc_services_browse()

uint16_t ble_gattc_services_browse ( uint8_t  conn_idx,
const ble_uuid_t p_srvc_uuid 
)

Browse all Primary Services or specific Primary Service information on remote GATT server.

Note
This discovery automatically searches for Primary Services, Included Services, Characteristics and Descriptors of each service. To discover one or more services only, use ble_gattc_primary_services_discover() instead. This discovery is able to search all Primary Services or a specific one. If srvc_uuid is NULL, all services are returned.
Parameters
[in]conn_idxCurrent connection index.
[in]p_srvc_uuidPointer to Service UUID. If it is NULL, all services will be returned.
Return values
SDK_SUCCESSSuccessfully start the Browse Service(s) procedure.
SDK_ERR_INVALID_CONN_IDXInvalid connection index supplied.
SDK_ERR_NO_RESOURCESNot enough resources.

◆ ble_gattc_write()

uint16_t ble_gattc_write ( uint8_t  conn_idx,
uint16_t  handle,
uint16_t  offset,
uint16_t  length,
const uint8_t *  p_value 
)

Write (long) Characteristic (Descriptor) Value.

Note
This uses either the "Write Characteristic Value" procedure or the "Write Characteristic Descriptor" procedure, depending on the attribute pointed by handle. If offset is non-zero or the attribute length is larger than the MTU, the "Write Long Characteristic Value" procedure or the "Write Long Characteristic Descriptor" procedure will be used respectively.
Parameters
[in]conn_idxCurrent connection index.
[in]handleThe handle of the attribute to be written.
[in]offsetOffset into the attribute value to be written.
[in]lengthLength of the value data in bytes.
[in]p_valuePointer to the value data.
Return values
SDK_SUCCESSSuccessfully start the Write procedure.
SDK_ERR_INVALID_CONN_IDXInvalid connection index supplied.
SDK_ERR_POINTER_NULLInvalid pointer supplied.
SDK_ERR_NO_RESOURCESNot enough resources.

◆ ble_gattc_write_execute()

uint16_t ble_gattc_write_execute ( uint8_t  conn_idx,
bool  execute 
)

Execute Reliable/Long Write to remote GATT server.

Parameters
[in]conn_idxCurrent connection index.
[in]executeTrue if data shall be written; false if cancel all prepared writes.
Return values
SDK_SUCCESSSuccessfully send an Execute Write request.
SDK_ERR_INVALID_CONN_IDXInvalid connection index supplied.
SDK_ERR_NO_RESOURCESNot enough resources.

◆ ble_gattc_write_no_resp()

uint16_t ble_gattc_write_no_resp ( uint8_t  conn_idx,
bool  signed_write,
uint16_t  handle,
uint16_t  length,
const uint8_t *  p_value 
)

Write Attribute to remote GATT server (without response).

Note
If signed_write is set to false, the "Write Without Response" procedure will be used. If signed_write is set to true, the "Signed Write Without Response" procedure will be used on a link which is not encrypted. If a link is already encrypted, "Write Without Response" procedure shall be used instead of "Signed Write Without Response".
Parameters
[in]conn_idxCurrent connection index.
[in]handleAttribute handle.
[in]signed_writeTrue if signed write should be used, false write without response.
[in]lengthValue length.
[in]p_valueValue data.
Return values
SDK_SUCCESSSuccessfully start the (Signed) Write Without Response procedure.
SDK_ERR_INVALID_CONN_IDXInvalid connection index supplied.
SDK_ERR_POINTER_NULLInvalid pointer supplied.
SDK_ERR_NO_RESOURCESNot enough resources.

◆ ble_gattc_write_prepare()

uint16_t ble_gattc_write_prepare ( uint8_t  conn_idx,
uint16_t  handle,
uint16_t  offset,
uint16_t  length,
const uint8_t *  p_value 
)

Prepare Long/Reliable Write to remote GATT server.

Parameters
[in]conn_idxCurrent connection index.
[in]handleAttribute handle.
[in]offsetValue offset to start with.
[in]lengthValue length.
[in]p_valueValue data.
Return values
SDK_SUCCESSSuccessfully send a Prepare Write request.
SDK_ERR_INVALID_CONN_IDXInvalid connection index supplied.
SDK_ERR_POINTER_NULLInvalid pointer supplied.
SDK_ERR_NO_RESOURCESNot enough resources.