R1 code for micro:bit based train controller code, requires second micro:bit running rx code to operate - see https://meanderingpi.wordpress.com/ for more information

Fork of nrf51-sdk by Lancaster University

Embed: (wiki syntax)

« Back to documentation index

Functions

Functions

 SVCALL (SD_BLE_GATTC_PRIMARY_SERVICES_DISCOVER, uint32_t, sd_ble_gattc_primary_services_discover(uint16_t conn_handle, uint16_t start_handle, ble_uuid_t const *p_srvc_uuid))
 Initiate or continue a GATT Primary Service Discovery procedure.
 SVCALL (SD_BLE_GATTC_RELATIONSHIPS_DISCOVER, uint32_t, sd_ble_gattc_relationships_discover(uint16_t conn_handle, ble_gattc_handle_range_t const *p_handle_range))
 Initiate or continue a GATT Relationship Discovery procedure.
 SVCALL (SD_BLE_GATTC_CHARACTERISTICS_DISCOVER, uint32_t, sd_ble_gattc_characteristics_discover(uint16_t conn_handle, ble_gattc_handle_range_t const *p_handle_range))
 Initiate or continue a GATT Characteristic Discovery procedure.
 SVCALL (SD_BLE_GATTC_DESCRIPTORS_DISCOVER, uint32_t, sd_ble_gattc_descriptors_discover(uint16_t conn_handle, ble_gattc_handle_range_t const *p_handle_range))
 Initiate or continue a GATT Characteristic Descriptor Discovery procedure.
 SVCALL (SD_BLE_GATTC_CHAR_VALUE_BY_UUID_READ, uint32_t, sd_ble_gattc_char_value_by_uuid_read(uint16_t conn_handle, ble_uuid_t const *p_uuid, ble_gattc_handle_range_t const *p_handle_range))
 Initiate or continue a GATT Read using Characteristic UUID procedure.
 SVCALL (SD_BLE_GATTC_READ, uint32_t, sd_ble_gattc_read(uint16_t conn_handle, uint16_t handle, uint16_t offset))
 Initiate or continue a GATT Read (Long) Characteristic or Descriptor procedure.
 SVCALL (SD_BLE_GATTC_CHAR_VALUES_READ, uint32_t, sd_ble_gattc_char_values_read(uint16_t conn_handle, uint16_t const *p_handles, uint16_t handle_count))
 Initiate a GATT Read Multiple Characteristic Values procedure.
 SVCALL (SD_BLE_GATTC_WRITE, uint32_t, sd_ble_gattc_write(uint16_t conn_handle, ble_gattc_write_params_t const *p_write_params))
 Perform a Write (Characteristic Value or Descriptor, with or without response, signed or not, long or reliable) procedure.
 SVCALL (SD_BLE_GATTC_HV_CONFIRM, uint32_t, sd_ble_gattc_hv_confirm(uint16_t conn_handle, uint16_t handle))
 Send a Handle Value Confirmation to the GATT Server.

Function Documentation

SVCALL ( SD_BLE_GATTC_PRIMARY_SERVICES_DISCOVER  ,
uint32_t  ,
sd_ble_gattc_primary_services_discover(uint16_t conn_handle, uint16_t start_handle, ble_uuid_t const *p_srvc_uuid)   
)

Initiate or continue a GATT Primary Service Discovery procedure.

This function initiates or resumes a Primary Service discovery procedure, starting from the supplied handle. If the last service has not been reached, this function must be called again with an updated start handle value to continue the search.

Note:
If any of the discovered services have 128-bit UUIDs which are not present in the table provided to ble_vs_uuids_assign, a UUID structure with type BLE_UUID_TYPE_UNKNOWN will be received in the corresponding event.
Parameters:
[in]conn_handleThe connection handle identifying the connection to perform this procedure on.
[in]start_handleHandle to start searching from.
[in]p_srvc_uuidPointer to the service UUID to be found. If it is NULL, all primary services will be returned.
Return values:
NRF_SUCCESSSuccessfully started or resumed the Primary Service Discovery procedure.
BLE_ERROR_INVALID_CONN_HANDLEInvalid Connection Handle.
NRF_ERROR_INVALID_STATEInvalid Connection State.
NRF_ERROR_INVALID_PARAMInvalid parameter(s) supplied.
NRF_ERROR_BUSYClient procedure already in progress.
SVCALL ( SD_BLE_GATTC_HV_CONFIRM  ,
uint32_t  ,
sd_ble_gattc_hv_confirm(uint16_t conn_handle, uint16_t handle)   
)

