SmartSnippets DA1459x SDK
ble_gap.h
Go to the documentation of this file.
1 
39 #ifndef BLE_GAP_H_
40 #define BLE_GAP_H_
41 
42 #include <stddef.h>
43 #include <stdint.h>
44 #include "co_version.h"
45 #include "co_bt.h"
46 #include "ble_att.h"
47 #include "ble_common.h"
48 #include "ble_config.h"
49 
52 #define BLE_ADV_DATA_LEN_MAX (ADV_DATA_LEN - 3)
53 
55  #define BLE_NON_CONN_ADV_DATA_LEN_MAX (ADV_DATA_LEN)
56 
58 #define BLE_SCAN_RSP_LEN_MAX (SCAN_RSP_DATA_LEN)
59 
60 /* Maximum length of device name in bytes (as defined by Bluetooth Core v4.2 / GAP) */
61 #define BLE_GAP_DEVNAME_LEN_MAX (BD_NAME_SIZE)
62 
64 #define BLE_GAP_CHANNEL_MAP_LEN (LE_CHNL_MAP_LEN)
65 
67 #define BLE_GAP_MAX_CONNECTED (dg_configBLE_CONNECTIONS_MAX)
68 
70 #define BLE_GAP_MAX_BONDED (defaultBLE_MAX_BONDED)
71 
73 #define BLE_ADV_INTERVAL_FROM_MS(MS) ((MS) * 1000 / 625)
74 
75 #define BLE_ADV_INTERVAL_TO_MS(VAL) ((VAL) * 625 / 1000)
76 
77 #define BLE_SCAN_INTERVAL_FROM_MS(MS) ((MS) * 1000 / 625)
78 
79 #define BLE_SCAN_INTERVAL_TO_MS(VAL) ((VAL) * 625 / 1000)
80 
81 #define BLE_SCAN_WINDOW_FROM_MS(MS) ((MS) * 1000 / 625)
82 
83 #define BLE_SCAN_WINDOW_TO_MS(VAL) ((VAL) * 625 / 1000)
84 
85 #define BLE_CONN_EVENT_LENGTH_FROM_MS(MS) ((MS) * 1000 / 625)
86 
87 #define BLE_CONN_EVENT_LENGTH_TO_MS(VAL) ((VAL) * 625 / 1000)
88 
89 #define BLE_CONN_INTERVAL_FROM_MS(MS) ((MS) * 100 / 125)
90 
91 #define BLE_CONN_INTERVAL_TO_MS(VAL) ((VAL) * 125 / 100)
92 
93 #define BLE_SUPERVISION_TMO_FROM_MS(MS) ((MS) / 10)
94 
95 #define BLE_SUPERVISION_TMO_TO_MS(VAL) ((VAL) * 10)
96 
102 #define BLE_CONN_IDX_INVALID (0xFFFF)
103 
105 #define BLE_RSSI_NOT_AVAILABLE (127)
106 
108 #define BLE_ENC_KEY_SIZE_MAX (16)
109 
111 typedef enum {
112  BLE_GAP_APPEARANCE_UNKNOWN = 0,
113  BLE_GAP_APPEARANCE_GENERIC_PHONE = 64,
114  BLE_GAP_APPEARANCE_GENERIC_COMPUTER = 128,
115  BLE_GAP_APPEARANCE_GENERIC_WATCH = 192,
116  BLE_GAP_APPEARANCE_WATCH_SPORTS_WATCH = 193,
117  BLE_GAP_APPEARANCE_GENERIC_CLOCK = 256,
118  BLE_GAP_APPEARANCE_GENERIC_DISPLAY = 320,
119  BLE_GAP_APPEARANCE_GENERIC_REMOTE_CONTROL = 384,
120  BLE_GAP_APPEARANCE_GENERIC_EYE_GLASSES = 448,
121  BLE_GAP_APPEARANCE_GENERIC_TAG = 512,
122  BLE_GAP_APPEARANCE_GENERIC_KEYRING = 576,
123  BLE_GAP_APPEARANCE_GENERIC_MEDIA_PLAYER = 640,
124  BLE_GAP_APPEARANCE_GENERIC_BARCODE_SCANNER = 704,
125  BLE_GAP_APPEARANCE_GENERIC_THERMOMETER = 768,
126  BLE_GAP_APPEARANCE_THERMOMETER_EAR = 769,
127  BLE_GAP_APPEARANCE_GENERIC_HEART_RATE_SENSOR = 832,
128  BLE_GAP_APPEARANCE_HEART_RATE_SENSOR_HEART_RATE_BELT = 833,
129  BLE_GAP_APPEARANCE_GENERIC_BLOOD_PRESSURE = 896,
130  BLE_GAP_APPEARANCE_BLOOD_PRESSURE_ARM = 897,
131  BLE_GAP_APPEARANCE_BLOOD_PRESSURE_WRIST = 898,
132  BLE_GAP_APPEARANCE_GENERIC_HID = 960,
133  BLE_GAP_APPEARANCE_HID_KEYBOARD = 961,
134  BLE_GAP_APPEARANCE_HID_MOUSE = 962,
135  BLE_GAP_APPEARANCE_HID_JOYSTICK = 963,
136  BLE_GAP_APPEARANCE_HID_GAMEPAD = 964,
137  BLE_GAP_APPEARANCE_HID_DIGITIZER_TABLET = 965,
138  BLE_GAP_APPEARANCE_HID_CARD_READER = 966,
139  BLE_GAP_APPEARANCE_HID_DIGITAL_PEN = 967,
140  BLE_GAP_APPEARANCE_HID_BARCODE_SCANNER = 968,
141  BLE_GAP_APPEARANCE_GENERIC_GLUCOSE_METER = 1024,
142  BLE_GAP_APPEARANCE_GENERIC_RUNNING_WALKING_SENSOR = 1088,
143  BLE_GAP_APPEARANCE_RUNNING_WALKING_SENSOR_IN_SHOE = 1089,
144  BLE_GAP_APPEARANCE_RUNNING_WALKING_SENSOR_ON_SHOE = 1090,
145  BLE_GAP_APPEARANCE_RUNNING_WALKING_SENSOR_ON_HIP = 1091,
146  BLE_GAP_APPEARANCE_GENERIC_CYCLING = 1152,
147  BLE_GAP_APPEARANCE_CYCLING_CYCLING_COMPUTER = 1153,
148  BLE_GAP_APPEARANCE_CYCLING_SPEED_SENSOR = 1154,
149  BLE_GAP_APPEARANCE_CYCLING_CADENCE_SENSOR = 1155,
150  BLE_GAP_APPEARANCE_CYCLING_POWER_SENSOR = 1156,
151  BLE_GAP_APPEARANCE_CYCLING_SPEED_AND_CADENCE_SENSOR = 1157,
152  BLE_GAP_APPEARANCE_GENERIC_PULSE_OXIMETER = 3136,
153  BLE_GAP_APPEARANCE_PULSE_OXIMETER_FINGERTIP = 3137,
154  BLE_GAP_APPEARANCE_PULSE_OXIMETER_WRIST_WORN = 3138,
155  BLE_GAP_APPEARANCE_GENERIC_WEIGHT_SCALE = 3200,
156  BLE_GAP_APPEARANCE_GENERIC_OUTDOOR_SPORTS_ACTIVITY = 5184,
157  BLE_GAP_APPEARANCE_OUTDOOR_SPORTS_ACT_LOCATION_DISPLAY = 5185,
158  BLE_GAP_APPEARANCE_OUTDOOR_SPORTS_ACT_LOCATION_AND_NAVIGATION_DISPLAY = 5186,
159  BLE_GAP_APPEARANCE_OUTDOOR_SPORTS_ACT_LOCATION_POD = 5187,
160  BLE_GAP_APPEARANCE_OUTDOOR_SPORTS_ACT_LOCATION_AND_NAVIGATION_POD = 5188,
161  // dummy appearance ID
162  BLE_GAP_APPEARANCE_LAST,
164 
170 typedef enum {
256 
260 typedef enum {
261  GAP_TX_POWER_MAX = 17,
262  GAP_TX_POWER_6_dBm = 17,
263  GAP_TX_POWER_5_dBm = 16,
264  GAP_TX_POWER_4_5_dBm = 15,
265  GAP_TX_POWER_4_dBm = 14,
266  GAP_TX_POWER_3_dBm = 13,
267  GAP_TX_POWER_2_dBm = 12,
268  GAP_TX_POWER_1_5_dBm = 11,
269  GAP_TX_POWER_0_dBm = 10,
270  GAP_TX_POWER_MINUS_1_dBm = 9,
271  GAP_TX_POWER_MINUS_2_dBm = 8,
272  GAP_TX_POWER_MINUS_3_dBm = 7,
273  GAP_TX_POWER_MINUS_6_dBm = 6,
274  GAP_TX_POWER_MINUS_8_dBm = 5,
275  GAP_TX_POWER_MINUS_12_dBm = 4,
276  GAP_TX_POWER_MINUS_18_dBm = 3,
277  GAP_TX_POWER_MINUS_22_dBm = 2,
278  GAP_TX_POWER_MINUS_26_dBm = 1,
279  GAP_TX_POWER_MINUS_50_dBm = 0,
280  GAP_TX_POWER_MIN = 0,
282 
335 #if (dg_configBLE_2MBIT_PHY == 1)
336 
337  BLE_EVT_GAP_PHY_SET_COMPLETED,
339  BLE_EVT_GAP_PHY_CHANGED,
340 #endif /* (dg_configBLE_2MBIT_PHY == 1) */
341 
345 #ifdef F_PCLE
346 
347  BLE_EVT_GAP_LOCAL_TX_PWR,
349  BLE_EVT_GAP_TX_PWR_REPORT,
351  BLE_EVT_GAP_PATH_LOSS_THRES,
352 #endif /* F_PCLE */
353 #if BLE_SSP_DEBUG
354 
355  BLE_EVT_GAP_LTK,
356 #endif
357 };
358 
366 typedef struct {
367  uint8_t len;
368  uint8_t type;
369  const uint8_t *data;
371 
376 #define GAP_ADV_AD_STRUCT(_ad_data_type, _ad_data_len, _ad_data) \
377  { .type = (_ad_data_type), \
378  .len = (_ad_data_len), \
379  .data = (const uint8_t *)(_ad_data) }
380 
385 #define GAP_ADV_AD_STRUCT_BYTES(_ad_data_type, _ad_data_bytes...) \
386  GAP_ADV_AD_STRUCT(_ad_data_type, \
387  sizeof((uint8_t[]) { _ad_data_bytes}), \
388  ((uint8_t[]) { _ad_data_bytes}))
389 
394 #define GAP_ADV_AD_STRUCT_DECLARE(_ad_data_type, _ad_data_len, _ad_data) \
395  (&(gap_adv_ad_struct_t) GAP_ADV_AD_STRUCT(_ad_data_type, \
396  _ad_data_len, \
397  _ad_data))
398 
405 typedef struct {
407  uint16_t conn_idx;
408  bool connected : 1;
409  bool bonded : 1;
410  bool paired : 1;
411  bool mitm : 1;
412 #if (dg_configBLE_SECURE_CONNECTIONS == 1)
413  bool secure : 1;
414 #endif /* (dg_configBLE_SECURE_CONNECTIONS == 1) */
415 } gap_device_t;
416 
423 typedef enum {
430 
437 typedef union {
438  uint16_t conn_idx;
441 
443 typedef struct {
444  uint8_t key[16];
445 } gap_sec_key_t;
446 
448 typedef enum {
449  GAP_NO_ROLE = 0x00,
455 } gap_role_t;
456 
458 typedef struct gap_chnl_map {
461 
463 typedef enum {
464  GAP_AIR_OP_ADV = 0x01,
467 } gap_air_op_t;
468 
470 typedef enum {
476 
478 typedef enum {
484 
486 typedef enum {
491 
493 typedef enum {
499 
501 enum {
507 };
508 
510 typedef enum {
514 
516 typedef enum {
521 
523 typedef enum {
528 } gap_auth_t;
529 
531 typedef enum {
536 
539 
541 typedef enum {
547 } gap_io_cap_t;
548 
550 typedef enum {
551  BLE_GAP_PHY_1M = 0x01,
552  BLE_GAP_PHY_2M = 0x02,
554 } ble_gap_phy_t;
555 
557 typedef enum {
563 
564 #ifdef F_PCLE
565 
566 typedef enum {
567  BLE_GAP_LOCAL_TX_PWR = 0x00,
568  BLE_GAP_REMOTE_TX_PWR = 0x01,
569  BLE_GAP_ENH_LOCAL_TX_PWR_CMD = 0x02,
570 } ble_gap_reason_t;
571 #endif /* F_PCLE */
572 
574 typedef struct {
575  uint16_t interval_min;
576  uint16_t interval_max;
577  uint16_t slave_latency;
578  uint16_t sup_timeout;
580 
582 typedef struct {
583  uint16_t interval;
584  uint16_t window;
586 
588 typedef struct {
590  uint16_t conn_idx;
595 
597 typedef struct {
599  uint16_t conn_idx;
601  uint8_t reason;
603 
605 typedef struct {
607  uint16_t conn_idx;
608  uint8_t status;
610 
612 typedef struct {
614  uint16_t conn_idx;
617 
619 typedef struct {
621  uint16_t conn_idx;
622  uint8_t status;
624 
626 typedef struct {
628  uint16_t conn_idx;
631 
633 typedef struct {
635  uint8_t adv_type;
636  uint8_t status;
638 
640 typedef struct {
642  uint8_t type;
644  int8_t rssi;
645  uint8_t length;
646  uint8_t data[BLE_ADV_DATA_LEN_MAX];
648 
650 typedef struct {
652  uint8_t scan_type;
653  uint8_t status;
655 
657 typedef struct {
659  uint16_t conn_idx;
660  bool bond;
662 
664 typedef struct {
666  uint16_t conn_idx;
667  uint8_t status;
668  bool bond;
669  bool mitm;
671 
673 typedef struct {
675  uint16_t conn_idx;
676  bool bond;
677  bool mitm;
679 
681 typedef struct {
683  uint16_t conn_idx;
684  uint32_t passkey;
686 
688 typedef struct {
690  uint16_t conn_idx;
692 
693 #if (dg_configBLE_SECURE_CONNECTIONS == 1)
694 
695 typedef struct {
696  ble_evt_hdr_t hdr;
697  uint16_t conn_idx;
698  uint32_t num_key;
699 } ble_evt_gap_numeric_request_t;
700 #endif /* (dg_configBLE_SECURE_CONNECTIONS == 1) */
701 
703 typedef struct {
705  uint16_t conn_idx;
709 
711 typedef struct {
713  uint16_t status;
715 
717 typedef struct {
719  uint16_t conn_idx;
722 
724 typedef struct {
726  uint16_t conn_idx;
729 
731 typedef struct {
733  uint16_t conn_idx;
734  uint16_t max_rx_length;
735  uint16_t max_rx_time;
736  uint16_t max_tx_length;
737  uint16_t max_tx_time;
739 
741 typedef struct {
743  uint16_t conn_idx;
744  uint16_t status;
746 
748 typedef struct {
750  uint8_t status;
752 
754 typedef struct {
756  uint16_t conn_idx;
758 
760 typedef struct {
764 
765 #if (dg_configBLE_2MBIT_PHY == 1)
766 
767 typedef struct {
768  ble_evt_hdr_t hdr;
769  uint16_t conn_idx;
770  uint16_t status;
771 } ble_evt_gap_phy_set_completed_t;
772 
774 typedef struct {
775  ble_evt_hdr_t hdr;
776  uint16_t conn_idx;
777  ble_gap_phy_t tx_phy;
778  ble_gap_phy_t rx_phy;
779 } ble_evt_gap_phy_changed_t;
780 #endif /* (dg_configBLE_2MBIT_PHY == 1) */
781 
783 typedef struct {
785  uint16_t conn_idx;
786  uint8_t lmp_version;
787  uint16_t company_id;
788  uint16_t lmp_subversion;
790 
792 typedef struct {
794  uint16_t conn_idx;
795  uint8_t le_features[LE_FEATS_LEN];
797 #ifdef F_PCLE
798 
799 typedef struct {
800  ble_evt_hdr_t hdr;
801  uint16_t conn_idx;
802  ble_error_t status;
803  uint8_t phy;
804  int8_t curr_tx_pwr_lvl;
805  int8_t max_tx_pwr_lvl;
806 
807 } ble_evt_gap_local_tx_pwr_t;
808 
810 typedef struct {
811  ble_evt_hdr_t hdr;
812  uint16_t conn_idx;
813  ble_error_t status;
814  ble_gap_reason_t reason;
815  uint8_t phy;
816  int8_t tx_pwr_lvl;
817  uint8_t tx_pwr_lvl_flag;
818  int8_t delta;
819 } ble_evt_gap_tx_pwr_report_t;
820 
822 typedef struct {
823  ble_evt_hdr_t hdr;
824  uint16_t conn_idx;
825  uint8_t curr_path_loss;
826  uint8_t zone_enter;
827 } ble_evt_gap_path_loss_thres_t;
828 #endif /* F_PCLE */
829 
830 #if BLE_SSP_DEBUG
831 
832 typedef struct {
833  ble_evt_hdr_t hdr;
834  uint16_t conn_idx;
835  gap_sec_key_t ltk;
836 } ble_evt_gap_ltk_t;
837 #endif
838 
857 
880 ble_error_t ble_gap_address_set(const own_address_t *address, uint16_t renew_dur);
881 
895 ble_error_t ble_gap_device_name_set(const char *name, att_perm_t perm);
896 
906 ble_error_t ble_gap_device_name_get(char *name, uint8_t *length);
907 
922 
931 
945 
954 
971 
983 
1002 ble_error_t ble_gap_adv_data_set(uint8_t adv_data_len, const uint8_t *adv_data,
1003  uint8_t scan_rsp_data_len, const uint8_t *scan_rsp_data);
1004 
1024 ble_error_t ble_gap_adv_ad_struct_set(size_t ad_len, const gap_adv_ad_struct_t *ad, size_t sd_len,
1025  const gap_adv_ad_struct_t *sd);
1026 
1046 ble_error_t ble_gap_adv_data_get(uint8_t *adv_data_len, uint8_t *adv_data,
1047  uint8_t *scan_rsp_data_len, uint8_t *scan_rsp_data);
1048 
1059 ble_error_t ble_gap_adv_intv_get(uint16_t *adv_intv_min, uint16_t *adv_intv_max);
1060 
1076 ble_error_t ble_gap_adv_intv_set(uint16_t adv_intv_min, uint16_t adv_intv_max);
1077 
1088 ble_error_t ble_gap_adv_chnl_map_get(uint8_t *chnl_map);
1089 
1103 ble_error_t ble_gap_adv_chnl_map_set(uint8_t chnl_map);
1104 
1113 
1125 
1134 
1146 
1156 
1168 
1190 ble_error_t ble_gap_adv_set_permutation(uint8_t permutation_index);
1191 
1211  uint16_t window, bool filt_wlist, bool filt_dupl);
1212 
1222 
1233 
1250 
1264 ble_error_t ble_gap_connect(const bd_address_t *peer_addr, const gap_conn_params_t *conn_params);
1265 
1284 ble_error_t ble_gap_connect_ce(const bd_address_t *peer_addr, const gap_conn_params_t *conn_params,
1285  uint16_t ce_len_min, uint16_t ce_len_max);
1296 
1323 ble_error_t ble_gap_disconnect(uint16_t conn_idx, ble_hci_error_t reason);
1324 
1337 ble_error_t ble_gap_peer_version_get(uint16_t conn_idx);
1338 
1354 ble_error_t ble_gap_peer_features_get(uint16_t conn_idx);
1355 
1368 ble_error_t ble_gap_conn_rssi_get(uint16_t conn_idx, int8_t *conn_rssi);
1369 
1381 
1400 
1412 ble_error_t ble_gap_mtu_size_get(uint16_t *mtu_size);
1413 
1430 ble_error_t ble_gap_mtu_size_set(uint16_t mtu_size);
1431 
1445 ble_error_t ble_gap_channel_map_get(uint64_t *chnl_map);
1446 
1460 ble_error_t ble_gap_channel_map_set(const uint64_t chnl_map);
1461 
1478 ble_error_t ble_gap_conn_param_update(uint16_t conn_idx, const gap_conn_params_t *conn_params);
1479 
1491 ble_error_t ble_gap_conn_param_update_reply(uint16_t conn_idx, bool accept);
1492 
1509 ble_error_t ble_gap_pair(uint16_t conn_idx, bool bond);
1510 
1526 ble_error_t ble_gap_pair_reply(uint16_t conn_idx, bool accept, bool bond);
1527 
1538 ble_error_t ble_gap_get_connected(uint8_t *length, uint16_t **conn_idx);
1539 
1550 ble_error_t ble_gap_get_bonded(uint8_t *length, bd_address_t **addr);
1551 
1562 
1573 
1583 ble_error_t ble_gap_passkey_reply(uint16_t conn_idx, bool accept, uint32_t passkey);
1584 
1585 #if (dg_configBLE_SECURE_CONNECTIONS == 1)
1586 
1594 ble_error_t ble_gap_numeric_reply(uint16_t conn_idx, bool accept);
1595 #endif /* (dg_configBLE_SECURE_CONNECTIONS == 1) */
1596 
1605 ble_error_t ble_gap_get_sec_level(uint16_t conn_idx, gap_sec_level_t *level);
1606 
1618 
1633 ble_error_t ble_gap_set_sec_level(uint16_t conn_idx, gap_sec_level_t level);
1634 
1648  size_t *length, gap_device_t *gap_devices);
1649 
1660 
1670 ble_error_t ble_gap_get_device_by_conn_idx(uint16_t conn_idx, gap_device_t *gap_device);
1671 
1681 ble_error_t ble_gap_is_bonded(uint16_t conn_idx, bool *bonded);
1682 
1692 ble_error_t ble_gap_is_addr_bonded(const bd_address_t *addr, bool *bonded);
1693 
1694 
1718 ble_error_t ble_gap_data_length_set(uint16_t conn_idx, uint16_t tx_length, uint16_t tx_time);
1719 
1728 
1729 #if (dg_configBLE_2MBIT_PHY == 1)
1730 
1751 ble_error_t ble_gap_phy_get(uint16_t conn_idx, uint8_t *tx_phy, uint8_t *rx_phy);
1752 
1782 ble_error_t ble_gap_phy_set(uint16_t conn_idx, uint8_t tx_phy, uint8_t rx_phy);
1783 #endif /* (dg_configBLE_2MBIT_PHY == 1) */
1784 
1799 ble_error_t ble_gap_tx_power_set(uint8_t air_operation, gap_tx_power_t tx_power);
1800 
1813 ble_error_t ble_gap_conn_tx_power_set(uint16_t conn_idx, gap_tx_power_t tx_power);
1814 
1815 #ifdef F_PCLE
1816 
1825 ble_error_t ble_gap_local_tx_power_get(uint16_t conn_idx, uint8_t phy);
1826 
1837 ble_error_t ble_gap_remote_tx_power_get(uint16_t conn_idx, uint8_t phy);
1838 
1853 ble_error_t ble_gap_path_loss_report_params_set(uint16_t conn_idx, uint8_t high_thres, uint8_t high_hyst,
1854  uint8_t low_thres, uint8_t low_hyst, uint16_t min_time_spent);
1855 
1865 ble_error_t ble_gap_path_loss_report_en(uint16_t conn_idx, bool enable);
1866 
1879 ble_error_t ble_gap_tx_power_report_en(uint16_t conn_idx, bool local_enable, bool remote_enable);
1880 
1893 ble_error_t ble_gap_rf_path_compensation_set(int16_t rf_tx_path_compens, int16_t rf_rx_path_compens);
1894 
1895 #endif /* F_PCLE */
1896 
1897 #endif /* BLE_GAP_H_ */
1898 
GAP_DEVICE_FILTER_ALL
All known devices.
Definition: ble_gap.h:424
ble_evt_gap_pair_completed_t::conn_idx
uint16_t conn_idx
Connection index.
Definition: ble_gap.h:666
GAP_DATA_TYPE_SP_HASH_C
Definition: ble_gap.h:194
ble_gap_peer_version_get
ble_error_t ble_gap_peer_version_get(uint16_t conn_idx)
Get peer's version.
GAP_ADV_DIRECT_IND
Direct connection indication.
Definition: ble_gap.h:503
ble_gap_unpair
ble_error_t ble_gap_unpair(const bd_address_t *addr)
Unpair command.
ble_evt_gap_set_sec_level_failed_t
Definition: ble_gap.h:724
ble_evt_gap_pair_req_t
Definition: ble_gap.h:657
GAP_ADV_IND
General advertising indication.
Definition: ble_gap.h:502
ble_evt_gap_adv_report_t::hdr
ble_evt_hdr_t hdr
Event header.
Definition: ble_gap.h:641
ble_evt_gap_conn_param_update_completed_t::conn_idx
uint16_t conn_idx
Connection index.
Definition: ble_gap.h:621
GAP_DATA_TYPE_LOCAL_NAME
Definition: ble_gap.h:188
gap_conn_params_t
Definition: ble_gap.h:574
GAP_SCAN_RSP
Active scanning response.
Definition: ble_gap.h:506
ble_gap_pair_reply
ble_error_t ble_gap_pair_reply(uint16_t conn_idx, bool accept, bool bond)
Respond to a pairing request.
gap_device_filter_data_t::address
bd_address_t address
Bluetooth device address.
Definition: ble_gap.h:439
BLE_EVT_GAP_PASSKEY_REQUEST
Definition: ble_gap.h:312
GAP_SCAN_GEN_DISC_MODE
General-Discoverable mode.
Definition: ble_gap.h:517
ble_evt_gap_pair_completed_t::hdr
ble_evt_hdr_t hdr
Event header.
Definition: ble_gap.h:665
ble_evt_gap_peer_version_t::hdr
ble_evt_hdr_t hdr
Event header.
Definition: ble_gap.h:784
ble_evt_gap_conn_param_updated_t::conn_idx
uint16_t conn_idx
Connection index.
Definition: ble_gap.h:628
ble_evt_gap_pair_req_t::conn_idx
uint16_t conn_idx
Connection index.
Definition: ble_gap.h:659
GAP_AIR_OP_SCAN
Scan air operation.
Definition: ble_gap.h:465
GAP_DATA_TYPE_FLAGS
Definition: ble_gap.h:172
ADV_ALLOW_SCAN_ANY_CONN_WLIST
Allow all scan requests and connect requests only from whitelist.
Definition: ble_gap.h:496
ble_gap_role_set
ble_error_t ble_gap_role_set(const gap_role_t role)
Set GAP role.
ble_evt_gap_peer_version_t::conn_idx
uint16_t conn_idx
Connection index.
Definition: ble_gap.h:785
ble_evt_gap_connected_t::conn_params
gap_conn_params_t conn_params
Connection parameters.
Definition: ble_gap.h:593
BLE_EVT_GAP_SET_SEC_LEVEL_FAILED
Definition: ble_gap.h:318
ble_gap_channel_map_set
ble_error_t ble_gap_channel_map_set(const uint64_t chnl_map)
Set the channel map of the device (device has to be configured as central)
ble_gap_adv_filt_policy_set
ble_error_t ble_gap_adv_filt_policy_set(adv_filt_pol_t filt_policy)
Set the filtering policy used for advertising.
ble_gap_adv_filt_policy_get
ble_error_t ble_gap_adv_filt_policy_get(adv_filt_pol_t *filt_policy)
Get the filtering policy used for advertising.
ble_gap_adv_set_permutation
ble_error_t ble_gap_adv_set_permutation(uint8_t permutation_index)
Set the permutation order of the primary advertising channels.
ble_gap_is_addr_bonded
ble_error_t ble_gap_is_addr_bonded(const bd_address_t *addr, bool *bonded)
Get bond state of device (by address)
ble_gap_get_connected
ble_error_t ble_gap_get_connected(uint8_t *length, uint16_t **conn_idx)
Get connected devices list.
gap_conn_params_t::interval_max
uint16_t interval_max
Maximum connection interval.
Definition: ble_gap.h:576
gap_adv_ad_struct_t
Definition: ble_gap.h:366
ble_evt_gap_connection_completed_t::hdr
ble_evt_hdr_t hdr
Event header.
Definition: ble_gap.h:749
BLE_EVT_GAP_DISCONNECTED
Definition: ble_gap.h:292
GAP_DATA_TYPE_LE_ROLE
Definition: ble_gap.h:220
ble_evt_gap_data_length_set_failed_t::hdr
ble_evt_hdr_t hdr
Event header.
Definition: ble_gap.h:742
gap_scan_params_t::interval
uint16_t interval
Scan interval.
Definition: ble_gap.h:583
ble_config.h
BLE configuration options.
ble_evt_gap_data_length_changed_t
Definition: ble_gap.h:731
ble_evt_gap_adv_completed_t::hdr
ble_evt_hdr_t hdr
Event header.
Definition: ble_gap.h:634
ble_evt_gap_connection_completed_t
Definition: ble_gap.h:748
ble_evt_gap_data_length_set_failed_t::conn_idx
uint16_t conn_idx
Connection index.
Definition: ble_gap.h:743
BLE_EVT_GAP_DATA_LENGTH_SET_FAILED
Definition: ble_gap.h:324
ble_gap_peer_features_get
ble_error_t ble_gap_peer_features_get(uint16_t conn_idx)
Get peer's features.
ble_gap_appearance_set
ble_error_t ble_gap_appearance_set(gap_appearance_t appearance, att_perm_t perm)
Set the appearance used for GAP service.
GAP_IO_CAP_NO_INPUT_OUTPUT
No input no output.
Definition: ble_gap.h:545
ble_evt_gap_sec_level_changed_t::conn_idx
uint16_t conn_idx
Connection index.
Definition: ble_gap.h:719
ble_gap_adv_mode_get
ble_error_t ble_gap_adv_mode_get(gap_disc_mode_t *adv_mode)
Get the discoverability mode used for advertising.
ble_evt_gap_security_request_t
Definition: ble_gap.h:673
BLE_EVT_GAP_SEC_LEVEL_CHANGED
Definition: ble_gap.h:314
own_address
Definition: ble_common.h:201
ble_gap_address_get
ble_error_t ble_gap_address_get(own_address_t *address)
Retrieve the currently set BD address.
ble_evt_gap
ble_evt_gap
GAP events.
Definition: ble_gap.h:286
ADV_ALLOW_SCAN_ANY_CONN_ANY
Allow all scan and connect requests.
Definition: ble_gap.h:494
gap_conn_params_t::slave_latency
uint16_t slave_latency
Slave latency.
Definition: ble_gap.h:577
ble_evt_gap_conn_param_updated_t::conn_params
gap_conn_params_t conn_params
Connection parameters.
Definition: ble_gap.h:629
gap_tx_power_t
gap_tx_power_t
Definition: ble_gap.h:260
BLE_EVT_GAP_SECURITY_REQUEST
Definition: ble_gap.h:308
gap_device_filter_t
gap_device_filter_t
Definition: ble_gap.h:423
ble_evt_gap_ltk_missing_t::hdr
ble_evt_hdr_t hdr
Event header.
Definition: ble_gap.h:755
ble_evt_gap_pair_req_t::bond
bool bond
Enable bond.
Definition: ble_gap.h:660
ble_evt_gap_scan_completed_t::status
uint8_t status
Completion status.
Definition: ble_gap.h:653
ble_evt_gap_disconnect_failed_t::hdr
ble_evt_hdr_t hdr
Event header.
Definition: ble_gap.h:606
ble_evt_gap_scan_completed_t
Definition: ble_gap.h:650
ble_gap_conn_param_update
ble_error_t ble_gap_conn_param_update(uint16_t conn_idx, const gap_conn_params_t *conn_params)
Initiate a connection parameter update.
BLE_GAP_CHANNEL_MAP_LEN
#define BLE_GAP_CHANNEL_MAP_LEN
Definition: ble_gap.h:64
ble_evt_gap_connected_t::hdr
ble_evt_hdr_t hdr
Event header.
Definition: ble_gap.h:589
ble_evt_gap_disconnected_t::address
bd_address_t address
BD address of disconnected device.
Definition: ble_gap.h:600
gap_io_cap_t
gap_io_cap_t
Definition: ble_gap.h:541
GAP_CONN_MODE_NON_CONN
Non-connectable mode.
Definition: ble_gap.h:471
ble_gap_tx_power_set
ble_error_t ble_gap_tx_power_set(uint8_t air_operation, gap_tx_power_t tx_power)
Set TX power for air operations.
ble_gap_set_sec_level
ble_error_t ble_gap_set_sec_level(uint16_t conn_idx, gap_sec_level_t level)
Set connection security level.
ble_evt_gap_conn_param_updated_t::hdr
ble_evt_hdr_t hdr
Event header.
Definition: ble_gap.h:627
ble_gap_get_device_by_conn_idx
ble_error_t ble_gap_get_device_by_conn_idx(uint16_t conn_idx, gap_device_t *gap_device)
Get device object by connection index.
GAP_PERIPHERAL_ROLE
Peripheral role.
Definition: ble_gap.h:453
ble_evt_gap_conn_param_update_req_t::hdr
ble_evt_hdr_t hdr
Event header.
Definition: ble_gap.h:613
BLE_EVT_GAP_CONNECTION_COMPLETED
Definition: ble_gap.h:326
ble_gap_adv_stop
ble_error_t ble_gap_adv_stop(void)
Stop advertising.
GAP_DATA_TYPE_SLAVE_CONN_INTV
Definition: ble_gap.h:202
GAP_DATA_TYPE_OOB_FLAGS
Definition: ble_gap.h:200
ble_gap_conn_rssi_get
ble_error_t ble_gap_conn_rssi_get(uint16_t conn_idx, int8_t *conn_rssi)
Retrieve the RSSI of a connection.
ble_gap_scan_params_get
ble_error_t ble_gap_scan_params_get(gap_scan_params_t *scan_params)
Get the scan parameters used for connections.
GAP_DATA_TYPE_UUID128_LIST
Definition: ble_gap.h:184
GAP_DATA_TYPE_APPEARANCE
Definition: ble_gap.h:214
GAP_AUTH_MITM_BOND
MITM bonding.
Definition: ble_gap.h:527
ble_evt_gap_data_length_changed_t::max_tx_length
uint16_t max_tx_length
Maximum number of payload octets in TX.
Definition: ble_gap.h:736
BLE_EVT_GAP_DISCONNECT_FAILED
Definition: ble_gap.h:294
ble_evt_gap_data_length_changed_t::conn_idx
uint16_t conn_idx
Connection index.
Definition: ble_gap.h:733
GAP_DATA_TYPE_TK_VALUE
Definition: ble_gap.h:198
ble_evt_gap_adv_report_t::type
uint8_t type
Type of advertising packet.
Definition: ble_gap.h:642
gap_scan_type_t
gap_scan_type_t
Definition: ble_gap.h:510
BLE_EVT_GAP_CONN_PARAM_UPDATE_COMPLETED
Definition: ble_gap.h:320
BLE_EVT_GAP_LTK_MISSING
Definition: ble_gap.h:332
GAP_DATA_TYPE_URI
Definition: ble_gap.h:236
ble_gap_adv_data_get
ble_error_t ble_gap_adv_data_get(uint8_t *adv_data_len, uint8_t *adv_data, uint8_t *scan_rsp_data_len, uint8_t *scan_rsp_data)
Get currently used Advertising Data and Scan Response Data.
ble_evt_gap_peer_version_t::company_id
uint16_t company_id
Company ID.
Definition: ble_gap.h:787
ble_gap_get_devices
ble_error_t ble_gap_get_devices(gap_device_filter_t filter, gap_device_filter_data_t *filter_data, size_t *length, gap_device_t *gap_devices)
Return list of known devices.
GAP_IO_CAP_DISP_YES_NO
Display yes no.
Definition: ble_gap.h:543
GAP_ADV_SCAN_IND
Scannable advertising indication.
Definition: ble_gap.h:504
gap_scan_params_t
Definition: ble_gap.h:582
ble_evt_gap_conn_param_update_req_t::conn_params
gap_conn_params_t conn_params
Connection parameters.
Definition: ble_gap.h:615
BLE_EVT_GAP_PEER_VERSION
Definition: ble_gap.h:342
ble_gap_adv_direct_address_get
ble_error_t ble_gap_adv_direct_address_get(bd_address_t *address)
Get the peer address used for directed advertising.
ble_gap_mtu_size_get
ble_error_t ble_gap_mtu_size_get(uint16_t *mtu_size)
Get MTU size.
GAP_DATA_TYPE_UUID32_LIST_INC
Definition: ble_gap.h:178
ble_gap_connect_cancel
ble_error_t ble_gap_connect_cancel(void)
Cancel an initiated connection.
ble_evt_gap_adv_completed_t::adv_type
uint8_t adv_type
Advertising type.
Definition: ble_gap.h:635
GAP_AUTH_NO_MITM_NO_BOND
No MITM no bonding.
Definition: ble_gap.h:524
ble_gap_passkey_reply
ble_error_t ble_gap_passkey_reply(uint16_t conn_idx, bool accept, uint32_t passkey)
Respond to a passkey request.
ble_evt_gap_sec_level_changed_t::level
gap_sec_level_t level
Security level.
Definition: ble_gap.h:720
gap_chnl_map
Definition: ble_gap.h:458
ADV_ALLOW_SCAN_WLIST_CONN_WLIST
Allow scan and connect requests only from whitelist.
Definition: ble_gap.h:497
ble_evt_gap_connected_t::peer_address
bd_address_t peer_address
Peer device BD address.
Definition: ble_gap.h:592
GAP_CONN_MODE_UNDIRECTED
Undirected mode.
Definition: ble_gap.h:472
GAP_SEC_LEVEL_1
No security.
Definition: ble_gap.h:532
GAP_DATA_TYPE_CLASS_OF_DEVICE
Definition: ble_gap.h:192
GAP_DATA_TYPE_TRANSPORT_DISC_DATA
Definition: ble_gap.h:240
GAP_CENTRAL_ROLE
Central role.
Definition: ble_gap.h:452
ble_evt_gap_passkey_notify_t
Definition: ble_gap.h:681
GAP_SCAN_LIM_DISC_MODE
Limited-Discoverable mode.
Definition: ble_gap.h:518
BLE_EVT_GAP_AIR_OP_BDADDR
Definition: ble_gap.h:334
ble_evt_gap_peer_features_t::hdr
ble_evt_hdr_t hdr
Event header.
Definition: ble_gap.h:793
GAP_DEVICE_FILTER_CONN_IDX
Device with matching connection index.
Definition: ble_gap.h:428
ble_evt_gap_air_op_bdaddr_t::hdr
ble_evt_hdr_t hdr
Event header.
Definition: ble_gap.h:761
GAP_ADV_NONCONN_IND
Non-connectable advertising indication.
Definition: ble_gap.h:505
ble_gap_adv_data_set
ble_error_t ble_gap_adv_data_set(uint8_t adv_data_len, const uint8_t *adv_data, uint8_t scan_rsp_data_len, const uint8_t *scan_rsp_data)
Set advertising Data and scan response data.
gap_conn_params_t::sup_timeout
uint16_t sup_timeout
Supervision timeout.
Definition: ble_gap.h:578
ble_evt_gap_address_resolved_t::hdr
ble_evt_hdr_t hdr
Event header.
Definition: ble_gap.h:704
ble_evt_gap_address_resolved_t::resolved_address
bd_address_t resolved_address
Static address.
Definition: ble_gap.h:706
gap_adv_ad_struct_t::type
uint8_t type
AD type of payload data.
Definition: ble_gap.h:368
BLE_GAP_PHY_2M
Bit rate of 2 megabit per second (Mb/s)
Definition: ble_gap.h:552
GAP_IO_CAP_KEYBOARD_DISP
Keyboard display.
Definition: ble_gap.h:546
GAP_CONN_MODE_DIRECTED
Directed mode.
Definition: ble_gap.h:473
ble_evt_gap_peer_version_t
Definition: ble_gap.h:783
GAP_DISC_MODE_NON_DISCOVERABLE
Non-Discoverable mode.
Definition: ble_gap.h:479
gap_device_filter_data_t::conn_idx
uint16_t conn_idx
Connection index.
Definition: ble_gap.h:438
ble_gap_phy_t
ble_gap_phy_t
Definition: ble_gap.h:550
ble_evt_gap_connected_t::conn_idx
uint16_t conn_idx
Connection index.
Definition: ble_gap.h:590
ble_gap_address_resolve
ble_error_t ble_gap_address_resolve(bd_address_t address)
Resolve a BD address.
ble_gap_conn_tx_power_set
ble_error_t ble_gap_conn_tx_power_set(uint16_t conn_idx, gap_tx_power_t tx_power)
Set TX power for given connection.
BLE_EVT_GAP_SCAN_COMPLETED
Definition: ble_gap.h:298
GAP_DATA_TYPE_UUID16_SOLIC
Definition: ble_gap.h:204
ble_gap_device_name_get
ble_error_t ble_gap_device_name_get(char *name, uint8_t *length)
Get the device name used for GAP service.
ble_evt_gap_connected_t::own_addr
bd_address_t own_addr
Own device BD address.
Definition: ble_gap.h:591
ble_evt_gap_conn_param_update_req_t
Definition: ble_gap.h:612
GAP_DATA_TYPE_UUID16_LIST
Definition: ble_gap.h:176
GAP_DATA_TYPE_MESH_MESSAGE
Definition: ble_gap.h:248
ble_evt_gap_conn_param_update_completed_t
Definition: ble_gap.h:619
BLE_EVT_GAP_PEER_FEATURES
Definition: ble_gap.h:344
GAP_DATA_TYPE_SPAIR_RAND
Definition: ble_gap.h:224
gap_chnl_map_t
struct gap_chnl_map gap_chnl_map_t
ble_evt_gap_adv_report_t::length
uint8_t length
Length of advertising data.
Definition: ble_gap.h:645
ble_gap_per_pref_conn_params_get
ble_error_t ble_gap_per_pref_conn_params_get(gap_conn_params_t *conn_params)
Get the peripheral preferred connection parameters currently set for GAP service.
ble_evt_gap_ltk_missing_t
Definition: ble_gap.h:754
gap_device_t::address
bd_address_t address
Device address *‍/.
Definition: ble_gap.h:406
BLE_EVT_GAP_ADV_COMPLETED
Definition: ble_gap.h:296
ble_gap_disconnect
ble_error_t ble_gap_disconnect(uint16_t conn_idx, ble_hci_error_t reason)
Terminate a connection.
GAP_ALL_ROLES
All roles.
Definition: ble_gap.h:454
ble_evt_gap_adv_completed_t::status
uint8_t status
Completion status.
Definition: ble_gap.h:636
GAP_DATA_TYPE_TX_POWER_LEVEL
Definition: ble_gap.h:190
ble_evt_gap_adv_report_t::rssi
int8_t rssi
RSSI.
Definition: ble_gap.h:644
ble_evt_gap_disconnected_t
Definition: ble_gap.h:597
GAP_SEC_LEVEL_2
Unauthenticated pairing with encryption.
Definition: ble_gap.h:533
BLE_GAP_PHY_PREF_AUTO
No PHY preference.
Definition: ble_gap.h:558
BLE_EVT_GAP_PAIR_COMPLETED
Definition: ble_gap.h:306
ble_evt_gap_connection_completed_t::status
uint8_t status
Completion status.
Definition: ble_gap.h:750
ble_gap_channel_map_get
ble_error_t ble_gap_channel_map_get(uint64_t *chnl_map)
Get the currently set channel map of the device (device has to be configured as central)
ble_evt_gap_disconnect_failed_t::conn_idx
uint16_t conn_idx
Connection index.
Definition: ble_gap.h:607
ble_gap_mtu_size_set
ble_error_t ble_gap_mtu_size_set(uint16_t mtu_size)
Set MTU size.
ble_gap_pair
ble_error_t ble_gap_pair(uint16_t conn_idx, bool bond)
Start pairing.
ble_gap_adv_intv_set
ble_error_t ble_gap_adv_intv_set(uint16_t adv_intv_min, uint16_t adv_intv_max)
Set the advertising interval.
GAP_DATA_TYPE_UUID32_SOLIC
Definition: ble_gap.h:226
gap_data_type_t
gap_data_type_t
Definition: ble_gap.h:170
gap_scan_mode_t
gap_scan_mode_t
Definition: ble_gap.h:516
ble_gap_adv_ad_struct_set
ble_error_t ble_gap_adv_ad_struct_set(size_t ad_len, const gap_adv_ad_struct_t *ad, size_t sd_len, const gap_adv_ad_struct_t *sd)
Set Advertising Data and Scan Response Data using gap_adv_ad_struct_t type.
GAP_IO_CAP_DISP_ONLY
Display only.
Definition: ble_gap.h:542
gap_device_t::bonded
bool bonded
True if device is currently bonded *‍/.
Definition: ble_gap.h:409
ble_gap_adv_mode_set
ble_error_t ble_gap_adv_mode_set(gap_disc_mode_t adv_mode)
Set the discoverability mode used for advertising.
gap_scan_params_t::window
uint16_t window
Scan window.
Definition: ble_gap.h:584
ble_evt_gap_data_length_changed_t::max_rx_length
uint16_t max_rx_length
Maximum number of payload octets in RX.
Definition: ble_gap.h:734
ble_evt_gap_data_length_changed_t::hdr
ble_evt_hdr_t hdr
Event header.
Definition: ble_gap.h:732
BLE_EVT_GAP_DATA_LENGTH_CHANGED
Definition: ble_gap.h:322
GAP_ADV_CHANNEL_37
Advertising Channel 37 (2402MHz)
Definition: ble_gap.h:487
ble_gap_adv_intv_get
ble_error_t ble_gap_adv_intv_get(uint16_t *adv_intv_min, uint16_t *adv_intv_max)
Get the currently set advertising interval.
ble_evt_gap_scan_completed_t::scan_type
uint8_t scan_type
Scan type.
Definition: ble_gap.h:652
att_perm_t
att_perm_t
Definition: ble_att.h:48
gap_role_t
gap_role_t
Definition: ble_gap.h:448
ble_gap_get_device_by_addr
ble_error_t ble_gap_get_device_by_addr(const bd_address_t *addr, gap_device_t *gap_device)
Get device object by device address.
gap_conn_mode_t
gap_conn_mode_t
Definition: ble_gap.h:470
ble_gap_is_bonded
ble_error_t ble_gap_is_bonded(uint16_t conn_idx, bool *bonded)
Get bond state of device (by connection index)
ble_gap_set_io_cap
ble_error_t ble_gap_set_io_cap(gap_io_cap_t io_cap)
Set the I/O capabilities of the device.
GAP_DATA_TYPE_UUID128_LIST_INC
Definition: ble_gap.h:182
GAP_DATA_TYPE_PUBLIC_ADDRESS
Definition: ble_gap.h:210
ble_evt_gap_data_length_set_failed_t::status
uint16_t status
Error status.
Definition: ble_gap.h:744
mode
HW_GPIO_MODE mode
Definition: hw_gpio.h:211
ble_evt_gap_connected_t
Definition: ble_gap.h:588
gap_device_filter_data_t
Definition: ble_gap.h:437
ble_evt_gap_disconnected_t::conn_idx
uint16_t conn_idx
Connection index.
Definition: ble_gap.h:599
GAP_DATA_TYPE_PB_ADV
Definition: ble_gap.h:246
BLE_EVT_GAP_CONN_PARAM_UPDATE_REQ
Definition: ble_gap.h:300
ble_gap_data_length_set
ble_error_t ble_gap_data_length_set(uint16_t conn_idx, uint16_t tx_length, uint16_t tx_time)
Set the data length used for TX.
ble_gap_adv_chnl_map_get
ble_error_t ble_gap_adv_chnl_map_get(uint8_t *chnl_map)
Get the advertising channel map currently set.
GAP_DATA_TYPE_UUID128_SVC_DATA
Definition: ble_gap.h:230
ble_evt_gap_set_sec_level_failed_t::conn_idx
uint16_t conn_idx
Connection index.
Definition: ble_gap.h:726
ble_evt_gap_address_resolution_failed_t::status
uint16_t status
Status.
Definition: ble_gap.h:713
GAP_SCAN_OBSERVER_MODE
Observer mode.
Definition: ble_gap.h:519
BLE_EVT_GAP_PASSKEY_NOTIFY
Definition: ble_gap.h:310
ble_gap_conn_param_update_reply
ble_error_t ble_gap_conn_param_update_reply(uint16_t conn_idx, bool accept)
Reply to a connection parameter update request.
ble_evt_gap_passkey_notify_t::hdr
ble_evt_hdr_t hdr
Event header.
Definition: ble_gap.h:682
ble_evt_hdr_t
Definition: ble_common.h:156
ble_evt_gap_address_resolution_failed_t::hdr
ble_evt_hdr_t hdr
Event header.
Definition: ble_gap.h:712
ble_gap_adv_start
ble_error_t ble_gap_adv_start(gap_conn_mode_t adv_type)
Start advertising.
ble_evt_gap_pair_completed_t
Definition: ble_gap.h:664
GAP_DATA_TYPE_MANUFACTURER_SPEC
Definition: ble_gap.h:254
ble_gap_scan_stop
ble_error_t ble_gap_scan_stop(void)
Stop scanning for devices.
ble_evt_gap_conn_param_update_completed_t::status
uint8_t status
Completion status.
Definition: ble_gap.h:622
ble_evt_gap_security_request_t::hdr
ble_evt_hdr_t hdr
Event header.
Definition: ble_gap.h:674
GAP_IO_CAP_KEYBOARD_ONLY
Keyboard only.
Definition: ble_gap.h:544
GAP_SCAN_ACTIVE
Active Scan type.
Definition: ble_gap.h:511
GAP_DATA_TYPE_UUID32_SVC_DATA
Definition: ble_gap.h:228
ble_gap_address_set
ble_error_t ble_gap_address_set(const own_address_t *address, uint16_t renew_dur)
Set the address of the device.
GAP_DATA_TYPE_LE_SEC_CONN_CFM_VAL
Definition: ble_gap.h:232
ble_evt_gap_data_length_changed_t::max_tx_time
uint16_t max_tx_time
Maximum time used for TX.
Definition: ble_gap.h:737
GAP_AUTH_NO_MITM_BOND
No MITM bonding.
Definition: ble_gap.h:525
GAP_DATA_TYPE_SP_RANDOMIZER_R
Definition: ble_gap.h:196
ADV_ALLOW_SCAN_WLIST_CONN_ANY
Allow all connect requests and scan requests only from whitelist.
Definition: ble_gap.h:495
ble_evt_gap_pair_completed_t::status
uint8_t status
Completion status.
Definition: ble_gap.h:667
gap_device_t::mitm
bool mitm
True if keys are authenticated, i.e. with MITM protection (only valid if paired)
Definition: ble_gap.h:411
BLE_GAP_PHY_PREF_1M
Bit rate of 1 megabit per second (Mb/s)
Definition: ble_gap.h:559
ble_evt_gap_set_sec_level_failed_t::hdr
ble_evt_hdr_t hdr
Event header.
Definition: ble_gap.h:725
gap_device_t
Definition: ble_gap.h:405
GAP_DEVICE_FILTER_BONDED
All bonded devices.
Definition: ble_gap.h:426
ble_evt_gap_pair_completed_t::mitm
bool mitm
MITM protection enabled flag.
Definition: ble_gap.h:669
GAP_SEC_LEVEL_4
Definition: ble_gap.h:535
GAP_DEVICE_FILTER_CONNECTED
All connected devices.
Definition: ble_gap.h:425
GAP_DATA_TYPE_LE_SUPP_FEATURES
Definition: ble_gap.h:242
ble_evt_gap_air_op_bdaddr_t
Definition: ble_gap.h:760
ble_evt_gap_sec_level_changed_t::hdr
ble_evt_hdr_t hdr
Event header.
Definition: ble_gap.h:718
ble_evt_gap_ltk_missing_t::conn_idx
uint16_t conn_idx
Connection index.
Definition: ble_gap.h:756
ble_evt_gap_pair_req_t::hdr
ble_evt_hdr_t hdr
Event header.
Definition: ble_gap.h:658
ble_gap_scan_params_set
ble_error_t ble_gap_scan_params_set(const gap_scan_params_t *scan_params)
Set the scan parameters used for connections.
ble_evt_gap_conn_param_update_completed_t::hdr
ble_evt_hdr_t hdr
Event header.
Definition: ble_gap.h:620
ble_evt_gap_data_length_set_failed_t
Definition: ble_gap.h:741
ble_evt_gap_data_length_changed_t::max_rx_time
uint16_t max_rx_time
Maximum time used for RX.
Definition: ble_gap.h:735
ble_evt_gap_passkey_request_t::hdr
ble_evt_hdr_t hdr
Event header.
Definition: ble_gap.h:689
GAP_AIR_OP_ADV
Advertise air operation.
Definition: ble_gap.h:464
gap_auth_t
gap_auth_t
Definition: ble_gap.h:523
ble_gap_get_bonded
ble_error_t ble_gap_get_bonded(uint8_t *length, bd_address_t **addr)
Get bonded devices list.
BLE_EVT_CAT_FIRST
#define BLE_EVT_CAT_FIRST(CAT)
Definition: ble_common.h:153
ble_gap_device_name_set
ble_error_t ble_gap_device_name_set(const char *name, att_perm_t perm)
Set the device name used for GAP service.
ble_evt_gap_disconnect_failed_t::status
uint8_t status
Error status.
Definition: ble_gap.h:608
ble_hci_error_t
ble_hci_error_t
Definition: ble_common.h:78
ble_evt_gap_passkey_request_t
Definition: ble_gap.h:688
GAP_DATA_TYPE_CHNL_MAP_UPD_IND
Definition: ble_gap.h:244
ble_evt_gap_passkey_notify_t::conn_idx
uint16_t conn_idx
Connection index.
Definition: ble_gap.h:683
ble_evt_gap_address_resolved_t::address
bd_address_t address
Random address.
Definition: ble_gap.h:707
GAP_SCAN_PASSIVE
Passive Scan type.
Definition: ble_gap.h:512
GAP_DATA_TYPE_INFO_DATA_3D
Definition: ble_gap.h:252
GAP_CONN_MODE_DIRECTED_LDC
Directed Low Duty Cycle mode.
Definition: ble_gap.h:474
GAP_DEVICE_FILTER_ADDRESS
Device with matching address.
Definition: ble_gap.h:427
ble_evt_gap_address_resolved_t
Definition: ble_gap.h:703
ble_evt_gap_peer_features_t
Definition: ble_gap.h:792
ble_gap_connect
ble_error_t ble_gap_connect(const bd_address_t *peer_addr, const gap_conn_params_t *conn_params)
Connect to a device.
ble_evt_gap_pair_completed_t::bond
bool bond
Bond enabled flag.
Definition: ble_gap.h:668
ble_evt_gap_security_request_t::bond
bool bond
Bond requested flag.
Definition: ble_gap.h:676
GAP_DATA_TYPE_LE_SEC_CONN_RAND_VAL
Definition: ble_gap.h:234
GAP_DISC_MODE_LIM_DISCOVERABLE
Limited-Discoverable mode.
Definition: ble_gap.h:481
BLE_EVT_GAP_ADDRESS_RESOLVED
Definition: ble_gap.h:316
ble_evt_gap_scan_completed_t::hdr
ble_evt_hdr_t hdr
Event header.
Definition: ble_gap.h:651
GAP_OBSERVER_ROLE
Observer role.
Definition: ble_gap.h:450
gap_chnl_map::map
uint8_t map[BLE_GAP_CHANNEL_MAP_LEN]
GAP channel map.
Definition: ble_gap.h:459
ble_gap_appearance_get
ble_error_t ble_gap_appearance_get(gap_appearance_t *appearance)
Get the appearance used for GAP service.
gap_air_op_t
gap_air_op_t
Definition: ble_gap.h:463
ble_evt_gap_sec_level_changed_t
Definition: ble_gap.h:717
GAP_NO_ROLE
No role.
Definition: ble_gap.h:449
GAP_ADV_CHANNEL_39
Advertising Channel 39 (2480MHz)
Definition: ble_gap.h:489
gap_device_t::paired
bool paired
True if device is currently paired.
Definition: ble_gap.h:410
ble_att.h
Attribute protocol API.
ble_evt_gap_adv_completed_t
Definition: ble_gap.h:633
BLE_GAP_PHY_1M
Bit rate of 1 megabit per second (Mb/s)
Definition: ble_gap.h:551
ble_evt_gap_conn_param_update_req_t::conn_idx
uint16_t conn_idx
Connection index.
Definition: ble_gap.h:614
GAP_DISC_MODE_BROADCASTER
Broadcaster mode.
Definition: ble_gap.h:482
ble_gap_adv_chnl_map_set
ble_error_t ble_gap_adv_chnl_map_set(uint8_t chnl_map)
Set the advertising channel map.
ble_evt_gap_passkey_notify_t::passkey
uint32_t passkey
Passkey.
Definition: ble_gap.h:684
ble_error_t
ble_error_t
Definition: ble_common.h:53
GAP_DISC_MODE_GEN_DISCOVERABLE
General-Discoverable mode.
Definition: ble_gap.h:480
BLE_GAP_PHY_CODED
LE Coded PHY (bit rate of 125 or 500 Kbit/s)
Definition: ble_gap.h:553
BLE_EVT_GAP_PAIR_REQ
Definition: ble_gap.h:304
ble_evt_gap_disconnected_t::reason
uint8_t reason
Reason of disconnection.
Definition: ble_gap.h:601
gap_sec_level_t
gap_sec_level_t
Definition: ble_gap.h:531
BLE_EVT_GAP_ADDRESS_RESOLUTION_FAILED
Definition: ble_gap.h:330
gap_adv_ad_struct_t::data
const uint8_t * data
AD payload data.
Definition: ble_gap.h:369
ble_common.h
Common definitions for BLE API.
ble_gap_get_io_cap
ble_error_t ble_gap_get_io_cap(gap_io_cap_t *io_cap)
Get the I/O capabilities of the device.
ble_evt_gap_adv_report_t::address
bd_address_t address
BD address of advertising device.
Definition: ble_gap.h:643
ble_evt_gap_conn_param_updated_t
Definition: ble_gap.h:626
GAP_DATA_TYPE_UUID128_SOLIC
Definition: ble_gap.h:206
ble_evt_gap_adv_report_t
Definition: ble_gap.h:640
GAP_AIR_OP_INITIATE
Initiate air operation.
Definition: ble_gap.h:466
GAP_DATA_TYPE_UUID16_SVC_DATA
Definition: ble_gap.h:208
GAP_DATA_TYPE_INDOOR_POSITIONING
Definition: ble_gap.h:238
GAP_SEC_LEVEL_3
Authenticated pairing with encryption.
Definition: ble_gap.h:534
GAP_DATA_TYPE_RANDOM_ADDRESS
Definition: ble_gap.h:212
ble_evt_gap_peer_features_t::conn_idx
uint16_t conn_idx
Connection index.
Definition: ble_gap.h:794
GAP_DATA_TYPE_SPAIR_HASH
Definition: ble_gap.h:222
BLE_ADV_DATA_LEN_MAX
#define BLE_ADV_DATA_LEN_MAX
Definition: ble_gap.h:52
BLE_EVT_GAP_ADV_REPORT
Definition: ble_gap.h:290
GAP_DATA_TYPE_UUID32_LIST
Definition: ble_gap.h:180
GAP_DATA_TYPE_SHORT_LOCAL_NAME
Definition: ble_gap.h:186
adv_filt_pol_t
adv_filt_pol_t
Definition: ble_gap.h:493
GAP_AUTH_MITM_NO_BOND
MITM no bonding.
Definition: ble_gap.h:526
ble_evt_gap_address_resolution_failed_t
Definition: ble_gap.h:711
gap_device_t::connected
bool connected
True if device is currently connected *‍/.
Definition: ble_gap.h:408
GAP_ADV_CHANNEL_38
Advertising Channel 38 (2426MHz)
Definition: ble_gap.h:488
ble_evt_gap_peer_version_t::lmp_subversion
uint16_t lmp_subversion
Implementation subversion.
Definition: ble_gap.h:788
BLE_EVT_GAP_NUMERIC_REQUEST
Definition: ble_gap.h:328
ble_gap_per_pref_conn_params_set
ble_error_t ble_gap_per_pref_conn_params_set(const gap_conn_params_t *conn_params)
Set the peripheral preferred connection parameters used for GAP service.
gap_adv_chnl_t
gap_adv_chnl_t
Definition: ble_gap.h:486
ble_gap_adv_direct_address_set
ble_error_t ble_gap_adv_direct_address_set(const bd_address_t *address)
Set peer address used for directed advertising.
gap_sec_key_t
Definition: ble_gap.h:443
ble_gap_phy_pref_t
ble_gap_phy_pref_t
Definition: ble_gap.h:557
ble_gap_scan_start
ble_error_t ble_gap_scan_start(gap_scan_type_t type, gap_scan_mode_t mode, uint16_t interval, uint16_t window, bool filt_wlist, bool filt_dupl)
Start scanning for devices.
ble_evt_gap_security_request_t::mitm
bool mitm
MITM requested flag.
Definition: ble_gap.h:677
ble_gap_get_sec_level
ble_error_t ble_gap_get_sec_level(uint16_t conn_idx, gap_sec_level_t *level)
Get connection security level.
ble_evt_gap_air_op_bdaddr_t::address
own_address_t address
Random address.
Definition: ble_gap.h:762
GAP_DATA_TYPE_LE_BT_ADDR
Definition: ble_gap.h:218
GAP_DATA_TYPE_MESH_BEACON
Definition: ble_gap.h:250
ble_evt_gap_set_sec_level_failed_t::status
ble_error_t status
Completion status.
Definition: ble_gap.h:727
gap_appearance_t
gap_appearance_t
Definition: ble_gap.h:111
gap_adv_ad_struct_t::len
uint8_t len
AD payload data length.
Definition: ble_gap.h:367
ble_evt_gap_disconnected_t::hdr
ble_evt_hdr_t hdr
Event header.
Definition: ble_gap.h:598
BLE_GAP_PHY_PREF_2M
Bit rate of 2 megabit per second (Mb/s)
Definition: ble_gap.h:560
ble_evt_gap_peer_version_t::lmp_version
uint8_t lmp_version
Supported Bluetooth LMP Specification.
Definition: ble_gap.h:786
GAP_DATA_TYPE_UUID16_LIST_INC
Definition: ble_gap.h:174
ble_evt_gap_security_request_t::conn_idx
uint16_t conn_idx
Connection index.
Definition: ble_gap.h:675
gap_disc_mode_t
gap_disc_mode_t
Definition: ble_gap.h:478
ble_evt_gap_disconnect_failed_t
Definition: ble_gap.h:605
GAP_DATA_TYPE_ADV_INTERVAL
Definition: ble_gap.h:216
ble_evt_gap_address_resolved_t::conn_idx
uint16_t conn_idx
Connection index.
Definition: ble_gap.h:705
gap_conn_params_t::interval_min
uint16_t interval_min
Minimum connection interval.
Definition: ble_gap.h:575
bd_address
Definition: ble_common.h:195
BLE_GAP_PHY_PREF_CODED
LE Coded PHY (bit rate of 125 or 500 Kbit/s)
Definition: ble_gap.h:561
gap_device_t::conn_idx
uint16_t conn_idx
Connection index *‍/.
Definition: ble_gap.h:407
ble_gap_role_get
ble_error_t ble_gap_role_get(gap_role_t *role)
Get the GAP role currently set.
BLE_EVT_GAP_CONN_PARAM_UPDATED
Definition: ble_gap.h:302
BLE_EVT_GAP_CONNECTED
Definition: ble_gap.h:288
ble_evt_gap_passkey_request_t::conn_idx
uint16_t conn_idx
Connection index.
Definition: ble_gap.h:690
GAP_BROADCASTER_ROLE
Broadcaster role.
Definition: ble_gap.h:451
ble_gap_connect_ce
ble_error_t ble_gap_connect_ce(const bd_address_t *peer_addr, const gap_conn_params_t *conn_params, uint16_t ce_len_min, uint16_t ce_len_max)
Connect to a device with a defined connection event length.