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