GAP
generic access profile
以下命令都是在广播过程应用的命令
C:\ti\simplelink_cc2640r2_sdk_2_40_00_32\source\ti\blestack\profiles\roles\peripheral_broadcaster.c
调用API-设置
bStatus_t GAPRole_SetParameter(uint16_t param, uint8_t len, void *pValue)
调用API-获取
bStatus_t GAPRole_GetParameter( uint16 param, 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);
设备角色配置命令
C:\ti\simplelink_cc2640r2_sdk_2_40_00_32\source\ti\blestack\profiles\roles\cc26xx\peripheral.h
| 命令 | 说明 |
|---|---|
| GAPROLE_PROFILEROLE | 此参数将返回设备角色类型(只读),4种 |
| 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_CONNHANDLE | 当前连接设备的连接句柄(只读) |
| GAPROLE_RSSI_READ_RATE | 在连接期间读取RSSI的频率(读/写) |
| GAPROLE_PARAM_UPDATE_ENABLE | 是否在连接时请求连接参数更新(读/写) |
| 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 | 保存扫描设备的最大数量 |
设备角色类型
GAPROLE_PROFILEROLE
| 设备角色类型 | 说明 |
|---|---|
| GAP_PROFILE_BROADCASTER | 仅发送广告事件的设备 |
| GAP_PROFILE_OBSERVER | 仅接收广告事件的设备 |
| GAP_PROFILE_PERIPHERAL | 使用连接建立过程接受建立LE物理链路的设备 |
| GAP_PROFILE_CENTRAL | 支持Central角色的设备启动物理连接的建立 |
广播数据类型
C:\ti\simplelink_cc2640r2_sdk_2_40_00_32\source\ti\ble5stack\inc\gap.h
| 广播数据类型 | 说明 |
|---|---|
| GAP_ADTYPE_FLAGS | 广播发现模式,3种 |
| GAP_ADTYPE_16BIT_MORE | - |
| GAP_ADTYPE_16BIT_COMPLETE | - |
| GAP_ADTYPE_32BIT_MORE | - |
| GAP_ADTYPE_32BIT_COMPLETE | - |
| GAP_ADTYPE_128BIT_MORE | - |
| GAP_ADTYPE_128BIT_COMPLETE | 完整的128bit UUID |
| GAP_ADTYPE_LOCAL_NAME_SHORT | 本地设备名称简写 |
| GAP_ADTYPE_LOCAL_NAME_COMPLETE | 完整的本地设备名称 |
| GAP_ADTYPE_POWER_LEVEL | 发射功率 |
| GAP_ADTYPE_OOB_CLASS_OF_DEVICE | 简单配对OOB标签:设备类(3个八位字节) |
| GAP_ADTYPE_OOB_SIMPLE_PAIRING_HASHC | 简单配对OOB标签:简单配对哈希(16个八位字节) |
| GAP_ADTYPE_OOB_SIMPLE_PAIRING_RANDR | 简单配对OOB标签:简单配对随机发生器(16个八位字节) |
| GAP_ADTYPE_SM_TK | 安全管理器TK值 |
| GAP_ADTYPE_SM_OOB_FLAG | 安全管理器OOB标志 |
| GAP_ADTYPE_SLAVE_CONN_INTERVAL_RANGE | 连接间隔的最小值和最大值(最小2个八位字节,最大2个八位字节),0xffff无连接间隔时间 |
| GAP_ADTYPE_SIGNED_DATA | 签名数据字段 |
| GAP_ADTYPE_SERVICES_LIST_16BIT | 服务请求:16位服务UUID列表 |
| GAP_ADTYPE_SERVICES_LIST_128BIT | 服务请求:128位服务UUID列表 |
| GAP_ADTYPE_SERVICE_DATA | 服务数据 - 16位UUID |
| GAP_ADTYPE_PUBLIC_TARGET_ADDR | 公共目标地址 |
| GAP_ADTYPE_RANDOM_TARGET_ADDR | 随机目标地址 |
| GAP_ADTYPE_APPEARANCE | 应用设备类型 |
| GAP_ADTYPE_ADV_INTERVAL | 广告时间间隔 |
| GAP_ADTYPE_LE_BD_ADDR | LE蓝牙设备地址 |
| GAP_ADTYPE_LE_ROLE | LE角色 |
| GAP_ADTYPE_SIMPLE_PAIRING_HASHC_256 | 简单配对哈希C-256 |
| GAP_ADTYPE_SIMPLE_PAIRING_RANDR_256 | 简单配对随机发生器R-256 |
| GAP_ADTYPE_SERVICE_DATA_32BIT | 服务数据 - 32位UUID |
| GAP_ADTYPE_SERVICE_DATA_128BIT | 服务数据 - 128位UUID |
| GAP_ADTYPE_3D_INFO_DATA | 3D信息数据 |
| GAP_ADTYPE_MANUFACTURER_SPECIFIC | 制造商特定数据:前2个八位字节包含公司标识符,代码后跟其他制造商特定数据 |
广播发现模式:
GAP_ADTYPE_FLAGS
| 广播发现模式 | 说明 |
|---|---|
| GAP_ADTYPE_FLAGS_LIMITED | LE Limited可发现模式 |
| GAP_ADTYPE_FLAGS_GENERAL | LE一般可发现模式 |
| GAP_ADTYPE_FLAGS_BREDR_NOT_SUPPORTED | 不支持BR / EDR |
应用设备类型:
GAP_ADTYPE_APPEARANCE
C:\ti\simplelink_cc2640r2_sdk_2_40_00_32\source\ti\ble5stack\inc\gap.h
| 应用设备类型 | 说明 |
|---|---|
| GAP_APPEARE_UNKNOWN 0x0000 | 未知 |
| GAP_APPEARE_GENERIC_PHONE 0x0040 | 通用电话 |
| GAP_APPEARE_GENERIC_COMPUTER 0x0080 | 通用计算机 |
| GAP_APPEARE_GENERIC_WATCH 0x00C0 | 通用手表 |
| GAP_APPEARE_WATCH_SPORTS 0x00C1 | 观看:体育观察 |
| GAP_APPEARE_GENERIC_CLOCK 0x0100 | 通用时钟 |
| GAP_APPEARE_GENERIC_DISPLAY 0x0140 | 通用显示 |
| GAP_APPEARE_GENERIC_RC 0x0180 | 通用遥控器 |
| GAP_APPEARE_GENERIC_EYE_GALSSES 0x01C0 | 通用耳机 |
| GAP_APPEARE_GENERIC_TAG 0x0200 | 通用工具包 |
| GAP_APPEARE_GENERIC_KEYRING 0x0240 | 通用钥匙扣 |
| GAP_APPEARE_GENERIC_MEDIA_PLAYER 0x0280 | 通用媒体播放器 |
| GAP_APPEARE_GENERIC_BARCODE_SCANNER 0x02C0 | 通用条码扫描器 |
| GAP_APPEARE_GENERIC_THERMOMETER 0x0300 | 通用温度计 |
| GAP_APPEARE_GENERIC_THERMO_EAR 0x0301 | 温度计:耳朵 |
| GAP_APPEARE_GENERIC_HR_SENSOR 0x0340 | 通用心率传感器 |
| GAP_APPEARE_GENERIC_HRS_BELT 0x0341 | 心率传感器:心率带 |
| GAP_APPEARE_GENERIC_BLOOD_PRESSURE 0x0380 | 通用血压 |
| GAP_APPEARE_GENERIC_BP_ARM 0x0381 | 血压:手臂 |
| GAP_APPEARE_GENERIC_BP_WRIST 0x0382 | 血压:手腕 |
| GAP_APPEARE_GENERIC_HID 0x03C0 | 通用人机接口设备(HID) |
| GAP_APPEARE_HID_KEYBOARD 0x03C1 | HID键盘 |
| GAP_APPEARE_HID_MOUSE 0x03C2 | HID鼠标 |
| GAP_APPEARE_HID_JOYSTIC 0x03C3 | HID操纵杆 |
| GAP_APPEARE_HID_GAMEPAD 0x03C4 | 通用游戏平板 |
| GAP_APPEARE_HID_DIGITIZER_TYABLET 0x03C5 | HID数字化平板电脑 |
| GAP_APPEARE_HID_DIGITAL_CARDREADER 0x03C6 | HID读卡器 |
| GAP_APPEARE_HID_DIGITAL_PEN 0x03C7 | HID数字笔 |
| GAP_APPEARE_HID_BARCODE_SCANNER 0x03C8 | HID条码扫描器 |
本文介绍了CC2640R2F在BLE开发中的GAP配置,包括设备角色配置命令、广播数据类型以及广播发现模式。详细讲述了如何在peripheral_broadcaster.c中调用API进行设置和获取操作,并提到了GAPROLE_PROFILEROLE、GAP_ADTYPE_FLAGS和GAP_ADTYPE_APPEARANCE等关键概念。
5344

被折叠的 条评论
为什么被折叠?



