From d7c62ce0efab639833b5de9775ea2e6d37c1c718 Mon Sep 17 00:00:00 2001 From: Kamil Kasperczyk Date: Thu, 4 Feb 2021 09:34:14 +0100 Subject: [PATCH] connectedhomeip: lock: added erasing Thread configuration on boot * Currently CHIP does not fully support saving data in the persistent storage, so saving only part of it (Thread configuration) might be confusing. Added erasing Thread configuration on init then. * Added setting Thread device type to MED. Signed-off-by: Kamil Kasperczyk --- samples/connectedhomeip/lock/src/main.cpp | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/samples/connectedhomeip/lock/src/main.cpp b/samples/connectedhomeip/lock/src/main.cpp index 95e4754d86f8..9a109634ccd5 100644 --- a/samples/connectedhomeip/lock/src/main.cpp +++ b/samples/connectedhomeip/lock/src/main.cpp @@ -30,17 +30,31 @@ int main() return ret; } - ret = ThreadStackMgr().InitThreadStack(); + ret = PlatformMgr().StartEventLoopTask(); if (ret != CHIP_NO_ERROR) { - LOG_ERR("ThreadStackMgr().InitThreadStack() failed"); + LOG_ERR("PlatformMgr().StartEventLoopTask() failed"); return ret; } - ret = PlatformMgr().StartEventLoopTask(); + ret = ThreadStackMgr().InitThreadStack(); if (ret != CHIP_NO_ERROR) { - LOG_ERR("PlatformMgr().StartEventLoopTask() failed"); + LOG_ERR("ThreadStackMgr().InitThreadStack() failed"); return ret; } + /* Until all CHIP data needed to perform full communication are not saved in the persistent storage, + * Thread configuration should not be saved either. + * TODO: Remove it after having full support for persistent storage in CHIP */ + if(otDatasetIsCommissioned(openthread_get_default_instance())) { + ConnectivityMgr().ErasePersistentInfo(); + } + + ret = ConnectivityMgr().SetThreadDeviceType(ConnectivityManager::kThreadDeviceType_MinimalEndDevice); + if (ret != CHIP_NO_ERROR) + { + LOG_ERR("ConnectivityMgr().SetThreadDeviceType() failed"); + return ret; + } + return GetAppTask().StartApp(); }