ble_gapc.h File Reference

BLE GAPC API. More...

#include "ble_error.h"
#include "gr5405_sys_cfg.h"
#include <stdint.h>
#include <string.h>
#include <stdbool.h>

Go to the source code of this file.

Classes

struct  ble_gap_addr_t
 The struct of address. More...
 
struct  ble_gap_bdaddr_t
 The struct of broadcast address with broadcast type. More...
 
struct  ble_gap_sync_established_ind_t
 Sync established indication. More...
 
struct  ble_gap_ext_adv_report_ind_t
 APP receives the extended advertising report indication info struct. More...
 
struct  ble_gap_conn_update_cmp_t
 Connection parameter used to update connection parameters. More...
 
struct  ble_gap_conn_param_t
 The parameter of connection. More...
 
struct  ble_gap_conn_update_param_t
 The parameter of update connection. More...
 
struct  gap_conn_cmp_t
 Connection complete info. More...
 
struct  ble_gap_chnl_map_t
 Channel map structure. More...
 
struct  ble_gap_le_phy_ind_t
 PHY info. More...
 
union  ble_gap_conn_info_t
 Connection info. More...
 
struct  ble_gap_conn_info_param_t
 The info of connecting operation. More...
 
struct  ble_gap_peer_version_ind_t
 Peer version info. More...
 
struct  ble_gap_peer_features_ind_t
 LE features info. More...
 
union  ble_gap_peer_info_t
 LE peer info. More...
 
struct  ble_gap_peer_info_param_t
 Get peer info operation struct. More...
 
struct  ble_gap_le_pkt_size_ind_t
 Supported data length size Indication. More...
 
struct  ble_gap_con_plan_tag_t
 The Structure for BLE Connection Arrangement. More...
 
struct  ble_gap_set_pref_slave_evt_dur_param_t
 Set preference slave event duration. More...
 
struct  ble_gap_dev_name_ind_t
 GAP Device name struct. More...
 
union  ble_gapc_set_dev_info_t
 Device information data struct. More...
 
struct  gapc_set_dev_info_ind_t
 GAP Device inforamtion write indication. More...
 
struct  ble_gap_per_sync_trans_param_t
 Default periodic advertising synchronization transfer parameters. More...
 
struct  ble_gap_connless_iq_report_t
 Connectionless IQ Report info. More...
 
struct  ble_gap_set_conn_cte_trans_param_t
 Set connection CTE transmit parameters info. More...
 
struct  ble_gap_set_conn_cte_rcv_param_t
 Set connection CTE receive parameters info. More...
 
struct  ble_gap_set_conn_cte_req_enable_t
 Set connection CTE Request enable info. More...
 
struct  ble_gap_conn_iq_report_t
 Connection IQ Report info. More...
 
struct  ble_gap_set_path_loss_report_param_t
 Set path loss reporting parameter info. More...
 
struct  ble_gap_evt_phy_update_t
 PHY update event for BLE_GAPC_EVT_PHY_UPDATED. More...
 
struct  ble_gap_evt_connected_t
 Connection complete event for BLE_GAPC_EVT_CONNECTED. More...
 
struct  ble_gap_evt_disconnected_t
 Disconnection event for BLE_GAPC_EVT_DISCONNECTED. More...
 
struct  ble_gap_evt_peer_name_get_t
 Name of peer device indication event for BLE_GAPC_EVT_PEER_NAME_GOT. More...
 
struct  ble_gap_evt_peer_info_t
 Get peer info event for BLE_GAPC_EVT_PEER_INFO_GOT. More...
 
struct  ble_gap_evt_conn_param_updated_t
 Connection parameter updated event for BLE_GAPC_EVT_CONN_PARAM_UPDATED. More...
 
struct  ble_gap_evt_conn_param_update_req_t
 Connection parameter update request event for BLE_GAPC_EVT_CONN_PARAM_UPDATE_REQ. More...
 
struct  ble_gap_evt_conn_info_t
 Get Connection info event for BLE_GAPC_EVT_CONN_INFO_GOT. More...
 
struct  ble_gap_evt_data_length_t
 Data Length Updated event for BLE_GAPC_EVT_DATA_LENGTH_UPDATED. More...
 
struct  ble_gap_evt_dev_info_set_t
 Device Information set event for BLE_GAPC_EVT_DEV_INFO_SET. More...
 