Send a Handle Value Confirmation to the GATT Server.

Parameters:
[in]conn_handleThe connection handle identifying the connection to perform this procedure on.
[in]handleThe handle of the attribute in the indication.
Return values:
NRF_SUCCESSSuccessfully queued the Handle Value Confirmation for transmission.
BLE_ERROR_INVALID_CONN_HANDLEInvalid Connection Handle.
NRF_ERROR_INVALID_STATEInvalid Connection State or no Indication pending to be confirmed.
BLE_ERROR_INVALID_ATTR_HANDLEInvalid attribute handle.
SVCALL ( SD_BLE_GATTC_WRITE  ,
uint32_t  ,
sd_ble_gattc_write(uint16_t conn_handle, ble_gattc_write_params_t const *p_write_params)   
)

Perform a Write (Characteristic Value or Descriptor, with or without response, signed or not, long or reliable) procedure.

This function can perform all write procedures described in GATT.

Note:
It is important to note that a write without response will consume an application buffer, and will therefore generate a BLE_EVT_TX_COMPLETE event when the packet has been transmitted. A write (with response) on the other hand will use the standard client internal buffer and thus will only generate a BLE_GATTC_EVT_WRITE_RSP event as soon as the write response has been received from the peer. Please see the documentation of sd_ble_tx_buffer_count_get for more details.
Parameters:
[in]conn_handleThe connection handle identifying the connection to perform this procedure on.
[in]p_write_paramsA pointer to a write parameters structure.
Return values:
NRF_SUCCESSSuccessfully started the Write procedure.
BLE_ERROR_INVALID_CONN_HANDLEInvalid Connection Handle.
NRF_ERROR_INVALID_STATEInvalid Connection State.
NRF_ERROR_INVALID_ADDRInvalid pointer supplied.
NRF_ERROR_INVALID_PARAMInvalid parameter(s) supplied.
NRF_ERROR_DATA_SIZEInvalid data size(s) supplied.
NRF_ERROR_BUSYProcedure already in progress.
BLE_ERROR_NO_TX_BUFFERSThere are no available buffers left.
SVCALL ( SD_BLE_GATTC_CHAR_VALUES_READ  ,
uint32_t  ,
sd_ble_gattc_char_values_read(uint16_t conn_handle, uint16_t const *p_handles, uint16_t handle_count)   
)

Initiate a GATT Read Multiple Characteristic Values procedure.

This function initiates a GATT Read Multiple Characteristic Values procedure.

Parameters:
[in]conn_handleThe connection handle identifying the connection to perform this procedure on.
[in]p_handlesA pointer to the handle(s) of the attribute(s) to be read.
[in]handle_countThe number of handles in p_handles.
Return values:
NRF_SUCCESSSuccessfully started the Read Multiple Characteristic Values procedure.
BLE_ERROR_INVALID_CONN_HANDLEInvalid Connection Handle.
NRF_ERROR_INVALID_STATEInvalid Connection State.
NRF_ERROR_INVALID_ADDRInvalid pointer supplied.
NRF_ERROR_BUSYClient procedure already in progress.
SVCALL ( SD_BLE_GATTC_READ  ,
uint32_t  ,
sd_ble_gattc_read(uint16_t conn_handle, uint16_t handle, uint16_t offset)   
)

Initiate or continue a GATT Read (Long) Characteristic or Descriptor procedure.

This function initiates or resumes a GATT Read (Long) Characteristic or Descriptor procedure. If the Characteristic or Descriptor to be read is longer than ATT_MTU - 1, this function must be called multiple times with appropriate offset to read the complete value.

Parameters:
[in]conn_handleThe connection handle identifying the connection to perform this procedure on.
[in]handleThe handle of the attribute to be read.
[in]offsetOffset into the attribute value to be read.
Return values:
NRF_SUCCESSSuccessfully started or resumed the Read (Long) procedure.
BLE_ERROR_INVALID_CONN_HANDLEInvalid Connection Handle.
NRF_ERROR_INVALID_STATEInvalid Connection State.
NRF_ERROR_INVALID_ADDRInvalid pointer supplied.
NRF_ERROR_BUSYClient procedure already in progress.
SVCALL ( SD_BLE_GATTC_CHAR_VALUE_BY_UUID_READ  ,
uint32_t  ,
sd_ble_gattc_char_value_by_uuid_read(uint16_t conn_handle, ble_uuid_t const *p_uuid, ble_gattc_handle_range_t const *p_handle_range)   
)

