主题中讨论的其他器件:SysConfig
您好!
在使用 simplelink_cc13xx_cc26xx_sdk_6_20_00_29的项目中、我们实现了服务更改指示触发器、并且我们观察到了固件升级后发生触发的一些问题。
然后、在检查根本原因时、我发现 缺少特性中心地址解析(0x2AA6)、这实际上会更改属性表中后续特性的值句柄。
我想知道这种新特性如何以及为什么取决于服务更改指示以及如何消除它?
谢谢你。
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
您好!
在使用 simplelink_cc13xx_cc26xx_sdk_6_20_00_29的项目中、我们实现了服务更改指示触发器、并且我们观察到了固件升级后发生触发的一些问题。
然后、在检查根本原因时、我发现 缺少特性中心地址解析(0x2AA6)、这实际上会更改属性表中后续特性的值句柄。
我想知道这种新特性如何以及为什么取决于服务更改指示以及如何消除它?
谢谢你。
大家好、Jan、
感谢您的立即响应。
我们使用 simple_peripheral 示例项目、其中我们已根据要求更改了应用级。
我可以在最新的 SDK 版本中检查它。
同时、我尝试读取0x2AA6特性、观察到其响应" 此器件不支持地址分辨率"(下面屏幕截图中的最后一行)
您还可以说明下一页、不清楚、此处可选或 C3意味着什么、对于 SimplePeripheral 项目、该选项是否可选?
大家好、Jan、
再说一次、我将在不尝试建议的选项的情况下回来。
但我有更多的证据导致了问题的根源。
我发现问题在于 TI 团队共享的 gapgattserver.c 文件、其中禁用了中心地址解析字符。
实际上、gapgattserver.c 文件是在堆栈中预编译的、但由于通用访问器件名称长度存在限制、因此根据我们收到的请求、我们将该文件作为临时解决方案。 请在此处了解更多详细信息 CC2651R3:通用访问服务中的器件名称特征长度限制为21?? -蓝牙论坛- Bluetooth︎ 支持论坛- TI E2E 支持论坛
现在我请你告诉我:
1.在更新的 SDK (最近版本)中、是否修改了 gapgattserver.c 文件以消除 器件长度到20字节的限制?
2.如果已更新 SDK 中的 gapgattserver.c 也具有 禁用中央地址解析字符。
答 :如果是,那么当值句柄发生变化时,我们现在该如何处理服务更改指示的通用访问特性位置的变化?
b.如果不是、请告诉 我为什么 在与我们共享的 gapgattserver.c 文件中禁用中心地址解析字符?
谢谢你。
大家好、Jan、
感谢您共享 gapgattserver.c 文件。
我把它和你之前分享的一个比较了,除了版权信息,两个看起来都一样。
我再次验证了问题、看起来像:
当我在不使用 gapgattserver.c 文件(gattserver.c 在堆栈库中预编译)的情况下进行测试时、它会在 Generic Access Service 中显示 CAR 特性、但当我使用您共享的文件时、它不会在 Generic Access Service 中显示 CAR 特性。
请再次检查这一点、如果我在本地使用而不是在堆栈库中预编译、请告诉我 gapgatserver.c 文件是否存在一些依赖关系。
谢谢你。
您好!
感谢您的确认。 我仔细研究了这种行为、我想我看到发生了什么。 在源代码文件中、仅当定义了 central_CFG 符号时才会定义 CAR 特性。 CFG 符号在.opt 文件(通过 SysConfig 生成)中定义。 当以外设角色运行时、不定义 CENTRAL_CFG 符号。 因此、通过将源文件导入到工程中、然后当工程编译并发现 central_CFG 符号不存在时、将跳过添加 CAR 特性的代码。 我猜是、在 SDK 构建过程中编译 SDK 源文件时、会为该特定文件定义 central_CFG 符号、这就是我们看到它的原因。
我将向研发部门提交一个 TT、以便他们查看并解决问题。
此致、
1月