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.

[参考译文] CC2340R2:连接更新

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1503494/cc2340r2-connection-update

器件型号:CC2340R2

工具/软件:

您好的团队、

客户正在调用 GAP_UpdateLinkParamReq ()以更新连接间隔。 有时、他们会看到此函数返回 bleProcedureComplete、但该函数未在原型中定义。

他们在其 BLE 监听器日志中看不到连接更新请求。

有什么想法吗?

此致、

Luke

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

    嗨、Luke、

    感谢您联系我们! 这当然是奇怪的行为。 您能否回答以下问题:|

    1. 使用的是什么 SDK?
    2. 客户在哪里调用 Gap_Update LinkParamReq
    3. 您能否提供客户在功能中传递的参数?
    4. 您能否提供数据包监听器日志?

    这些问题应该可以帮助我确定问题的确切位置。

    此致、

    Tarek

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

    尊敬的 Tarek:

    他们正在使用 SDK 8.40、并且不会更新到最新的 SDK、因为他们之前已经升级过、目前过于接近生产环境。  

    他们从任务调用该函数、并分享了以下参数:

    void Connection_interval_update(void)
    {
       gapUpdateLinkParamReq_t connectionParameters;
    
        connectionParameters.connectionHandle = 0; 
        connectionParameters.connLatency = 0;
        connectionParameters.connTimeout = 200; // 2 secs
    
        connectionParameters.intervalMax = 56; // 70 msec
        connectionParameters.intervalMin 24; // 30 msec
        connectionParameters.signalIdentifier = 0u; //not sure about this parameter
    
        
        if(BLEAppUtil_paramUpdateReq(&connectionParameters) != USUCCESS)
        {
            // failed
        }
    }
    
    bStatus_t BLEAppUtil_paramUpdateReq(gapUpdateLinkParamReq_t *pReq)
    {
        bStatus_t status = FAILURE;
        linkDBInfo_t linkInfo;
    
        // Verify that the connection is active and send the param update request
        if (linkDB_GetInfo(pReq->connectionHandle, &linkInfo) == SUCCESS)
        {
            status = GAP_UpdateLinkParamReq(pReq);
        }
    
        return status;
    }
    

    e2e.ti.com/.../ConnectionIntervalNegotiation_5F00_75ms_5F00_-SnifferLog_5F00_4_5F00_16_5F00_2025-B.cfa

    已附加监听器日志。 初始连接间隔为75ms。

    如果他们在接收到 BLEAPPUTIL_LINK_RESTED_EVENT 事件后立即发送更新请求、则会发送该请求。 但是、如果用户在配对完成或链接加密后(这是他们的代码最初的方式)发送消息、则 GAP_UpdateLinkParamReq 返回 bleProceduredureComplete。

    此致、

    Luke

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

    您好 Luke、

    感谢您提供! 为了进行澄清、 客户是否可以接受 BLEAPPUTIL_LINK_RESIDEND_EVENT 事件后立即发送请求、或者在该问题上是否阻止了这些请求?

    此致、

    Tarek

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

    尊敬的 Tarek:

    我必须检查有关他们何时应发送更新请求的要求。 如前所述、它们用于在配对之后和链路加密之后(重新连接到之前配对的器件时)发送请求。 但我不确定这是一项要求、还是他们是如何做到的。 我将与客户核实。

    我觉得这是一个软的要求。 如果是这种情况、则可能是阻止器。

    我担心的一点是、他们在项目过程中一次没有出现这个问题(我认为不存在)。 但是、他们没有找到该版本的代码、尽管他们有确认已发送更新请求的监听器文件。 他们仍在寻找此版本的代码。

    此致、

    Luke

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

    尊敬的 Tarek:

    当这些代码 从 SDK simplelink_lowpower_f3_SDK_8_20_00_119迁移到 simplelink_lowpower_f3_SDK_8_40_00_6时、便开始出现该问题。 如果它们返回到8.20.00.119、则会像以前一样发送连接更新请求。

    它们 需要传递到 GAP_UpdateLinkParamReq ()的参数是否已更改?

    此致、

    Luke

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

    嗨、Luke、

    我在电子邮件中提供了回复!

    此致、

    Tarek