GATT DEFINES¶
Overview¶
Application Example¶
API Reference¶
Unions¶
-
union
esp_gatt_rsp_t
¶ - #include <esp_gatt_defs.h>
GATT remote read request response type.
Public Members
-
esp_gatt_value_t
attr_value
¶ Gatt attribute structure
-
uint16_t
handle
¶ Gatt attribute handle
-
esp_gatt_value_t
Structures¶
-
struct
esp_gatt_id_t
¶ Gatt id, include uuid and instance id.
-
struct
esp_gatt_srvc_id_t
¶ Gatt service id, include id (uuid and instance id) and primary flag.
Public Members
-
esp_gatt_id_t
id
¶ Gatt id, include uuid and instance
-
bool
is_primary
¶ This service is primary or not
-
esp_gatt_id_t
-
struct
esp_attr_desc_t
¶ Attribute description (used to create database)
-
struct
esp_attr_control_t
¶ attribute auto response flag
Public Members
-
uint8_t
auto_rsp
¶ if auto_rsp set to ESP_GATT_RSP_BY_APP, means the response of Write/Read operation will by replied by application. if auto_rsp set to ESP_GATT_AUTO_RSP, means the response of Write/Read operation will be replied by GATT stack automatically.
-
uint8_t
-
struct
esp_gatts_attr_db_t
¶ attribute type added to the gatt server database
Public Members
-
esp_attr_control_t
attr_control
¶ The attribute control type
-
esp_attr_desc_t
att_desc
¶ The attribute type
-
esp_attr_control_t
-
struct
esp_attr_value_t
¶ set the attribute value type
-
struct
esp_gatts_incl_svc_desc_t
¶ Gatt include service entry element.
-
struct
esp_gatts_incl128_svc_desc_t
¶ Gatt include 128 bit service entry element.
-
struct
esp_gatt_value_t
¶ Gatt attribute value.
-
struct
esp_gatt_conn_params_t
¶ Connection parameters information.
Public Members
-
uint16_t
interval
¶ connection interval
-
uint16_t
latency
¶ Slave latency for the connection in number of connection events. Range: 0x0000 to 0x01F3
-
uint16_t
timeout
¶ Supervision timeout for the LE Link. Range: 0x000A to 0x0C80. Mandatory Range: 0x000A to 0x0C80 Time = N * 10 msec Time Range: 100 msec to 32 seconds
-
uint16_t
-
struct
esp_gattc_multi_t
¶ read multiple attribute
-
struct
esp_gattc_db_elem_t
¶ data base attribute element
Public Members
-
esp_gatt_db_attr_type_t
type
¶ The attribute type
-
uint16_t
attribute_handle
¶ The attribute handle, it’s valid for all of the type
-
uint16_t
start_handle
¶ The service start handle, it’s valid only when the type = ESP_GATT_DB_PRIMARY_SERVICE or ESP_GATT_DB_SECONDARY_SERVICE
-
uint16_t
end_handle
¶ The service end handle, it’s valid only when the type = ESP_GATT_DB_PRIMARY_SERVICE or ESP_GATT_DB_SECONDARY_SERVICE
-
esp_gatt_char_prop_t
properties
¶ The characteristic properties, it’s valid only when the type = ESP_GATT_DB_CHARACTERISTIC
-
esp_bt_uuid_t
uuid
¶ The attribute uuid, it’s valid for all of the type
-
esp_gatt_db_attr_type_t
-
struct
esp_gattc_service_elem_t
¶ service element
Public Members
-
bool
is_primary
¶ The service flag, true if the service is primary service, else is secondary service
-
uint16_t
start_handle
¶ The start handle of the service
-
uint16_t
end_handle
¶ The end handle of the service
-
esp_bt_uuid_t
uuid
¶ The uuid of the service
-
bool
-
struct
esp_gattc_char_elem_t
¶ characteristic element
Public Members
-
uint16_t
char_handle
¶ The characteristic handle
-
esp_gatt_char_prop_t
properties
¶ The characteristic properties
-
esp_bt_uuid_t
uuid
¶ The characteristic uuid
-
uint16_t
-
struct
esp_gattc_descr_elem_t
¶ descriptor element
Public Members
-
uint16_t
handle
¶ The characteristic descriptor handle
-
esp_bt_uuid_t
uuid
¶ The characteristic descriptor uuid
-
uint16_t
-
struct
esp_gattc_incl_svc_elem_t
¶ include service element
Public Members
-
uint16_t
handle
¶ The include service current attribute handle
-
uint16_t
incl_srvc_s_handle
¶ The start handle of the service which has been included
-
uint16_t
incl_srvc_e_handle
¶ The end handle of the service which has been included
-
esp_bt_uuid_t
uuid
¶ The include service uuid
-
uint16_t
Macros¶
-
ESP_GATT_UUID_IMMEDIATE_ALERT_SVC
¶ All “ESP_GATT_UUID_xxx” is attribute types
-
ESP_GATT_UUID_LINK_LOSS_SVC
¶
-
ESP_GATT_UUID_TX_POWER_SVC
¶
-
ESP_GATT_UUID_CURRENT_TIME_SVC
¶
-
ESP_GATT_UUID_REF_TIME_UPDATE_SVC
¶
-
ESP_GATT_UUID_NEXT_DST_CHANGE_SVC
¶
-
ESP_GATT_UUID_GLUCOSE_SVC
¶
-
ESP_GATT_UUID_HEALTH_THERMOM_SVC
¶
-
ESP_GATT_UUID_DEVICE_INFO_SVC
¶
-
ESP_GATT_UUID_HEART_RATE_SVC
¶
-
ESP_GATT_UUID_PHONE_ALERT_STATUS_SVC
¶
-
ESP_GATT_UUID_BATTERY_SERVICE_SVC
¶
-
ESP_GATT_UUID_BLOOD_PRESSURE_SVC
¶
-
ESP_GATT_UUID_ALERT_NTF_SVC
¶
-
ESP_GATT_UUID_HID_SVC
¶
-
ESP_GATT_UUID_SCAN_PARAMETERS_SVC
¶
-
ESP_GATT_UUID_RUNNING_SPEED_CADENCE_SVC
¶
-
ESP_GATT_UUID_Automation_IO_SVC
¶
-
ESP_GATT_UUID_CYCLING_SPEED_CADENCE_SVC
¶
-
ESP_GATT_UUID_CYCLING_POWER_SVC
¶
-
ESP_GATT_UUID_LOCATION_AND_NAVIGATION_SVC
¶
-
ESP_GATT_UUID_ENVIRONMENTAL_SENSING_SVC
¶
-
ESP_GATT_UUID_BODY_COMPOSITION
¶
-
ESP_GATT_UUID_USER_DATA_SVC
¶
-
ESP_GATT_UUID_WEIGHT_SCALE_SVC
¶
-
ESP_GATT_UUID_BOND_MANAGEMENT_SVC
¶
-
ESP_GATT_UUID_CONT_GLUCOSE_MONITOR_SVC
¶
-
ESP_GATT_UUID_PRI_SERVICE
¶
-
ESP_GATT_UUID_SEC_SERVICE
¶
-
ESP_GATT_UUID_INCLUDE_SERVICE
¶
-
ESP_GATT_UUID_CHAR_DECLARE
¶
-
ESP_GATT_UUID_CHAR_EXT_PROP
¶
-
ESP_GATT_UUID_CHAR_DESCRIPTION
¶
-
ESP_GATT_UUID_CHAR_CLIENT_CONFIG
¶
-
ESP_GATT_UUID_CHAR_SRVR_CONFIG
¶
-
ESP_GATT_UUID_CHAR_PRESENT_FORMAT
¶
-
ESP_GATT_UUID_CHAR_AGG_FORMAT
¶
-
ESP_GATT_UUID_CHAR_VALID_RANGE
¶
-
ESP_GATT_UUID_EXT_RPT_REF_DESCR
¶
-
ESP_GATT_UUID_RPT_REF_DESCR
¶
-
ESP_GATT_UUID_NUM_DIGITALS_DESCR
¶
-
ESP_GATT_UUID_VALUE_TRIGGER_DESCR
¶
-
ESP_GATT_UUID_ENV_SENSING_CONFIG_DESCR
¶
-
ESP_GATT_UUID_ENV_SENSING_MEASUREMENT_DESCR
¶
-
ESP_GATT_UUID_ENV_SENSING_TRIGGER_DESCR
¶
-
ESP_GATT_UUID_TIME_TRIGGER_DESCR
¶
-
ESP_GATT_UUID_GAP_DEVICE_NAME
¶
-
ESP_GATT_UUID_GAP_ICON
¶
-
ESP_GATT_UUID_GAP_PREF_CONN_PARAM
¶
-
ESP_GATT_UUID_GAP_CENTRAL_ADDR_RESOL
¶
-
ESP_GATT_UUID_GATT_SRV_CHGD
¶
-
ESP_GATT_UUID_ALERT_LEVEL
¶
-
ESP_GATT_UUID_TX_POWER_LEVEL
¶
-
ESP_GATT_UUID_CURRENT_TIME
¶
-
ESP_GATT_UUID_LOCAL_TIME_INFO
¶
-
ESP_GATT_UUID_REF_TIME_INFO
¶
-
ESP_GATT_UUID_NW_STATUS
¶
-
ESP_GATT_UUID_NW_TRIGGER
¶
-
ESP_GATT_UUID_ALERT_STATUS
¶
-
ESP_GATT_UUID_RINGER_CP
¶
-
ESP_GATT_UUID_RINGER_SETTING
¶
-
ESP_GATT_UUID_GM_MEASUREMENT
¶
-
ESP_GATT_UUID_GM_CONTEXT
¶
-
ESP_GATT_UUID_GM_CONTROL_POINT
¶
-
ESP_GATT_UUID_GM_FEATURE
¶
-
ESP_GATT_UUID_SYSTEM_ID
¶
-
ESP_GATT_UUID_MODEL_NUMBER_STR
¶
-
ESP_GATT_UUID_SERIAL_NUMBER_STR
¶
-
ESP_GATT_UUID_FW_VERSION_STR
¶
-
ESP_GATT_UUID_HW_VERSION_STR
¶
-
ESP_GATT_UUID_SW_VERSION_STR
¶
-
ESP_GATT_UUID_MANU_NAME
¶
-
ESP_GATT_UUID_IEEE_DATA
¶
-
ESP_GATT_UUID_PNP_ID
¶
-
ESP_GATT_UUID_HID_INFORMATION
¶
-
ESP_GATT_UUID_HID_REPORT_MAP
¶
-
ESP_GATT_UUID_HID_CONTROL_POINT
¶
-
ESP_GATT_UUID_HID_REPORT
¶
-
ESP_GATT_UUID_HID_PROTO_MODE
¶
-
ESP_GATT_UUID_HID_BT_KB_INPUT
¶
-
ESP_GATT_UUID_HID_BT_KB_OUTPUT
¶
-
ESP_GATT_UUID_HID_BT_MOUSE_INPUT
¶
-
ESP_GATT_HEART_RATE_MEAS
¶ Heart Rate Measurement.
-
ESP_GATT_BODY_SENSOR_LOCATION
¶ Body Sensor Location.
-
ESP_GATT_HEART_RATE_CNTL_POINT
¶ Heart Rate Control Point.
-
ESP_GATT_UUID_BATTERY_LEVEL
¶
-
ESP_GATT_UUID_SC_CONTROL_POINT
¶
-
ESP_GATT_UUID_SENSOR_LOCATION
¶
-
ESP_GATT_UUID_RSC_MEASUREMENT
¶
-
ESP_GATT_UUID_RSC_FEATURE
¶
-
ESP_GATT_UUID_CSC_MEASUREMENT
¶
-
ESP_GATT_UUID_CSC_FEATURE
¶
-
ESP_GATT_UUID_SCAN_INT_WINDOW
¶
-
ESP_GATT_UUID_SCAN_REFRESH
¶
-
ESP_GATT_ILLEGAL_UUID
¶ GATT INVALID UUID.
-
ESP_GATT_ILLEGAL_HANDLE
¶ GATT INVALID HANDLE.
-
ESP_GATT_ATTR_HANDLE_MAX
¶ GATT attribute max handle.
-
ESP_GATT_MAX_READ_MULTI_HANDLES
¶
-
ESP_GATT_PERM_READ
¶ Attribute permissions.
-
ESP_GATT_PERM_READ_ENCRYPTED
¶
-
ESP_GATT_PERM_READ_ENC_MITM
¶
-
ESP_GATT_PERM_WRITE
¶
-
ESP_GATT_PERM_WRITE_ENCRYPTED
¶
-
ESP_GATT_PERM_WRITE_ENC_MITM
¶
-
ESP_GATT_PERM_WRITE_SIGNED
¶
-
ESP_GATT_PERM_WRITE_SIGNED_MITM
¶
-
ESP_GATT_CHAR_PROP_BIT_BROADCAST
¶
-
ESP_GATT_CHAR_PROP_BIT_READ
¶
-
ESP_GATT_CHAR_PROP_BIT_WRITE_NR
¶
-
ESP_GATT_CHAR_PROP_BIT_WRITE
¶
-
ESP_GATT_CHAR_PROP_BIT_NOTIFY
¶
-
ESP_GATT_CHAR_PROP_BIT_INDICATE
¶
-
ESP_GATT_CHAR_PROP_BIT_AUTH
¶
-
ESP_GATT_CHAR_PROP_BIT_EXT_PROP
¶
-
ESP_GATT_MAX_ATTR_LEN
¶ GATT maximum attribute length.
-
ESP_GATT_RSP_BY_APP
¶
-
ESP_GATT_AUTO_RSP
¶
-
ESP_GATT_IF_NONE
¶ If callback report gattc_if/gatts_if as this macro, means this event is not correspond to any app
Type Definitions¶
-
typedef uint16_t
esp_gatt_perm_t
¶
-
typedef uint8_t
esp_gatt_char_prop_t
¶
-
typedef uint8_t
esp_gatt_if_t
¶ Gatt interface type, different application on GATT client use different gatt_if
Enumerations¶
-
enum
esp_gatt_prep_write_type
¶ Attribute write data type from the client.
Values:
-
ESP_GATT_PREP_WRITE_CANCEL
= 0x00¶ Prepare write cancel
-
ESP_GATT_PREP_WRITE_EXEC
= 0x01¶ Prepare write execute
-
-
enum
esp_gatt_status_t
¶ GATT success code and error codes.
Values:
-
ESP_GATT_OK
= 0x0¶
-
ESP_GATT_INVALID_HANDLE
= 0x01¶
-
ESP_GATT_READ_NOT_PERMIT
= 0x02¶
-
ESP_GATT_WRITE_NOT_PERMIT
= 0x03¶
-
ESP_GATT_INVALID_PDU
= 0x04¶
-
ESP_GATT_INSUF_AUTHENTICATION
= 0x05¶
-
ESP_GATT_REQ_NOT_SUPPORTED
= 0x06¶
-
ESP_GATT_INVALID_OFFSET
= 0x07¶
-
ESP_GATT_INSUF_AUTHORIZATION
= 0x08¶
-
ESP_GATT_PREPARE_Q_FULL
= 0x09¶
-
ESP_GATT_NOT_FOUND
= 0x0a¶
-
ESP_GATT_NOT_LONG
= 0x0b¶
-
ESP_GATT_INSUF_KEY_SIZE
= 0x0c¶
-
ESP_GATT_INVALID_ATTR_LEN
= 0x0d¶
-
ESP_GATT_ERR_UNLIKELY
= 0x0e¶
-
ESP_GATT_INSUF_ENCRYPTION
= 0x0f¶
-
ESP_GATT_UNSUPPORT_GRP_TYPE
= 0x10¶
-
ESP_GATT_INSUF_RESOURCE
= 0x11¶
-
ESP_GATT_NO_RESOURCES
= 0x80¶
-
ESP_GATT_INTERNAL_ERROR
= 0x81¶
-
ESP_GATT_WRONG_STATE
= 0x82¶
-
ESP_GATT_DB_FULL
= 0x83¶
-
ESP_GATT_BUSY
= 0x84¶
-
ESP_GATT_ERROR
= 0x85¶
-
ESP_GATT_CMD_STARTED
= 0x86¶
-
ESP_GATT_ILLEGAL_PARAMETER
= 0x87¶
-
ESP_GATT_PENDING
= 0x88¶
-
ESP_GATT_AUTH_FAIL
= 0x89¶
-
ESP_GATT_MORE
= 0x8a¶
-
ESP_GATT_INVALID_CFG
= 0x8b¶
-
ESP_GATT_SERVICE_STARTED
= 0x8c¶
-
ESP_GATT_ENCRYPED_MITM
= ESP_GATT_OK¶
-
ESP_GATT_ENCRYPED_NO_MITM
= 0x8d¶
-
ESP_GATT_NOT_ENCRYPTED
= 0x8e¶
-
ESP_GATT_CONGESTED
= 0x8f¶
-
ESP_GATT_DUP_REG
= 0x90¶
-
ESP_GATT_ALREADY_OPEN
= 0x91¶
-
ESP_GATT_CANCEL
= 0x92¶
-
ESP_GATT_STACK_RSP
= 0xe0¶
-
ESP_GATT_APP_RSP
= 0xe1¶
-
ESP_GATT_UNKNOWN_ERROR
= 0xef¶
-
ESP_GATT_CCC_CFG_ERR
= 0xfd¶
-
ESP_GATT_PRC_IN_PROGRESS
= 0xfe¶
-
ESP_GATT_OUT_OF_RANGE
= 0xff¶
-
-
enum
esp_gatt_conn_reason_t
¶ Gatt Connection reason enum.
Values:
-
ESP_GATT_CONN_UNKNOWN
= 0¶ Gatt connection unknown
-
ESP_GATT_CONN_L2C_FAILURE
= 1¶ General L2cap failure
-
ESP_GATT_CONN_TIMEOUT
= 0x08¶ Connection timeout
-
ESP_GATT_CONN_TERMINATE_PEER_USER
= 0x13¶ Connection terminate by peer user
-
ESP_GATT_CONN_TERMINATE_LOCAL_HOST
= 0x16¶ Connection terminated by local host
-
ESP_GATT_CONN_FAIL_ESTABLISH
= 0x3e¶ Connection fail to establish
-
ESP_GATT_CONN_LMP_TIMEOUT
= 0x22¶ Connection fail for LMP response tout
-
ESP_GATT_CONN_CONN_CANCEL
= 0x0100¶ L2CAP connection cancelled
-
ESP_GATT_CONN_NONE
= 0x0101¶ No connection to cancel
-
-
enum
esp_gatt_auth_req_t
¶ Gatt authentication request type.
Values:
-
ESP_GATT_AUTH_REQ_NONE
= 0¶
-
ESP_GATT_AUTH_REQ_NO_MITM
= 1¶
-
ESP_GATT_AUTH_REQ_MITM
= 2¶
-
ESP_GATT_AUTH_REQ_SIGNED_NO_MITM
= 3¶
-
ESP_GATT_AUTH_REQ_SIGNED_MITM
= 4¶
-
-
enum
esp_service_source_t
¶ Values:
-
ESP_GATT_SERVICE_FROM_REMOTE_DEVICE
= 0¶
-
ESP_GATT_SERVICE_FROM_NVS_FLASH
= 1¶
-
ESP_GATT_SERVICE_FROM_UNKNOWN
= 2¶
-
-
enum
esp_gatt_write_type_t
¶ Gatt write type.
Values:
-
ESP_GATT_WRITE_TYPE_NO_RSP
= 1¶ Gatt write attribute need no response
-
ESP_GATT_WRITE_TYPE_RSP
¶ Gatt write attribute need remote response
-
-
enum
esp_gatt_db_attr_type_t
¶ the type of attribute element
Values:
-
ESP_GATT_DB_PRIMARY_SERVICE
¶ Gattc primary service attribute type in the cache
-
ESP_GATT_DB_SECONDARY_SERVICE
¶ Gattc secondary service attribute type in the cache
-
ESP_GATT_DB_CHARACTERISTIC
¶ Gattc characteristic attribute type in the cache
-
ESP_GATT_DB_DESCRIPTOR
¶ Gattc characteristic descriptor attribute type in the cache
-
ESP_GATT_DB_INCLUDED_SERVICE
¶ Gattc include service attribute type in the cache
-
ESP_GATT_DB_ALL
¶ Gattc all the attribute (primary service & secondary service & include service & char & descriptor) type in the cache
-