Initiate or continue a GATT Read using Characteristic UUID procedure.

This function initiates or resumes a Read using Characteristic UUID procedure. If the last Characteristic has not been reached, this must be called again with an updated handle range to continue the discovery.

Parameters:
[in]conn_handleThe connection handle identifying the connection to perform this procedure on.
[in]p_uuidPointer to a Characteristic value UUID to read.
[in]p_handle_rangeA pointer to the range of handles to perform this procedure on.
Return values:
NRF_SUCCESSSuccessfully started or resumed the Read using Characteristic UUID procedure.
BLE_ERROR_INVALID_CONN_HANDLEInvalid Connection Handle.
NRF_ERROR_INVALID_STATEInvalid Connection State.
NRF_ERROR_INVALID_ADDRInvalid pointer supplied.
NRF_ERROR_BUSYClient procedure already in progress.
SVCALL ( SD_BLE_GATTC_DESCRIPTORS_DISCOVER  ,
uint32_t  ,
sd_ble_gattc_descriptors_discover(uint16_t conn_handle, ble_gattc_handle_range_t const *p_handle_range)   
)

Initiate or continue a GATT Characteristic Descriptor Discovery procedure.

This function initiates or resumes a Characteristic Descriptor discovery procedure. If the last Descriptor has not been reached, this must be called again with an updated handle range to continue the discovery.

Parameters:
[in]conn_handleThe connection handle identifying the connection to perform this procedure on.
[in]p_handle_rangeA pointer to the range of handles of the Characteristic to perform this procedure on.
Return values:
NRF_SUCCESSSuccessfully started or resumed the Descriptor Discovery procedure.
BLE_ERROR_INVALID_CONN_HANDLEInvalid Connection Handle.
NRF_ERROR_INVALID_STATEInvalid Connection State.
NRF_ERROR_INVALID_ADDRInvalid pointer supplied.
NRF_ERROR_BUSYClient procedure already in progress.
SVCALL ( SD_BLE_GATTC_CHARACTERISTICS_DISCOVER  ,
uint32_t  ,
sd_ble_gattc_characteristics_discover(uint16_t conn_handle, ble_gattc_handle_range_t const *p_handle_range)   
)

Initiate or continue a GATT Characteristic Discovery procedure.

This function initiates or resumes a Characteristic discovery procedure. If the last Characteristic has not been reached, this must be called again with an updated handle range to continue the discovery.

Note:
If any of the discovered characteristics have 128-bit UUIDs which are not present in the table provided to ble_vs_uuids_assign, a UUID structure with type BLE_UUID_TYPE_UNKNOWN will be received in the corresponding event.
Parameters:
[in]conn_handleThe connection handle identifying the connection to perform this procedure on.
[in]p_handle_rangeA pointer to the range of handles of the Service to perform this procedure on.
Return values:
NRF_SUCCESSSuccessfully started or resumed the Characteristic Discovery procedure.
BLE_ERROR_INVALID_CONN_HANDLEInvalid Connection Handle.
NRF_ERROR_INVALID_STATEInvalid Connection State.
NRF_ERROR_INVALID_ADDRInvalid pointer supplied.
NRF_ERROR_BUSYClient procedure already in progress.
SVCALL ( SD_BLE_GATTC_RELATIONSHIPS_DISCOVER  ,
uint32_t  ,
sd_ble_gattc_relationships_discover(uint16_t conn_handle, ble_gattc_handle_range_t const *p_handle_range)   
)

Initiate or continue a GATT Relationship Discovery procedure.

This function initiates or resumes the Find Included Services sub-procedure. If the last included service has not been reached, this must be called again with an updated handle range to continue the search.

Parameters:
[in]conn_handleThe connection handle identifying the connection to perform this procedure on.
[in]p_handle_rangeA pointer to the range of handles of the Service to perform this procedure on.
Return values:
NRF_SUCCESSSuccessfully started or resumed the Relationship Discovery procedure.
BLE_ERROR_INVALID_CONN_HANDLEInvalid Connection Handle.
NRF_ERROR_INVALID_STATEInvalid Connection State.
NRF_ERROR_INVALID_ADDRInvalid pointer supplied.
NRF_ERROR_INVALID_PARAMInvalid parameter(s) supplied.
NRF_ERROR_BUSYClient procedure already in progress.