diff --git a/sys/shell/commands/sc_sys.c b/sys/shell/commands/sc_sys.c index 6aa703f051..3452e8f915 100644 --- a/sys/shell/commands/sc_sys.c +++ b/sys/shell/commands/sc_sys.c @@ -32,6 +32,20 @@ int _reboot_handler(int argc, char **argv) return 0; } +#ifdef MODULE_USB_BOARD_RESET +void usb_board_reset_in_bootloader(void); + +int _bootloader_handler(int argc, char **argv) +{ + (void) argc; + (void) argv; + + usb_board_reset_in_bootloader(); + + return 0; +} +#endif + int _version_handler(int argc, char **argv) { (void) argc; diff --git a/sys/shell/commands/shell_commands.c b/sys/shell/commands/shell_commands.c index 084ab13d6d..9905cd7b9d 100644 --- a/sys/shell/commands/shell_commands.c +++ b/sys/shell/commands/shell_commands.c @@ -175,9 +175,16 @@ extern int _suit_handler(int argc, char **argv); extern int _cryptoauth(int argc, char **argv); #endif +#ifdef MODULE_USB_BOARD_RESET +extern int _bootloader_handler(int argc, char **argv); +#endif + const shell_command_t _shell_command_list[] = { {"reboot", "Reboot the node", _reboot_handler}, {"version", "Prints current RIOT_VERSION", _version_handler}, +#ifdef MODULE_USB_BOARD_RESET + {"bootloader", "Reboot to bootloader", _bootloader_handler}, +#endif #ifdef MODULE_CONFIG {"id", "Gets or sets the node's id.", _id_handler}, #endif