Skip to content

Commit 5f0b920

Browse files
erjiaqingbukepo
andauthored
[nrf5-example] Use ConfigurationMgr().InitiateFactoryReset() (project-chip#1317)
* Add factory reset to NRF5 platform * Make name consistent with ot * Update src/platform/nRF5/ConfigurationManagerImpl.cpp Co-authored-by: Yakun Xu <xyk@google.com> Co-authored-by: Yakun Xu <xyk@google.com>
1 parent 193db63 commit 5f0b920

11 files changed

+22
-28
lines changed

examples/lock-app/nrf5/main/AppTask.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -338,7 +338,7 @@ void AppTask::FunctionTimerEventHandler(AppEvent * aEvent)
338338
{
339339
// Actually trigger Factory Reset
340340
sAppTask.mFunction = kFunction_NoneSelected;
341-
ThreadStackMgr().FactoryReset();
341+
ConfigurationMgr().InitiateFactoryReset();
342342
}
343343
}
344344

src/include/platform/ConnectivityManager.h

+3-3
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,7 @@ class ConnectivityManager
136136
CHIP_ERROR SetThreadPollingConfig(const ThreadPollingConfig & pollingConfig);
137137
bool IsThreadAttached(void);
138138
bool IsThreadProvisioned(void);
139-
void ClearThreadProvision(void);
139+
void ErasePersistentInfo(void);
140140
bool HaveServiceConnectivityViaThread(void);
141141

142142
// Internet connectivity methods
@@ -441,9 +441,9 @@ inline bool ConnectivityManager::IsThreadProvisioned(void)
441441
return static_cast<ImplClass *>(this)->_IsThreadProvisioned();
442442
}
443443

444-
inline void ConnectivityManager::ClearThreadProvision(void)
444+
inline void ConnectivityManager::ErasePersistentInfo(void)
445445
{
446-
static_cast<ImplClass *>(this)->_ClearThreadProvision();
446+
static_cast<ImplClass *>(this)->_ErasePersistentInfo();
447447
}
448448

449449
inline bool ConnectivityManager::HaveServiceConnectivityViaThread(void)

src/include/platform/ThreadStackManager.h

+3-8
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,7 @@ class ThreadStackManager
106106
bool IsThreadAttached(void);
107107
CHIP_ERROR GetThreadProvision(Internal::DeviceNetworkInfo & netInfo, bool includeCredentials);
108108
CHIP_ERROR SetThreadProvision(const Internal::DeviceNetworkInfo & netInfo);
109-
void ClearThreadProvision(void);
109+
void ErasePersistentInfo(void);
110110
ConnectivityManager::ThreadDeviceType GetThreadDeviceType(void);
111111
CHIP_ERROR SetThreadDeviceType(ConnectivityManager::ThreadDeviceType threadRole);
112112
void GetThreadPollingConfig(ConnectivityManager::ThreadPollingConfig & pollingConfig);
@@ -232,9 +232,9 @@ inline CHIP_ERROR ThreadStackManager::SetThreadProvision(const Internal::DeviceN
232232
return static_cast<ImplClass *>(this)->_SetThreadProvision(netInfo);
233233
}
234234

235-
inline void ThreadStackManager::ClearThreadProvision(void)
235+
inline void ThreadStackManager::ErasePersistentInfo(void)
236236
{
237-
static_cast<ImplClass *>(this)->_ClearThreadProvision();
237+
static_cast<ImplClass *>(this)->_ErasePersistentInfo();
238238
}
239239

240240
inline ConnectivityManager::ThreadDeviceType ThreadStackManager::GetThreadDeviceType(void)
@@ -297,11 +297,6 @@ inline CHIP_ERROR ThreadStackManager::GetPrimary802154MACAddress(uint8_t * buf)
297297
return static_cast<ImplClass *>(this)->_GetPrimary802154MACAddress(buf);
298298
}
299299