struct  ble_gap_evt_conn_iq_report_t
 Connection IQ Report info event for BLE_GAPC_EVT_CONNECT_IQ_REPORT. More...
 
struct  ble_gap_evt_connless_iq_report_t
 Connectionless IQ Report info event for BLE_GAPC_EVT_CONNECTLESS_IQ_REPORT. More...
 
struct  ble_gap_evt_le_event_noti_report_t
 Le event notification reporting info event for BLE_GAPC_EVT_LE_EVT_NOTI_REPORT. More...
 
struct  ble_gapc_evt_t
 BLE GAPC event structure. More...
 

Macros

#define BLE_GAP_CHNL_MAP_LEN   0x05
 
#define BLE_GAP_FEATS_LEN   0x08
 
#define BLE_GAP_ADDR_LEN   0x06
 
#define BLE_GAP_INVALID_CONN_INDEX   0xFF
 
#define BLE_GAP_MIN_CTE_LEN   0x02
 CTE length (in number of 8us periods) More...
 
#define BLE_GAP_MAX_CTE_LEN   0x14
 
#define BLE_GAP_MIN_CTE_CNT   0x01
 CTE count. More...
 
#define BLE_GAP_MAX_CTE_CNT   0x10
 
#define BLE_GAP_MIN_IQ_SAMPLE_NUM   0x09
 
#define BLE_GAP_MAX_IQ_SAMPLE_NUM   0x52
 

Enumerations

enum  ble_gap_addr_type_t {
  BLE_GAP_ADDR_TYPE_PUBLIC = 0,
  BLE_GAP_ADDR_TYPE_RANDOM_STATIC
}
 The identity address type. More...
 
enum  ble_gap_phy_bit_t {
  BLE_GAP_PHY_ANY = 0x00,
  BLE_GAP_PHY_LE_1MBPS = (1 << 0),
  BLE_GAP_PHY_LE_2MBPS = (1 << 1),
  BLE_GAP_PHY_LE_CODED = (1 << 2)
}
 Bit field use to select the preferred TX or RX LE PHY. More...
 
enum  ble_gap_phy_options_t {
  BLE_GAP_PHY_OPT_NO_CODING = 0,
  BLE_GAP_PHY_OPT_S2_CODING,
  BLE_GAP_PHY_OPT_S8_CODING
}
 The phy options. More...
 
enum  ble_gap_get_conn_info_op_t {
  BLE_GAP_GET_CON_RSSI = 0,
  BLE_GAP_GET_CON_CHANNEL_MAP,
  BLE_GAP_GET_PHY
}
 The operation code used to get connection info. More...
 
enum  ble_gap_get_peer_info_op_t {
  BLE_GAP_GET_PEER_VERSION = 0,
  BLE_GAP_GET_PEER_FEATURES
}
 The operation code used to get peer device info. More...
 
enum  ble_gap_ll_role_type_t {
  BLE_GAP_LL_ROLE_MASTER = 0,
  BLE_GAP_LL_ROLE_SLAVE = 1
}
 Device role of LL layer type. More...
 
enum  ble_gap_param_set_op_id_t {
  BLE_GAP_OPCODE_CHNL_MAP_SET,
  BLE_GAP_OPCODE_WHITELIST_SET,
  BLE_GAP_OPCODE_PER_ADV_LIST_SET,
  BLE_GAP_OPCODE_PRIVACY_MODE_SET
}
 Operation code used to set param(s). More...
 
enum  ble_gap_disconn_reason_t {
  BLE_GAP_HCI_AUTHENTICATION_FAILURE = 0x05,
  BLE_GAP_HCI_REMOTE_USER_TERMINATED_CONNECTION = 0x13,
  BLE_GAP_HCI_REMOTE_DEV_TERMINATION_DUE_TO_LOW_RESOURCES = 0x14,
  BLE_GAP_HCI_REMOTE_DEV_TERMINATION_DUE_TO_POWER_OFF = 0x15,
  BLE_GAP_HCI_UNSUPPORTED_REMOTE_FEATURE = 0x1A,
  BLE_GAP_HCI_PAIRING_WITH_UNIT_KEY_UNSUPPORTED = 0X29,
  BLE_GAP_HCI_CONN_INTERVAL_UNACCEPTABLE = 0x3B
}
 The specified reason for terminating a connection. More...
 
