GAP
generic access profile
以下命令都是在广播过程应用的命令
调用API
bStatus_t GAPRole_SetParameter(uint16_t param, uint8_t len, void *pValue)
举例:设置广播数据
// Advertisement data (max size = 31 bytes, though this is
// best kept short to conserve power while advertising)
static uint8_t advertData[] =
{
// Flags: this field sets the device to use general discoverable
// mode (advertises indefinitely) instead of general
// discoverable mode (advertise for 30 seconds at a time)
0x02, // length of this data
GAP_ADTYPE_FLAGS,
DEFAULT_DISCOVERABLE_MODE | GAP_ADTYPE_FLAGS_BREDR_NOT_SUPPORTED,
0x05,
GAP_ADTYPE_MANUFACTURER_SPECIFIC,
0x55,
0x55,
0x55,
0x55,
0x55,
// service UUID, to notify central devices what services are included
// in this peripheral
0x03, // length of this data
GAP_ADTYPE_16BIT_MORE, // some of the UUID's, but not all
LO_UINT16(SIMPLEPROFILE_SERV_UUID),
HI_UINT16(SIMPLEPROFILE_SERV_UUID)
};
GAPRole_SetParameter(GAPROLE_ADVERT_DATA, sizeof(advertData), advertData);
命令 | 说明 |
---|---|
GAPROLE_PROFILEROLE | 此参数将返回GAP角色类型(只读) |
GAPROLE_IRK | 身份解析密钥(读/写)大小为uint8_t [KEYLEN]。 |
GAPROLE_SRK | 签名解析密钥(读/写) |
GAPROLE_SIGNCOUNTER | 标志计数器(读/写) |
GAPROLE_BD_ADDR | 从控制器读取的设备地址(只读) |
GAPROLE_ADVERT_ENABLED | 启用/禁用可连接广告(读/写) |
GAPROLE_ADVERT_OFF_TIME | 广告在重新开始之前停止后保持关闭(以秒为单位)(读/写) |
GAPROLE_ADVERT_DATA | 广告数据(读/写) |
GAPROLE_SCAN_RSP_DATA | 扫描响应数据(读/写) |
GAPROLE_ADV_EVENT_TYPE | 广告类型(读/写) |
GAPROLE_ADV_DIRECT_TYPE | 直接广告类型(读/写) |
GAPROLE_ADV_DIRECT_ADDR | 直接广告地址(读/写) |
GAPROLE_ADV_CHANNEL_MAP | 广告频道(读/写) |
GAPROLE_ADV_FILTER_POLICY | 过滤广告的协议(读/写) |
GAPROLE_MIN_CONN_INTERVAL | 执行参数更新时使用的最小连接间隔(n * 1.25 ms)(读/写) |
GAPROLE_MAX_CONN_INTERVAL | 执行参数更新时使用的最大连接间隔(n * 1.25 ms)(读/写) |
GAPROLE_SLAVE_LATENCY | 执行参数更新时使用的Slave延迟(读/写) |
GAPROLE_TIMEOUT_MULTIPLIER | 执行参数更新时超时时间(n x 10 ms)(读/写) |
GAPROLE_ADV_NONCONN_ENABLED | 启用/禁用不可连接的广告(读/写) |
GAPROLE_MAX_SCAN_RES | 保存扫描设备的最大数量 |