31 lines
846 B
C
31 lines
846 B
C
/**
|
|
* @file shell_system.c
|
|
* @brief Provides basic system-level shell commands.
|
|
*
|
|
* This file implements essential system commands for the Zephyr shell,
|
|
* such as rebooting the device.
|
|
*/
|
|
|
|
#include <zephyr/shell/shell.h>
|
|
#include <zephyr/sys/reboot.h>
|
|
|
|
/**
|
|
* @brief Shell command to reset the system.
|
|
*
|
|
* This command performs a warm reboot of the device after a short delay
|
|
* to ensure the shell message is printed.
|
|
*
|
|
* @param sh The shell instance.
|
|
* @param argc Argument count.
|
|
* @param argv Argument values.
|
|
* @return 0 on success.
|
|
*/
|
|
static int cmd_reset(const struct shell *sh, size_t argc, char **argv) {
|
|
shell_print(sh, "Rebooting system...");
|
|
k_sleep(K_MSEC(100)); // Allow the shell to print the message
|
|
sys_reboot(SYS_REBOOT_WARM);
|
|
return 0;
|
|
}
|
|
|
|
SHELL_CMD_REGISTER(reset, NULL, "Reboot the system", cmd_reset);
|