CSR蓝牙的Class of Device的说明

在设备被发现阶段,设备的Class of device被提供出来。指出此设备是何种类型,以及支持哪些服务。

回想前面HCI章节所说,Inquiry时,会返回找到的设备信息,其中包括BDADDR等。其中dev_class字段就是Class of Device.

typedef struct {
bdaddr_t bdaddr;
uint8_t pscan_rep_mode;
uint8_t pscan_period_mode;
uint8_t pscan_mode;
uint8_t dev_class[3];
uint16_t clock_offset;
} __attribute__ ((packed)) inquiry_info;

Class of Device parameter包括:

Bluetooth Device Class:主class和次class
Bluetooth Service Type.

至于Class of Device 哪些位表达什么意思,可以从以下网页找到详细说明:

https://www.bluetooth.org/Technical/AssignedNumbers/baseband.htm

以下用4个典型例子来说明:

实战Linux <wbr>Bluetooth编程 <wbr>(八) <wbr> <wbr>Class <wbr>of <wbr>Device

dev_class[0] : Octer1. (此项存疑)

dev_class[1]: Octer2

dev_class[2]: Octer3.

例1:

class[0] = 4

class[1] = 1

class[2] = 3E

Class[1] = 1 指明第8位为1。查网页,表明是(计算机(台式机、笔记本、PDA、organizer ....))

Class[0] = 4 指明第2位为1。表明:台式机工作站

Class[2] = 3E. 表明17-21位均为1。

17网络(LAN、Ad hoc ...)
18渲染(打印、扬声器 ...)
19捕捉(扫描仪、麦克风 ...)
20对象传输(v-Inbox、v-Folder ...)
21音频(扬声器、麦克风、耳机服务 ...)

表明这是一台台式机,支持以上各种服务。

例2:

class[0] = 4

class[1] = 1

class[2] = 0

Class[1] = 1 指明第8位为1。查网页,表明是(计算机(台式机、笔记本、PDA、organizer ....))

Class[0] = 4 指明第2位为1。表明:台式机工作站

表明这是一台台式机。 但什么都不支持。

例3:

class[0] = 80

class[1] = 25

class[2] = 0

先看主设备:class[1] = 25, 表明8,10,13 位为1。

8,10位为1 表明是 配件(鼠标、游戏杆、键盘 .....)

13位为1:有限可发现模式 (Sam: 并不是一直可见,而是按键后才可见)

再看次设备:class[0] = 80, 表明第7位为1。表明指向设备。呵呵,就是鼠标了。

例4:

class[0] =4

class[1] = 25

class[2] = 0

先看主设备:class[1] = 25, 表明8,10,13 位为1。

8,10位为1 表明是 配件(鼠标、游戏杆、键盘 .....)

13位为1:有限可发现模式 (Sam: 并不是一直可见,而是按键后才可见)

再看次设备:class[0] = 4, 表明第3位为1。表明游戏杆。


=========================================================================================================================

基带
Content Description

​基带的分配编号确定查询访问码和设备/服务类别(CoD)字段。

Content Body

Bluetooth

®

基带

通用及设备特定的查询访问码(DIAC)

查询访问码(IAC)是寻找蓝牙设备和服务的第一个过滤层。定义多个IAC的主要目的是限制查看范围内的设备时响应的数量。

#LAP值用途
00x9E8B33通用/无限查询访问码 (GIAC)
10x9E8B00有限的专用查询访问码 (LIAC)
2 630x9E8B01-0x9E8B32, 0x9E8B34-0x9E8B3F留待将来使用

表1:查询访问码:

有限查询访问码 (LIAC) 仅用于限定的时段,在两边均已明确要进入此状态的情况下使用,通常由用户操作。有关 LIAC 使用的详细说明,请参考通用访问配置文件

相反,允许持续扫描通用查询访问码 (GIAC) 并在查询时响应。

设备/服务类别字段

设备/服务类别 (CoD) 字段的格式可以改变。格式通过 CoD 中的“格式类型字段”指明。格式类型字段的长度为变量,以不同于“11”的两位数结束。版本字段从CoD的最低有效位开始,并向上延伸。

在CoD的“format #1”(格式类型字段 = 00)中,11位分配为位掩码(可以设定多个位),每个位对应于一个高级别的通用服务类别。当前定义了7种类别。主要是“公共服务”属性。其余的11位用于指示设备类别和其他的设备特定特性。任何保留的但未分配的位,如在主要服务类字段中,应设为0。

主要服务类

主要和次要设备类用于定义Bluetooth SIG成员希望与其应用程序相关联的设备通用系列。不应仅根据主要或次要设备类的分配而作出有关任何应用的特定功能或特性的假设。

位数主要服务类
13有限可发现模式[Ref #1]
14(保留)
15(保留)
16定位(位置标识)
17网络(LAN、Ad hoc ...)
18渲染(打印、扬声器 ...)
19捕捉(扫描仪、麦克风 ...)
20对象传输(v-Inbox、v-Folder ...)
21音频(扬声器、麦克风、耳机服务 ...)
22电话(无绳电话、调制解调器、耳机服务 ...)
23信息(WEB 服务器、WAP 服务器)

表2:主要服务类

[Ref #1:请参阅通用访问配置文件(请参阅相关核心规格中的通用访问配置文件)]

主要设备类

主要设备类段是定义蓝牙设备的最高粒度级别。设备的主要功能用于确定主要类分组。有32种不同的主要类。此主要类字段的分配在表中进行了定义。

12111098主要设备类
00000其他 [Ref #2]
00001计算机(台式机、笔记本、PDA、organizer ....)
00010电话(手机、无绳、支付电话、调制解调器 ...)
00011LAN/网络接入点
00100音频/视频(耳机、扬声器、立体声、视频显示、VCR.....
00101配件(鼠标、游戏杆、键盘 .....)
00110成像(打印、扫描仪、相机、显示 ...)
00111可穿戴
01000玩具
01001健康
11111未分类:未指定设备代码
XXXXX所有其他保留值

表3:主要设备类

[Ref #2:用于更多特定的主要设备类代码不适合的位置(但仅在此文档中指定)。没有指定主要类代码的设备在“分类”之前可以使用全为1的代码]

次要设备类字段

“次要设备类字段”(CoD 中的位7至2)应仅在主要设备类(但独立于服务类字段)环境中解释。因此随着“主要设备类字段”的值变动,位的意义也会改变。当次要设备类字段指示设备类时,则应报告主要设备类,例如也可以用作无绳手持设备的手机应在次要设备类字段中使用“Cellular”。

次要设备类字段 - 计算机主要类

765432CoD次要设备类位数
000000未分类,未指定设备代码
000001台式机工作站
000010服务器类计算机
000011膝上型电脑
000100手持 PC/PDA (clamshell)
000101掌上型 PC/PDA
000110可穿戴计算机(手表大小)
000111平板电脑
XXXXXX所有其他保留值

表4:用于“计算机”主要类的子设备类字段

CoD次要设备类位数

765432次要设备类字段 - 电话主要类
000000未分类,未指定设备代码
000001手机
000010无绳
000011智能手机
000100有线调制解调或语音网关
000101通用 ISDN 接入
XXXXXX所有其他保留值

表5:“电话”主要类的子设备类

次要设备类字段 – LAN/网络接入点主要类

765CoD次要设备类
000完全可用
0011%至17%的利用率
01017%至33%的利用率
01133%至50%的利用率
10050%至67%的利用率
10167%至83%的利用率
11083%至99%的利用率
111无可用服务
XXX所有其他保留值

表6:LAN/网络接入点负载因素字段

精确的负载公式未标准化。依赖每个 LAN /网络接入点实施来确定报告为利用率百分比的内部条件。对数字仅有的要求是反应方格内通信资源持续增长的利用率。建议:定位多个 LAN/网络接入点的客户应尝试连接到报告最低负载的一个接入点。

432CoD次要设备类位数
000未分类(其他值不适用时使用此值)
XXX所有其他保留值

表7:LAN/网络接入点的保留子字段

次要设备类字段 - 音频/视频主要类

765432CoD次要设备类位数
000000未分类,未指定代码
000001可穿戴耳机设备
000010免提设备
000011(保留)
000100麦克风
000101扬声器
000110耳机
000111便携式音频
001000汽车音频
001001机顶盒
001010HiFi 音频设备
001011VCR
001100摄像机
001101便携式摄像放像一体机
001110视频监控
001111视频显示器和扬声器
010000视频会议
010001(保留)
010010游戏/玩具
XXXXXX所有其他保留值

表8:“音频/视频”主要类的子设备类

次要设备类字段 - 外围设备主要类

76CoD次要设备类位数
00非键盘/非指向设备
01键盘
10指向设备
11键盘/指向套装设备

表9:外围设备主要类键盘/指向设备字段

位6和7独立地指定鼠标、键盘或鼠标套装/键盘设备。这些可能在多功能设备中通过低位组合在一起。

5432CoD次要设备类位数
0000未分类设备
0001游戏杆
0010游戏垫
0011遥控
0100传感设备
0101数字转换器表
0110读卡器(例如 SIM 卡读卡器)
0111数码笔
1000掌上条形码扫描仪、无线射频识别等
1001手持手势输入设备(如“手持式操作器(Wand)”)
XXXX所有其他保留值

表10:外围设备主要类别的次要类位2至5

次要设备类字段 - 成像主要类

7654CoD次要设备类位数
XXX1显示器
XX1X相机
X1XX扫描仪
1XXX打印机
XXXX所有其他保留值

表11:成像主要类位4至7

位 4 至 7 独立地指定显示器、相机、扫描仪或打印机。这些可以组合在一个多功能设备中。

32CoD次要设备类位数
00未分类,默认
XX所有其他保留值

表12:成像主要类位2至3

位2和3得到保留

次要设备类字段 - 可穿戴主要类

次要类段是定义蓝牙设备的粒度最低级别。有64 种不同的次要类。

765432CoD次要设备类位数
000001腕表
000010寻呼机
000011夹克
000100头盔
000101眼镜
XXXXXX所有其他保留值

次要设备类字段 - 玩具主要类

765432CoD次要设备类位数
000001机器人
000010车辆
000011玩具娃娃/玩具人
000100控制器
000101游戏
XXXXXX所有其他保留值

次要设备类字段 - 健康

765432CoD次要设备类位数
000000未定义
000001血压监测器
000010温度计
000011体重仪
000100血糖仪
000101脉搏血氧仪
000110心率/脉搏率监测器
000111健康数据显示器
001000计步器
001001人体成分分析仪
001010尖峰吐气流速测量仪
001011药物监测计
001100假膝
001101踝关节假体
001110通用健康管理器
001111个人移动设备
XXXXXX所有其他保留值


  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值