Zephyr API Documentation  3.0.0
A Scalable Open Source RTOS
3.0.0
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
gap.h File Reference

Bluetooth Generic Access Profile defines and Assigned Numbers. More...

Go to the source code of this file.

Macros

#define BT_COMP_ID_LF   0x05f1 /* The Linux Foundation */
 
#define BT_DATA_FLAGS   0x01 /* AD flags */
 
#define BT_DATA_UUID16_SOME   0x02 /* 16-bit UUID, more available */
 
#define BT_DATA_UUID16_ALL   0x03 /* 16-bit UUID, all listed */
 
#define BT_DATA_UUID32_SOME   0x04 /* 32-bit UUID, more available */
 
#define BT_DATA_UUID32_ALL   0x05 /* 32-bit UUID, all listed */
 
#define BT_DATA_UUID128_SOME   0x06 /* 128-bit UUID, more available */
 
#define BT_DATA_UUID128_ALL   0x07 /* 128-bit UUID, all listed */
 
#define BT_DATA_NAME_SHORTENED   0x08 /* Shortened name */
 
#define BT_DATA_NAME_COMPLETE   0x09 /* Complete name */
 
#define BT_DATA_TX_POWER   0x0a /* Tx Power */
 
#define BT_DATA_SM_TK_VALUE   0x10 /* Security Manager TK Value */
 
#define BT_DATA_SM_OOB_FLAGS   0x11 /* Security Manager OOB Flags */
 
#define BT_DATA_SOLICIT16   0x14 /* Solicit UUIDs, 16-bit */
 
#define BT_DATA_SOLICIT128   0x15 /* Solicit UUIDs, 128-bit */
 
#define BT_DATA_SVC_DATA16   0x16 /* Service data, 16-bit UUID */
 
#define BT_DATA_GAP_APPEARANCE   0x19 /* GAP appearance */
 
#define BT_DATA_LE_BT_DEVICE_ADDRESS   0x1b /* LE Bluetooth Device Address */
 
#define BT_DATA_LE_ROLE   0x1c /* LE Role */
 
#define BT_DATA_SOLICIT32   0x1f /* Solicit UUIDs, 32-bit */
 
#define BT_DATA_SVC_DATA32   0x20 /* Service data, 32-bit UUID */
 
#define BT_DATA_SVC_DATA128   0x21 /* Service data, 128-bit UUID */
 
#define BT_DATA_LE_SC_CONFIRM_VALUE   0x22 /* LE SC Confirmation Value */
 
#define BT_DATA_LE_SC_RANDOM_VALUE   0x23 /* LE SC Random Value */
 
#define BT_DATA_URI   0x24 /* URI */
 
#define BT_DATA_LE_SUPPORTED_FEATURES   0x27 /* LE Supported Features */
 
#define BT_DATA_CHANNEL_MAP_UPDATE_IND   0x28 /* Channel Map Update Indication */
 
#define BT_DATA_MESH_PROV   0x29 /* Mesh Provisioning PDU */
 
#define BT_DATA_MESH_MESSAGE   0x2a /* Mesh Networking PDU */
 
#define BT_DATA_MESH_BEACON   0x2b /* Mesh Beacon */
 
#define BT_DATA_BIG_INFO   0x2c /* BIGInfo */
 
#define BT_DATA_BROADCAST_CODE   0x2d /* Broadcast Code */
 
#define BT_DATA_CSIS_RSI   0x2e /* CSIS Random Set ID type */
 
#define BT_DATA_MANUFACTURER_DATA   0xff /* Manufacturer Specific Data */
 
#define BT_LE_AD_LIMITED   0x01 /* Limited Discoverable */
 
#define BT_LE_AD_GENERAL   0x02 /* General Discoverable */
 
#define BT_LE_AD_NO_BREDR   0x04 /* BR/EDR not supported */
 
#define BT_GAP_SCAN_FAST_INTERVAL   0x0060 /* 60 ms */
 
#define BT_GAP_SCAN_FAST_WINDOW   0x0030 /* 30 ms */
 
#define BT_GAP_SCAN_SLOW_INTERVAL_1   0x0800 /* 1.28 s */
 
#define BT_GAP_SCAN_SLOW_WINDOW_1   0x0012 /* 11.25 ms */
 
#define BT_GAP_SCAN_SLOW_INTERVAL_2   0x1000 /* 2.56 s */
 
#define BT_GAP_SCAN_SLOW_WINDOW_2   0x0012 /* 11.25 ms */
 
#define BT_GAP_ADV_FAST_INT_MIN_1   0x0030 /* 30 ms */
 
#define BT_GAP_ADV_FAST_INT_MAX_1   0x0060 /* 60 ms */
 
#define BT_GAP_ADV_FAST_INT_MIN_2   0x00a0 /* 100 ms */
 
#define BT_GAP_ADV_FAST_INT_MAX_2   0x00f0 /* 150 ms */
 
#define BT_GAP_ADV_SLOW_INT_MIN   0x0640 /* 1 s */
 
#define BT_GAP_ADV_SLOW_INT_MAX   0x0780 /* 1.2 s */
 
#define BT_GAP_PER_ADV_FAST_INT_MIN_1   0x0018 /* 30 ms */
 
#define BT_GAP_PER_ADV_FAST_INT_MAX_1   0x0030 /* 60 ms */
 
#define BT_GAP_PER_ADV_FAST_INT_MIN_2   0x0050 /* 100 ms */
 
