CC2640R2F BLE 开发之GAP配置命令说明

本文介绍了CC2640R2F在BLE开发中的GAP配置,包括设备角色配置命令、广播数据类型以及广播发现模式。详细讲述了如何在peripheral_broadcaster.c中调用API进行设置和获取操作,并提到了GAPROLE_PROFILEROLE、GAP_ADTYPE_FLAGS和GAP_ADTYPE_APPEARANCE等关键概念。

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_ADDRLE蓝牙设备地址
GAP_ADTYPE_LE_ROLELE角色
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_DATA3D信息数据
GAP_ADTYPE_MANUFACTURER_SPECIFIC制造商特定数据:前2个八位字节包含公司标识符,代码后跟其他制造商特定数据

广播发现模式:

GAP_ADTYPE_FLAGS
广播发现模式说明
GAP_ADTYPE_FLAGS_LIMITEDLE Limited可发现模式
GAP_ADTYPE_FLAGS_GENERALLE一般可发现模式
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 0x03C1HID键盘
GAP_APPEARE_HID_MOUSE 0x03C2HID鼠标
GAP_APPEARE_HID_JOYSTIC 0x03C3HID操纵杆
GAP_APPEARE_HID_GAMEPAD 0x03C4通用游戏平板
GAP_APPEARE_HID_DIGITIZER_TYABLET 0x03C5HID数字化平板电脑
GAP_APPEARE_HID_DIGITAL_CARDREADER 0x03C6HID读卡器
GAP_APPEARE_HID_DIGITAL_PEN 0x03C7HID数字笔
GAP_APPEARE_HID_BARCODE_SCANNER 0x03C8HID条码扫描器
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值