ADV Interface Functions

[English]

ADV_IF API Brief

Application

Brief

adv_if_remove_adv()

remove a adv enviroment

adv_if_create_adv()

create a adv enviroment

adv_if_set_adv_data()

set adv data base on adv idx

adv_if_adv_enable()

enable phy layer to enable advertising

adv_if_adv_disable()

stop phy layer to disable advertising

adv_if_set_scan_rsp_data()

set adv scan rsp data base on adv idx

adv_if_set_PA_data()

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

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