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.

[参考译文] CC1352P7:当 RxOnIdle 更改时、如何更新收集器#39;s device capabilityInfo?

Guru**** 2404785 points


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

https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/1279137/cc1352p7-how-to-update-the-collector-s-device-capabilityinfo-when-rxonidle-changes

器件型号:CC1352P7

您好!

在信标网络中、一些设备由线路供电、而另一些设备则处于休眠状态。 现在、当加入器件时、收集器会正确处理 器件的 RxOnIdle 状态、因此我可以直接发送消息、而不是等待信标。

现在、当我更改器件上的 rxOnIdle 时、该值不会反映在收集器上、即使在重新引导器件后也不会反映。 如何通知网关器件的 rxOnIdle 状态已更改?

我尝试为 ApiMac_associateIndMp_t 添加回调、因为设备在引导后发送了一个关联请求、但没有在收集器中调用它。

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

    尊敬的 Marjin:

    您正在使用什么 SDK? 您能告诉我您正在使用哪些配置吗?

    此致、

    马尔文  

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

    尊敬的 Marvin:

    我们使用的是 SDK 6.30。

    不确定配置的含义。

    如果您的意思是这样、我们将使用50kbps 的信标模式网络。

    收集器是否应 在每次重新加入后调用 ApiMac_associateIndFp_t 回调?

    此致、

    马里恩

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

    尊敬的 Marijn:

     执行 collector_init 时、仅调用 ApiMac_associateIndMp_t 进行初始化

    为延误道歉。 我看了代码、初始化后似乎无法将器件的正确状态更新到收集器。 但是、我可以选择一个可能有效的解决方案。 assocIndCb()函数(在 cllc.c 中)从 位于 rxOnWhenIdle 中的传感器接收能力信息。 在 assocIndCb 函数中,通过使用 maintainAssocTable()函数将能力信息存储在收集器上。  assocIndCb 检查设备是否已存在、即设备是否正在重新连接。  您需要设置这行代码:

    //更新能力信息
    maintainAssocTable (&DevInfo,&pData->capabilityInformation,1,0,0,
    CLLC_Maintenance_Assoc_table_update);"

    在第1660行(在 cllc.c 中)的 assocIndCb 函数下。

    在 maintainAssocTable()函数中, 当模式为"cllc_maintene_assoc_table_update"时,在"pItem->RSSI = RSSI;"和"pItem->STATUS = STATUS;"下添加" memcpy (&pItem->Capitem -> Capinfo、sizeof (ApiMac_capabilityInfo_t););"。

    在传感器端、您需要发送一条包含能力信息的消息、类型为"ApiMac_mlmeAssociateInd_t"。

    此致、

    马尔文