#define BT_GAP_PER_ADV_FAST_INT_MAX_2   0x0078 /* 150 ms */
 
#define BT_GAP_PER_ADV_SLOW_INT_MIN   0x0320 /* 1 s */
 
#define BT_GAP_PER_ADV_SLOW_INT_MAX   0x03C0 /* 1.2 s */
 
#define BT_GAP_INIT_CONN_INT_MIN   0x0018 /* 30 ms */
 
#define BT_GAP_INIT_CONN_INT_MAX   0x0028 /* 50 ms */
 
#define BT_GAP_ADV_MAX_ADV_DATA_LEN   31
 
#define BT_GAP_ADV_MAX_EXT_ADV_DATA_LEN   1650
 
#define BT_GAP_TX_POWER_INVALID   0x7f
 
#define BT_GAP_RSSI_INVALID   0x7f
 
#define BT_GAP_SID_INVALID   0xff
 
#define BT_GAP_NO_TIMEOUT   0x0000
 
#define BT_GAP_ADV_HIGH_DUTY_CYCLE_MAX_TIMEOUT   128
 
#define BT_GAP_DATA_LEN_DEFAULT   0x001b /* 27 bytes */
 
#define BT_GAP_DATA_LEN_MAX   0x00fb /* 251 bytes */
 
#define BT_GAP_DATA_TIME_DEFAULT   0x0148 /* 328 us */
 
#define BT_GAP_DATA_TIME_MAX   0x4290 /* 17040 us */
 
#define BT_GAP_SID_MAX   0x0F
 
#define BT_GAP_PER_ADV_MAX_SKIP   0x01F3
 
#define BT_GAP_PER_ADV_MIN_TIMEOUT   0x000A
 
#define BT_GAP_PER_ADV_MAX_TIMEOUT   0x4000
 
#define BT_GAP_PER_ADV_MIN_INTERVAL   0x0006
 
#define BT_GAP_PER_ADV_MAX_INTERVAL   0xFFFF
 
#define BT_GAP_PER_ADV_INTERVAL_TO_MS(interval)   ((interval) * 5 / 4)
 Convert periodic advertising interval (N * 1.25 ms) to milliseconds. More...
 
#define BT_LE_SUPP_FEAT_40_ENCODE(w64)
 Encode 40 least significant bits of 64-bit LE Supported Features into array values in little-endian format. More...
 
#define BT_LE_SUPP_FEAT_32_ENCODE(w64)
 Encode 4 least significant bytes of 64-bit LE Supported Features into 4 bytes long array of values in little-endian format. More...
 
#define BT_LE_SUPP_FEAT_24_ENCODE(w64)
 Encode 3 least significant bytes of 64-bit LE Supported Features into 3 bytes long array of values in little-endian format. More...
 
#define BT_LE_SUPP_FEAT_16_ENCODE(w64)
 Encode 2 least significant bytes of 64-bit LE Supported Features into 2 bytes long array of values in little-endian format. More...
 
#define BT_LE_SUPP_FEAT_8_ENCODE(w64)    (((w64) >> 0) & 0xFF)
 Encode the least significant byte of 64-bit LE Supported Features into single byte long array. More...
 
#define BT_LE_SUPP_FEAT_VALIDATE(w64)
 Validate wheather LE Supported Features value does not use bits that are reserved for future use. More...
 

Enumerations

enum  { BT_GAP_LE_PHY_NONE = 0 , BT_GAP_LE_PHY_1M = BIT(0) , BT_GAP_LE_PHY_2M = BIT(1) , BT_GAP_LE_PHY_CODED = BIT(2) }
 
enum  {
  BT_GAP_ADV_TYPE_ADV_IND = 0x00 , BT_GAP_ADV_TYPE_ADV_DIRECT_IND = 0x01 , BT_GAP_ADV_TYPE_ADV_SCAN_IND = 0x02 , BT_GAP_ADV_TYPE_ADV_NONCONN_IND = 0x03 ,
  BT_GAP_ADV_TYPE_SCAN_RSP = 0x04 , BT_GAP_ADV_TYPE_EXT_ADV = 0x05
}
 
enum  {
  BT_GAP_ADV_PROP_CONNECTABLE = BIT(0) , BT_GAP_ADV_PROP_SCANNABLE = BIT(1) , BT_GAP_ADV_PROP_DIRECTED = BIT(2) , BT_GAP_ADV_PROP_SCAN_RESPONSE = BIT(3) ,
  BT_GAP_ADV_PROP_EXT_ADV = BIT(4)
}
 
enum  { BT_GAP_CTE_AOA = 0x00 , BT_GAP_CTE_AOD_1US = 0x01 , BT_GAP_CTE_AOD_2US = 0x02 , BT_GAP_CTE_NONE = 0xFF }
 
enum  {
  BT_GAP_SCA_UNKNOWN = 0 , BT_GAP_SCA_251_500 = 0 , BT_GAP_SCA_151_250 = 1 , BT_GAP_SCA_101_150 = 2 ,
  BT_GAP_SCA_76_100 = 3 , BT_GAP_SCA_51_75 = 4 , BT_GAP_SCA_31_50 = 5 , BT_GAP_SCA_21_30 = 6 ,
  BT_GAP_SCA_0_20 = 7
}
 Peripheral sleep clock accuracy (SCA) in ppm (parts per million) More...
 

Detailed Description

Bluetooth Generic Access Profile defines and Assigned Numbers.