diff --git a/os/services/shell/shell-commands.c b/os/services/shell/shell-commands.c index 4e6d91f0d..c0755da6e 100644 --- a/os/services/shell/shell-commands.c +++ b/os/services/shell/shell-commands.c @@ -51,11 +51,13 @@ #include "net/ipv6/uiplib.h" #include "net/ipv6/uip-icmp6.h" #include "net/ipv6/uip-ds6.h" +#if MAC_CONF_WITH_TSCH #include "net/mac/tsch/tsch.h" #include "net/mac/tsch/tsch-adaptive-timesync.h" #include "net/mac/tsch/tsch-queue.h" #include "net/mac/tsch/tsch-log.h" #include "net/mac/tsch/tsch-private.h" +#endif /* MAC_CONF_WITH_TSCH */ #if UIP_CONF_IPV6_RPL_LITE == 1 #include "net/rpl-lite/rpl.h" #else /* UIP_CONF_IPV6_RPL_LITE == 1 */ @@ -234,7 +236,7 @@ PT_THREAD(cmd_rpl_set_root(struct pt *pt, shell_output_func output, char *args)) if(!rpl_dag_root_is_root()) { SHELL_OUTPUT(output, "Setting as DAG root with prefix "); shell_output_6addr(output, &prefix); - SHELL_OUTPUT(output, "\n"); + SHELL_OUTPUT(output, "/64\n"); rpl_dag_root_init(&prefix, NULL); rpl_dag_root_init_dag_immediately(); } else { @@ -258,8 +260,9 @@ shell_output_log_levels(shell_output_func output) int i = 0; SHELL_OUTPUT(output, "Log levels:\n"); while(all_modules[i].name != NULL) { - SHELL_OUTPUT(output, "-- %-10s: %s\n", + SHELL_OUTPUT(output, "-- %-10s: %u (%s)\n", all_modules[i].name, + *all_modules[i].curr_log_level, log_level_to_str(*all_modules[i].curr_log_level)); i++; } @@ -304,6 +307,7 @@ PT_THREAD(cmd_log(struct pt *pt, shell_output_func output, char *args)) /* Set log level */ if(level != prev_level) { log_set_level(module, level); +#if MAC_CONF_WITH_TSCH if(!strcmp(module, "mac") || !strcmp(module, "all")) { if(level >= LOG_LEVEL_DBG) { tsch_log_init(); @@ -313,6 +317,7 @@ PT_THREAD(cmd_log(struct pt *pt, shell_output_func output, char *args)) SHELL_OUTPUT(output, "TSCH logging stopped\n"); } } +#endif /* MAC_CONF_WITH_TSCH */ } shell_output_log_levels(output); @@ -410,6 +415,7 @@ PT_THREAD(cmd_ip_neighbors(struct pt *pt, shell_output_func output, char *args)) PT_END(pt); } +#if MAC_CONF_WITH_TSCH /*---------------------------------------------------------------------------*/ static PT_THREAD(cmd_tsch_status(struct pt *pt, shell_output_func output, char *args)) @@ -438,6 +444,7 @@ PT_THREAD(cmd_tsch_status(struct pt *pt, shell_output_func output, char *args)) PT_END(pt); } +#endif /* MAC_CONF_WITH_TSCH */ /*---------------------------------------------------------------------------*/ static PT_THREAD(cmd_rpl_status(struct pt *pt, shell_output_func output, char *args)) @@ -575,6 +582,8 @@ PT_THREAD(cmd_reboot(struct pt *pt, shell_output_func output, char *args)) watchdog_reboot(); PT_END(pt); } +#if MAC_CONF_WITH_TSCH +/*---------------------------------------------------------------------------*/ static PT_THREAD(cmd_tsch_schedule(struct pt *pt, shell_output_func output, char *args)) { @@ -610,6 +619,7 @@ PT_THREAD(cmd_tsch_schedule(struct pt *pt, shell_output_func output, char *args) } PT_END(pt); } +#endif /* MAC_CONF_WITH_TSCH */ /*---------------------------------------------------------------------------*/ #if TSCH_WITH_SIXTOP void @@ -645,22 +655,26 @@ shell_commands_init(void) /* Set up Ping Reply callback */ uip_icmp6_echo_reply_callback_add(&echo_reply_notification, echo_reply_handler); + /* Start with soft log level 0 so as to minimize interference with shell */ + log_set_level("all", LOG_LEVEL_NONE); } /*---------------------------------------------------------------------------*/ struct shell_command_t shell_commands[] = { { "help", cmd_help, "'> help': Shows this help" }, + { "reboot", cmd_reboot, "'> reboot': Reboot the board by watchdog_reboot()" }, { "ip-addr", cmd_ipaddr, "'> ip-addr': Shows all IPv6 addresses" }, { "ip-nbr", cmd_ip_neighbors, "'> ip-nbr': Shows all IPv6 neighbors" }, { "log", cmd_log, "'> log module level': Sets log level (0--4) for a given module (or \"all\"). For module \"mac\", level 4 also enables per-slot logging." }, { "ping", cmd_ping, "'> ping addr': Pings the IPv6 address 'addr'" }, { "rpl-set-root", cmd_rpl_set_root, "'> rpl-set-root 0/1 [prefix]': Sets node as root (on) or not (off). A /64 prefix can be optionally specified." }, { "rpl-status", cmd_rpl_status, "'> rpl-status': Shows a summary of the current RPL state" }, - { "rpl-global-repair", cmd_rpl_global_repair, "'> rpl-global-repair': Triggers a RPL global repair" }, { "rpl-local-repair", cmd_rpl_local_repair, "'> rpl-local-repair': Triggers a RPL local repair" }, + { "rpl-global-repair", cmd_rpl_global_repair, "'> rpl-global-repair': Triggers a RPL global repair" }, { "routes", cmd_routes, "'> routes': Shows the route entries" }, +#if MAC_CONF_WITH_TSCH { "tsch-schedule", cmd_tsch_schedule, "'> tsch-schedule': Shows the current TSCH schedule" }, { "tsch-status", cmd_tsch_status, "'> tsch-status': Shows a summary of the current TSCH state" }, - { "reboot", cmd_reboot, "'> reboot': Reboot the board by watchdog_reboot()" }, +#endif /* MAC_CONF_WITH_TSCH */ #if TSCH_WITH_SIXTOP { "6top", cmd_6top, "'> 6top help': Shows 6top command usage" }, #endif /* TSCH_WITH_SIXTOP */