因此,我目前正在规划蓝牙低耗能设备的代码,该蓝牙低功耗设备将使用蓝牙规范中的HID over GATT配置文件进行操作。我已经阅读了HID规范1.11和使用表格1.12,但我找不到任何关于Usage_pages和Usages的最低要求使用情况。在报告描述符中HID用法的裸要求是什么?
由于我们正在实施主机和设备,因此我们的计划是为报告描述符使用供应商定义的使用页面,但由于我们的目标是快速连接和低功耗,因此我不想在GATT上的HID的报告定义阶段发送比我必须多的字节。因此,我正在考虑删除通常会标记输入/输出的所有用法,因为它们看起来只有语义。
这里是我考虑的一个样本:
Usage_Page(Vendor Defined)
Usage(Vendor 1)
Collection(Application)
Collection(Logical) ; First Collection and Report
Report_ID(1)
Usage_Page(Button) ; This is what the Specification seems to encourage
Usage_Minimum(Button 1)
Usage_Maximum(Button 3)
Logical_Minimum(0) ; Logical Limits
Logical_Maximum(1)
Report_Size(3) ; 3 Bits corresponding to the Buttons
Report_Count(1) ; 1 of the 3 Bit set
Input(Data, Variable, Absolute) ;Make it an input
Report_Size(5)
Report_Count(1)
Input(Constant) ; Pad the transmitted Byte
Collection End
Collection End
当我看这个,我看到了很多,因为我不使用本地解析器,什么也不做额外的字节。这些范围从用途到甚至逻辑最小/最大值。 业内人士或者对标准有更好的认识(无论是HID或GATT还是USB HID)都会告诉我,如果我只是将报告描述符定义为仅使用顶级用法并且不使用逻辑最高配置?
谢谢!这里所关心的是尽量减少配对时间,所以这完全回答了我关于报告描述符的问题。作为一个方面说明,我不介意使用预先定义的使用说明,但是,因为我真的想为单个指示器LED发送RGB数据,所以我没有发现任何内容(除了字母数字使用情况页面)预期的情况。如果有一种解决方法不涉及在数据中传输矩阵索引,我很乐意听到它。 – hanseltime
事实上,RGB LED在95年似乎是科幻小说。太糟糕了,他们没有把它包含在Led页面中。我的旁注与上面发布的报告描述符相关,只有3个按钮。我必须同意字母数字显示看起来像过去没有人实现过的规范,即使[HUTRR29b](http://www.usb.org/developers/hidpage/HUTRR29b.pdf)可能允许声明一个1x1显示器,我不会推荐它。 – Nipo