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.

[参考译文] CC2640R2F:请求通知时、从不发送 GATT_ClientCharCfgUpdate

Guru**** 1953960 points
Other Parts Discussed in Thread: BLE-STACK, CC2640
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1427040/cc2640r2f-gatt_clientcharcfgupdated-is-never-sent-when-requesting-for-notifications

器件型号:CC2640R2F
Thread 中讨论的其他器件:BLE-STACKCC2640

工具与软件:

您好!

我正在处理一个项目、我们即将完成从使用 CC2640和 BLE-Stack 2.2.4到使用 CC2640R2和5.30 SDK 的过渡。 对于这两款 MCU、我们的应用程序基于 host_test 示例应用程序。 我们对 CC2640R2所做的是 、从5.30 SDK 中提供的 host_test 示例应用程序开始全新操作(使用 blestack、而不是 ble5stack)、然后将我们的自定义逻辑移植到 示例应用程序之上。 我们的 CC2640R2充当调制解调器、通过 SPI 将 HCI 命令来回传递到另一个 MCU (我们的主 MCU)。

我们的问题是、当我们针对特征之一启用通知时、我们可以 从监听中看到 GATT 客户端(电话)和 GATT 服务器(调制解调器)正确执行写入请求/响应序列以启用通知、但我们从未收到 GATT_ClientCharCfgUpdated 从调制解调器通过 HCI 发送事件。 我们还能够确认通知已启用、因为如果我们从主 MCU 发布到特征、客户端会正确接收值。

调制解调器上是否有一些附加的堆栈和/或应用配置要发送此事件、或者默认情况下是否为任何特性启用此配置? 我们的服务和特征在运行时使用 HCI 进行注册、并且针对 CC2640R2的注册方法与针对 CC2640的注册方法相同、在此我们可获得此 HCI 事件。

如果有任何帮助、我不介意提供监听器捕获和日志。

此致、

Kristoff

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的  Kristoff,  

    感谢您联系我们。  

    您能提供以下帮助吗?

    -你现在在使用哪种堆栈? (BLEStack 或 BLE5Stack)

    -您能提供您使用 CC2640获得的日志吗?

    我不确定  GATT_ClientCharCfgUpdated   CC2640R2平台上存在该活动。  
    然后、一种权变措施是在您完成对 CCCD 的 GATT 写入操作后立即将通知视为已启用。  

    我希望这将有所帮助、

    此致、  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Cl é ment:

    1.我们使用的是 BLEStack。
    2.当然、请查看附带的压缩文件。 数据包705-708是启用通知并在数据包1842中更新值的位置。

    e2e.ti.com/.../cc2640_5F00_captures.zip

    噢、是这样。 我认为仍然会如此 、如 TI BLE-Stack HCI 供应商特定指南中所述、  19.1 GATT_ClientCharCfgUpdated (0x0580) . 如果它仍然存在、我们希望使用它保持向后兼容、但如果它不存在、我们将不得不重新考虑。 提供的日志将显示我们在更新用户注册的特性时具有自定义 HCI 事件( USR_EVENT_CCC_VAL_CHANGED )、我们可能会使用它们代替。

    此致、
    Kristoff

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Cl é ment!

    我认为、我们已经找到了一种办法、以便在我们组装的地方继续前进  GATT_ClientCharCfgUpdated 然后将其发送到主 MCU。 尽管在此之前、 我想先确定此事件已从 CC2640R2平台上删除、

    我可以看到、它 gattservapp.h 具有一个 GATTServApp_SendCCCUpdatedEvent()用于发送的函数  GATT_CLIENT_CHAR_CFG_UPDATED_EVENT 对于应用、我猜测这适用于 simple_peripheral、simple_central 等应用、其中应用和堆栈都在 target (?)上运行。 该描述类似于我希望  从 host_test 中作为 HCI 事件获得的描述、至少根据这些 文档这样。

    此致、
    Kristoff

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!  

    我相信我们已经找到了一种方法来继续装配  GATT_ClientCharCfgUpdated 然后将其发送到主 MCU。[/QUOT]

    非常好、如果您愿意、我可以审查您的实施情况并发表评论。  

    我可以看到 gattservapp.h 有一个 GATTServApp_SendCCCUpdatedEvent()用于发送的函数  GATT_CLIENT_CHAR_CFG_UPDATED_EVENT 对于应用、我猜测这适用于 simple_peripheral、simple_central 等应用、其中应用和堆栈都在 target (?)上运行。 该说明  至少根据 docs 文件[/报价]、与我预期从 host_test 中作为 HCI 事件获得的说明类似。

    您是对的  GATT_CLIENT_CHAR_CFG_UPDATED_EVENT  由堆栈传递给应用程序。 如果这不是您已执行的操作、您可以考虑将此事件转发到主机器件。  

    此致、  

    [/quote]
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    因延迟响应而道歉。 谢谢您的提议、但我认为这没有必要。

    此致、

    Kristoff