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.

[参考译文] CC2651R3SIPA:在启用 GAP_BOND_Mgr 时无法发送 GATT_ClientCharCfgUpdated 事件

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1448785/cc2651r3sipa-can-not-send-gatt_clientcharcfgupdated-event-at-enableing-gap_bond_mgr

器件型号:CC2651R3SIPA

工具与软件:

你好。

我已经由配置好的 GAP_BOND_MGR 开发了修改后的 host_test 。

角色是外设。

如果 启用了 GAP_BOND_Mgr、则我们的主机 MCU 无法接收 CCCD 通知或指示的以下事件。

[142] : <Rx> - 06:41:39.020
-Type           : 0x04 (Event)
-EventCode      : 0x00FF (HCI_LE_ExtEvent)
-Data Length    : 0x0A (10) bytes(s)
 Event          : 0x0580 (1408) (GATT_ClientCharCfgUpdated)
 Status         : 0x00 (0) (SUCCESS)
 ConnHandle     : 0x0000 (0)
 PduLen         : 0x04 (4)
 AttrHandle     : 0x000F (15)
 Value          : 0x02 (2)
Dump(Rx):
0000:04 FF 0A 80 05 00 00 00 04 0F 00 02 00          .............

如果 禁用了 GAP_BOND_MGR、则表明  主机 MCU 可以接收到该消息。

我喜欢使用配对序列(绑定管理器)和  ATT 通知/指示序列。

我不能同时使用这两个函数。 为什么?  

SDK 版本为 simplelink_cc13xx_cc26xx_sdk_7_41_00_17。

此致、

冈崎市

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

    冈崎先生、  

    感谢您联系我们。  

    您能否说明尽管未收到 GATT_ClientCharCfgUpdated 事件、通知/指示是否按预期工作?

    另外、您能否向我介绍一下客户启用 通知/指示的方式?

    此致、  

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

    您好!  

    感谢您提供日志。 我看到通知在两种情况下均已正确启用-这是肯定的、您可以考虑 https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1427040/cc2640r2f-gatt_clientcharcfgupdated-is-never-sent-when-requesting-for-notifications 中讨论的权变措施 

    为了进一步调查该问题、您能否就以下内容发表评论?  

    • 请描述启用/禁用  GAP_BOND_MGR 所遵循的程序
    •  启用 GAP_BOND_MGR 后、您是否可以在启用通知之前尝试配对和绑定、并报告是否发生了相同的行为

    此致、  

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

    您好  Okazaki、  

    再次感谢您提供的详细信息。  

    为了彻底起见、您能否确认在修改文件 "Build_config.opt"时  定义符号 GATT_DB_OFF_CHIP?

    此致、  

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

    您好、 Cl é ment-San、

    当前  "Build_config.opt"如下所示。

    -DHOST_CONFIG=PERIPHERAL_CFG+CENTRAL_CFG
    -DHCI_TL_FULL
    -DICALL_LITE_12_PARAMS
    -DNPI_UART_BR=230400
    -DGAP_BOND_MGR_TMP

    此致、  

    冈崎市

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

    你好。

    当 CCCD 被接收时、它不能分配内存。  

    请在下面找到图片。  source cod 靠近 original host_test。

    由于执行了以下处理、因此  不发送 GATT_ClientCharCfgUpdated 事件。

     AUTOHEAPSIZE 设置了 HEAPMGR_SIZE=0x0、因此堆大小为10280 。

    堆空闲大小小于 HEAPMGR_FREE_SAFE_LIMIT (550)。 为什么?  

     

    此致、  

    冈崎市

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

     冈崎先生、  

    这是一个很好的发现,谢谢你注意到。  

    我认为我们应该能让你验证实际可用的堆。 当你达到屏幕截图中显示的断点时、可以打开 ROV 并检查剩余的堆吗? 调试指南提供了执行相同操作的一些指导: https://software-dl.ti.com/simplelink/esd/simplelink_cc13xx_cc26xx_sdk/7.40.00.77/exports/docs/ble5stack/ble_user_guide/html/ble-stack-5.x-guide/debugging-index.html#runtime-object-view-rov 

    之后-假设你确实遇到了堆短缺-我们必须努力找出 RAM 节省、可能的方法是减少某些任务的堆栈(可以使用 ROV 确定选项并在"Task"视图中查看任务-峰值使用情况)。

    此致、  

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

    你(们)好

    我确实告诉你、我已经重新开始为这一问题重新提出要求。

    启用 GAP_BOND_Mgr 后、评估设备是否可以发送 GATT_ClientCharCfgUpdated?

    此致、  

    冈崎市

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

    您好!  

    我不确定我是否理解了您的信息、如果 建议的步骤不明确、请告知我。  

    此致、  

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

    你(们)好

    您是否有 LP-CC2651R3SIPA?

    如果您有、请针对此问题尝试实际相同的过程。

    此致、

    冈崎市

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

    您好!  

    在您的示例中、内存分配似乎失败、我建议进一步研究它。  

    [报价 userid="370266" url="~/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1448785/cc2651r3sipa-can-not-send-gatt_clientcharcfgupdated-event-at-enableing-gap_bond_mgr/5566515 #5566515"]

    我认为我们应该能让你验证实际可用的堆。 当你达到屏幕截图中显示的断点时、可以打开 ROV 并检查剩余的堆吗? 调试指南提供了执行相同操作的一些指导: https://software-dl.ti.com/simplelink/esd/simplelink_cc13xx_cc26xx_sdk/7.40.00.77/exports/docs/ble5stack/ble_user_guide/html/ble-stack-5.x-guide/debugging-index.html#runtime-object-view-rov 

    之后-假设你确实遇到了堆短缺-我们必须努力找出 RAM 节省、可能的方法是减少某些任务的堆栈(可以使用 ROV 确定选项并在"Task"视图中查看任务-峰值使用情况)。

    [报价]

    请告诉我您的进度。  

    我希望这将有所帮助、

    此致、