enum  ble_gap_psm_manager_op_id_t {
  BLE_GAP_OPCODE_LEPSM_REGISTER,
  BLE_GAP_OPCODE_LEPSM_UNREGISTER
}
 Operation code used for LEPSM manager. More...
 
enum  ble_gap_dev_info_type_t {
  BLE_GAPC_DEV_NAME,
  BLE_GAPC_DEV_APPEARANCE
}
 GAP Device inforamtion write indication. More...
 
enum  ble_gap_cte_type_t {
  BLE_GAP_CTE_TYPE_AOA = 0x01 << 0,
  BLE_GAP_CTE_TYPE_AOD_1US = 0x01 << 1,
  BLE_GAP_CTE_TYPE_AOD_2US = 0x01 << 2
}
 Type of constant tone extension. More...
 
enum  ble_gap_switching_sampling_type_t {
  BLE_GAP_SLOT_1US = 0x01,
  BLE_GAP_SLOT_2US
}
 Type of switching and sampling slots. More...
 
enum  ble_gap_iq_report_status_t {
  BLE_GAP_CRC_OK,
  BLE_GAP_CRC_ERR1,
  BLE_GAP_CRC_ERR2,
  BLE_GAP_INSUFFI_RESOURCE = 0xFF
}
 Status of IQ report packet. More...
 
enum  ble_gap_phy_type_t {
  BLE_GAP_PHY_1M = 0x01,
  BLE_GAP_PHY_2M = 0x02,
  BLE_GAP_PHY_CODED = 0x03,
  BLE_GAP_PHY_CODED_S8 = 0x03,
  BLE_GAP_PHY_CODED_S2 = 0x04
}
 Phy for power control management. More...
 
enum  ble_gap_tx_pwr_change_report_reason_t {
  BLE_GAP_PWR_LOCAL_TX_CHG = 0x00,
  BLE_GAP_PWR_REMOTE_TX_CHG = 0x01
}
 Transmit power change reporting reason. More...
 
enum  ble_gap_pwr_lvl_flag_t {
  BLE_GAP_PWR_MID_LVL = 0x00,
  BLE_GAP_PWR_MIN_LVL = 0x01,
  BLE_GAP_PWR_MAX_LVL = 0x02
}
 Transmit Power level flag. More...
 
enum  ble_gap_path_loss_zone_t {
  BLE_GAP_PATH_LOSS_LOW = 0x00,
  BLE_GAP_PATH_LOSS_MID = 0x01,
  BLE_GAP_PATH_LOSS_HIGH = 0x02
}
 Path Loss zones. HCI:7.8.118. More...
 

Functions

uint16_t ble_gap_disconnect (uint8_t conn_idx)
 Terminate an existing connection. More...
 
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. More...
 
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. More...
 
uint16_t ble_gap_update_conn_param_method_set (uint8_t conn_idx, bool use_l2cap_flag)
 Set the method for updating connection parameter. More...
 
uint16_t ble_gap_latency_set (uint8_t conn_idx, uint16_t latency)
 Set connection's Latency. More...
 
uint16_t ble_gap_latency_get (uint8_t conn_idx, uint16_t *latency)
 Get connection's Latency. More...
 
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. More...
 
uint16_t ble_gap_conn_param_update_reply (uint8_t conn_idx, bool accept)
 Connection param update reply to peer device. More...
 
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 given connection. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
uint16_t ble_gap_conn_cte_rsp_enable_set (uint8_t conn_idx, bool enable_flag)
 Set connection CTE response enable. More...
 
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. More...
 
uint16_t ble_gap_le_event_noti_report_enable_set (uint8_t conn_idx, bool enable_flag)
 Enable or disable the reporting of LE event notification. More...
 
uint8_t ble_gap_conn_link_num_get (void)
 Get connection link number. More...
 
uint16_t ble_gap_ignore_latency_set (uint8_t conn_idx, bool ignore_flag, uint8_t ignore_num)
 Ignore latency with numbers indicated by ignore_num, after slave sending data. More...
 
uint16_t ble_gap_get_adv_addr_by_conidx (uint8_t conn_idx, uint8_t *p_adv_addr)
 Get adv address by connection index, only used for slave role. More...
 

Detailed Description

BLE GAPC API.

Attention
#####Copyright (c) 2019-2025 GOODIX All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. Neither the name of GOODIX nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL COPYRIGHT HOLDERS AND CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Definition in file ble_gapc.h.