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.

[参考译文] CC1352R:在 FH 模式下以全 PAN 容量关闭网络。

Guru**** 2551110 points


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

https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/1057259/cc1352r-close-network-in-fh-mode-with-full-pan-capacity

器件型号:CC1352R

您好!

网络达到 PAN 容量后、我必须立即关闭网络。 在信标和非信标模式下、您可以将"允许加入"设置为关闭、这就足够了。 但在 FH 模式下、此选项不存在。 因此、节点进入"拒绝访问"模式、不再离开。 如果我打开另一个集电极、注意会发生。 有什么提示吗?

提前感谢

安德烈斯

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

    安德烈斯、您好!

    我不确定传感器节点上的"拒绝访问"模式是什么意思。 但是、发生这种情况时、您可以尝试重新启动传感器或将其发送到启动模式。

    谢谢、

    玛丽·H.

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

    您好、Marie、

    如果 PAN 容量已满、即 收集器已达到其最大器件数量、则响应为 ACCESS_DENIED。 将传感器发送到启动模式可能无法解决这种情况、因为它可能会尝试再次连接到相同的收集器。 我如何确保同一情况不会无休止地重复?

    安德烈斯

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

    安德烈斯、您好!  

    如果我理解正确、您的收集器正在以满容量工作、并且您希望尝试加入此网络的传感器停止尝试。 我正在处理此案例、并将向您提供一些反馈。  

    此致、

    Siddanth

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

    是的、没错。 此外、如果我打开了另一个收集器、则传感器不会"看到"这个新收集器(因为它处于"访问被拒绝"状态且 ParentFound = true)

    我的意思是,如果我有两个收集器,一个是其容量,另一个不是

    谢谢!

    安德烈斯

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

    安德烈斯、您好!

    这可能需要对应用层进行一些修改。 遗憾的是、传感器示例并未完全涵盖整个 PAN 场景。

    执行关联确认回调(assocCnfCb)时,如果 PAN 处于满容量状态,则会看到设备状态和设备启动状态均已设置。 然而、对于这些特定状态、除了更新 CUI 之外什么也不会发生(没有时钟被复位、没有发送新的异步请求、等等)。

        else if((pData->status == ApiMac_assocStatus_panAtCapacity) ||
                (pData->status == ApiMac_assocStatus_panAccessDenied))
        {
            /* Stop Attempting to Join as PAN has reached Capacity or Access denied*/
            switchState(Jdllc_deviceStates_accessDenied);
            updateState(Jdllc_states_accessDenied);
            /* Update stats */
            Sensor_msgStats.joinFails++;
            /* Enter sleep state based on configuration */
            ApiMac_mlmeSetReqBool(ApiMac_attribute_RxOnWhenIdle, CONFIG_RX_ON_IDLE);
        }

    一个很好的起点是查看 switchState (Jdlc_deviceStates_ACCESSDENIED)执行时会发生什么情况。 这将简单地设置 JDLC_State_change_EVT 事件,这将导致 processState()执行。

    processState()中,您必须为 Jdllc_deviceStates_ACCESSDENIED 添加一个特定的情况。 我猜您需要清除设备状态、将 parentFound 设置为 false、并且最有可能重新启动用于异步消息的涓流计时器。

    现在,完成此操作后,您可能需要注意一些其他事项。 主要原因是、即使您到达再次扫描其他收集器的位置、传感器也可能再次尝试加入具有全容量的收集器。

    因此、您可能需要进行某种类型的簿记、以便传感器了解哪些托盘已满。 大多数 Lilley 需要修改异步指示回调(wInds0b)、以便忽略这些 PAN 并为另一个收集器进行传输。

    BR、
    安德烈斯