ble_gapc.h
Go to the documentation of this file.
1 /**
2  ****************************************************************************************
3  *
4  * @file ble_gapc.h
5  *
6  * @brief BLE GAPC API
7  *
8  ****************************************************************************************
9  * @attention
10  #####Copyright (c) 2019 GOODIX
11  All rights reserved.
12 
13  Redistribution and use in source and binary forms, with or without
14  modification, are permitted provided that the following conditions are met:
15  * Redistributions of source code must retain the above copyright
16  notice, this list of conditions and the following disclaimer.
17  * Redistributions in binary form must reproduce the above copyright
18  notice, this list of conditions and the following disclaimer in the
19  documentation and/or other materials provided with the distribution.
20  * Neither the name of GOODIX nor the names of its contributors may be used
21  to endorse or promote products derived from this software without
22  specific prior written permission.
23 
24  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
25  AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
26  IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
27  ARE DISCLAIMED. IN NO EVENT SHALL COPYRIGHT HOLDERS AND CONTRIBUTORS BE
28  LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
29  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
30  SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
31  INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
32  CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
33  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
34  POSSIBILITY OF SUCH DAMAGE.
35  *****************************************************************************************
36  */
37 
38  /**
39  * @addtogroup BLE
40  * @{
41  * @brief Definitions and prototypes for the BLE SDK interface.
42  */
43 
44  /**
45  * @addtogroup BLE_GAP Generic Access Profile (GAP)
46  * @{
47  * @brief Definitions and prototypes for the GAP interface.
48  */
49 
50  /**
51  * @defgroup BLE_GAPC Generic Access Profile (GAP) Connection Control
52  * @{
53  * @brief Definitions and prototypes for the GAP Connection Control interface.
54  */
55 #ifndef __BLE_GAPC_H__
56 #define __BLE_GAPC_H__
57 
58 #include "ble_error.h"
59 #include "gr55xx_sys_cfg.h"
60 #include <stdint.h> // Standard Integer
61 #include <string.h>
62 #include <stdbool.h>
63 
64 /**
65  * @defgroup BLE_GAPC_DEFINES Defines
66  * @{
67  */
68 #define BLE_GAP_CHNL_MAP_LEN 0x05 /**< The length of channel map. */
69 #define BLE_GAP_FEATS_LEN 0x08 /**< The length of features. */
70 #define BLE_GAP_ADDR_LEN 0x06 /**< The length of address. */
71 #define BLE_GAP_INVALID_CONN_INDEX 0xFF /**< Invalid connection index. */
72 
73 /// CTE length (in number of 8us periods)
74 #define BLE_GAP_MIN_CTE_LEN 0x02 /**< The minimum CTE length. */
75 #define BLE_GAP_MAX_CTE_LEN 0x14 /**< The maximum CTE length. */
76 
77 /// CTE count
78 #define BLE_GAP_MIN_CTE_CNT 0x01 /**< The minimum CTE count. */
79 #define BLE_GAP_MAX_CTE_CNT 0x10 /**< The maximum CTE count. */
80 
81 #define BLE_GAP_MIN_IQ_SAMPLE_NUM 0x09 /**< The minimum IQ sample number. */
82 #define BLE_GAP_MAX_IQ_SAMPLE_NUM 0x52 /**< The maximum IQ sample number. */
83 
84 #define BLE_GAP_MAX_GDX_RANGING_CH 20 /**< The maximum GDX Ranging Channel. */
85 
86 /** @} */
87 
88 /**
89  * @defgroup BLE_SDK_GAPC_ENUM Enumerations
90  * @{
91  */
92 
93 /** @brief The identity address type */
94 typedef enum
95 {
96  BLE_GAP_ADDR_TYPE_PUBLIC = 0, /**< Public (identity) address.*/
97  BLE_GAP_ADDR_TYPE_RANDOM_STATIC, /**< Random static (identity) address. */
99 
100 /**
101  * @brief Bit field use to select the preferred TX or RX LE PHY.
102  */
103 typedef enum
104 {
105  /// No preferred PHY
107  /// LE 1M PHY preferred for an active link
109  /// LE 2M PHY preferred for an active link
111  /// LE Coded PHY preferred for an active link
114 
115 /** @brief The phy options */
116 typedef enum
117 {
118  BLE_GAP_PHY_OPT_NO_CODING = 0, /**< The Host has no preferred coding when transmitting on the LE Coded PHY. */
119  BLE_GAP_PHY_OPT_S2_CODING, /**< The Host prefers that S=2 coding be used when transmitting on the LE Coded PHY. */
120  BLE_GAP_PHY_OPT_S8_CODING, /**< The Host prefers that S=8 coding be used when transmitting on the LE Coded PHY. */
122 
123 
124 /** @brief The operation code used to get connection info */
125 typedef enum
126 {
127  BLE_GAP_GET_CON_RSSI = 0, /**< Get connection RSSI info. */
128  BLE_GAP_GET_CON_CHANNEL_MAP, /**< Get connection channel map. */
129  BLE_GAP_GET_PHY, /**< Get connection PHY. */
130  BLE_GAP_GET_CHAN_SEL_ALGO /**< Get selection algorithm for connection channel. */
132 
133 /**@brief The operation code used to get peer device info. */
134 typedef enum
135 {
136  BLE_GAP_GET_PEER_VERSION = 0, /**< Get peer device version info. */
137  BLE_GAP_GET_PEER_FEATURES /**< Get peer device features info. */
139 
140 /** @brief Advertising report type. */
141 typedef enum
142 {
143  BLE_GAP_REPORT_TYPE_ADV_EXT = 0, /**< Extended advertising report. */
144  BLE_GAP_REPORT_TYPE_ADV_LEG, /**< Legacy advertising report. */
145  BLE_GAP_REPORT_TYPE_SCAN_RSP_EXT, /**< Extended scan response report. */
146  BLE_GAP_REPORT_TYPE_SCAN_RSP_LEG, /**< Legacy scan response report. */
147  BLE_GAP_REPORT_TYPE_PER_ADV, /**< Periodic advertising report. */
149 
150 /** @brief Advertising report information. */
151 typedef enum
152 {
153  BLE_GAP_REPORT_INFO_COMPLETE_BIT = (1 << 0), /**< Report is complete. */
154  BLE_GAP_REPORT_INFO_CONN_ADV_BIT = (1 << 1), /**< Connectable advertising. */
155  BLE_GAP_REPORT_INFO_SCAN_ADV_BIT = (1 << 2), /**< Scannable advertising. */
156  BLE_GAP_REPORT_INFO_DIR_ADV_BIT = (1 << 3), /**< Directed advertising. */
158 
159 /** @brief Stop reason code. */
160 typedef enum
161 {
162  BLE_GAP_STOPPED_REASON_TIMEOUT = 0, /**< Stop with timeout. */
163  BLE_GAP_STOPPED_REASON_ON_USER, /**< Stop with user stopping it actively. */
164  BLE_GAP_STOPPED_REASON_CONN_EST /**< Stop with connection established. */
166 
167 /** @brief Device role of LL layer type */
168 typedef enum
169 {
170  BLE_GAP_LL_ROLE_MASTER = 0, /**< Master role. */
171  BLE_GAP_LL_ROLE_SLAVE = 1, /**< Slave role. */
173 
174 /**
175  * @brief Operation code used to set param(s).
176  */
177 typedef enum
178 {
179  BLE_GAP_OPCODE_CHNL_MAP_SET, /**< Set Channel Map. */
180  BLE_GAP_OPCODE_WHITELIST_SET, /**< Set white list. */
181  BLE_GAP_OPCODE_PER_ADV_LIST_SET, /**< Set periodic advertising list. */
182  BLE_GAP_OPCODE_PRIVACY_MODE_SET, /**< Set privacy mode for peer device. */
184 
185 /**
186  * @brief The specified reason for terminating a connection.
187  */
188 typedef enum
189 {
190  BLE_GAP_HCI_AUTHENTICATION_FAILURE = 0x05, /**< Authentication Failure. */
191  BLE_GAP_HCI_REMOTE_USER_TERMINATED_CONNECTION = 0x13, /**< Remote User Terminated Connection. */
192  BLE_GAP_HCI_REMOTE_DEV_TERMINATION_DUE_TO_LOW_RESOURCES = 0x14, /**< Remote Device Terminated Connection due to Low Resources. */
193  BLE_GAP_HCI_REMOTE_DEV_TERMINATION_DUE_TO_POWER_OFF = 0x15, /**< Remote Device Terminated Connection due to Power Off. */
194  BLE_GAP_HCI_UNSUPPORTED_REMOTE_FEATURE = 0x1A, /**< Unsupported Remote Feature. */
195  BLE_GAP_HCI_PAIRING_WITH_UNIT_KEY_UNSUPPORTED = 0X29, /**< Pairing With Unit Key Not Supported. */
196  BLE_GAP_HCI_CONN_INTERVAL_UNACCEPTABLE = 0x3B, /**< Unacceptable Connection Parameters. */
198 
199 /**
200  * @brief Operation code used to read resolvable address.
201  */
202 typedef enum
203 {
204  BLE_GAP_OPCODE_LOCAL_RSLV_ADDR_READ, /**< Local resolvable address operation. */
205  BLE_GAP_OPCODE_PEER_RSLV_ADDR_READ, /**< Peer resolvable address operation. */
207 
208 /**
209  * @brief Operation code used for LEPSM manager.
210  */
211 typedef enum
212 {
213  BLE_GAP_OPCODE_LEPSM_REGISTER, /**< LEPSM register operation. */
214  BLE_GAP_OPCODE_LEPSM_UNREGISTER, /**< LEPSM unregister operation. */
216 
217 /** @brief GAP Device inforamtion write indication. */
218 typedef enum
219 {
220  BLE_GAPC_DEV_NAME, /* Device name type*/
221  BLE_GAPC_DEV_APPEARANCE, /* Device Appearance Icon type*/
223 
224 /**
225  * @brief Type of constant tone extension.
226  */
227 typedef enum
228 {
229  BLE_GAP_CTE_TYPE_AOA = 0x01 << 0, /**< Allow AoA Constant Tone Extension Response. */
230  BLE_GAP_CTE_TYPE_AOD_1US = 0x01 << 1, /**< Allow AoD Constant Tone Extension Response with 1us slots. */
231  BLE_GAP_CTE_TYPE_AOD_2US = 0x01 << 2, /**< Allow AoD Constant Tone Extension Response with 2us slots. */
233 
234 /**
235  * @brief Type of switching and sampling slots
236  */
237 typedef enum
238 {
239  BLE_GAP_SLOT_1US = 0x01, /**< Switching and sampling slots are 1us each. */
240  BLE_GAP_SLOT_2US, /**< Switching and sampling slots are 2us each. */
242 
243 /**
244  * @brief Status of IQ report packet
245  */
246 typedef enum
247 {
248  BLE_GAP_CRC_OK, /**< CRC was correct. */
249  BLE_GAP_CRC_ERR1, /**< CRC was incorrect and the Length and CTETime fields of the packet were used to determine sampling points. */
250  BLE_GAP_CRC_ERR2, /**< CRC was incorrect but the Controller has determined the position and length of the Constant Tone Extension in some other way. */
251  BLE_GAP_INSUFFI_RESOURCE = 0xFF /**< Insufficient resources to sample (data_channel_idx, cte_type, and slot_dur invalid). */
253 
254 /**
255  * @brief Phy for power control management
256  */
257  typedef enum
258 {
259  BLE_GAP_PHY_1M = 0x01, /**< LE 1M PHY. */
260  BLE_GAP_PHY_2M = 0x02, /**< LE 2M PHY. */
261  BLE_GAP_PHY_CODED_S8 = 0x03, /**< LE Coded PHY with S=8 data coding. */
262  BLE_GAP_PHY_CODED_S2 = 0x04 /**< LE Coded PHY with S=2 data coding. */
264 
265 /**
266  * @brief Transmit power change reporting reason.
267  */
268 typedef enum
269 {
270  BLE_GAP_PWR_LOCAL_TX_CHG = 0x00, /**< Local transmit power changed. */
271  BLE_GAP_PWR_REMOTE_TX_CHG = 0x01, /**< Remote transmit power changed. */
273 
274 /**
275  * @brief Transmit Power level flag.
276  */
277 typedef enum
278 {
279  BLE_GAP_PWR_MID_LVL = 0x00, /**< Transmit power level is between minimum and max level. */
280  BLE_GAP_PWR_MIN_LVL = 0x01, /**< Transmit power level is at minimum level. */
281  BLE_GAP_PWR_MAX_LVL = 0x02 /**< Transmit power level is at maximum level. */
283 
284 /// Path Loss zones. HCI:7.8.118
285 typedef enum
286 {
287  BLE_GAP_PATH_LOSS_LOW = 0x00, /**< Entered Low zone. */
288  BLE_GAP_PATH_LOSS_MID = 0x01, /**< Entered Middle zone. */
289  BLE_GAP_PATH_LOSS_HIGH = 0x02, /**< Entered High zone. */
291 
292 /** @} */
293 
294 
295 /**
296  * @defgroup BLE_GAPC_STRUCT Structures
297  * @{
298  */
299 
300 /** @brief The struct of device version. */
301 typedef struct
302 {
303  uint8_t hci_ver; /**< HCI version. */
304  uint8_t lmp_ver; /**< LMP version. */
305  uint8_t host_ver; /**< Host version. */
306  uint16_t hci_subver; /**< HCI subversion. */
307  uint16_t lmp_subver; /**< LMP subversion. */
308  uint16_t host_subver; /**< Host subversion. */
309  uint16_t manuf_name; /**< Manufacturer name. */
311 
312 /** @brief The struct of address. */
313 typedef struct
314 {
315  uint8_t addr[BLE_GAP_ADDR_LEN]; /**< 6-byte array address value. */
317 
318 /** @brief The struct of broadcast address with broadcast type. */
319 typedef struct
320 {
321  ble_gap_addr_t gap_addr; /**< Device BD Address. */
322  uint8_t addr_type; /**< Address type of the device: 0=public/1=random. please @ref ble_gap_addr_type_t. */
324 
325 /** @brief Get broadcast address struct. */
326 typedef struct
327 {
328  uint8_t index; /**< Advertsing index. The valid range is: 0 - 4. */
329  ble_gap_bdaddr_t bd_addr; /**< BD address. */
331 
332 /** @brief TX power info struct. */
333 typedef struct
334 {
335  int8_t power_lvl; /**< Advertising channel TX power level. Range: -20 to 10. Unit: dBm. Accuracy: +/-4dB. */
337 
338 /** @brief TX power info struct. */
339 typedef struct
340 {
341  int8_t min_tx_pwr; /**< MIN of TX power. Size: 1 octet (signed integer). Range: -127 to +126. Unit: dBm. */
342  int8_t max_tx_pwr; /**< MAX of TX power. Size: 1 octet (signed integer). Range: -127 to +126. Unit: dBm. */
344 
345 /** @brief Max data length info struct. */
346 typedef struct
347 {
348  uint16_t suppted_max_tx_octets; /**< Maximum number of payload octets that the local Controller supports for transmission of a single Link Layer packet on a data connection.
349  Range: 0x001B-0x00FB (all other values reserved for future use). */
350  uint16_t suppted_max_tx_time; /**< Maximum time, in microseconds, that the local Controller supports for transmission of a single Link Layer packet on a data connection.
351  Range: 0x0148-0x4290 (all other values reserved for future use). */
352  uint16_t suppted_max_rx_octets; /**< Maximum number of payload octets that the local Controller supports for reception of a single Link Layer packet on a data connection.
353  Range: 0x001B-0x00FB (all other values reserved for future use). */
354  uint16_t suppted_max_rx_time; /**< Maximum time, in microseconds, that the local Controller supports for reception of a single Link Layer packet on a data connection.
355  Range: 0x0148-0x4290 (all other values reserved for future use). */
357 
358 /** @brief Suggested default data length info. */
359 typedef struct
360 {
361  uint16_t suggted_max_tx_octets; /**< The Host's suggested value for the Controller's maximum transmitted number of payload octets to be used for new connections.
362  Range: 0x001B-0x00FB (all other values reserved for future use), default: 0x001B */
363  uint16_t suggted_max_tx_time; /**< The Host's suggested value for the Controller's maximum packet transmission time to be used for new connections.
364  Range: 0x0148-0x4290 (all other values reserved for future use), default: 0x0148*/
366 
367 /** @brief Number of available advertising sets info. */
368 typedef struct
369 {
370  uint8_t nb_adv_sets; /**< Number of available advertising sets. */
372 
373 /** @brief Maximum advertising data length info. */
374 typedef struct
375 {
376  uint16_t length; /**< Maximum advertising data length supported by controller. */
378 
379 /** @brief RF path compensation values info. */
380 typedef struct
381 {
382  uint16_t tx_path_comp; /**< RF TX path compensation. */
383  uint16_t rx_path_comp; /**< RF RX path compensation. */
385 
386 /** @brief antenna information. */
387 typedef struct
388 {
389  uint8_t supp_switching_sampl_rates; /**< Supported switching sampling rates bit field (@see enum gap_switch_sampling_rate). */
390  uint8_t antennae_num; /**< Number of antennae, range 0x01 to 0x4B. */
391  uint8_t max_switching_pattern_len; /**< Max length of switching pattern (number of antenna IDs in the pattern), range 0x02 to 0x4B. */
392  uint8_t max_cte_len; /**< Max CTE length, range 0x02 to 0x14. */
394 
395 /** @brief Device info. */
396 typedef union
397 {
398  ble_gap_dev_version_ind_t dev_version; /**< Version info. */
399  ble_gap_get_bd_addr_t get_bd_addr; /**< Device BD address info. */
400  ble_gap_dev_adv_tx_power_t adv_tx_power; /**< Advertising TX power info. */
401  ble_gap_sugg_dflt_data_len_t sugg_dflt_data_len; /**< Suggested default data length info. */
402  ble_gap_max_data_len_t max_data_len; /**< Suggested MAX data length info. */
403  ble_gap_nb_adv_sets_t nb_adv_sets; /**< Number of available advertising sets. */
404  ble_gap_max_adv_data_len_ind_t max_adv_data_len; /**< Maximum advertising data length info. */
405  ble_gap_dev_tx_power_t dev_tx_power; /**< Device TX power info. */
406  ble_gap_dev_rf_path_comp_ind_t dev_rf_path_comp; /**< RF path compensation values. */
407  ble_gap_antenna_inf_t dev_antenna_inf; /**< Device antenna information. */
409 
410 /** @brief Get device info operation struct. */
411 typedef struct
412 {
413  uint8_t operation; /**< Operation code. @see enum gap_dev_info_get_type_t. */
414  ble_gap_dev_info_t dev_info; /**< Device info. */
416 
417 /** @brief Read resolvable address info struct. */
418 typedef struct
419 {
420  uint8_t op_code; /**< Operation code. @see enum gap_rslv_addr_read_op_id_t. */
421  ble_gap_addr_t gap_addr; /**< Resolvable address info. */
423 
424 /** @brief Sync established indication. */
425 typedef struct
426 {
427  uint8_t phy; /**< PHY on which synchronization has been established. @see gap_phy_type. */
428  uint16_t intv; /**< Periodic advertising interval (in unit of 1.25ms, min is 7.5ms). */
429  uint8_t adv_sid; /**< Advertising SID. */
430  uint8_t clk_acc; /**< Advertiser clock accuracy. @see enum gapm_clk_acc. */
431  ble_gap_bdaddr_t bd_addr; /**< Advertiser address. */
432  uint16_t sync_hdl; /**< Sync handle. */
433  uint16_t serv_data; /**< Service data. */
434  bool report_flag; /**< Report Flag. */
436 
437 
438 /** @brief APP receives the extended advertising report indication info struct. */
439 typedef struct
440 {
441  uint8_t adv_type; /**< Advertising type. @see enum gap_adv_report_type_t. */
442  uint8_t adv_info; /**< Bit field providing information about the received report. @see enum gap_adv_report_info_t. */
443  ble_gap_bdaddr_t broadcaster_addr; /**< Broadcaster device address. */
444  ble_gap_bdaddr_t direct_addr; /**< Target address (in case of a directed advertising report). */
445  int8_t tx_pwr; /**< TX power (in dBm). */
446  int8_t rssi; /**< RSSI (between -127 and +20 dBm). */
447  uint8_t phy_prim; /**< Primary PHY on which advertising report has been received. */
448  uint8_t phy_second; /**< Secondary PHY on which advertising report has been received. */
449  uint8_t adv_sid; /**< Advertising SID , valid only for periodic advertising report. */
450  uint16_t period_adv_intv; /**< Periodic advertising interval (in unit of 1.25ms, min is 7.5ms), valid only for periodic advertising report. */
451  uint8_t per_sync_idx; /**< Periodic syncronization index, valid only for periodic advertising report. */
452  uint16_t length; /**< Report length. */
453  uint8_t data[__ARRAY_EMPTY]; /**< Report. */
455 
456 /** @brief Name of peer device indication. */
457 typedef struct
458 {
459  ble_gap_addr_t peer_addr; /**< Peer device bd address. */
460  uint8_t addr_type; /**< Peer device address type. */
461  uint8_t name_len; /**< Peer device name length. */
462  uint8_t name[__ARRAY_EMPTY]; /**< Peer device name. */
464 
465 /** @brief Connection parameter used to update connection parameters. */
466 typedef struct
467 {
468  uint16_t interval; /**< Connection interval. Range: 0x0006 to 0x0C80. Unit: 1.25 ms. Time range: 7.5 ms to 4 s. */
469  uint16_t latency; /**< Latency for the connection in number of connection events. Range: 0x0000 to 0x01F3. */
470  uint16_t sup_timeout; /**< Supervision timeout for the LE link. Range: 0x000A to 0x0C80, unit: 10 ms, time range: 100 ms to 32 s. */
472 
473 /** @brief The parameter of connection. */
474 typedef struct
475 {
476  uint16_t interval_min; /**< Minimum value for the connection interval. This shall be less than or equal to Conn_Interval_Max.
477  Range: 0x0006 to 0x0C80, unit: 1.25 ms, time range: 7.5 ms to 4 s*/
478  uint16_t interval_max; /**< Maximum value for the connection interval. This shall be greater than or equal to Conn_Interval_Min.
479  Range: 0x0006 to 0x0C80, unit: 1.25 ms, time range: 7.5 ms to 4 s.*/
480  uint16_t slave_latency; /**< Slave latency for the connection in number of connection events. Range: 0x0000 to 0x01F3. */
481  uint16_t sup_timeout; /**< Supervision timeout for the LE link. Range: 0x000A to 0x0C80, unit: 10 ms, time range: 100 ms to 32 s. */
483 
484 
485 /** @brief The parameter of update connection. */
486 typedef struct
487 {
488  uint16_t interval_min; /**< Minimum value for the connection interval. This shall be less than or equal to Conn_Interval_Max.
489  Range: 0x0006 to 0x0C80, unit: 1.25 ms, time range: 7.5 ms to 4 s*/
490  uint16_t interval_max; /**< Maximum value for the connection interval. This shall be greater than or equal to Conn_Interval_Min.
491  Range: 0x0006 to 0x0C80, unit: 1.25 ms, time range: 7.5 ms to 4 s.*/
492  uint16_t slave_latency; /**< Slave latency for the connection in number of connection events. Range: 0x0000 to 0x01F3. */
493  uint16_t sup_timeout; /**< Supervision timeout for the LE link. range: 0x000A to 0x0C80, unit: 10 ms, Time range: 100 ms to 32 s. */
494  uint16_t ce_len; /**< The length of connection event needed for this LE connection. Range: 0x0002 to 0xFFFF, unit: 0.625 ms, time Range: 1.25 ms to 40.9 s.
495  recommended value: 0x0002 for 1M phy, 0x0006 for coded phy*/
497 
498 /** @brief Connection complete info. */
499 typedef struct
500 {
501  uint16_t conhdl; /**< Connection_Handle. Range: 0x0000-0x0EFF (all other values reserved for future use). */
502  uint16_t con_interval; /**< Connection interval. Range: 0x0006 to 0x0C80, unit: 1.25 ms, time range: 7.5 ms to 4 s. */
503  uint16_t con_latency; /**< Latency for the connection in number of connection events. Range: 0x0000 to 0x01F3. */
504  uint16_t sup_to; /**< Connection supervision timeout. Range: 0x000A to 0x0C80, unit: 10 ms, time range: 100 ms to 32 s. */
505  uint8_t clk_accuracy; /**< Clock accuracy (0x00: 500 ppm, 0x01: 250 ppm, 0x02: 150 ppm, 0x03: 100 ppm, 0x04: 75 ppm,
506  0x05:50 ppm, 0x06:30 ppm, 0x07:20 ppm, others: reserved for future use). */
507  uint8_t peer_addr_type; /**< Peer address type(0x00: Public Device Address, 0x01 : Random Device Address, others: reserved for future use). */
508  ble_gap_addr_t peer_addr; /**< Peer BT address. */
509  ble_gap_ll_role_type_t ll_role; /**< Device Role of LL Layer. */
511 
512 /** @brief Channel map structure. */
513 typedef struct
514 {
515  uint8_t map[BLE_GAP_CHNL_MAP_LEN]; /**< This parameter contains 37 1-bit fields. The nth bit (n is in the range of 0 to 36) contains the value for the link layer channel index n.
516  Channel n is unused = 0, channel n is used = 1. The most significant bits are reserved for future use.*/
518 
519 /** @brief PHY info. */
520 typedef struct
521 {
522  uint8_t tx_phy; /**< LE PHY for data transmission. @see ble_gap_phy_type_t. */
523  uint8_t rx_phy; /**< LE PHY for data reception. @see ble_gap_phy_type_t. */
525 
526 /** @brief Connection info. */
527 typedef union
528 {
529  int8_t rssi; /**< RSSI. */
530  ble_gap_chnl_map_t chnl_map; /**< channel map. */
531  ble_gap_le_phy_ind_t phy; /**< PHY indicaiton. */
532  uint8_t chan_sel_algo; /**< Chanel Selection algorithm, 0x00: LE Channel Selection Algorithm #1 is used.
533  0x01: LE Channel Selection Algorithm #2 is used.\n 0x02-0xFF: reserved. */
535 
536 /** @brief The info of connecting operation. */
537 typedef struct
538 {
539  uint8_t opcode; /**< Operation code. See @ref ble_gap_get_conn_info_op_t. */
540  ble_gap_conn_info_t info; /**< Connection info. */
542 
543 /** @brief Peer version info. */
544 typedef struct
545 {
546  uint16_t compid; /**<Manufacturer name. */
547  uint16_t lmp_subvers; /**< LMP subversion. */
548  uint8_t lmp_vers; /**< LMP version. */
550 
551 
552 /** @brief LE features info. */
553 typedef struct
554 {
555  uint8_t features[BLE_GAP_FEATS_LEN]; /**< 8-byte array for LE features\n
556  Feature Setting field's bit mapping to Controller Features (0: not support, 1: support) \n
557  |Bit position | Link Layer Feature|
558  |-------------|-----------------|
559  |0 | LE Encryption|
560  |1 |Connection Parameters Request Procedure|
561  |2 |Extended Reject Indication|
562  |3 | Slave-initiated Features Exchange |
563  |4 |LE Ping |
564  |5 |LE Data Packet Length Extension |
565  |6 |LL Privacy |
566  |7 |Extended Scanner Filter Policies |
567  |8 |LE 2M PHY|
568  |9 | Stable Modulation Index - Transmitter |
569  |10 | Stable Modulation Index - Receiver |
570  |11 |LE Coded PHY |
571  |12 |LE Extended Advertising|
572  |13 | LE Periodic Advertising|
573  |14 | Channel Selection Algorithm #2|
574  |15 |LE Power Class 1|
575  |16 |Minimum Number of Used Channels Procedure|
576  |17 |Connection CTE Request|
577  |18 |Connection CTE Response|
578  |19 |Connectionless CTE Transmitter|
579  |20 |Connectionless CTE Receiver|
580  |21 |Antenna Switching During CTE Transmission(AoD)|
581  |22 |Antenna Switching During CTE Reception(AoA)|
582  |23 |Receiving Constant Tone Extensions|
583  |24 |Periodic Advertising Sync Transfer - Sender|
584  |25 |Periodic Advertising Sync Transfer - Recipient|
585  |26 |Sleep Clock Accuracy Updates|
586  |27 |Remote Public Key Validation|
587  |33 |LE Power Control Request|
588  |34 |LE Power Change Indication|
589  |35 |LE Path Loss Monitoring|
590 
591  |All other values |Reserved for Future Use|*/
593 
594 /** @brief LE peer info. */
595 typedef union
596 {
600 
601 /** @brief Get peer info operation struct. */
602 typedef struct
603 {
604  uint8_t opcode; /**< Operation code. See @ref ble_gap_get_peer_info_op_t. */
605  ble_gap_peer_info_t peer_info; /**< Peer info. */
607 
608 /** @brief Supported data length size Indication. */
609 typedef struct
610 {
611  uint16_t max_tx_octets; /**< The maximum number of payload octets in TX. */
612  uint16_t max_tx_time; /**< The maximum time that the local Controller will take to TX. */
613  uint16_t max_rx_octets; /**< The maximum number of payload octets in RX. */
614  uint16_t max_rx_time; /**< The maximum time that the local Controller will take to RX. */
616 
617 /**@brief The Structure for BLE Connection Arrangement. */
618 typedef struct
619 {
620  uint16_t conn_idx; /**< Connection Index. */
621  uint32_t interval; /**< Connection Interval (in 312.5 us). */
622  uint32_t offset; /**< Connection Offset (in 312.5 us). */
623  uint32_t duration; /**< Connection Duration (in 312.5 us). */
625 
626 /** @brief Set preference slave event duration */
627 typedef struct
628 {
629  uint16_t duration; /**< Preferred event duration. */
630  uint8_t single_tx; /**< Slave transmits a single packet per connection event (False/True). */
632 
633 /** @brief GAP Device name struct. */
634 typedef struct
635 {
636  uint16_t length; /**< Device name length. */
637  uint8_t value[__ARRAY_EMPTY]; /**< Device name data. */
639 
640 /** @brief Device information data struct. */
641 typedef union
642 {
643  ble_gap_dev_name_ind_t dev_name; /**< Device name. see @ref ble_gap_dev_name_ind_t. */
644  uint16_t appearance; /**< Device appearance */
646 
647 
648 /** @brief GAP Device inforamtion write indication. */
649 typedef struct
650 {
651  ble_gap_dev_info_type_t info_type; /**< Device info type. see @ref ble_gap_dev_info_type_t. */
652  ble_gapc_set_dev_info_t info; /**< Device info data. see @ref ble_gap_cte_type_t. */
654 
655 /**
656  * @brief Default periodic advertising synchronization transfer parameters
657  */
658 typedef struct
659 {
660  uint8_t mode; /**< @see gap_per_adv_sync_info_rec_mode. */
661  uint16_t skip; /**< Number of periodic advertising that can be skipped after a successful receive.
662  Maximum authorized value is 499. */
663  uint16_t sync_to; /**< Synchronization timeout for the periodic advertising (in unit of 10 ms between 100 ms and 163.84s). */
664  uint8_t cte_type; /**< Type of Constant Tone Extension device should sync on (@see enum gap_sync_cte_type). */
666 
667 /**
668  * @brief Connectionless IQ Report info
669  */
670 typedef struct
671 {
672  uint8_t channel_idx; /**< The index of the channel on which the packet was received, range 0x00 to 0x24. */
673  int16_t rssi; /**< RSSI units: 0.1 dBm, range -1270 to +200. */
674  uint8_t rssi_antenna_id; /**< RSSI antenna ID. */
675  uint8_t cte_type; /**< CTE type (0: GAP_CET_AOA | 1: GAP_CET_AOD_1US | 2: GAP_CET_AOD_2US), @see enum ble_gap_cte_type_t. */
676  uint8_t slot_dur; /**< Slot durations (1: GAP_SLOT_1US | 2: GAP_SLOT_2US), see @ref ble_gap_switching_sampling_type_t. */
677  uint8_t pkt_status; /**< Packet status, @see enum ble_gap_iq_report_status_t. */
678  uint16_t pa_evt_cnt; /**< Periodic advertising event counter. */
679  uint8_t nb_samples; /**< Number of samples. 0x00: no samples provided (only permitted if pkt_status is 0xFF),
680  0x09 to 0x52: total number of sample pairs. */
681  int8_t i_sample[BLE_GAP_MAX_IQ_SAMPLE_NUM]; /**< The list of i samples for the reported PDU. */
682  int8_t q_sample[BLE_GAP_MAX_IQ_SAMPLE_NUM]; /**< The list of q samples for the reported PDU. */
684 
685 /** @brief Set connection CTE transmit parameters info. */
686 typedef struct
687 {
688  uint8_t cte_type; /**< The type of cte, see @ref ble_gap_cte_type_t. */
689  uint8_t num_antenna; /**< The number of Antenna IDs in the pattern, range 0x02 to 0x4B. */
690  uint8_t *antenna_id; /**< List of Antenna IDs in the pattern. */
692 
693 /** @brief Set connection CTE receive parameters info. */
694 typedef struct
695 {
696  bool sampling_enable; /**< Wheter to sample IQ from the CTE. */
697  uint8_t slot_durations; /**< The slot for sample IQ from the CTE, see @ref ble_gap_switching_sampling_type_t. */
698  uint8_t num_antenna; /**< The number of Antenna IDs in the pattern, range 0x02 to 0x4B. */
699  uint8_t *antenna_id; /**< List of Antenna IDs in the pattern. */
701 
702 /** @brief Set connection CTE Request enable info. */
703 typedef struct
704 {
705  uint16_t cte_req_interval; /**< Defines whether the cte request procedure is initiated only once or periodically.
706  0x0000: initiate the Constant Tone Extension Request procedure once.
707  0x0001 to 0xFFFF: requested interval for initiating the cte request procedure in number of connection events. */
708  uint8_t cte_req_len; /**< Minimum length of the cte being requested in 8us units, range 0x02 to 0x14. */
709  uint8_t cte_req_type; /**< The type for requested cte, see @ref ble_gap_cte_type_t. */
711 
712 /** @brief Connection IQ Report info. */
713 typedef struct
714 {
715  uint8_t rx_phy; /**< Rx PHY (0x01: 1M | 0x02: 2M), see @ref ble_gap_phy_type_t. */
716  uint8_t data_channel_idx; /**< Data channel index, range 0x00 to 0x24. */
717  int16_t rssi; /**< RSSI units: 0.1 dBm, range -1270 to +200. */
718  uint8_t rssi_antenna_id; /**< RSSI antenna ID. */
719  uint8_t cte_type; /**< CTE type (0: GAP_CET_AOA | 1: GAP_CET_AOD_1US | 2: GAP_CET_AOD_2US), @see enum ble_gap_cte_type_t. */
720  uint8_t slot_dur; /**< Slot durations (1: GAP_SLOT_1US | 2: GAP_SLOT_2US), see @ref ble_gap_switching_sampling_type_t. */
721  uint8_t pkt_status; /**< Packet status, @see enum ble_gap_iq_report_status_t. */
722  uint16_t con_evt_cnt; /**< Connection event counter. */
723  uint8_t nb_samples; /**< Number of samples. 0x00: no samples provided (only permitted if pkt_status is 0xFF),
724  0x09 to 0x52: total number of sample pairs. */
725  int8_t i_sample[BLE_GAP_MAX_IQ_SAMPLE_NUM]; /**< The list of i samples for the reported PDU. */
726  int8_t q_sample[BLE_GAP_MAX_IQ_SAMPLE_NUM]; /**< The list of q samples for the reported PDU. */
728 
729 /** @brief Set path loss reporting parameter info. */
730 typedef struct
731 {
732  uint8_t high_thr; /**< High threshold for the path loss (dB). */
733  uint8_t high_hyst; /**< Hysteresis value for the high threshold (dB). */
734  uint8_t low_thr; /**< Low threshold for the path loss (dB). */
735  uint8_t low_hyst; /**< Hysteresis value for the low threshold (dB). */
736  uint16_t min_conn_evt_num; /**< Minimum time in number of connection events to be observed. */
738 
739 /** @brief Transmit power change reporting info. */
740 typedef struct
741 {
742  uint8_t reason; /**< Reason see @ref ble_gap_tx_pwr_change_report_reason_t. */
743  uint8_t phy; /**< Phy see @ref ble_gap_phy_type_t. */
744  int8_t tx_pwr; /**< Transmit Power level (dBm). */
745  uint8_t flags; /**< Transmit Power level flags, see @ref ble_gap_pwr_lvl_flag_t. */
746  int8_t delta; /**< Change in transmit power level (dBm). */
748 
749 /** @brief Path loss threshold reporting info. */
750 typedef struct
751 {
752  uint8_t curr_path_loss; /**< Current path loss (dB). */
753  uint8_t zone_entered; /**< Zone entered, see @ref ble_gap_path_loss_zone_t. */
755 
756 /** @brief Local transmit power read indication info. */
757 typedef struct
758 {
759  uint8_t phy; /**< Phy see @ref ble_gap_phy_type_t. */
760  int8_t curr_tx_pwr_lvl; /**< Current transmit power level (dBm). */
761  int8_t max_tx_pwr_lvl; /**< Max transmit power level (dBm). */
763 
764 /** @brief Remote transmit power read indication info. */
765 typedef struct
766 {
767  uint8_t phy; /**< Phy see @ref ble_gap_phy_type_t. */
768  int8_t tx_pwr; /**< Transmit Power level (dBm). */
769  uint8_t flags; /**< Transmit Power level flags, see @ref ble_gap_pwr_lvl_flag_t. */
771 
772 /** @brief ranging parameter. */
773 typedef struct
774 {
775  /// ranging channel sequence
776  uint8_t channel_sequence[BLE_GAP_MAX_GDX_RANGING_CH];
777  /// Number of channel to be collected
778  uint8_t channel_num;
780 
781 /** @brief ranging indication info. */
782 typedef struct
783 {
784  uint8_t status; /**< ranging status. */
786 
787 /** @brief ranging sample report info. */
788 typedef struct
789 {
790  ///Status of ranging sample proc
791  uint8_t status;
792  /// sample number
793  uint16_t nb_sample;
794  /// sample address
795  int32_t iq_sample_addr;
797 
798 /** @brief ranging complete info. */
799 typedef struct
800 {
801  /// indicate ranging complete status
802  uint8_t status;
804 
805 /** @brief Default Subrate command param. */
806 typedef struct
807 {
808  uint16_t subrate_min; /**< Minimum subrate factor allowed in requests by a Peripheral(Range: 0x0001 - 0x01F4, Default: 0x0001). */
809  uint16_t subrate_max; /**< Maximum subrate factor allowed in requests by a Peripheral(Range: 0x0001 - 0x01F4, Default: 0x0001). */
810  uint16_t max_latency; /**< Maximum Peripheral latency allowed in requests by a Peripheral. */
811  uint16_t continuation_num; /**< Minimum number of underlying connection events to remain active. */
812  uint16_t superv_timeout; /**< Maximum supervision timeout allowed in requests by a Peripheral. */
814 
815 /** @brief Subrate Request command param. */
816 typedef struct
817 {
818  uint16_t subrate_min; /**< Minimum subrate factor allowed in requests by a Peripheral(Range: 0x0001 - 0x01F4, Default: 0x0001). */
819  uint16_t subrate_max; /**< Maximum subrate factor allowed in requests by a Peripheral(Range: 0x0001 - 0x01F4, Default: 0x0001). */
820  uint16_t max_latency; /**< Maximum Peripheral latency allowed in requests by a Peripheral. */
821  uint16_t continuation_num; /**< Minimum number of underlying connection events to remain active. */
822  uint16_t superv_timeout; /**< Maximum supervision timeout allowed in requests by a Peripheral. */
824 
825 /** @brief Subrate change indication. */
826 typedef struct
827 {
828  uint16_t subrate_factor; /**< subrate factor value. */
829  uint16_t con_latency; /**< Connection latency value. */
830  uint16_t continuation_number; /**< Connection continuation number value. */
831  uint16_t supervision_timeout; /**< Connection supervision timeout value. */
833 
834 /**@brief PHY update event for @ref BLE_GAPC_EVT_PHY_UPDATED. */
835 typedef struct
836 {
837  uint8_t tx_phy; /**< LE PHY for data transmission. @ref ble_gap_phy_type_t. */
838  uint8_t rx_phy; /**< LE PHY for data reception. @ref ble_gap_phy_type_t. */
840 
841 /** @brief Connection complete event for @ref BLE_GAPC_EVT_CONNECTED. */
842 typedef struct
843 {
844  uint16_t conn_handle; /**< Connection_Handle. Range: 0x0000-0x0EFF (all other values reserved for future use). */
845  uint16_t conn_interval; /**< Connection interval. Range: 0x0006 to 0x0C80, unit: 1.25 ms, time range: 7.5 ms to 4 s. */
846  uint16_t slave_latency; /**< Latency for the connection in number of connection events. Range: 0x0000 to 0x01F3. */
847  uint16_t sup_timeout; /**< Connection supervision timeout. Range: 0x000A to 0x0C80, unit: 10 ms, time range: 100 ms to 32 s. */
848  uint8_t clk_accuracy; /**< Clock accuracy (0x00: 500 ppm, 0x01: 250 ppm, 0x02: 150 ppm, 0x03: 100 ppm, 0x04: 75 ppm, 0x05:50 ppm, 0x06:30 ppm, 0x07:20 ppm, others: reserved for future use). */
849  uint8_t peer_addr_type; /**< Peer address type(0x00: Public Device Address, 0x01 : Random Device Address, others: reserved for future use). */
850  ble_gap_addr_t peer_addr; /**< Peer BT address. */
851  ble_gap_ll_role_type_t ll_role; /**< Device Role of LL Layer. */
853 
854 /**@brief Disconnection event for @ref BLE_GAPC_EVT_DISCONNECTED. */
855 typedef struct
856 {
857  uint8_t reason; /**< Hci error code. */
859 
860 /** @brief Name of peer device indication event for @ref BLE_GAPC_EVT_PEER_NAME_GOT. */
861 typedef struct
862 {
863  ble_gap_addr_t peer_addr; /**< Peer device bd address. */
864  uint8_t addr_type; /**< Peer device address type. */
865  uint8_t name_len; /**< Peer device name length. */
866  uint8_t *name; /**< Peer device name. */
868 
869 /** @brief Get peer info event for @ref BLE_GAPC_EVT_PEER_INFO_GOT. */
870 typedef struct
871 {
872  uint8_t opcode; /**< Operation code. See @ref ble_gap_get_peer_info_op_t. */
873  ble_gap_peer_info_t peer_info; /**< Peer info. */
875 
876 /** @brief Connection parameter updated event for @ref BLE_GAPC_EVT_CONN_PARAM_UPDATED. */
877 typedef struct
878 {
879  uint16_t conn_interval; /**< Connection interval. Range: 0x0006 to 0x0C80. Unit: 1.25 ms. Time range: 7.5 ms to 4 s. */
880  uint16_t slave_latency; /**< Latency for the connection in number of connection events. Range: 0x0000 to 0x01F3. */
881  uint16_t sup_timeout; /**< Supervision timeout for the LE link. Range: 0x000A to 0x0C80, unit: 10 ms, time range: 100 ms to 32 s. */
883 
884 /** @brief Connection parameter update request event for @ref BLE_GAPC_EVT_CONN_PARAM_UPDATE_REQ. */
885 typedef struct
886 {
887  uint16_t interval_min; /**< Minimum value for the connection interval. This shall be less than or equal to Conn_Interval_Max.
888  Range: 0x0006 to 0x0C80, unit: 1.25 ms, time range: 7.5 ms to 4 s*/
889  uint16_t interval_max; /**< Maximum value for the connection interval. This shall be greater than or equal to Conn_Interval_Min.
890  Range: 0x0006 to 0x0C80, unit: 1.25 ms, time range: 7.5 ms to 4 s.*/
891  uint16_t slave_latency; /**< Slave latency for the connection in number of connection events. Range: 0x0000 to 0x01F3. */
892  uint16_t sup_timeout; /**< Supervision timeout for the LE link. Range: 0x000A to 0x0C80, unit: 10 ms, time range: 100 ms to 32 s. */
894 
895 /** @brief Get Connection info event for @ref BLE_GAPC_EVT_CONN_INFO_GOT. */
896 typedef struct
897 {
898  uint8_t opcode; /**< Operation code. See @ref ble_gap_get_conn_info_op_t. */
899  ble_gap_conn_info_t info; /**< Connection info. */
901 
902 /** @brief Data Length Updated event for @ref BLE_GAPC_EVT_DATA_LENGTH_UPDATED. */
903 typedef struct
904 {
905  uint16_t max_tx_octets; /**< The maximum number of payload octets in TX. */
906  uint16_t max_tx_time; /**< The maximum time that the local Controller will take to TX. */
907  uint16_t max_rx_octets; /**< The maximum number of payload octets in RX. */
908  uint16_t max_rx_time; /**< The maximum time that the local Controller will take to RX. */
910 
911 /** @brief Device Information set event for @ref BLE_GAPC_EVT_DEV_INFO_SET. */
912 typedef struct
913 {
914  ble_gap_dev_info_type_t info_type; /**< Device info type. see @ref ble_gap_dev_info_type_t. */
915  ble_gapc_set_dev_info_t info; /**< Device info data. see @ref ble_gap_cte_type_t. */
917 
918 /** @brief Connection IQ Report info event for @ref BLE_GAPC_EVT_CONNECT_IQ_REPORT. */
919 typedef struct
920 {
921  uint8_t rx_phy; /**< Rx PHY (0x01: 1M | 0x02: 2M). */
922  uint8_t data_channel_idx; /**< Data channel index, range 0x00 to 0x24. */
923  int16_t rssi; /**< RSSI units: 0.1 dBm, range -1270 to +200. */
924  uint8_t rssi_antenna_id; /**< RSSI antenna ID. */
925  uint8_t cte_type; /**< CTE type (0: GAP_CET_AOA | 1: GAP_CET_AOD_1US | 2: GAP_CET_AOD_2US), @see enum ble_gap_cte_type_t. */
926  uint8_t slot_dur; /**< Slot durations (1: GAP_SLOT_1US | 2: GAP_SLOT_2US), see @ref ble_gap_switching_sampling_type_t. */
927  uint8_t pkt_status; /**< Packet status, @see enum ble_gap_iq_report_status_t. */
928  uint16_t con_evt_cnt; /**< Connection event counter. */
929  uint8_t nb_samples; /**< Number of samples. 0x00: no samples provided (only permitted if pkt_status is 0xFF),
930  0x09 to 0x52: total number of sample pairs. */
931  int8_t i_sample[BLE_GAP_MAX_IQ_SAMPLE_NUM]; /**< The list of i samples for the reported PDU. */
932  int8_t q_sample[BLE_GAP_MAX_IQ_SAMPLE_NUM]; /**< The list of q samples for the reported PDU. */
934 
935 /** @brief Connectionless IQ Report info event for @ref BLE_GAPC_EVT_CONNECTLESS_IQ_REPORT. */
936 typedef struct
937 {
938  uint8_t channel_idx; /**< The index of the channel on which the packet was received, range 0x00 to 0x24. */
939  int16_t rssi; /**< RSSI units: 0.1 dBm, range -1270 to +200. */
940  uint8_t rssi_antenna_id; /**< RSSI antenna ID. */
941  uint8_t cte_type; /**< CTE type (0: GAP_CET_AOA | 1: GAP_CET_AOD_1US | 2: GAP_CET_AOD_2US), @see enum ble_gap_cte_type_t. */
942  uint8_t slot_dur; /**< Slot durations (1: GAP_SLOT_1US | 2: GAP_SLOT_2US), see @ref ble_gap_switching_sampling_type_t. */
943  uint8_t pkt_status; /**< Packet status, @see enum ble_gap_iq_report_status_t. */
944  uint16_t pa_evt_cnt; /**< Periodic advertising event counter. */
945  uint8_t nb_samples; /**< Number of samples. 0x00: no samples provided (only permitted if pkt_status is 0xFF),
946  0x09 to 0x52: total number of sample pairs. */
947  int8_t i_sample[BLE_GAP_MAX_IQ_SAMPLE_NUM]; /**< The list of i samples for the reported PDU. */
948  int8_t q_sample[BLE_GAP_MAX_IQ_SAMPLE_NUM]; /**< The list of q samples for the reported PDU. */
950 
951 /** @brief Local transmit power read indication info event for @ref BLE_GAPC_EVT_LOCAL_TX_POWER_READ. */
952 typedef struct
953 {
954  uint8_t phy; /**< Phy see @ref ble_gap_phy_type_t. */
955  int8_t curr_tx_pwr_lvl; /**< Current transmit power level (dBm). */
956  int8_t max_tx_pwr_lvl; /**< Max transmit power level (dBm). */
958 
959 /** @brief Remote transmit power read indication info event for @ref BLE_GAPC_EVT_REMOTE_TX_POWER_READ. */
960 typedef struct
961 {
962  uint8_t phy; /**< Phy see @ref ble_gap_phy_type_t. */
963  int8_t tx_pwr; /**< Transmit Power level (dBm). */
964  uint8_t flags; /**< Transmit Power level flags, see @ref ble_gap_pwr_lvl_flag_t. */
966 
967 /** @brief Transmit power change reporting info event for @ref BLE_GAPC_EVT_TX_POWER_CHANGE_REPORT. */
968 typedef struct
969 {
970  uint8_t reason; /**< Reason see @ref ble_gap_tx_pwr_change_report_reason_t. */
971  uint8_t phy; /**< Phy see @ref ble_gap_phy_type_t. */
972  int8_t tx_pwr; /**< Transmit Power level (dBm). */
973  uint8_t flags; /**< Transmit Power level flags, see @ref ble_gap_pwr_lvl_flag_t. */
974  int8_t delta; /**< Change in transmit power level (dBm). */
976 
977 /** @brief Path loss threshold reporting info event for @ref BLE_GAPC_EVT_PATH_LOSS_THRESHOLD_REPORT. */
978 typedef struct
979 {
980  uint8_t curr_path_loss; /**< Current path loss (dB). */
981  uint8_t zone_entered; /**< Zone entered, see @ref ble_gap_path_loss_zone_t. */
983 
984 /** @brief Ranging indication event for @ref BLE_GAPC_EVT_RANGING_IND. */
985 typedef struct
986 {
987  uint8_t ranging_status; /**< ranging status. */
989 
990 /** @brief Ranging sample report event for @ref BLE_GAPC_EVT_RANGING_SAMPLE_REPORT. */
991 typedef struct
992 {
993  uint16_t nb_sample; /**< Sample number. */
994  int32_t iq_sample_addr; /**< I/Q sample address. */
996 
997 /** @brief Ranging complete indication event for @ref BLE_GAPC_EVT_RANGING_CMP_IND. */
998 typedef struct
999 {
1000  uint8_t ranging_status; /**< ranging complete status. */
1002 
1003 /** @brief Subrate change indication event for @ref BLE_GAPC_EVT_SUBRATE_CHANGE_IND. */
1004 typedef struct
1005 {
1006  uint16_t subrate_factor; /**< subrate factor value. */
1007  uint16_t con_latency; /**< Connection latency value. */
1008  uint16_t continuation_number; /**< Connection continuation number value. */
1009  uint16_t supervision_timeout; /**< Connection supervision timeout value. */
1011 
1012 /**@brief BLE GAPC event structure. */
1013 typedef struct
1014 {
1015  uint8_t index; /**< Index of connection. */
1016  union /**< union alternative identified by evt_id in enclosing struct. */
1017  {
1018  ble_gap_evt_phy_update_t phy_update; /**< PHY update parameters. */
1019  ble_gap_evt_connected_t connected; /**< Connection parameters. */
1020  ble_gap_evt_disconnected_t disconnected; /**< Disconnection parameters. See @ref BLE_STACK_ERROR_CODES. */
1021  ble_gap_evt_peer_name_get_t peer_name; /**< Peer device name indication parameters. */
1022  ble_gap_evt_peer_info_t peer_info; /**< Peer info indication parameters. */
1023  ble_gap_evt_conn_param_updated_t conn_param_updated; /**< Connection parameter updated parameters. */
1024  ble_gap_evt_conn_param_update_req_t conn_param_update_req; /**< Connection parameter update request parameters. */
1025  ble_gap_evt_conn_info_t conn_info; /**< Connection info parameters. */
1026  ble_gap_evt_data_length_t data_length; /**< Data Length Update parameter. */
1027  ble_gap_evt_dev_info_set_t dev_info_ind; /**< Device info parameters. */
1028  ble_gap_evt_conn_iq_report_t conn_iq_report; /**< Connection IQ Report info parameters. */
1029  ble_gap_evt_connless_iq_report_t connless_iq_report; /**< Connectionless IQ Report info parameters. */
1030  ble_gap_evt_local_tx_pwr_read_ind_t local_tx_pwr_read; /**< Local transmit power read indication info parameters. */
1031  ble_gap_evt_remote_tx_pwr_read_ind_t remote_tx_pwr_read; /**< Remote transmit power read indication info parameters. */
1032  ble_gap_evt_tx_pwr_change_report_t tx_pwr_change_report; /**< Transmit power change reporting info parameters. */
1033  ble_gap_evt_path_loss_threshold_report_t path_loss_threshold_reoprt; /**< Path loss threshold reporting info parameters. */
1038  } params; /**< Event Parameters. */
1039 } ble_gapc_evt_t;
1040 
1041 /** @} */
1042 
1043 /**
1044  * @defgroup BLE_GAPC_FUNCTION Functions
1045  * @{
1046  */
1047 /**
1048  ****************************************************************************************
1049  * @brief Terminate an existing connection.
1050  *
1051  * @param[in] conn_idx: The index of connection.
1052  *
1053  * @retval ::SDK_SUCCESS: Operation is Success.
1054  * @retval ::SDK_ERR_INVALID_CONN_IDX: Invalid connection index supplied.
1055  * @retval ::SDK_ERR_NO_RESOURCES: Not enough resources.
1056  ****************************************************************************************
1057  */
1058 uint16_t ble_gap_disconnect(uint8_t conn_idx);
1059 
1060 /**
1061  ****************************************************************************************
1062  * @brief Terminate an existing connection with a specified reason.
1063  *
1064  * @param[in] conn_idx: The index of connection.
1065  * @param[in] reason: The specified reason.
1066  *
1067  * @retval ::SDK_SUCCESS: Operation is Success.
1068  * @retval ::SDK_ERR_INVALID_CONN_IDX: Invalid connection index supplied.
1069  * @retval ::SDK_ERR_NO_RESOURCES: Not enough resources.
1070  ****************************************************************************************
1071  */
1073 
1074 /**
1075  ****************************************************************************************
1076  * @brief Change the Link Layer connection parameters of a connection.
1077  *
1078  * @param[in] conn_idx: The index of connection.
1079  * @param[in] p_conn_param: The new connection param.
1080  *
1081  * @retval ::SDK_SUCCESS: Operation is Success.
1082  * @retval ::SDK_ERR_INVALID_CONN_IDX: Invalid connection index supplied.
1083  * @retval ::SDK_ERR_POINTER_NULL: Invalid pointer supplied.
1084  * @retval ::SDK_ERR_NO_RESOURCES: Not enough resources.
1085  ****************************************************************************************
1086  */
1087 uint16_t ble_gap_conn_param_update (uint8_t conn_idx, const ble_gap_conn_update_param_t *p_conn_param);
1088 
1089 /**
1090  *****************************************************************************************
1091  * @brief Set the method for updating connection parameter.
1092  *
1093  * @param[in] conn_idx: Connection index.
1094  * @param[in] use_l2cap_flag: Preferred to use l2cap to update connection parameter.
1095  *
1096  * @retval ::SDK_SUCCESS: Operation is Success.
1097  * @retval ::SDK_ERR_INVALID_CONN_IDX: Invalid connection index supplied.
1098  *****************************************************************************************
1099  */
1100 uint16_t ble_gap_update_conn_param_method_set(uint8_t conn_idx, bool use_l2cap_flag);
1101 
1102 /**
1103  *****************************************************************************************
1104  * @brief Set connection's Latency.
1105  * @note The latency shall be set to X value by LLCP firstly, then uses this API to change the latency in [0, X].
1106  *
1107  * @param[in] conn_idx: The index of connection.
1108  * @param[in] latency: The latency of connection.
1109  *
1110  * @retval ::SDK_SUCCESS: Operation is Success.
1111  * @retval ::SDK_ERR_INVALID_CONN_IDX: Invalid connection index supplied.
1112  *****************************************************************************************
1113  */
1114 uint16_t ble_gap_latency_set(uint8_t conn_idx, uint16_t latency);
1115 
1116 /**
1117  *****************************************************************************************
1118  * @brief Get connection's Latency.
1119  * @note This function is used to get connection's Latency.
1120  *
1121  * @param[in] conn_idx: The index of connection.
1122  * @param[in] latency: Pointer to the latency of connection.
1123  *
1124  * @retval ::SDK_SUCCESS: Operation is Success.
1125  * @retval ::SDK_ERR_INVALID_CONN_IDX: Invalid connection index supplied.
1126  *****************************************************************************************
1127  */
1128 uint16_t ble_gap_latency_get(uint8_t conn_idx, uint16_t *latency);
1129 
1130 /**
1131  *****************************************************************************************
1132  * @brief Consult BLE connection activity plan situation function.
1133  * @note This function should be called when connection established and no periodic advertising exists.
1134  *
1135  * @param[out] p_act_num: Pointer to the number of existing connection activities.
1136  * @param[out] p_conn_plan_arr: Pointer to the global array that stores planned connection activities.
1137  *
1138  * @retval ::SDK_SUCCESS: Operation is Success.
1139  * @retval ::SDK_ERR_POINTER_NULL: Invalid pointer supplied.
1140  *****************************************************************************************
1141  */
1142 uint16_t ble_gap_con_plan_consult(uint8_t *p_act_num, ble_gap_con_plan_tag_t **p_conn_plan_arr);
1143 
1144 /**
1145  ****************************************************************************************
1146  * @brief Connection param update reply to peer device.
1147  *
1148  * @param[in] conn_idx: The index of connection.
1149  * @param[in] accept: True to accept connection parameters, false to reject.
1150  *
1151  * @retval ::SDK_SUCCESS: Operation is success.
1152  * @retval ::SDK_ERR_INVALID_CONN_IDX: Invalid connection index supplied.
1153  * @retval ::SDK_ERR_POINTER_NULL: Invalid pointer supplied.
1154  * @retval ::SDK_ERR_NO_RESOURCES: Not enough resources.
1155  ****************************************************************************************
1156  */
1157 uint16_t ble_gap_conn_param_update_reply(uint8_t conn_idx, bool accept);
1158 
1159 /**
1160  ****************************************************************************************
1161  * @brief The suggested maximum transmission packet size and maximum packet transmission time to be used for a given connection.
1162  *
1163  * @param[in] conn_idx: The index of connection.
1164  * @param[in] tx_octects: Preferred maximum number of payload octets that the local Controller should include in a single Link Layer packet on this connection.
1165  * Range 0x001B-0x00FB (all other values reserved for future use).
1166  * @param[in] tx_time: Preferred maximum number of microseconds that the local Controller should use to transmit a single Link Layer packet on this connection.
1167  * Range 0x0148-0x4290 (all other values reserved for future use).
1168  *
1169  *
1170  * @retval ::SDK_SUCCESS: Operation is Success.
1171  * @retval ::SDK_ERR_INVALID_CONN_IDX: Invalid connection index supplied.
1172  * @retval ::SDK_ERR_NO_RESOURCES: Not enough resources.
1173  ****************************************************************************************
1174  */
1175 uint16_t ble_gap_data_length_update(uint8_t conn_idx, uint16_t tx_octects , uint16_t tx_time);
1176 
1177 /**
1178  ****************************************************************************************
1179  * @brief Set the PHY preferences for the connection identified by the connection index.
1180  *
1181  * @param[in] conn_idx: The index of connection.
1182  * @param[in] tx_phys: A bit field that indicates the transmitter PHYs that the Host prefers the Controller to use (see @ref ble_gap_phy_bit_t).
1183  * @param[in] rx_phys: A bit field that indicates the receiver PHYs that the Host prefers the Controller to use (see @ref ble_gap_phy_bit_t).
1184  * @param[in] phy_opt: A bit field that allows the Host to specify options for PHYs (see @ref ble_gap_phy_options_t), only valid for coded phy.
1185  *
1186  * @retval ::SDK_SUCCESS: Operation is Success.
1187  * @retval ::SDK_ERR_INVALID_CONN_IDX: Invalid connection index supplied.
1188  * @retval ::SDK_ERR_NO_RESOURCES: Not enough resources.
1189  ****************************************************************************************
1190  */
1191 uint16_t ble_gap_phy_update(uint8_t conn_idx, uint8_t tx_phys, uint8_t rx_phys, uint8_t phy_opt);
1192 
1193 /**
1194  ****************************************************************************************
1195  * @brief Get the information of the connection.
1196  *
1197  * @param[in] conn_idx: The index of connection.
1198  * @param[in] opcode: The operation code. See @ref ble_gap_get_conn_info_op_t.
1199  *
1200  * @retval ::SDK_SUCCESS: Operation is Success.
1201  * @retval ::SDK_ERR_INVALID_PARAM: Invalid parameter supplied.
1202  * @retval ::SDK_ERR_INVALID_CONN_IDX: Invalid connection index supplied.
1203  * @retval ::SDK_ERR_NO_RESOURCES: Not enough resources.
1204  ****************************************************************************************
1205  */
1206 uint16_t ble_gap_conn_info_get(uint8_t conn_idx, ble_gap_get_conn_info_op_t opcode);
1207 
1208 /**
1209  ****************************************************************************************
1210  * @brief Get the information of the peer device.
1211  *
1212  * @param[in] conn_idx: The index of connection.
1213  * @param[in] opcode: The operation code. See @ref ble_gap_get_peer_info_op_t.
1214  *
1215  * @retval ::SDK_SUCCESS: Operation is Success.
1216  * @retval ::SDK_ERR_INVALID_PARAM: Invalid parameter supplied.
1217  * @retval ::SDK_ERR_INVALID_CONN_IDX: Invalid connection index supplied.
1218  * @retval ::SDK_ERR_NO_RESOURCES: Not enough resources.
1219  ****************************************************************************************
1220  */
1221 uint16_t ble_gap_peer_info_get(uint8_t conn_idx, ble_gap_get_peer_info_op_t opcode);
1222 
1223 /**
1224  ****************************************************************************************
1225  * @brief Get BD address of the bonded device.
1226  *
1227  * @param[in] conn_idx: The index of connection.
1228  * @param[in] p_peer_addr: Pointer to the peer BD addrss
1229  *
1230  * @retval ::SDK_SUCCESS: Operation is Success.
1231  * @retval ::SDK_ERR_INVALID_CONN_IDX: Invalid connection index supplied.
1232  * @retval ::SDK_ERR_POINTER_NULL: Invalid pointer supplied.
1233  ****************************************************************************************
1234  */
1235 uint16_t ble_gap_bond_dev_addr_get(uint8_t conn_idx, ble_gap_bdaddr_t *p_peer_addr);
1236 
1237 /**
1238  ****************************************************************************************
1239  * @brief Set the parameters used for periodic sync transfer.
1240  *
1241  * @param[in] conn_idx: The index of connection.
1242  * @param[in] per_sync_idx: Periodic synchronization index (range is 0 to 4).
1243  * @param[in] p_per_sync_trans_param: Periodic synchronization transfer parameters.
1244  *
1245  * @retval ::SDK_SUCCESS: Operation is successful.
1246  * @retval ::SDK_ERR_POINTER_NULL: Invalid pointer supplied.
1247  * @retval ::SDK_ERR_DISALLOWED: Operation is disallowed.
1248  * @retval ::SDK_ERR_NO_RESOURCES: Not enough resources.
1249  ****************************************************************************************
1250  */
1251 uint16_t ble_gap_per_sync_trans_param_set(uint8_t conn_idx, uint8_t per_sync_idx, ble_gap_per_sync_trans_param_t* p_per_sync_trans_param);
1252 
1253 /**
1254  ****************************************************************************************
1255  * @brief Send synchronization information about the periodic advertising in an advertising set to a connected device.
1256  *
1257  * @note Need to get the feature of peer device before invoke this function.
1258  *
1259  * @param[in] conn_idx: The index of connection.
1260  * @param[in] per_adv_idx: The index of per adv.
1261  * @param[in] service_data: Identify the periodic advertisement to the peer device.
1262  *
1263  * @retval ::SDK_SUCCESS: Operation is Success.
1264  * @retval ::SDK_ERR_INVALID_CONN_IDX: Invalid connection index supplied.
1265  * @retval ::SDK_ERR_NO_RESOURCES: Not enough resources.
1266  ****************************************************************************************
1267  */
1268 uint16_t ble_gap_per_adv_set_info_trans(uint8_t conn_idx, uint8_t per_adv_idx, uint16_t service_data);
1269 
1270 /**
1271  ****************************************************************************************
1272  * @brief Send synchronization information about the periodic advertising identified by the sync_hdl parameter to a connected device.
1273  *
1274  * @param[in] conn_idx: The index of connection.
1275  * @param[in] per_sync_idx: The index of the periodic syncronization instance.
1276  * @param[in] service_data: Identify the periodic advertisement to the peer device.
1277  *
1278  * @retval ::SDK_SUCCESS: Operation is Success.
1279  * @retval ::SDK_ERR_INVALID_PARAM: Invalid parameter supplied.
1280  * @retval ::SDK_ERR_INVALID_CONN_IDX: Invalid connection index supplied.
1281  * @retval ::SDK_ERR_NO_RESOURCES: Not enough resources.
1282  ****************************************************************************************
1283  */
1284 uint16_t ble_gap_per_adv_sync_trans(uint8_t conn_idx, uint8_t per_sync_idx, uint16_t service_data);
1285 
1286 /**
1287  ****************************************************************************************
1288  * @brief Set connection CTE transmit parameters.
1289  *
1290  * @param[in] conn_idx: The index of connection.
1291  * @param[in] param: Set connection CTE transmit parameters info, see @ref ble_gap_set_conn_cte_trans_param_t.
1292  *
1293  * @retval ::SDK_SUCCESS: Operation is Success.
1294  * @retval ::SDK_ERR_INVALID_PARAM: Invalid parameter supplied.
1295  * @retval ::SDK_ERR_INVALID_CONN_IDX: Invalid connection index supplied.
1296  ****************************************************************************************
1297  */
1299 
1300 /**
1301  ****************************************************************************************
1302  * @brief Set connection CTE receive parameters.
1303  *
1304  * @param[in] conn_idx: The index of connection.
1305  * @param[in] param: Set connection CTE receive parameters info, see @ref ble_gap_set_conn_cte_rcv_param_t.
1306 
1307  * @retval ::SDK_SUCCESS: Operation is Success.
1308  * @retval ::SDK_ERR_INVALID_PARAM: Invalid parameter supplied.
1309  * @retval ::SDK_ERR_INVALID_CONN_IDX: Invalid connection index supplied.
1310  ****************************************************************************************
1311  */
1313 
1314 /**
1315  ****************************************************************************************
1316  * @brief Set connection CTE request enable.
1317  *
1318  * @param[in] conn_idx: The index of connection.
1319  * @param[in] enable_flag: Wheter to request the cte for the connection. If enable_flag is set to false, the param shall be NULL.
1320  * @param[in] param: Set connection CTE request enable info, see @ref ble_gap_set_conn_cte_req_enable_t.
1321 
1322  * @retval ::SDK_SUCCESS: Operation is Success.
1323  * @retval ::SDK_ERR_INVALID_PARAM: Invalid parameter supplied.
1324  * @retval ::SDK_ERR_INVALID_CONN_IDX: Invalid connection index supplied.
1325  ****************************************************************************************
1326  */
1327 uint16_t ble_gap_conn_cte_req_enable_set(uint8_t conn_idx, bool enable_flag, ble_gap_set_conn_cte_req_enable_t *param);
1328 
1329 /**
1330  ****************************************************************************************
1331  * @brief Set connection CTE response enable.
1332  *
1333  * @param[in] conn_idx: The index of connection.
1334  * @param[in] enable_flag: Wheter to response the cte req for the connection.
1335 
1336  * @retval ::SDK_SUCCESS: Operation is Success.
1337  * @retval ::SDK_ERR_INVALID_CONN_IDX: Invalid connection index supplied.
1338  ****************************************************************************************
1339  */
1340 uint16_t ble_gap_conn_cte_rsp_enable_set(uint8_t conn_idx, bool enable_flag);
1341 
1342 /**
1343  ****************************************************************************************
1344  * @brief Read the local current and maximum transmit power levels for the connection identified by the conn_idx.
1345  * @note This API is asynchronous.
1346  * @note Once the local transmit power level has been available, the event @ref BLE_GAPC_EVT_LOCAL_TX_POWER_READ will be called.
1347  *
1348  * @param[in] conn_idx: The index of connection.
1349  * @param[in] phy: Read the transmit power levels on which phy, see @ref ble_gap_phy_type_t.
1350 
1351  * @retval ::SDK_SUCCESS: Operation is Success.
1352  * @retval ::SDK_ERR_INVALID_CONN_IDX: Invalid connection index supplied.
1353  ****************************************************************************************
1354  */
1355 uint16_t ble_gap_local_tx_pwr_level_read(uint8_t conn_idx, ble_gap_phy_type_t phy);
1356 
1357 /**
1358  ****************************************************************************************
1359  * @brief Read the remote transmit power levels for the connection identified by the conn_idx.
1360  * @note This API is asynchronous.
1361  * @note Once the remote transmit power level has been available, the event @ref BLE_GAPC_EVT_REMOTE_TX_POWER_READ will be called.
1362  *
1363  * @param[in] conn_idx: The index of connection.
1364  * @param[in] phy: Read the transmit power levels on which phy, see @ref ble_gap_phy_type_t.
1365 
1366  * @retval ::SDK_SUCCESS: Operation is Success.
1367  * @retval ::SDK_ERR_INVALID_CONN_IDX: Invalid connection index supplied.
1368  ****************************************************************************************
1369  */
1371 
1372 /**
1373  ****************************************************************************************
1374  * @brief Set the path loss threshold reporting parameters for the connection identified by the conn_idx.
1375  *
1376  * @param[in] conn_idx: The index of connection.
1377  * @param[in] param: Set path loss report parameter, see @ref ble_gap_set_path_loss_report_param_t.
1378 
1379  * @retval ::SDK_SUCCESS: Operation is Success.
1380  * @retval ::SDK_ERR_INVALID_PARAM: Invalid parameter supplied.
1381  * @retval ::SDK_ERR_INVALID_CONN_IDX: Invalid connection index supplied.
1382  ****************************************************************************************
1383  */
1385 
1386 /**
1387  ****************************************************************************************
1388  * @brief Enable or disable path loss reporting for the connection identified by the conn_idx.
1389  * @note This API is asynchronous.
1390  * @note Once a path loss threshold crossing, the event @ref BLE_GAPC_EVT_PATH_LOSS_THRESHOLD_REPORT will be called.
1391  *
1392  * @param[in] conn_idx: The index of connection.
1393  * @param[in] enable_flag: The enable flag for reporting path loss.
1394 
1395  * @retval ::SDK_SUCCESS: Operation is Success.
1396  * @retval ::SDK_ERR_INVALID_CONN_IDX: Invalid connection index supplied.
1397  ****************************************************************************************
1398  */
1399 uint16_t ble_gap_path_loss_report_enable_set(uint8_t conn_idx, bool enable_flag);
1400 
1401 /**
1402  ****************************************************************************************
1403  * @brief Enable or disable the reporting of transmit power level changes in the local and remote for the connection identified by the conn_idx.
1404  * @note This API is asynchronous.
1405  * @note Once the transmit power changes, the event @ref BLE_GAPC_EVT_TX_POWER_CHANGE_REPORT will be called.
1406  *
1407  * @param[in] conn_idx: The index of connection.
1408  * @param[in] local_enable_flag: The enable flag for reporting transmit power level changes in the local.
1409  * @param[in] remote_enable_flag: The enable flag for reporting transmit power level changes in the remote.
1410 
1411  * @retval ::SDK_SUCCESS: Operation is Success.
1412  * @retval ::SDK_ERR_INVALID_CONN_IDX: Invalid connection index supplied.
1413  ****************************************************************************************
1414  */
1415 uint16_t ble_gap_tx_pwr_change_report_enable_set(uint8_t conn_idx, bool local_enable_flag, bool remote_enable_flag);
1416 
1417 /**
1418  ****************************************************************************************
1419  * @brief start ranging procedure.
1420  *
1421  * @param[in] con_idx: The index of connection.
1422  * @param[in] param: Ranging parameter, see @ref ble_gap_ranging_param_t.
1423 
1424  * @retval ::SDK_SUCCESS: Operation is Success.
1425  * @retval ::SDK_ERR_INVALID_CONN_IDX: Invalid connection index supplied.
1426  ****************************************************************************************
1427  */
1428 int ble_gap_ranging_start(uint8_t con_idx, ble_gap_ranging_param_t *param);
1429 
1430 /**
1431  ****************************************************************************************
1432  * @brief Register ranging indication event callback.
1433  *
1434  * @param[in] cb: The callback function.
1435  * @retval :: void.
1436  ****************************************************************************************
1437  */
1438 void ble_gap_register_ranging_ind_cb(void (*cb)(uint8_t con_idx, const ble_gap_ranging_ind_t *ind));
1439 
1440 /**
1441  ****************************************************************************************
1442  * @brief Register ranging sample report event callback.
1443  *
1444  * @param[in] cb: The callback function.
1445  * @retval :: void.
1446  ****************************************************************************************
1447  */
1449 
1450 /**
1451  ****************************************************************************************
1452  * @brief Register ranging complete event callback.
1453  *
1454  * @param[in] cb: The callback function.
1455  * @retval :: void.
1456  ****************************************************************************************
1457  */
1458 void ble_gap_register_ranging_cmp_ind_cb(void (*cb)(uint8_t con_idx, const ble_gap_ranging_cmp_ind_t *ind));
1459 
1460 /**
1461  ****************************************************************************************
1462  * @brief Set Subrate feature.
1463  * @note shall set Subrate feature before subrate request.
1464  *
1465  * @param[in] supp_flag: support flag.
1466  *
1467  * @retval ::SDK_SUCCESS: Operation is Success.
1468  ****************************************************************************************
1469  */
1470 uint16_t ble_subrate_set_host_feature(bool supp_flag);
1471 
1472 /**
1473  ****************************************************************************************
1474  * @brief Set Default Subrate command.
1475  * @note This API is asynchronous.
1476  * @note Once Default Subrate command set completed, the event @ref BLE_GAPC_EVT_DFT_SUBRATE_SET will be called.
1477  *
1478  * @param[in] p_subrate_param: Default subrate param, see @ref ble_gap_dft_subrate_param_t.
1479  * @retval ::SDK_SUCCESS: Operation is Success.
1480  * @retval ::SDK_ERR_POINTER_NULL: Invalid pointer supplied.
1481  * @retval ::SDK_ERR_INVALID_PARAM: Invalid parameter supplied.
1482  * @retval ::SDK_ERR_NO_RESOURCES: Not enough resources.
1483  ****************************************************************************************
1484  */
1486 
1487 /**
1488  ****************************************************************************************
1489  * @brief Subrate Request command.
1490  * @note This API is asynchronous.
1491  * @note Once Subrate Request completed, the event @ref BLE_GAPC_EVT_SUBRATE_CHANGE_IND will be called.
1492  *
1493  * @param[in] conn_idx: The index of conncetion.
1494  * @param[in] p_subrate_req: Subrate request param, see @ref ble_gap_subrate_req_t.
1495  *
1496  * @retval ::SDK_SUCCESS: Operation is Success.
1497  * @retval ::SDK_ERR_INVALID_CONN_IDX: Invalid connection index supplied.
1498  * @retval ::SDK_ERR_POINTER_NULL: Invalid pointer supplied.
1499  * @retval ::SDK_ERR_INVALID_PARAM: Invalid parameter supplied.
1500  * @retval ::SDK_ERR_NO_RESOURCES: Not enough resources.
1501  ****************************************************************************************
1502  */
1503 uint16_t ble_gap_subrate_request(uint8_t conn_idx, const ble_gap_subrate_req_t *p_subrate_req);
1504 
1505 /**
1506  ****************************************************************************************
1507  * @brief Get BD address of the local device by the conidx.
1508  *
1509  * @param[in] conidx: The index of conncetion.
1510  * @param[in] p_addr: Pointer to the local BD addrss
1511  ****************************************************************************************
1512  */
1513 void ble_gap_get_local_addr_by_conidx(uint8_t conidx, uint8_t *p_addr);
1514 
1515 
1516 /** @} */
1517 #endif
1518 /** @} */
1519 /** @} */
1520 /** @} */
ble_gap_peer_name_ind_t::name_len
uint8_t name_len
Definition: ble_gapc.h:461
BLE_GAP_PWR_REMOTE_TX_CHG
@ BLE_GAP_PWR_REMOTE_TX_CHG
Definition: ble_gapc.h:271
ble_gap_evt_conn_iq_report_t::rssi
int16_t rssi
Definition: ble_gapc.h:923
BLE_GAP_STOPPED_REASON_TIMEOUT
@ BLE_GAP_STOPPED_REASON_TIMEOUT
Definition: ble_gapc.h:162
ble_gap_sync_established_ind_t::sync_hdl
uint16_t sync_hdl
Definition: ble_gapc.h:432
ble_gap_path_loss_threshold_report_t::zone_entered
uint8_t zone_entered
Definition: ble_gapc.h:753
ble_gap_antenna_inf_t::max_switching_pattern_len
uint8_t max_switching_pattern_len
Definition: ble_gapc.h:391
BLE_GAP_LL_ROLE_SLAVE
@ BLE_GAP_LL_ROLE_SLAVE
Definition: ble_gapc.h:171
ble_gap_connless_iq_report_t::slot_dur
uint8_t slot_dur
Definition: ble_gapc.h:676
ble_gap_le_pkt_size_ind_t::max_rx_time
uint16_t max_rx_time
Definition: ble_gapc.h:614
ble_gap_per_sync_trans_param_t::cte_type
uint8_t cte_type
Definition: ble_gapc.h:664
ble_gap_get_bd_addr_t::index
uint8_t index
Definition: ble_gapc.h:328
ble_gap_addr_type_t
ble_gap_addr_type_t
The identity address type.
Definition: ble_gapc.h:95
ble_gap_dft_subrate_param_t
Default Subrate command param.
Definition: ble_gapc.h:807
ble_gap_le_pkt_size_ind_t::max_tx_octets
uint16_t max_tx_octets
Definition: ble_gapc.h:611
ble_gap_dev_adv_tx_power_t
TX power info struct.
Definition: ble_gapc.h:334
ble_gap_conn_iq_report_t::cte_type
uint8_t cte_type
Definition: ble_gapc.h:719
ble_gap_ext_adv_report_ind_t::adv_sid
uint8_t adv_sid
Definition: ble_gapc.h:449
ble_gap_pwr_lvl_flag_t
ble_gap_pwr_lvl_flag_t
Transmit Power level flag.
Definition: ble_gapc.h:278
ble_gap_evt_path_loss_threshold_report_t
Path loss threshold reporting info event for BLE_GAPC_EVT_PATH_LOSS_THRESHOLD_REPORT.
Definition: ble_gapc.h:979
ble_gap_latency_get
uint16_t ble_gap_latency_get(uint8_t conn_idx, uint16_t *latency)
Get connection's Latency.
BLE_GAP_PATH_LOSS_HIGH
@ BLE_GAP_PATH_LOSS_HIGH
Definition: ble_gapc.h:289
ble_gapc_set_dev_info_t::appearance
uint16_t appearance
Definition: ble_gapc.h:644
ble_gap_path_loss_report_enable_set
uint16_t ble_gap_path_loss_report_enable_set(uint8_t conn_idx, bool enable_flag)
Enable or disable path loss reporting for the connection identified by the conn_idx.
ble_gap_evt_subrate_chg_ind_t::continuation_number
uint16_t continuation_number
Definition: ble_gapc.h:1008
ble_gap_dev_rf_path_comp_ind_t
RF path compensation values info.
Definition: ble_gapc.h:381
ble_gap_get_bd_addr_t
Get broadcast address struct.
Definition: ble_gapc.h:327
ble_gapc_set_dev_info_t
Device information data struct.
Definition: ble_gapc.h:642
BLE_GAP_OPCODE_LOCAL_RSLV_ADDR_READ
@ BLE_GAP_OPCODE_LOCAL_RSLV_ADDR_READ
Definition: ble_gapc.h:204
ble_gap_evt_peer_info_t::peer_info
ble_gap_peer_info_t peer_info
Definition: ble_gapc.h:873
ble_gap_sync_established_ind_t
Sync established indication.
Definition: ble_gapc.h:426
BLE_GAP_REPORT_INFO_DIR_ADV_BIT
@ BLE_GAP_REPORT_INFO_DIR_ADV_BIT
Definition: ble_gapc.h:156
ble_gap_subrate_chg_ind_t::con_latency
uint16_t con_latency
Definition: ble_gapc.h:829
ble_gap_ranging_param_t
ranging parameter.
Definition: ble_gapc.h:774
ble_gap_peer_features_ind_t
LE features info.
Definition: ble_gapc.h:554
ble_gap_evt_local_tx_pwr_read_ind_t::max_tx_pwr_lvl
int8_t max_tx_pwr_lvl
Definition: ble_gapc.h:956
BLE_GAP_MAX_IQ_SAMPLE_NUM
#define BLE_GAP_MAX_IQ_SAMPLE_NUM
Definition: ble_gapc.h:82
BLE_GAP_ADDR_TYPE_PUBLIC
@ BLE_GAP_ADDR_TYPE_PUBLIC
Definition: ble_gapc.h:96
BLE_GAP_OPCODE_PEER_RSLV_ADDR_READ
@ BLE_GAP_OPCODE_PEER_RSLV_ADDR_READ
Definition: ble_gapc.h:205
ble_gap_evt_connected_t
Connection complete event for BLE_GAPC_EVT_CONNECTED.
Definition: ble_gapc.h:843
ble_gap_peer_info_t::peer_features
ble_gap_peer_features_ind_t peer_features
Definition: ble_gapc.h:598
BLE_GAP_STOPPED_REASON_CONN_EST
@ BLE_GAP_STOPPED_REASON_CONN_EST
Definition: ble_gapc.h:164
ble_gap_evt_peer_name_get_t::peer_addr
ble_gap_addr_t peer_addr
Definition: ble_gapc.h:863
BLE_GAP_REPORT_INFO_CONN_ADV_BIT
@ BLE_GAP_REPORT_INFO_CONN_ADV_BIT
Definition: ble_gapc.h:154
ble_gap_conn_iq_report_t::con_evt_cnt
uint16_t con_evt_cnt
Definition: ble_gapc.h:722
ble_gap_stopped_reason_t
ble_gap_stopped_reason_t
Stop reason code.
Definition: ble_gapc.h:161
ble_gap_connless_iq_report_t::nb_samples
uint8_t nb_samples
Definition: ble_gapc.h:679
ble_gap_peer_name_ind_t::addr_type
uint8_t addr_type
Definition: ble_gapc.h:460
BLE_GAP_PHY_1M
@ BLE_GAP_PHY_1M
Definition: ble_gapc.h:259
ble_gap_evt_dev_info_set_t::info
ble_gapc_set_dev_info_t info
Definition: ble_gapc.h:915
ble_gapc_evt_t::phy_update
ble_gap_evt_phy_update_t phy_update
Definition: ble_gapc.h:1018
gap_conn_cmp_t::conhdl
uint16_t conhdl
Definition: ble_gapc.h:501
ble_gap_evt_ranging_sample_report_ind_t
Ranging sample report event for BLE_GAPC_EVT_RANGING_SAMPLE_REPORT.
Definition: ble_gapc.h:992
gap_conn_cmp_t::ll_role
ble_gap_ll_role_type_t ll_role
Definition: ble_gapc.h:509
ble_gapc_evt_t::disconnected
ble_gap_evt_disconnected_t disconnected
Definition: ble_gapc.h:1020
ble_gap_dev_rf_path_comp_ind_t::tx_path_comp
uint16_t tx_path_comp
Definition: ble_gapc.h:382
ble_gap_ext_adv_report_ind_t::per_sync_idx
uint8_t per_sync_idx
Definition: ble_gapc.h:451
ble_gap_max_adv_data_len_ind_t::length
uint16_t length
Definition: ble_gapc.h:376
ble_gap_subrate_chg_ind_t::subrate_factor
uint16_t subrate_factor
Definition: ble_gapc.h:828
ble_gap_subrate_req_t::subrate_max
uint16_t subrate_max
Definition: ble_gapc.h:819
ble_gap_conn_iq_report_t::rssi_antenna_id
uint8_t rssi_antenna_id
Definition: ble_gapc.h:718
ble_gap_ranging_sample_report_ind_t::iq_sample_addr
int32_t iq_sample_addr
sample address
Definition: ble_gapc.h:795
ble_gap_ext_adv_report_ind_t::phy_second
uint8_t phy_second
Definition: ble_gapc.h:448
ble_gap_conn_update_param_t::interval_max
uint16_t interval_max
Definition: ble_gapc.h:490
ble_gap_dev_info_t::dev_antenna_inf
ble_gap_antenna_inf_t dev_antenna_inf
Definition: ble_gapc.h:407
ble_gap_addr_t
The struct of address.
Definition: ble_gapc.h:314
ble_gap_dev_name_ind_t
GAP Device name struct.
Definition: ble_gapc.h:635
ble_gap_peer_version_ind_t
Peer version info.
Definition: ble_gapc.h:545
BLE_GAP_LL_ROLE_MASTER
@ BLE_GAP_LL_ROLE_MASTER
Definition: ble_gapc.h:170
ble_gap_tx_pwr_change_report_t::phy
uint8_t phy
Definition: ble_gapc.h:743
ble_gap_conn_param_t::slave_latency
uint16_t slave_latency
Definition: ble_gapc.h:480
ble_gap_phy_bit_t
ble_gap_phy_bit_t
Bit field use to select the preferred TX or RX LE PHY.
Definition: ble_gapc.h:104
ble_gap_conn_info_t::rssi
int8_t rssi
Definition: ble_gapc.h:529
ble_gap_dev_info_t::dev_rf_path_comp
ble_gap_dev_rf_path_comp_ind_t dev_rf_path_comp
Definition: ble_gapc.h:406
ble_gap_peer_version_ind_t::lmp_vers
uint8_t lmp_vers
Definition: ble_gapc.h:548
ble_gap_conn_iq_report_t::slot_dur
uint8_t slot_dur
Definition: ble_gapc.h:720
ble_gap_max_data_len_t::suppted_max_rx_time
uint16_t suppted_max_rx_time
Definition: ble_gapc.h:354
ble_gap_conn_param_t::sup_timeout
uint16_t sup_timeout
Definition: ble_gapc.h:481
ble_gap_evt_connected_t::sup_timeout
uint16_t sup_timeout
Definition: ble_gapc.h:847
ble_gap_per_sync_trans_param_t
Default periodic advertising synchronization transfer parameters.
Definition: ble_gapc.h:659
ble_gap_evt_disconnected_t
Disconnection event for BLE_GAPC_EVT_DISCONNECTED.
Definition: ble_gapc.h:856
ble_gap_con_plan_tag_t
The Structure for BLE Connection Arrangement.
Definition: ble_gapc.h:619
ble_gap_ext_adv_report_ind_t::adv_type
uint8_t adv_type
Definition: ble_gapc.h:441
ble_gap_set_path_loss_report_param_t::high_thr
uint8_t high_thr
Definition: ble_gapc.h:732
ble_gapc_evt_t::peer_info
ble_gap_evt_peer_info_t peer_info
Definition: ble_gapc.h:1022
BLE_GAP_PHY_CODED_S8
@ BLE_GAP_PHY_CODED_S8
Definition: ble_gapc.h:261
ble_gap_evt_connless_iq_report_t::slot_dur
uint8_t slot_dur
Definition: ble_gapc.h:942
ble_gapc_evt_t::conn_iq_report
ble_gap_evt_conn_iq_report_t conn_iq_report
Definition: ble_gapc.h:1028
ble_gap_evt_peer_info_t
Get peer info event for BLE_GAPC_EVT_PEER_INFO_GOT.
Definition: ble_gapc.h:871
ble_gap_set_conn_cte_req_enable_t::cte_req_type
uint8_t cte_req_type
Definition: ble_gapc.h:709
ble_gap_evt_data_length_t::max_rx_time
uint16_t max_rx_time
Definition: ble_gapc.h:908
BLE_GAP_OPCODE_LEPSM_REGISTER
@ BLE_GAP_OPCODE_LEPSM_REGISTER
Definition: ble_gapc.h:213
ble_gap_bdaddr_t
The struct of broadcast address with broadcast type.
Definition: ble_gapc.h:320
ble_gap_evt_dev_info_set_t::info_type
ble_gap_dev_info_type_t info_type
Definition: ble_gapc.h:914
ble_gap_phy_type_t
ble_gap_phy_type_t
Phy for power control management.
Definition: ble_gapc.h:258
ble_gap_dev_info_t
Device info.
Definition: ble_gapc.h:397
ble_gapc_evt_t::ranging_cmp_ind
ble_gap_evt_ranging_cmp_ind_t ranging_cmp_ind
Definition: ble_gapc.h:1036
ble_gap_peer_info_t
LE peer info.
Definition: ble_gapc.h:596
ble_gap_remote_tx_pwr_read_ind_t
Remote transmit power read indication info.
Definition: ble_gapc.h:766
ble_gap_per_adv_sync_trans
uint16_t ble_gap_per_adv_sync_trans(uint8_t conn_idx, uint8_t per_sync_idx, uint16_t service_data)
Send synchronization information about the periodic advertising identified by the sync_hdl parameter ...
ble_gap_subrate_req_t::subrate_min
uint16_t subrate_min
Definition: ble_gapc.h:818
ble_gap_dev_version_ind_t::hci_subver
uint16_t hci_subver
Definition: ble_gapc.h:306
ble_gap_evt_local_tx_pwr_read_ind_t
Local transmit power read indication info event for BLE_GAPC_EVT_LOCAL_TX_POWER_READ.
Definition: ble_gapc.h:953
ble_gap_le_phy_ind_t::rx_phy
uint8_t rx_phy
Definition: ble_gapc.h:523
ble_gap_sync_established_ind_t::serv_data
uint16_t serv_data
Definition: ble_gapc.h:433
BLE_GAP_PWR_MID_LVL
@ BLE_GAP_PWR_MID_LVL
Definition: ble_gapc.h:279
ble_gapc_evt_t::path_loss_threshold_reoprt
ble_gap_evt_path_loss_threshold_report_t path_loss_threshold_reoprt
Definition: ble_gapc.h:1033
ble_gap_evt_phy_update_t
PHY update event for BLE_GAPC_EVT_PHY_UPDATED.
Definition: ble_gapc.h:836
ble_gap_dev_rf_path_comp_ind_t::rx_path_comp
uint16_t rx_path_comp
Definition: ble_gapc.h:383
ble_gap_dev_version_ind_t::hci_ver
uint8_t hci_ver
Definition: ble_gapc.h:303
ble_gap_evt_tx_pwr_change_report_t::delta
int8_t delta
Definition: ble_gapc.h:974
ble_gap_conn_update_param_t::interval_min
uint16_t interval_min
Definition: ble_gapc.h:488
BLE_GAP_CTE_TYPE_AOD_1US
@ BLE_GAP_CTE_TYPE_AOD_1US
Definition: ble_gapc.h:230
ble_subrate_set_host_feature
uint16_t ble_subrate_set_host_feature(bool supp_flag)
Set Subrate feature.
ble_gap_evt_conn_iq_report_t::nb_samples
uint8_t nb_samples
Definition: ble_gapc.h:929
BLE_GAP_CTE_TYPE_AOA
@ BLE_GAP_CTE_TYPE_AOA
Definition: ble_gapc.h:229
ble_gap_evt_tx_pwr_change_report_t::reason
uint8_t reason
Definition: ble_gapc.h:970
ble_gap_subrate_request
uint16_t ble_gap_subrate_request(uint8_t conn_idx, const ble_gap_subrate_req_t *p_subrate_req)
Subrate Request command.
ble_gap_subrate_req_t::superv_timeout
uint16_t superv_timeout
Definition: ble_gapc.h:822
ble_gap_nb_adv_sets_t
Number of available advertising sets info.
Definition: ble_gapc.h:369
ble_gap_tx_pwr_change_report_reason_t
ble_gap_tx_pwr_change_report_reason_t
Transmit power change reporting reason.
Definition: ble_gapc.h:269
ble_gap_dft_subrate_param_t::max_latency
uint16_t max_latency
Definition: ble_gapc.h:810
ble_gap_dft_subrate_param_t::continuation_num
uint16_t continuation_num
Definition: ble_gapc.h:811
ble_gap_set_conn_cte_trans_param_t::antenna_id
uint8_t * antenna_id
Definition: ble_gapc.h:690
ble_gap_ext_adv_report_ind_t::length
uint16_t length
Definition: ble_gapc.h:452
ble_gap_remote_tx_pwr_level_read
uint16_t ble_gap_remote_tx_pwr_level_read(uint8_t conn_idx, ble_gap_phy_type_t phy)
Read the remote transmit power levels for the connection identified by the conn_idx.
ble_gap_evt_peer_name_get_t
Name of peer device indication event for BLE_GAPC_EVT_PEER_NAME_GOT.
Definition: ble_gapc.h:862
ble_gap_connless_iq_report_t::channel_idx
uint8_t channel_idx
Definition: ble_gapc.h:672
gap_conn_cmp_t::peer_addr
ble_gap_addr_t peer_addr
Definition: ble_gapc.h:508
ble_gap_peer_version_ind_t::lmp_subvers
uint16_t lmp_subvers
Definition: ble_gapc.h:547
ble_gap_per_sync_trans_param_t::mode
uint8_t mode
Definition: ble_gapc.h:660
BLE_GAP_SLOT_1US
@ BLE_GAP_SLOT_1US
Definition: ble_gapc.h:239
ble_gap_evt_ranging_cmp_ind_t
Ranging complete indication event for BLE_GAPC_EVT_RANGING_CMP_IND.
Definition: ble_gapc.h:999
ble_gap_con_plan_tag_t::interval
uint32_t interval
Definition: ble_gapc.h:621
BLE_GAP_STOPPED_REASON_ON_USER
@ BLE_GAP_STOPPED_REASON_ON_USER
Definition: ble_gapc.h:163
ble_gap_evt_connless_iq_report_t::pkt_status
uint8_t pkt_status
Definition: ble_gapc.h:943
ble_gap_register_ranging_sample_report_cb
void ble_gap_register_ranging_sample_report_cb(void(*cb)(uint8_t con_idx, const ble_gap_ranging_sample_report_ind_t *ind))
Register ranging sample report event callback.
ble_gap_conn_update_cmp_t::sup_timeout
uint16_t sup_timeout
Definition: ble_gapc.h:470
ble_gap_evt_local_tx_pwr_read_ind_t::curr_tx_pwr_lvl
int8_t curr_tx_pwr_lvl
Definition: ble_gapc.h:955
BLE_GAP_PATH_LOSS_LOW
@ BLE_GAP_PATH_LOSS_LOW
Definition: ble_gapc.h:287
ble_gap_evt_connless_iq_report_t::rssi_antenna_id
uint8_t rssi_antenna_id
Definition: ble_gapc.h:940
ble_gap_adv_report_info_t
ble_gap_adv_report_info_t
Advertising report information.
Definition: ble_gapc.h:152
ble_gapc_evt_t::tx_pwr_change_report
ble_gap_evt_tx_pwr_change_report_t tx_pwr_change_report
Definition: ble_gapc.h:1032
ble_gap_dev_info_t::max_adv_data_len
ble_gap_max_adv_data_len_ind_t max_adv_data_len
Definition: ble_gapc.h:404
ble_gapc_evt_t::peer_name
ble_gap_evt_peer_name_get_t peer_name
Definition: ble_gapc.h:1021
ble_gap_conn_info_t::chnl_map
ble_gap_chnl_map_t chnl_map
Definition: ble_gapc.h:530
ble_gap_set_conn_cte_rcv_param_t::antenna_id
uint8_t * antenna_id
Definition: ble_gapc.h:699
ble_gap_antenna_inf_t::max_cte_len
uint8_t max_cte_len
Definition: ble_gapc.h:392
ble_gapc_evt_t::dev_info_ind
ble_gap_evt_dev_info_set_t dev_info_ind
Definition: ble_gapc.h:1027
ble_gap_conn_iq_report_t::rx_phy
uint8_t rx_phy
Definition: ble_gapc.h:715
ble_gap_le_pkt_size_ind_t
Supported data length size Indication.
Definition: ble_gapc.h:610
ble_gap_sugg_dflt_data_len_t::suggted_max_tx_octets
uint16_t suggted_max_tx_octets
Definition: ble_gapc.h:361
ble_gap_conn_info_get
uint16_t ble_gap_conn_info_get(uint8_t conn_idx, ble_gap_get_conn_info_op_t opcode)
Get the information of the connection.
ble_gap_ranging_ind_t::status
uint8_t status
Definition: ble_gapc.h:784
ble_gap_register_ranging_cmp_ind_cb
void ble_gap_register_ranging_cmp_ind_cb(void(*cb)(uint8_t con_idx, const ble_gap_ranging_cmp_ind_t *ind))
Register ranging complete event callback.
ble_gap_disconnect_with_reason
uint16_t ble_gap_disconnect_with_reason(uint8_t conn_idx, ble_gap_disconn_reason_t reason)
Terminate an existing connection with a specified reason.
gap_conn_cmp_t::clk_accuracy
uint8_t clk_accuracy
Definition: ble_gapc.h:505
BLE_GAP_GET_PEER_FEATURES
@ BLE_GAP_GET_PEER_FEATURES
Definition: ble_gapc.h:137
ble_gap_peer_info_get
uint16_t ble_gap_peer_info_get(uint8_t conn_idx, ble_gap_get_peer_info_op_t opcode)
Get the information of the peer device.
ble_gap_conn_update_cmp_t::latency
uint16_t latency
Definition: ble_gapc.h:469
ble_gap_set_conn_cte_trans_param_t::num_antenna
uint8_t num_antenna
Definition: ble_gapc.h:689
ble_gap_peer_info_param_t
Get peer info operation struct.
Definition: ble_gapc.h:603
ble_gap_latency_set
uint16_t ble_gap_latency_set(uint8_t conn_idx, uint16_t latency)
Set connection's Latency.
ble_gap_disconn_reason_t
ble_gap_disconn_reason_t
The specified reason for terminating a connection.
Definition: ble_gapc.h:189
ble_gap_con_plan_tag_t::duration
uint32_t duration
Definition: ble_gapc.h:623
ble_gap_path_loss_zone_t
ble_gap_path_loss_zone_t
Path Loss zones. HCI:7.8.118.
Definition: ble_gapc.h:286
ble_gap_subrate_req_t::max_latency
uint16_t max_latency
Definition: ble_gapc.h:820
ble_gapc_evt_t::conn_param_update_req
ble_gap_evt_conn_param_update_req_t conn_param_update_req
Definition: ble_gapc.h:1024
ble_gap_set_pref_slave_evt_dur_param_t
Set preference slave event duration.
Definition: ble_gapc.h:628
ble_gap_con_plan_tag_t::conn_idx
uint16_t conn_idx
Definition: ble_gapc.h:620
ble_gap_evt_connected_t::peer_addr_type
uint8_t peer_addr_type
Definition: ble_gapc.h:849
gr55xx_sys_cfg.h
Define the chip configuration.
BLE_GAP_PATH_LOSS_MID
@ BLE_GAP_PATH_LOSS_MID
Definition: ble_gapc.h:288
ble_gap_conn_iq_report_t::nb_samples
uint8_t nb_samples
Definition: ble_gapc.h:723
ble_gap_evt_path_loss_threshold_report_t::curr_path_loss
uint8_t curr_path_loss
Definition: ble_gapc.h:980
gap_conn_cmp_t::peer_addr_type
uint8_t peer_addr_type
Definition: ble_gapc.h:507
ble_gap_dev_tx_power_t::max_tx_pwr
int8_t max_tx_pwr
Definition: ble_gapc.h:342
ble_gapc_evt_t::conn_param_updated
ble_gap_evt_conn_param_updated_t conn_param_updated
Definition: ble_gapc.h:1023
BLE_GAP_CRC_OK
@ BLE_GAP_CRC_OK
Definition: ble_gapc.h:248
BLE_GAP_GET_PEER_VERSION
@ BLE_GAP_GET_PEER_VERSION
Definition: ble_gapc.h:136
ble_gap_sync_established_ind_t::bd_addr
ble_gap_bdaddr_t bd_addr
Definition: ble_gapc.h:431
BLE_GAP_PHY_LE_CODED
@ BLE_GAP_PHY_LE_CODED
LE Coded PHY preferred for an active link.
Definition: ble_gapc.h:112
BLE_GAP_PHY_ANY
@ BLE_GAP_PHY_ANY
No preferred PHY.
Definition: ble_gapc.h:106
ble_gap_local_tx_pwr_level_read
uint16_t ble_gap_local_tx_pwr_level_read(uint8_t conn_idx, ble_gap_phy_type_t phy)
Read the local current and maximum transmit power levels for the connection identified by the conn_id...
ble_gap_conn_info_t
Connection info.
Definition: ble_gapc.h:528
BLE_GAP_CTE_TYPE_AOD_2US
@ BLE_GAP_CTE_TYPE_AOD_2US
Definition: ble_gapc.h:231
ble_gap_tx_pwr_change_report_t::tx_pwr
int8_t tx_pwr
Definition: ble_gapc.h:744
ble_gap_rslv_addr_read_t::op_code
uint8_t op_code
Definition: ble_gapc.h:420
ble_gap_rslv_addr_read_t
Read resolvable address info struct.
Definition: ble_gapc.h:419
ble_gap_evt_conn_param_updated_t::conn_interval
uint16_t conn_interval
Definition: ble_gapc.h:879
ble_gap_ranging_cmp_ind_t::status
uint8_t status
indicate ranging complete status
Definition: ble_gapc.h:802
ble_gap_phy_options_t
ble_gap_phy_options_t
The phy options.
Definition: ble_gapc.h:117
ble_gap_register_ranging_ind_cb
void ble_gap_register_ranging_ind_cb(void(*cb)(uint8_t con_idx, const ble_gap_ranging_ind_t *ind))
Register ranging indication event callback.
ble_gap_dev_version_ind_t::host_ver
uint8_t host_ver
Definition: ble_gapc.h:305
ble_gap_conn_cte_trans_param_set
uint16_t ble_gap_conn_cte_trans_param_set(uint8_t conn_idx, ble_gap_set_conn_cte_trans_param_t *param)
Set connection CTE transmit parameters.
ble_gap_dev_info_t::adv_tx_power
ble_gap_dev_adv_tx_power_t adv_tx_power
Definition: ble_gapc.h:400
ble_gap_conn_param_t::interval_min
uint16_t interval_min
Definition: ble_gapc.h:476
ble_gap_evt_conn_iq_report_t::cte_type
uint8_t cte_type
Definition: ble_gapc.h:925
ble_gap_evt_connless_iq_report_t::rssi
int16_t rssi
Definition: ble_gapc.h:939
ble_gap_evt_conn_info_t
Get Connection info event for BLE_GAPC_EVT_CONN_INFO_GOT.
Definition: ble_gapc.h:897
BLE_GAP_ADDR_TYPE_RANDOM_STATIC
@ BLE_GAP_ADDR_TYPE_RANDOM_STATIC
Definition: ble_gapc.h:97
ble_gap_ranging_start
int ble_gap_ranging_start(uint8_t con_idx, ble_gap_ranging_param_t *param)
start ranging procedure.
ble_gap_connless_iq_report_t::rssi
int16_t rssi
Definition: ble_gapc.h:673
ble_gap_connless_iq_report_t::rssi_antenna_id
uint8_t rssi_antenna_id
Definition: ble_gapc.h:674
ble_gap_max_data_len_t::suppted_max_tx_time
uint16_t suppted_max_tx_time
Definition: ble_gapc.h:350
ble_gap_conn_cte_req_enable_set
uint16_t ble_gap_conn_cte_req_enable_set(uint8_t conn_idx, bool enable_flag, ble_gap_set_conn_cte_req_enable_t *param)
Set connection CTE request enable.
gap_conn_cmp_t
Connection complete info.
Definition: ble_gapc.h:500
ble_gapc_evt_t::connected
ble_gap_evt_connected_t connected
Definition: ble_gapc.h:1019
ble_gap_evt_data_length_t::max_tx_octets
uint16_t max_tx_octets
Definition: ble_gapc.h:905
ble_gap_remote_tx_pwr_read_ind_t::flags
uint8_t flags
Definition: ble_gapc.h:769
BLE_GAP_OPCODE_CHNL_MAP_SET
@ BLE_GAP_OPCODE_CHNL_MAP_SET
Definition: ble_gapc.h:179
ble_gap_set_conn_cte_req_enable_t::cte_req_len
uint8_t cte_req_len
Definition: ble_gapc.h:708
ble_gap_phy_update
uint16_t ble_gap_phy_update(uint8_t conn_idx, uint8_t tx_phys, uint8_t rx_phys, uint8_t phy_opt)
Set the PHY preferences for the connection identified by the connection index.
ble_gap_evt_conn_param_updated_t
Connection parameter updated event for BLE_GAPC_EVT_CONN_PARAM_UPDATED.
Definition: ble_gapc.h:878
ble_gap_per_sync_trans_param_t::skip
uint16_t skip
Definition: ble_gapc.h:661
ble_gap_peer_name_ind_t
Name of peer device indication.
Definition: ble_gapc.h:458
ble_gap_evt_data_length_t::max_rx_octets
uint16_t max_rx_octets
Definition: ble_gapc.h:907
ble_gap_path_loss_threshold_report_t
Path loss threshold reporting info.
Definition: ble_gapc.h:751
ble_gap_evt_subrate_chg_ind_t::subrate_factor
uint16_t subrate_factor
Definition: ble_gapc.h:1006
ble_gap_set_path_loss_report_param_t::min_conn_evt_num
uint16_t min_conn_evt_num
Definition: ble_gapc.h:736
ble_gap_evt_ranging_ind_t::ranging_status
uint8_t ranging_status
Definition: ble_gapc.h:987
BLE_GAP_PHY_OPT_S2_CODING
@ BLE_GAP_PHY_OPT_S2_CODING
Definition: ble_gapc.h:119
ble_gap_ext_adv_report_ind_t
APP receives the extended advertising report indication info struct.
Definition: ble_gapc.h:440
ble_gap_evt_conn_param_update_req_t::interval_max
uint16_t interval_max
Definition: ble_gapc.h:889
ble_gap_evt_conn_iq_report_t::con_evt_cnt
uint16_t con_evt_cnt
Definition: ble_gapc.h:928
ble_gap_evt_conn_param_update_req_t::slave_latency
uint16_t slave_latency
Definition: ble_gapc.h:891
ble_gap_ranging_sample_report_ind_t::nb_sample
uint16_t nb_sample
sample number
Definition: ble_gapc.h:793
ble_gap_evt_conn_param_updated_t::slave_latency
uint16_t slave_latency
Definition: ble_gapc.h:880
ble_gap_evt_conn_iq_report_t::rssi_antenna_id
uint8_t rssi_antenna_id
Definition: ble_gapc.h:924
ble_gap_evt_connless_iq_report_t::channel_idx
uint8_t channel_idx
Definition: ble_gapc.h:938
ble_gap_switching_sampling_type_t
ble_gap_switching_sampling_type_t
Type of switching and sampling slots.
Definition: ble_gapc.h:238
BLE_GAP_SLOT_2US
@ BLE_GAP_SLOT_2US
Definition: ble_gapc.h:240
ble_gap_bdaddr_t::addr_type
uint8_t addr_type
Definition: ble_gapc.h:322
ble_gap_subrate_chg_ind_t::supervision_timeout
uint16_t supervision_timeout
Definition: ble_gapc.h:831
ble_gap_conn_param_t
The parameter of connection.
Definition: ble_gapc.h:475
ble_gap_ext_adv_report_ind_t::rssi
int8_t rssi
Definition: ble_gapc.h:446
ble_gap_evt_subrate_chg_ind_t::con_latency
uint16_t con_latency
Definition: ble_gapc.h:1007
ble_gap_sync_established_ind_t::phy
uint8_t phy
Definition: ble_gapc.h:427
ble_gap_set_conn_cte_rcv_param_t::num_antenna
uint8_t num_antenna
Definition: ble_gapc.h:698
BLE_GAP_OPCODE_PER_ADV_LIST_SET
@ BLE_GAP_OPCODE_PER_ADV_LIST_SET
Definition: ble_gapc.h:181
ble_gap_antenna_inf_t
antenna information.
Definition: ble_gapc.h:388
ble_error.h
File that contains error codes.
ble_gap_subrate_chg_ind_t::continuation_number
uint16_t continuation_number
Definition: ble_gapc.h:830
BLE_GAP_FEATS_LEN
#define BLE_GAP_FEATS_LEN
Definition: ble_gapc.h:69
ble_gap_evt_conn_iq_report_t::pkt_status
uint8_t pkt_status
Definition: ble_gapc.h:927
BLE_GAP_PHY_OPT_NO_CODING
@ BLE_GAP_PHY_OPT_NO_CODING
Definition: ble_gapc.h:118
BLE_GAP_CRC_ERR2
@ BLE_GAP_CRC_ERR2
Definition: ble_gapc.h:250
ble_gap_path_loss_threshold_report_t::curr_path_loss
uint8_t curr_path_loss
Definition: ble_gapc.h:752
ble_gap_evt_conn_iq_report_t::rx_phy
uint8_t rx_phy
Definition: ble_gapc.h:921
BLE_GAP_HCI_PAIRING_WITH_UNIT_KEY_UNSUPPORTED
@ BLE_GAP_HCI_PAIRING_WITH_UNIT_KEY_UNSUPPORTED
Definition: ble_gapc.h:195
ble_gap_evt_ranging_ind_t
Ranging indication event for BLE_GAPC_EVT_RANGING_IND.
Definition: ble_gapc.h:986
ble_gap_conn_update_param_t
The parameter of update connection.
Definition: ble_gapc.h:487
BLE_GAP_GET_CON_CHANNEL_MAP
@ BLE_GAP_GET_CON_CHANNEL_MAP
Definition: ble_gapc.h:128
ble_gap_subrate_chg_ind_t
Subrate change indication.
Definition: ble_gapc.h:827
ble_gap_evt_ranging_sample_report_ind_t::iq_sample_addr
int32_t iq_sample_addr
Definition: ble_gapc.h:994
ble_gap_evt_connless_iq_report_t::nb_samples
uint8_t nb_samples
Definition: ble_gapc.h:945
ble_gap_psm_manager_op_id_t
ble_gap_psm_manager_op_id_t
Operation code used for LEPSM manager.
Definition: ble_gapc.h:212
ble_gapc_evt_t::local_tx_pwr_read
ble_gap_evt_local_tx_pwr_read_ind_t local_tx_pwr_read
Definition: ble_gapc.h:1030
ble_gap_bond_dev_addr_get
uint16_t ble_gap_bond_dev_addr_get(uint8_t conn_idx, ble_gap_bdaddr_t *p_peer_addr)
Get BD address of the bonded device.
BLE_GAP_CHNL_MAP_LEN
#define BLE_GAP_CHNL_MAP_LEN
Definition: ble_gapc.h:68
ble_gap_dev_info_get_t
Get device info operation struct.
Definition: ble_gapc.h:412
ble_gap_evt_remote_tx_pwr_read_ind_t
Remote transmit power read indication info event for BLE_GAPC_EVT_REMOTE_TX_POWER_READ.
Definition: ble_gapc.h:961
ble_gap_evt_disconnected_t::reason
uint8_t reason
Definition: ble_gapc.h:857
ble_gap_peer_name_ind_t::peer_addr
ble_gap_addr_t peer_addr
Definition: ble_gapc.h:459
ble_gap_evt_connected_t::peer_addr
ble_gap_addr_t peer_addr
Definition: ble_gapc.h:850
ble_gap_dev_tx_power_t
TX power info struct.
Definition: ble_gapc.h:340
ble_gap_evt_connected_t::clk_accuracy
uint8_t clk_accuracy
Definition: ble_gapc.h:848
ble_gap_evt_peer_info_t::opcode
uint8_t opcode
Definition: ble_gapc.h:872
ble_gap_set_conn_cte_req_enable_t
Set connection CTE Request enable info.
Definition: ble_gapc.h:704
ble_gap_le_pkt_size_ind_t::max_rx_octets
uint16_t max_rx_octets
Definition: ble_gapc.h:613
BLE_GAP_GET_CON_RSSI
@ BLE_GAP_GET_CON_RSSI
Definition: ble_gapc.h:127
ble_gap_evt_conn_param_update_req_t::sup_timeout
uint16_t sup_timeout
Definition: ble_gapc.h:892
ble_gap_evt_conn_param_updated_t::sup_timeout
uint16_t sup_timeout
Definition: ble_gapc.h:881
ble_gap_conn_iq_report_t
Connection IQ Report info.
Definition: ble_gapc.h:714
ble_gap_tx_pwr_change_report_t
Transmit power change reporting info.
Definition: ble_gapc.h:741
ble_gap_dev_info_t::dev_tx_power
ble_gap_dev_tx_power_t dev_tx_power
Definition: ble_gapc.h:405
BLE_GAP_HCI_REMOTE_DEV_TERMINATION_DUE_TO_POWER_OFF
@ BLE_GAP_HCI_REMOTE_DEV_TERMINATION_DUE_TO_POWER_OFF
Definition: ble_gapc.h:193
__ARRAY_EMPTY
#define __ARRAY_EMPTY
Definition: gr55xx_sys_cfg.h:53
ble_gap_dev_info_t::dev_version
ble_gap_dev_version_ind_t dev_version
Definition: ble_gapc.h:398
BLE_GAP_PWR_MIN_LVL
@ BLE_GAP_PWR_MIN_LVL
Definition: ble_gapc.h:280
ble_gap_connless_iq_report_t::cte_type
uint8_t cte_type
Definition: ble_gapc.h:675
ble_gap_set_path_loss_report_param_t::low_thr
uint8_t low_thr
Definition: ble_gapc.h:734
ble_gap_conn_cte_recv_param_set
uint16_t ble_gap_conn_cte_recv_param_set(uint8_t conn_idx, ble_gap_set_conn_cte_rcv_param_t *param)
Set connection CTE receive parameters.
ble_gap_dev_version_ind_t::manuf_name
uint16_t manuf_name
Definition: ble_gapc.h:309
BLE_GAP_PWR_LOCAL_TX_CHG
@ BLE_GAP_PWR_LOCAL_TX_CHG
Definition: ble_gapc.h:270
ble_gap_evt_tx_pwr_change_report_t
Transmit power change reporting info event for BLE_GAPC_EVT_TX_POWER_CHANGE_REPORT.
Definition: ble_gapc.h:969
BLE_GAP_PHY_CODED_S2
@ BLE_GAP_PHY_CODED_S2
Definition: ble_gapc.h:262
gapc_set_dev_info_ind_t::info
ble_gapc_set_dev_info_t info
Definition: ble_gapc.h:652
ble_gap_evt_remote_tx_pwr_read_ind_t::flags
uint8_t flags
Definition: ble_gapc.h:964
ble_gap_conn_info_t::chan_sel_algo
uint8_t chan_sel_algo
Definition: ble_gapc.h:532
ble_gap_peer_info_param_t::peer_info
ble_gap_peer_info_t peer_info
Definition: ble_gapc.h:605
BLE_GAPC_DEV_NAME
@ BLE_GAPC_DEV_NAME
Definition: ble_gapc.h:220
ble_gap_update_conn_param_method_set
uint16_t ble_gap_update_conn_param_method_set(uint8_t conn_idx, bool use_l2cap_flag)
Set the method for updating connection parameter.
ble_gap_iq_report_status_t
ble_gap_iq_report_status_t
Status of IQ report packet.
Definition: ble_gapc.h:247
ble_gap_dev_info_get_t::operation
uint8_t operation
Definition: ble_gapc.h:413
BLE_GAP_REPORT_TYPE_SCAN_RSP_LEG
@ BLE_GAP_REPORT_TYPE_SCAN_RSP_LEG
Definition: ble_gapc.h:146
ble_gap_antenna_inf_t::supp_switching_sampl_rates
uint8_t supp_switching_sampl_rates
Definition: ble_gapc.h:389
ble_gap_dft_subrate_param_t::subrate_min
uint16_t subrate_min
Definition: ble_gapc.h:808
ble_gap_adv_report_type_t
ble_gap_adv_report_type_t
Advertising report type.
Definition: ble_gapc.h:142
BLE_GAP_REPORT_TYPE_SCAN_RSP_EXT
@ BLE_GAP_REPORT_TYPE_SCAN_RSP_EXT
Definition: ble_gapc.h:145
gapc_set_dev_info_ind_t
GAP Device inforamtion write indication.
Definition: ble_gapc.h:650
ble_gap_local_tx_pwr_read_ind_t::max_tx_pwr_lvl
int8_t max_tx_pwr_lvl
Definition: ble_gapc.h:761
ble_gap_ext_adv_report_ind_t::broadcaster_addr
ble_gap_bdaddr_t broadcaster_addr
Definition: ble_gapc.h:443
gapc_set_dev_info_ind_t::info_type
ble_gap_dev_info_type_t info_type
Definition: ble_gapc.h:651
ble_gap_get_peer_info_op_t
ble_gap_get_peer_info_op_t
The operation code used to get peer device info.
Definition: ble_gapc.h:135
ble_gap_evt_ranging_sample_report_ind_t::nb_sample
uint16_t nb_sample
Definition: ble_gapc.h:993
ble_gap_evt_connected_t::conn_interval
uint16_t conn_interval
Definition: ble_gapc.h:845
BLE_GAP_OPCODE_PRIVACY_MODE_SET
@ BLE_GAP_OPCODE_PRIVACY_MODE_SET
Definition: ble_gapc.h:182
BLE_GAP_GET_PHY
@ BLE_GAP_GET_PHY
Definition: ble_gapc.h:129
ble_gap_set_path_loss_report_param_t::low_hyst
uint8_t low_hyst
Definition: ble_gapc.h:735
BLE_GAP_MAX_GDX_RANGING_CH
#define BLE_GAP_MAX_GDX_RANGING_CH
Definition: ble_gapc.h:84
ble_gap_dev_info_get_t::dev_info
ble_gap_dev_info_t dev_info
Definition: ble_gapc.h:414
ble_gap_evt_path_loss_threshold_report_t::zone_entered
uint8_t zone_entered
Definition: ble_gapc.h:981
ble_gap_remote_tx_pwr_read_ind_t::phy
uint8_t phy
Definition: ble_gapc.h:767
BLE_GAP_ADDR_LEN
#define BLE_GAP_ADDR_LEN
Definition: ble_gapc.h:70
ble_gap_ext_adv_report_ind_t::direct_addr
ble_gap_bdaddr_t direct_addr
Definition: ble_gapc.h:444
ble_gap_param_set_op_id_t
ble_gap_param_set_op_id_t
Operation code used to set param(s).
Definition: ble_gapc.h:178
ble_gap_connless_iq_report_t::pa_evt_cnt
uint16_t pa_evt_cnt
Definition: ble_gapc.h:678
ble_gap_remote_tx_pwr_read_ind_t::tx_pwr
int8_t tx_pwr
Definition: ble_gapc.h:768
ble_gap_local_tx_pwr_read_ind_t::phy
uint8_t phy
Definition: ble_gapc.h:759
gap_conn_cmp_t::con_latency
uint16_t con_latency
Definition: ble_gapc.h:503
ble_gap_local_tx_pwr_read_ind_t::curr_tx_pwr_lvl
int8_t curr_tx_pwr_lvl
Definition: ble_gapc.h:760
ble_gap_conn_param_update
uint16_t ble_gap_conn_param_update(uint8_t conn_idx, const ble_gap_conn_update_param_t *p_conn_param)
Change the Link Layer connection parameters of a connection.
BLE_GAP_OPCODE_WHITELIST_SET
@ BLE_GAP_OPCODE_WHITELIST_SET
Definition: ble_gapc.h:180
ble_gap_dev_version_ind_t
The struct of device version.
Definition: ble_gapc.h:302
ble_gap_set_conn_cte_rcv_param_t
Set connection CTE receive parameters info.
Definition: ble_gapc.h:695
ble_gap_ranging_param_t::channel_num
uint8_t channel_num
Number of channel to be collected.
Definition: ble_gapc.h:778
ble_gap_evt_subrate_chg_ind_t::supervision_timeout
uint16_t supervision_timeout
Definition: ble_gapc.h:1009
ble_gap_conn_update_cmp_t
Connection parameter used to update connection parameters.
Definition: ble_gapc.h:467
ble_gap_conn_info_param_t
The info of connecting operation.
Definition: ble_gapc.h:538
ble_gap_evt_data_length_t
Data Length Updated event for BLE_GAPC_EVT_DATA_LENGTH_UPDATED.
Definition: ble_gapc.h:904
ble_gap_get_bd_addr_t::bd_addr
ble_gap_bdaddr_t bd_addr
Definition: ble_gapc.h:329
ble_gap_conn_update_param_t::slave_latency
uint16_t slave_latency
Definition: ble_gapc.h:492
ble_gap_conn_cte_rsp_enable_set
uint16_t ble_gap_conn_cte_rsp_enable_set(uint8_t conn_idx, bool enable_flag)
Set connection CTE response enable.
ble_gap_evt_conn_iq_report_t
Connection IQ Report info event for BLE_GAPC_EVT_CONNECT_IQ_REPORT.
Definition: ble_gapc.h:920
ble_gapc_evt_t::ranging_sample_report
ble_gap_evt_ranging_sample_report_ind_t ranging_sample_report
Definition: ble_gapc.h:1035
ble_gap_connless_iq_report_t
Connectionless IQ Report info.
Definition: ble_gapc.h:671
ble_gap_path_loss_report_parameter_set
uint16_t ble_gap_path_loss_report_parameter_set(uint8_t conn_idx, ble_gap_set_path_loss_report_param_t *param)
Set the path loss threshold reporting parameters for the connection identified by the conn_idx.
ble_gap_conn_info_t::phy
ble_gap_le_phy_ind_t phy
Definition: ble_gapc.h:531
ble_gap_evt_ranging_cmp_ind_t::ranging_status
uint8_t ranging_status
Definition: ble_gapc.h:1000
ble_gap_dev_info_t::get_bd_addr
ble_gap_get_bd_addr_t get_bd_addr
Definition: ble_gapc.h:399
ble_gapc_set_dev_info_t::dev_name
ble_gap_dev_name_ind_t dev_name
Definition: ble_gapc.h:643
ble_gap_evt_tx_pwr_change_report_t::flags
uint8_t flags
Definition: ble_gapc.h:973
ble_gap_evt_connected_t::ll_role
ble_gap_ll_role_type_t ll_role
Definition: ble_gapc.h:851
ble_gap_dev_info_type_t
ble_gap_dev_info_type_t
GAP Device inforamtion write indication.
Definition: ble_gapc.h:219
BLE_GAP_HCI_REMOTE_DEV_TERMINATION_DUE_TO_LOW_RESOURCES
@ BLE_GAP_HCI_REMOTE_DEV_TERMINATION_DUE_TO_LOW_RESOURCES
Definition: ble_gapc.h:192
ble_gap_per_sync_trans_param_set
uint16_t ble_gap_per_sync_trans_param_set(uint8_t conn_idx, uint8_t per_sync_idx, ble_gap_per_sync_trans_param_t *p_per_sync_trans_param)
Set the parameters used for periodic sync transfer.
ble_gapc_evt_t
BLE GAPC event structure.
Definition: ble_gapc.h:1014
ble_gapc_evt_t::connless_iq_report
ble_gap_evt_connless_iq_report_t connless_iq_report
Definition: ble_gapc.h:1029
ble_gap_le_phy_ind_t::tx_phy
uint8_t tx_phy
Definition: ble_gapc.h:522
ble_gap_data_length_update
uint16_t ble_gap_data_length_update(uint8_t conn_idx, uint16_t tx_octects, uint16_t tx_time)
The suggested maximum transmission packet size and maximum packet transmission time to be used for a ...
ble_gap_dev_name_ind_t::length
uint16_t length
Definition: ble_gapc.h:636
ble_gapc_evt_t::ranging_ind
ble_gap_evt_ranging_ind_t ranging_ind
Definition: ble_gapc.h:1034
ble_gap_peer_version_ind_t::compid
uint16_t compid
Definition: ble_gapc.h:546
BLE_GAP_REPORT_TYPE_ADV_LEG
@ BLE_GAP_REPORT_TYPE_ADV_LEG
Definition: ble_gapc.h:144
gap_conn_cmp_t::con_interval
uint16_t con_interval
Definition: ble_gapc.h:502
BLE_GAP_CRC_ERR1
@ BLE_GAP_CRC_ERR1
Definition: ble_gapc.h:249
ble_gap_evt_conn_iq_report_t::slot_dur
uint8_t slot_dur
Definition: ble_gapc.h:926
ble_gap_ranging_ind_t
ranging indication info.
Definition: ble_gapc.h:783
ble_gap_evt_tx_pwr_change_report_t::tx_pwr
int8_t tx_pwr
Definition: ble_gapc.h:972
ble_gapc_evt_t::remote_tx_pwr_read
ble_gap_evt_remote_tx_pwr_read_ind_t remote_tx_pwr_read
Definition: ble_gapc.h:1031
ble_gap_evt_dev_info_set_t
Device Information set event for BLE_GAPC_EVT_DEV_INFO_SET.
Definition: ble_gapc.h:913
BLE_GAP_PHY_2M
@ BLE_GAP_PHY_2M
Definition: ble_gapc.h:260
ble_gap_conn_update_cmp_t::interval
uint16_t interval
Definition: ble_gapc.h:468
ble_gap_con_plan_tag_t::offset
uint32_t offset
Definition: ble_gapc.h:622
ble_gap_conn_info_param_t::info
ble_gap_conn_info_t info
Definition: ble_gapc.h:540
ble_gap_dft_subrate_param_t::subrate_max
uint16_t subrate_max
Definition: ble_gapc.h:809
ble_gap_rslv_addr_read_t::gap_addr
ble_gap_addr_t gap_addr
Definition: ble_gapc.h:421
ble_gap_dft_subrate_param_t::superv_timeout
uint16_t superv_timeout
Definition: ble_gapc.h:812
ble_gap_le_phy_ind_t
PHY info.
Definition: ble_gapc.h:521
ble_gap_conn_info_param_t::opcode
uint8_t opcode
Definition: ble_gapc.h:539
gap_conn_cmp_t::sup_to
uint16_t sup_to
Definition: ble_gapc.h:504
ble_gap_conn_iq_report_t::data_channel_idx
uint8_t data_channel_idx
Definition: ble_gapc.h:716
ble_gap_dev_tx_power_t::min_tx_pwr
int8_t min_tx_pwr
Definition: ble_gapc.h:341
ble_gap_sync_established_ind_t::clk_acc
uint8_t clk_acc
Definition: ble_gapc.h:430
ble_gap_peer_info_param_t::opcode
uint8_t opcode
Definition: ble_gapc.h:604
BLE_GAP_GET_CHAN_SEL_ALGO
@ BLE_GAP_GET_CHAN_SEL_ALGO
Definition: ble_gapc.h:130
ble_gap_evt_peer_name_get_t::name
uint8_t * name
Definition: ble_gapc.h:866
ble_gap_tx_pwr_change_report_t::reason
uint8_t reason
Definition: ble_gapc.h:742
ble_gap_dev_version_ind_t::lmp_ver
uint8_t lmp_ver
Definition: ble_gapc.h:304
ble_gap_evt_connected_t::slave_latency
uint16_t slave_latency
Definition: ble_gapc.h:846
ble_gap_evt_data_length_t::max_tx_time
uint16_t max_tx_time
Definition: ble_gapc.h:906
ble_gap_ext_adv_report_ind_t::adv_info
uint8_t adv_info
Definition: ble_gapc.h:442
ble_gap_dev_version_ind_t::host_subver
uint16_t host_subver
Definition: ble_gapc.h:308
ble_gap_evt_conn_info_t::opcode
uint8_t opcode
Definition: ble_gapc.h:898
ble_gap_get_conn_info_op_t
ble_gap_get_conn_info_op_t
The operation code used to get connection info.
Definition: ble_gapc.h:126
BLE_GAPC_DEV_APPEARANCE
@ BLE_GAPC_DEV_APPEARANCE
Definition: ble_gapc.h:221
ble_gap_per_sync_trans_param_t::sync_to
uint16_t sync_to
Definition: ble_gapc.h:663
ble_gap_per_adv_set_info_trans
uint16_t ble_gap_per_adv_set_info_trans(uint8_t conn_idx, uint8_t per_adv_idx, uint16_t service_data)
Send synchronization information about the periodic advertising in an advertising set to a connected ...
ble_gap_max_data_len_t::suppted_max_tx_octets
uint16_t suppted_max_tx_octets
Definition: ble_gapc.h:348
ble_gap_conn_param_t::interval_max
uint16_t interval_max
Definition: ble_gapc.h:478
ble_gap_nb_adv_sets_t::nb_adv_sets
uint8_t nb_adv_sets
Definition: ble_gapc.h:370
ble_gap_sugg_dflt_data_len_t
Suggested default data length info.
Definition: ble_gapc.h:360
ble_gap_set_conn_cte_trans_param_t
Set connection CTE transmit parameters info.
Definition: ble_gapc.h:687
BLE_GAP_PHY_LE_1MBPS
@ BLE_GAP_PHY_LE_1MBPS
LE 1M PHY preferred for an active link.
Definition: ble_gapc.h:108
ble_gap_local_tx_pwr_read_ind_t
Local transmit power read indication info.
Definition: ble_gapc.h:758
ble_gap_conn_iq_report_t::pkt_status
uint8_t pkt_status
Definition: ble_gapc.h:721
ble_gap_evt_conn_param_update_req_t::interval_min
uint16_t interval_min
Definition: ble_gapc.h:887
ble_gap_evt_conn_param_update_req_t
Connection parameter update request event for BLE_GAPC_EVT_CONN_PARAM_UPDATE_REQ.
Definition: ble_gapc.h:886
ble_gap_ext_adv_report_ind_t::period_adv_intv
uint16_t period_adv_intv
Definition: ble_gapc.h:450
ble_gap_tx_pwr_change_report_t::delta
int8_t delta
Definition: ble_gapc.h:746
ble_gap_ranging_sample_report_ind_t
ranging sample report info.
Definition: ble_gapc.h:789
ble_gap_evt_local_tx_pwr_read_ind_t::phy
uint8_t phy
Definition: ble_gapc.h:954
ble_gap_evt_phy_update_t::tx_phy
uint8_t tx_phy
Definition: ble_gapc.h:837
ble_gap_max_data_len_t
Max data length info struct.
Definition: ble_gapc.h:347
ble_gap_tx_pwr_change_report_enable_set
uint16_t ble_gap_tx_pwr_change_report_enable_set(uint8_t conn_idx, bool local_enable_flag, bool remote_enable_flag)
Enable or disable the reporting of transmit power level changes in the local and remote for the conne...
BLE_GAP_REPORT_TYPE_ADV_EXT
@ BLE_GAP_REPORT_TYPE_ADV_EXT
Definition: ble_gapc.h:143
ble_gap_disconnect
uint16_t ble_gap_disconnect(uint8_t conn_idx)
Terminate an existing connection.
ble_gap_conn_update_param_t::sup_timeout
uint16_t sup_timeout
Definition: ble_gapc.h:493
ble_gap_peer_info_t::peer_version
ble_gap_peer_version_ind_t peer_version
Definition: ble_gapc.h:597
BLE_GAP_HCI_CONN_INTERVAL_UNACCEPTABLE
@ BLE_GAP_HCI_CONN_INTERVAL_UNACCEPTABLE
Definition: ble_gapc.h:196
ble_gap_cte_type_t
ble_gap_cte_type_t
Type of constant tone extension.
Definition: ble_gapc.h:228
BLE_GAP_PWR_MAX_LVL
@ BLE_GAP_PWR_MAX_LVL
Definition: ble_gapc.h:281
ble_gap_max_data_len_t::suppted_max_rx_octets
uint16_t suppted_max_rx_octets
Definition: ble_gapc.h:352
ble_gap_set_pref_slave_evt_dur_param_t::single_tx
uint8_t single_tx
Definition: ble_gapc.h:630
ble_gap_set_conn_cte_rcv_param_t::slot_durations
uint8_t slot_durations
Definition: ble_gapc.h:697
ble_gap_ll_role_type_t
ble_gap_ll_role_type_t
Device role of LL layer type.
Definition: ble_gapc.h:169
ble_gap_evt_conn_iq_report_t::data_channel_idx
uint8_t data_channel_idx
Definition: ble_gapc.h:922
ble_gap_evt_conn_info_t::info
ble_gap_conn_info_t info
Definition: ble_gapc.h:899
ble_gap_tx_pwr_change_report_t::flags
uint8_t flags
Definition: ble_gapc.h:745
BLE_GAP_PHY_LE_2MBPS
@ BLE_GAP_PHY_LE_2MBPS
LE 2M PHY preferred for an active link.
Definition: ble_gapc.h:110
ble_gap_get_local_addr_by_conidx
void ble_gap_get_local_addr_by_conidx(uint8_t conidx, uint8_t *p_addr)
Get BD address of the local device by the conidx.
ble_gap_conn_iq_report_t::rssi
int16_t rssi
Definition: ble_gapc.h:717
ble_gap_bdaddr_t::gap_addr
ble_gap_addr_t gap_addr
Definition: ble_gapc.h:321
BLE_GAP_REPORT_TYPE_PER_ADV
@ BLE_GAP_REPORT_TYPE_PER_ADV
Definition: ble_gapc.h:147
ble_gap_conn_param_update_reply
uint16_t ble_gap_conn_param_update_reply(uint8_t conn_idx, bool accept)
Connection param update reply to peer device.
ble_gap_antenna_inf_t::antennae_num
uint8_t antennae_num
Definition: ble_gapc.h:390
ble_gap_evt_connless_iq_report_t::cte_type
uint8_t cte_type
Definition: ble_gapc.h:941
ble_gap_set_conn_cte_req_enable_t::cte_req_interval
uint16_t cte_req_interval
Definition: ble_gapc.h:705
BLE_GAP_PHY_OPT_S8_CODING
@ BLE_GAP_PHY_OPT_S8_CODING
Definition: ble_gapc.h:120
ble_gap_set_conn_cte_rcv_param_t::sampling_enable
bool sampling_enable
Definition: ble_gapc.h:696
ble_gap_rslv_addr_read_op_id_t
ble_gap_rslv_addr_read_op_id_t
Operation code used to read resolvable address.
Definition: ble_gapc.h:203
BLE_GAP_HCI_REMOTE_USER_TERMINATED_CONNECTION
@ BLE_GAP_HCI_REMOTE_USER_TERMINATED_CONNECTION
Definition: ble_gapc.h:191
ble_gap_default_subrate_param_set
uint16_t ble_gap_default_subrate_param_set(const ble_gap_dft_subrate_param_t *p_subrate_param)
Set Default Subrate command.
ble_gap_chnl_map_t
Channel map structure.
Definition: ble_gapc.h:514
BLE_GAP_INSUFFI_RESOURCE
@ BLE_GAP_INSUFFI_RESOURCE
Definition: ble_gapc.h:251
ble_gap_dev_adv_tx_power_t::power_lvl
int8_t power_lvl
Definition: ble_gapc.h:335
BLE_GAP_HCI_UNSUPPORTED_REMOTE_FEATURE
@ BLE_GAP_HCI_UNSUPPORTED_REMOTE_FEATURE
Definition: ble_gapc.h:194
BLE_GAP_HCI_AUTHENTICATION_FAILURE
@ BLE_GAP_HCI_AUTHENTICATION_FAILURE
Definition: ble_gapc.h:190
ble_gap_evt_subrate_chg_ind_t
Subrate change indication event for BLE_GAPC_EVT_SUBRATE_CHANGE_IND.
Definition: ble_gapc.h:1005
ble_gap_evt_tx_pwr_change_report_t::phy
uint8_t phy
Definition: ble_gapc.h:971
ble_gapc_evt_t::data_length
ble_gap_evt_data_length_t data_length
Definition: ble_gapc.h:1026
ble_gap_evt_remote_tx_pwr_read_ind_t::phy
uint8_t phy
Definition: ble_gapc.h:962
ble_gap_connless_iq_report_t::pkt_status
uint8_t pkt_status
Definition: ble_gapc.h:677
ble_gap_max_adv_data_len_ind_t
Maximum advertising data length info.
Definition: ble_gapc.h:375
ble_gap_evt_peer_name_get_t::addr_type
uint8_t addr_type
Definition: ble_gapc.h:864
ble_gap_dev_info_t::nb_adv_sets
ble_gap_nb_adv_sets_t nb_adv_sets
Definition: ble_gapc.h:403
ble_gapc_evt_t::index
uint8_t index
Definition: ble_gapc.h:1015
BLE_GAP_REPORT_INFO_COMPLETE_BIT
@ BLE_GAP_REPORT_INFO_COMPLETE_BIT
Definition: ble_gapc.h:153
ble_gap_le_pkt_size_ind_t::max_tx_time
uint16_t max_tx_time
Definition: ble_gapc.h:612
ble_gap_sugg_dflt_data_len_t::suggted_max_tx_time
uint16_t suggted_max_tx_time
Definition: ble_gapc.h:363
ble_gap_ranging_sample_report_ind_t::status
uint8_t status
Status of ranging sample proc.
Definition: ble_gapc.h:791
ble_gap_conn_update_param_t::ce_len
uint16_t ce_len
Definition: ble_gapc.h:494
ble_gap_sync_established_ind_t::adv_sid
uint8_t adv_sid
Definition: ble_gapc.h:429
ble_gap_set_conn_cte_trans_param_t::cte_type
uint8_t cte_type
Definition: ble_gapc.h:688
ble_gap_ranging_cmp_ind_t
ranging complete info.
Definition: ble_gapc.h:800
ble_gap_set_path_loss_report_param_t
Set path loss reporting parameter info.
Definition: ble_gapc.h:731
ble_gap_ext_adv_report_ind_t::phy_prim
uint8_t phy_prim
Definition: ble_gapc.h:447
ble_gap_dev_info_t::sugg_dflt_data_len
ble_gap_sugg_dflt_data_len_t sugg_dflt_data_len
Definition: ble_gapc.h:401
ble_gapc_evt_t::subrate_chg_ind
ble_gap_evt_subrate_chg_ind_t subrate_chg_ind
Definition: ble_gapc.h:1037
ble_gap_set_pref_slave_evt_dur_param_t::duration
uint16_t duration
Definition: ble_gapc.h:629
ble_gap_evt_phy_update_t::rx_phy
uint8_t rx_phy
Definition: ble_gapc.h:838
ble_gap_ext_adv_report_ind_t::tx_pwr
int8_t tx_pwr
Definition: ble_gapc.h:445
ble_gap_subrate_req_t
Subrate Request command param.
Definition: ble_gapc.h:817
BLE_GAP_OPCODE_LEPSM_UNREGISTER
@ BLE_GAP_OPCODE_LEPSM_UNREGISTER
Definition: ble_gapc.h:214
ble_gap_set_path_loss_report_param_t::high_hyst
uint8_t high_hyst
Definition: ble_gapc.h:733
ble_gap_dev_info_t::max_data_len
ble_gap_max_data_len_t max_data_len
Definition: ble_gapc.h:402
ble_gap_evt_connected_t::conn_handle
uint16_t conn_handle
Definition: ble_gapc.h:844
ble_gapc_evt_t::conn_info
ble_gap_evt_conn_info_t conn_info
Definition: ble_gapc.h:1025
BLE_GAP_REPORT_INFO_SCAN_ADV_BIT
@ BLE_GAP_REPORT_INFO_SCAN_ADV_BIT
Definition: ble_gapc.h:155
ble_gap_con_plan_consult
uint16_t ble_gap_con_plan_consult(uint8_t *p_act_num, ble_gap_con_plan_tag_t **p_conn_plan_arr)
Consult BLE connection activity plan situation function.
ble_gap_evt_connless_iq_report_t::pa_evt_cnt
uint16_t pa_evt_cnt
Definition: ble_gapc.h:944
ble_gap_evt_remote_tx_pwr_read_ind_t::tx_pwr
int8_t tx_pwr
Definition: ble_gapc.h:963
ble_gap_evt_connless_iq_report_t
Connectionless IQ Report info event for BLE_GAPC_EVT_CONNECTLESS_IQ_REPORT.
Definition: ble_gapc.h:937
ble_gap_evt_peer_name_get_t::name_len
uint8_t name_len
Definition: ble_gapc.h:865
ble_gap_sync_established_ind_t::report_flag
bool report_flag
Definition: ble_gapc.h:434
ble_gap_subrate_req_t::continuation_num
uint16_t continuation_num
Definition: ble_gapc.h:821
ble_gap_dev_version_ind_t::lmp_subver
uint16_t lmp_subver
Definition: ble_gapc.h:307
ble_gap_sync_established_ind_t::intv
uint16_t intv
Definition: ble_gapc.h:428