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.

[参考译文] CC1312R:处理收集器出厂复位后的取消关联通知

Guru**** 2540720 points


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

https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/1126682/cc1312r-processing-disassociation-notification-after-factory-reset-of-a-collector

器件型号:CC1312R

客户正在使用 TI15.4、并对临界情况有疑问:如果收集器由于某种原因关闭并替换为具有相同 PAN ID 和通道的新收集器、如何使孤立的传感器加入新收集器?

我从用户指南中了解到、当接收到来自收集器关联表中未包含的传感器的数据请求时、收集器有责任解除传感器的关联。 我尝试执行此操作、但遇到了问题。

为了实现这一点,我在 从“未知”设备接收孤立通知时调用了 ApiMac_mlmeDisassociateReq():

static void orphanIndCb(ApiMac_mlmeOrphanInd_t *pData)
{
    ...

    if(Csf_getDevice(&devAddr, &item))
    {
        ...
    }
#ifdef DISASSOCIATE_UNKNOWN_DEVICE
    else
    {
        // Assume the sensor is a sleepy device
        Cllc_sendDisassociationRequestWithExtAddr(&devAddr.addr.extAddr, false);
    }
#endif // DISASSOCIATE_UNKNOWN_DEVICE
    ...
}

void Cllc_sendDisassociationRequestWithExtAddr(ApiMac_sAddrExt_t *pExtAddr,bool rxOnIdle)
{
    volatile ApiMac_status_t status;
    ApiMac_mlmeDisassociateReq_t disassocReq;
    memset(&disassocReq, 0, sizeof(ApiMac_mlmeDisassociateReq_t));
    disassocReq.deviceAddress.addrMode = ApiMac_addrType_extended;
    memcpy(disassocReq.deviceAddress.addr.extAddr, pExtAddr, sizeof(ApiMac_sAddrExt_t));
    disassocReq.devicePanId = coordInfoBlock.panID;
    disassocReq.disassociateReason = ApiMac_disassocateReason_coord;
    if(rxOnIdle == false)
    {   /* Sleep device */
        disassocReq.txIndirect = true;
    }
    else
    {   /* Non-sleep device */
        disassocReq.txIndirect = false;
    }
    status = ApiMac_mlmeDisassociateReq(&disassocReq);
}

我使用了一个收集器和一个传感器来测试外壳。 传感器加入收集器的 PAN ID 后、我关闭收集器并等待传感器成为孤立状态。 我可以看到传感器按预期发送孤立通知。 之后、我对收集器执行出厂复位、 形成网络并打开允许加入、但收集器未响应通知:

仔细检查代码后、我意识到取消关联请求是一个间接命令、仅在传感器轮询后发送。 但传感器仅发送孤立通知、不会在孤立模式下发送数据请求。 所以我被困在这里、不知道接下来该怎么做...

请建议在这种情况下如何解除传感器的关联、或者是否有方法使传感器加入新的收集器而不断开它们的关联?

此致、

水阳