nRF Connect SDK Bare Metal API 2.0.99
Loading...
Searching...
No Matches
GATT Queue

Queue for the Bluetooth LE GATT requests. More...

Data Structures

struct  ble_gq_evt
 Gatt Queue event. More...
 
struct  ble_gq_req
 Structure to hold a Bluetooth LE GATT request. More...
 
struct  ble_gq
 Bluetooth LE GATT Queue. More...
 

Macros

#define BLE_GQ_DEF(_name)
 Macro for defining a Bluetooth LE GATT queue instance with default parameters from Kconfig.
 
#define BLE_GQ_CUSTOM_DEF(_name, _max_conns, _heap_size, _max_req_blocks)
 Macro for defining a Bluetooth LE GATT queue instance.
 
#define BLE_GQ_CONN_HANDLE_INIT(i, _)
 Helper macro for initializing connection handle array. Used in BLE_GQ_CUSTOM_DEF.
 
#define BLE_GQ_PURGE_ARRAY_INIT(i, _max_conns)
 Helper macro for initializing purge array. Used in BLE_GQ_CUSTOM_DEF.
 
#define BLE_GQ_REQ_QUEUE_INIT(i, _name)
 Helper macro for initializing request queues. Used in BLE_GQ_CUSTOM_DEF.
 

Typedefs

typedef void(* ble_gq_evt_handler_t) (const struct ble_gq_req *req, struct ble_gq_evt *evt)
 Event handler type.
 

Enumerations

enum  ble_gq_req_type {
  BLE_GQ_REQ_GATTC_READ , BLE_GQ_REQ_GATTC_WRITE , BLE_GQ_REQ_SRV_DISCOVERY , BLE_GQ_REQ_CHAR_DISCOVERY ,
  BLE_GQ_REQ_DESC_DISCOVERY , BLE_GQ_REQ_GATTS_HVX , BLE_GQ_REQ_NUM
}
 Bluetooth LE GATT request types. More...
 
enum  ble_gq_evt_type { BLE_GQ_EVT_ERROR }
 Advertising event types. More...
 

Functions

uint32_t ble_gq_item_add (const struct ble_gq *gatt_queue, struct ble_gq_req *req, uint16_t conn_handle)
 Add a GATT request to the GATT queue instance.
 
uint32_t ble_gq_conn_handle_register (const struct ble_gq *gatt_queue, uint16_t conn_handle)
 Register connection handle in the GATT queue instance.
 
void ble_gq_on_ble_evt (const ble_evt_t *ble_evt, void *ble_gq)
 Bluetooth LE event handler for the GATT Queue library.
 

Detailed Description

Queue for the Bluetooth LE GATT requests.

The Bluetooth LE GATT Queue module can be used to queue GATT requests if the SoftDevice is not able to handle them at the moment. In this case, processing of the queued request is postponed. Later on, when the corresponding event indicates that the SoftDevice may be free, the request is retried.