shell: creating new module for help functionality
1. Created new shell module: shell_help. 2. Simplified command handlers with new shell print macros. 3. Removed help functions from command handlers. Signed-off-by: Jakub Rzeszutko <jakub.rzeszutko@nordicsemi.no>
This commit is contained in:
parent
e0be6a10b3
commit
3064ca4f2f
27 changed files with 686 additions and 956 deletions
|
@ -57,8 +57,7 @@ static bool shell_state_precheck(const struct shell *shell)
|
|||
{
|
||||
if (shell->log_backend->control_block->state
|
||||
== SHELL_LOG_BACKEND_UNINIT) {
|
||||
shell_fprintf(shell, SHELL_ERROR,
|
||||
"Shell log backend not initialized.\r\n");
|
||||
shell_error(shell, "Shell log backend not initialized.");
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -82,8 +81,7 @@ static int shell_backend_cmd_execute(const struct shell *shell,
|
|||
if (backend) {
|
||||
func(shell, backend, argc, argv);
|
||||
} else {
|
||||
shell_fprintf(shell, SHELL_ERROR,
|
||||
"Invalid backend: %s\r\n", name);
|
||||
shell_error(shell, "Invalid backend: %s", name);
|
||||
return -ENOEXEC;
|
||||
}
|
||||
return 0;
|
||||
|
@ -101,7 +99,7 @@ static int log_status(const struct shell *shell,
|
|||
|
||||
|
||||
if (!log_backend_is_active(backend)) {
|
||||
shell_fprintf(shell, SHELL_ERROR, "Logs are halted!\r\n");
|
||||
shell_warn(shell, "Logs are halted!");
|
||||
}
|
||||
|
||||
shell_fprintf(shell, SHELL_NORMAL, "%-40s | current | built-in \r\n",
|
||||
|
@ -168,7 +166,7 @@ static void filters_set(const struct shell *shell,
|
|||
int cnt = all ? log_sources_count() : argc;
|
||||
|
||||
if (!backend->cb->active) {
|
||||
shell_fprintf(shell, SHELL_WARNING, "Backend not active.\r\n");
|
||||
shell_warn(shell, "Backend not active.");
|
||||
}
|
||||
|
||||
for (i = 0; i < cnt; i++) {
|
||||
|
@ -185,13 +183,11 @@ static void filters_set(const struct shell *shell,
|
|||
log_source_name_get(
|
||||
CONFIG_LOG_DOMAIN_ID, i) :
|
||||
argv[i];
|
||||
shell_fprintf(shell, SHELL_WARNING,
|
||||
"%s: level set to %s.\r\n",
|
||||
name, severity_lvls[set_lvl]);
|
||||
shell_warn(shell, "%s: level set to %s.",
|
||||
name, severity_lvls[set_lvl]);
|
||||
}
|
||||
} else {
|
||||
shell_fprintf(shell, SHELL_ERROR,
|
||||
"%s: unknown source name.\r\n", argv[i]);
|
||||
shell_error(shell, "%s: unknown source name.", argv[i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -214,17 +210,11 @@ static int log_enable(const struct shell *shell,
|
|||
char **argv)
|
||||
{
|
||||
int severity_level;
|
||||
int err = shell_cmd_precheck(shell, (argc > 1));
|
||||
|
||||
if (err) {
|
||||
return err;
|
||||
}
|
||||
|
||||
severity_level = severity_level_get(argv[1]);
|
||||
|
||||
if (severity_level < 0) {
|
||||
shell_fprintf(shell, SHELL_ERROR, "Invalid severity: %s\r\n",
|
||||
argv[1]);
|
||||
shell_error(shell, "Invalid severity: %s", argv[1]);
|
||||
return -ENOEXEC;
|
||||
}
|
||||
|
||||
|
@ -254,12 +244,6 @@ static int log_disable(const struct shell *shell,
|
|||
size_t argc,
|
||||
char **argv)
|
||||
{
|
||||
int err = shell_cmd_precheck(shell, (argc > 1));
|
||||
|
||||
if (err) {
|
||||
return err;
|
||||
}
|
||||
|
||||
filters_set(shell, backend, argc - 1, &argv[1], LOG_LEVEL_NONE);
|
||||
return 0;
|
||||
}
|
||||
|
@ -361,11 +345,6 @@ static int cmd_log_backends_list(const struct shell *shell,
|
|||
size_t argc, char **argv)
|
||||
{
|
||||
int backend_count;
|
||||
int err = shell_cmd_precheck(shell, (argc == 1));
|
||||
|
||||
if (err) {
|
||||
return err;
|
||||
}
|
||||
|
||||
backend_count = log_backend_count_get();
|
||||
|
||||
|
@ -387,15 +366,15 @@ static int cmd_log_backends_list(const struct shell *shell,
|
|||
|
||||
SHELL_CREATE_STATIC_SUBCMD_SET(sub_log_backend)
|
||||
{
|
||||
SHELL_CMD(disable, &dsub_module_name,
|
||||
SHELL_CMD_ARG(disable, &dsub_module_name,
|
||||
"'log disable <module_0> .. <module_n>' disables logs in "
|
||||
"specified modules (all if no modules specified).",
|
||||
cmd_log_backend_disable),
|
||||
SHELL_CMD(enable, &dsub_severity_lvl,
|
||||
cmd_log_backend_disable, 2, 255),
|
||||
SHELL_CMD_ARG(enable, &dsub_severity_lvl,
|
||||
"'log enable <level> <module_0> ... <module_n>' enables logs"
|
||||
" up to given level in specified modules (all if no modules "
|
||||
"specified).",
|
||||
cmd_log_backend_enable),
|
||||
cmd_log_backend_enable, 2, 255),
|
||||
SHELL_CMD(go, NULL, "Resume logging", cmd_log_backend_go),
|
||||
SHELL_CMD(halt, NULL, "Halt logging", cmd_log_backend_halt),
|
||||
SHELL_CMD(status, NULL, "Logger status", cmd_log_backend_status),
|
||||
|
@ -423,33 +402,21 @@ SHELL_CREATE_STATIC_SUBCMD_SET(sub_log_stat)
|
|||
{
|
||||
SHELL_CMD(backend, &dsub_backend_name_dynamic,
|
||||
"Logger backends commands.", NULL),
|
||||
SHELL_CMD(disable, &dsub_module_name,
|
||||
SHELL_CMD_ARG(disable, &dsub_module_name,
|
||||
"'log disable <module_0> .. <module_n>' disables logs in specified "
|
||||
"modules (all if no modules specified).",
|
||||
cmd_log_self_disable),
|
||||
SHELL_CMD(enable, &dsub_severity_lvl,
|
||||
cmd_log_self_disable, 2, 255),
|
||||
SHELL_CMD_ARG(enable, &dsub_severity_lvl,
|
||||
"'log enable <level> <module_0> ... <module_n>' enables logs up to"
|
||||
" given level in specified modules (all if no modules specified).",
|
||||
cmd_log_self_enable),
|
||||
cmd_log_self_enable, 2, 255),
|
||||
SHELL_CMD(go, NULL, "Resume logging", cmd_log_self_go),
|
||||
SHELL_CMD(halt, NULL, "Halt logging", cmd_log_self_halt),
|
||||
SHELL_CMD(list_backends, NULL, "Lists logger backends.",
|
||||
cmd_log_backends_list),
|
||||
SHELL_CMD_ARG(list_backends, NULL, "Lists logger backends.",
|
||||
cmd_log_backends_list, 1, 0),
|
||||
SHELL_CMD(status, NULL, "Logger status", cmd_log_self_status),
|
||||
SHELL_SUBCMD_SET_END
|
||||
};
|
||||
|
||||
static int cmd_log(const struct shell *shell, size_t argc, char **argv)
|
||||
{
|
||||
if (argc == 1) {
|
||||
shell_help_print(shell);
|
||||
return 0;
|
||||
}
|
||||
|
||||
shell_fprintf(shell, SHELL_ERROR, "%s:%s%s\r\n",
|
||||
argv[0], " unknown parameter: ", argv[1]);
|
||||
return -ENOEXEC;
|
||||
}
|
||||
|
||||
SHELL_CMD_REGISTER(log, &sub_log_stat, "Commands for controlling logger",
|
||||
cmd_log);
|
||||
NULL);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue