|
查看: 4041|回复: 4

关于zb_factoryReset()接口的问题

[复制链接]

22

主题

35

回帖

288

积分

华贵铂金

积分
288
发表于 2024-9-30 11:07:57 | 显示全部楼层 |阅读模式 来自 广东深圳
大家好,

     zb_factoryReset()这个接口是恢复出厂设置,它会把所有的nv擦除,如果我想保留我自己的nv需要怎么,或者说我只需要leave 当前网络,我暂时没有找到相应的接口,zb_nlmeLeaveReq(&leaveReq)我尝试用这个接口似乎没有实现,希望得到你们的帮助,谢谢

29

主题

364

回帖

1167

积分

版主

积分
1167
发表于 2024-10-8 16:02:33 | 显示全部楼层 来自 上海

nv_sts_t nv_resetToFactoryNew(void){
#if NV_ENABLE
        if(!nv_facrotyNewRstFlagCheck()){
                nv_facrotyNewRstFlagSet();
        }

        foreach(i, NV_MAX_MODULS){
                if(i != NV_MODULE_NWK_FRAME_COUNT &&
                   i != NV_MODULE_APP){ //keep app area
                        nv_resetModule(i);
                }
        }

        nv_facrotyNewRstFlagClear();
#endif
        return NV_SUCC;
}

22

主题

35

回帖

288

积分

华贵铂金

积分
288
 楼主| 发表于 2024-10-11 21:38:24 | 显示全部楼层 来自 广东深圳
你好,这接口似乎没有先发出leave 命令,是否有接口提供leave,而不删除用户的nv数据接口?

29

主题

364

回帖

1167

积分

版主

积分
1167
发表于 2024-10-12 12:08:40 | 显示全部楼层 来自 上海
本帖最后由 TL_YB 于 2024-10-12 12:11 编辑
haiou 发表于 2024-10-11 21:38
你好,这接口似乎没有先发出leave 命令,是否有接口提供leave,而不删除用户的nv数据接口? ...

调用zb_factoryReset()后,协议栈底层会先广播leave,然后自动调用nv_resetToFactoryNew()擦除NV信息。
按照上面的修改,就不会擦除APP区域的信息。(如果你的信息存储在APP区域,执行factory new操作,你的信息将会保留)

22

主题

35

回帖

288

积分

华贵铂金

积分
288
 楼主| 发表于 2024-10-13 11:31:12 | 显示全部楼层 来自 广东深圳
好的,非常感谢

本版积分规则

关注公众号
隐私政策|Telink forum

相关侵权、举报、投诉及建议等,请发 E-mail:forum@telink-semi.com

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.|沪ICP备17008231号-1 |沪公网安备31011502403548号

在本版发帖返回顶部