300-
inline void ThreadStackManager::FactoryReset()
301-
{
302-
return static_cast<ImplClass *>(this)->_FactoryReset();
303-
}
304-
305300
} // namespace DeviceLayer
306301
} // namespace chip
307302

src/include/platform/internal/GenericConnectivityManagerImpl_NoThread.h

+2-2
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ class GenericConnectivityManagerImpl_NoThread
5353
CHIP_ERROR _SetThreadPollingConfig(const ConnectivityManager::ThreadPollingConfig & pollingConfig);
5454
bool _IsThreadAttached(void);
5555
bool _IsThreadProvisioned(void);
56-
void _ClearThreadProvision(void);
56+
void _ErasePersistentInfo(void);
5757
bool _HaveServiceConnectivityViaThread(void);
5858

5959
ImplClass * Impl() { return static_cast<ImplClass *>(this); }
@@ -96,7 +96,7 @@ inline bool GenericConnectivityManagerImpl_NoThread<ImplClass>::_IsThreadProvisi
9696
}
9797

9898
template <class ImplClass>
99-
inline void GenericConnectivityManagerImpl_NoThread<ImplClass>::_ClearThreadProvision(void)
99+
inline void GenericConnectivityManagerImpl_NoThread<ImplClass>::_ErasePersistentInfo(void)
100100
{}
101101

102102
template <class ImplClass>

src/include/platform/internal/GenericConnectivityManagerImpl_Thread.h

+3-3
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ class GenericConnectivityManagerImpl_Thread
6464
CHIP_ERROR _SetThreadPollingConfig(const ConnectivityManager::ThreadPollingConfig & pollingConfig);
6565
bool _IsThreadAttached(void);
6666
bool _IsThreadProvisioned(void);
67-
void _ClearThreadProvision(void);
67+
void _ErasePersistentInfo(void);
6868
bool _HaveServiceConnectivityViaThread(void);
6969

7070
// ===== Members for use by the implementation subclass.
@@ -119,9 +119,9 @@ inline bool GenericConnectivityManagerImpl_Thread<ImplClass>::_IsThreadProvision
119119
}
120120

121121
template <class ImplClass>
122-
inline void GenericConnectivityManagerImpl_Thread<ImplClass>::_ClearThreadProvision(void)
122+
inline void GenericConnectivityManagerImpl_Thread<ImplClass>::_ErasePersistentInfo(void)
123123
{
124-
ThreadStackMgrImpl().ClearThreadProvision();
124+
ThreadStackMgrImpl().ErasePersistentInfo();
125125
}
126126

127127
template <class ImplClass>

src/include/platform/internal/GenericNetworkProvisioningServerImpl.ipp

+2-2
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,8 @@
2727
#define GENERIC_NETWORK_PROVISIONING_SERVER_IMPL_IPP
2828

2929
#include <platform/internal/CHIPDeviceLayerInternal.h>
30-
#include <platform/internal/NetworkProvisioningServer.h>
3130
#include <platform/internal/GenericNetworkProvisioningServerImpl.h>
31+
#include <platform/internal/NetworkProvisioningServer.h>
3232
#if CHIP_DEVICE_CONFIG_ENABLE_THREAD
3333
#include <platform/ThreadStackManager.h>
3434
#endif // CHIP_DEVICE_CONFIG_ENABLE_THREAD
@@ -431,7 +431,7 @@ CHIP_ERROR GenericNetworkProvisioningServerImpl<ImplClass>::HandleRemoveNetwork(
431431
}
432432

433433
// Clear the Thread provision.
434-
ThreadStackMgr().ClearThreadProvision();
434+
ThreadStackMgr().ErasePersistentInfo();
435435

436436
break;
437437

src/platform/EFR32/ConfigurationManagerImpl.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,7 @@ void ConfigurationManagerImpl::DoFactoryReset(intptr_t arg)
141141
#if CHIP_DEVICE_CONFIG_ENABLE_THREAD
142142

