ADV Interface Functions
ADV_IF API Brief
Application |
Brief |
|---|---|
remove a adv enviroment |
|
create a adv enviroment |
|
set adv data base on adv idx |
|
enable phy layer to enable advertising |
|
stop phy layer to disable advertising |
|
set adv scan rsp data base on adv idx |
|
set periodic adv data base on adv idx |
ADV_IF API Reference
Header File
Functions
-
btif_ret_t adv_if_remove_adv(uint8_t adv_idx)
remove a adv enviroment.
when adv is not used, you should remove adv in case of memory leak
- 参数:
adv_idx – [in] index of advertising parameter
- 返回值:
0 – success [BK_RET_OK]
other – fail
- 返回:
result
-
btif_ret_t adv_if_create_adv(adv_if_t *p_adv)
create a adv enviroment.
beofre adv is not used, you should create a adv env firstly
- 参数:
p_adv – [in] pointer for a LE advertising parameter
- 返回值:
0 – success [BK_RET_OK]
other – fail
- 返回:
result
-
btif_ret_t adv_if_set_adv_data(uint8_t adv_idx, uint8_t *p_adv_data, uint16_t len)
set adv data base on adv idx.
set adv data before you enable one adv
- 参数:
adv_idx – [in] index of advertising parameter
p_adv_data – [in] pointer for advertising data
len – [in] length of p_adv_data
- 返回值:
0 – success [BK_RET_OK]
other – fail
- 返回:
result
-
btif_ret_t adv_if_adv_enable(uint8_t adv_idx)
enable phy layer to enable advertising.
after config data and parameters done, you can enable one adv
- 参数:
adv_idx – [in] index of advertising parameter
- 返回值:
0 – success [BK_RET_OK]
other – fail
- 返回:
result
-
btif_ret_t adv_if_adv_disable(uint8_t adv_idx)
stop phy layer to disable advertising.
call this api to disable advertising
- 参数:
adv_idx – [in] index of advertising parameter
- 返回值:
0 – success [BK_RET_OK]
other – fail
- 返回:
result
-
btif_ret_t adv_if_set_scan_rsp_data(uint8_t adv_idx, uint8_t *p_rsp_data, uint16_t len)
set adv scan rsp data base on adv idx.
set adv scan rsp data before you enable one adv
- 参数:
adv_idx – [in] index of advertising parameter
p_rsp_data – [in] pointer for scan response data
len – [in] length of p_rsp_data
- 返回:
bt_ret_t
-
btif_ret_t adv_if_set_PA_data(uint8_t adv_idx, uint8_t *p_pa_data, uint16_t len)
set periodic adv data base on adv idx.
set aperiodic adv data before you enable one adv that included periodic adv enable
- 参数:
adv_idx – [in] index of advertising parameter
p_pa_data – [in] pointer for aperiodic advertising data
len – [in] length of p_pa_data
- 返回值:
0 – success [BK_RET_OK]
other – fail
- 返回:
result
Structures
-
struct adv_if_t
LE advertising parameter data struct.
Public Members
-
uint8_t adv_idx
index of advertising parameter
-
uint8_t adv_type
advertising type
-
uint8_t addr_type
advertiser address type 0-public/1-static/2-rpa/3/non-rpa
-
bool adv_ext_en
enable extended advertising or not
-
bool pa_en
enable peridoic advertising or not
-
uint32_t adv_interval_min
min interval of advertising uint 0.625ms
-
uint32_t adv_interval_max
max interval of advertising uint 0.625ms
-
uint16_t pa_interval_min
min interval of peridoic advertising uint 1.25ms
-
uint16_t pa_interval_max
min interval of peridoic advertising uint 1.25ms
-
uint8_t adv_idx
Macros
-
ADV_SCANABLE_TYPE
-
ADV_CONNECTABLE_TYPE
-
ADV_PUBLIC_ADDR
-
ADV_STATIC_RANDOM_ADDR
-
ADV_RPA_RANDOM_ADDR
-
ADV_NON_RPA_RANDOM_ADDR
-
ADV_1M_PHY
-
ADV_2M_PHY
-
ADV_CODED_PHY