@@ -34,8 +34,7 @@ CHIP_ERROR SystemCommands::Start(uint16_t discriminator)
34
34
char command[128 ];
35
35
VerifyOrReturnError (snprintf (command, sizeof (command), " %s%s %u" , scriptDir, scriptName, discriminator) >= 0 ,
36
36
CHIP_ERROR_INTERNAL);
37
- VerifyOrReturnError (system (command) == 0 , CHIP_ERROR_INTERNAL);
38
- return ContinueOnChipMainThread ();
37
+ return RunInternal (command);
39
38
}
40
39
41
40
CHIP_ERROR SystemCommands::Stop ()
@@ -45,9 +44,7 @@ CHIP_ERROR SystemCommands::Stop()
45
44
46
45
char command[128 ];
47
46
VerifyOrReturnError (snprintf (command, sizeof (command), " %s%s" , scriptDir, scriptName) >= 0 , CHIP_ERROR_INTERNAL);
48
-
49
- VerifyOrReturnError (system (command) == 0 , CHIP_ERROR_INTERNAL);
50
- return ContinueOnChipMainThread ();
47
+ return RunInternal (command);
51
48
}
52
49
53
50
CHIP_ERROR SystemCommands::Reboot (uint16_t discriminator)
@@ -58,7 +55,21 @@ CHIP_ERROR SystemCommands::Reboot(uint16_t discriminator)
58
55
char command[128 ];
59
56
VerifyOrReturnError (snprintf (command, sizeof (command), " %s%s %u" , scriptDir, scriptName, discriminator) >= 0 ,
60
57
CHIP_ERROR_INTERNAL);
58
+ return RunInternal (command);
59
+ }
60
+
61
+ CHIP_ERROR SystemCommands::FactoryReset ()
62
+ {
63
+ const char * scriptDir = getScriptsFolder ();
64
+ constexpr const char * scriptName = " FactoryReset.py" ;
61
65
66
+ char command[128 ];
67
+ VerifyOrReturnError (snprintf (command, sizeof (command), " %s%s" , scriptDir, scriptName) >= 0 , CHIP_ERROR_INTERNAL);
68
+ return RunInternal (command);
69
+ }
70
+
71
+ CHIP_ERROR SystemCommands::RunInternal (const char * command)
72
+ {
62
73
VerifyOrReturnError (system (command) == 0 , CHIP_ERROR_INTERNAL);
63
74
return ContinueOnChipMainThread ();
64
75
}
0 commit comments