143143
ChipLogProgress(DeviceLayer, "Clearing Thread provision");
144-
ThreadStackMgr().ClearThreadProvision();
144+
ThreadStackMgr().ErasePersistentInfo();
145145

146146
#endif // CHIP_DEVICE_CONFIG_ENABLE_THREAD
147147

src/platform/Linux/ConfigurationManagerImpl.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -162,7 +162,7 @@ void ConfigurationManagerImpl::DoFactoryReset(intptr_t arg)
162162
#if CHIP_DEVICE_CONFIG_ENABLE_THREAD
163163

164164
ChipLogProgress(DeviceLayer, "Clearing Thread provision");
165-
ThreadStackMgr().ClearThreadProvision();
165+
ThreadStackMgr().ErasePersistentInfo();
166166

167167
#endif // CHIP_DEVICE_CONFIG_ENABLE_THREAD
168168

src/platform/OpenThread/GenericThreadStackManagerImpl_OpenThread.h

+1-2
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ class GenericThreadStackManagerImpl_OpenThread
7070
bool _IsThreadAttached(void);
7171
CHIP_ERROR _GetThreadProvision(DeviceNetworkInfo & netInfo, bool includeCredentials);
7272
CHIP_ERROR _SetThreadProvision(const DeviceNetworkInfo & netInfo);
73-
void _ClearThreadProvision(void);
73+
void _ErasePersistentInfo(void);
7474
ConnectivityManager::ThreadDeviceType _GetThreadDeviceType(void);
7575
CHIP_ERROR _SetThreadDeviceType(ConnectivityManager::ThreadDeviceType deviceType);
7676
void _GetThreadPollingConfig(ConnectivityManager::ThreadPollingConfig & pollingConfig);
@@ -89,7 +89,6 @@ class GenericThreadStackManagerImpl_OpenThread
8989
CHIP_ERROR DoInit(otInstance * otInst);
9090
bool IsThreadAttachedNoLock(void);
9191
CHIP_ERROR AdjustPollingInterval(void);
92-
void _FactoryReset(void);
9392

9493
private:
9594
// ===== Private members for use by this class only.

src/platform/OpenThread/GenericThreadStackManagerImpl_OpenThread.ipp

+4-3
Original file line numberDiff line numberDiff line change
@@ -810,11 +810,12 @@ CHIP_ERROR GenericThreadStackManagerImpl_OpenThread<ImplClass>::AdjustPollingInt
810810
}
811811

812812
template <class ImplClass>
813-
void GenericThreadStackManagerImpl_OpenThread<ImplClass>::_FactoryReset(void)
813+
void GenericThreadStackManagerImpl_OpenThread<ImplClass>::_ErasePersistentInfo(void)
814814
{
815-
ChipLogProgress(DeviceLayer, "About to factory reset ...");
815+
ChipLogProgress(DeviceLayer, "Erasing Thread persistent info...");
816816
Impl()->LockThreadStack();
817-
otInstanceFactoryReset(mOTInst);
817+
otThreadSetEnabled(mOTInst, false);
818+
otInstanceErasePersistentInfo(mOTInst);
818819
Impl()->UnlockThreadStack();
819820
}
820821

src/platform/nRF5/ConfigurationManagerImpl.cpp

+1-2
Original file line numberDiff line numberDiff line change
@@ -144,8 +144,7 @@ void ConfigurationManagerImpl::DoFactoryReset(intptr_t arg)
144144

145145
#if CHIP_DEVICE_CONFIG_ENABLE_THREAD
146146

147-
ChipLogProgress(DeviceLayer, "Clearing Thread provision");
148-
ThreadStackMgr().ClearThreadProvision();
147+
ThreadStackMgr().ErasePersistentInfo();
149148

150149
#endif // CHIP_DEVICE_CONFIG_ENABLE_THREAD
151150

0 commit comments

Comments
 (0)