Skip to content

Commit 05698f8

Browse files
author
Jammu Kekkonen
committed
Add factory reset
1 parent ad66ebb commit 05698f8

File tree

1 file changed

+16
-0
lines changed

1 file changed

+16
-0
lines changed

main.cpp

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
#include "mbed-cloud-client/MbedCloudClient.h" // Required for new MbedCloudClient()
2222
#include "factory_configurator_client.h" // Required for fcc_* functions and FCC_* defines
2323
#include "m2mresource.h" // Required for M2MResource
24+
#include "key_config_manager.h" // Required for kcm_factory_reset
2425

2526
#include "mbed-trace/mbed_trace.h" // Required for mbed_trace_*
2627

@@ -36,6 +37,7 @@ static M2MResource* m2m_get_res;
3637
static M2MResource* m2m_put_res;
3738
static M2MResource* m2m_post_res;
3839
static M2MResource* m2m_deregister_res;
40+
static M2MResource* m2m_factory_reset_res;
3941
static SocketAddress sa;
4042

4143
EventQueue queue(32 * EVENTS_EVENT_SIZE);
@@ -99,6 +101,14 @@ void client_unregistered(void)
99101
cloud_client_running = false;
100102
}
101103

104+
void factory_reset(void*)
105+
{
106+
printf("POST factory reset executed\n");
107+
m2m_factory_reset_res->send_delayed_post_response();
108+
109+
kcm_factory_reset();
110+
}
111+
102112
void client_error(int err)
103113
{
104114
printf("client_error(%d) -> %s\n", err, cloud_client->error_description());
@@ -207,6 +217,12 @@ int main(void)
207217
return -1;
208218
}
209219

220+
// optional Device resource for running factory reset for the device. Path of this resource will be: 3/0/6.
221+
m2m_factory_reset_res = M2MInterfaceFactory::create_device()->create_resource(M2MDevice::FactoryReset);
222+
if (m2m_factory_reset_res) {
223+
m2m_factory_reset_res->set_execute_function(factory_reset);
224+
}
225+
210226
printf("Register Pelion Device Management Client\n\n");
211227

212228
#ifdef MBED_CLOUD_CLIENT_SUPPORT_UPDATE

0 commit comments

Comments
 (0)