Skip to content

Commit 535f5a6

Browse files
Xinyang Tancarlescufi
authored andcommitted
shell: support setting help string for each entry in a dictionary command
Add support for setting the help description for each entry in a dictionary command. Currently the syntax string alone may not provide sufficient description of its entry. This commit also helps keep the help messages consistent with existing style. Signed-off-by: Xinyang Tan <[email protected]>
1 parent e24e645 commit 535f5a6

File tree

4 files changed

+28
-26
lines changed

4 files changed

+28
-26
lines changed

drivers/adc/adc_shell.c

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -357,30 +357,30 @@ static int cmd_adc_print(const struct shell *shell, size_t argc, char **argv)
357357
}
358358

359359
SHELL_SUBCMD_DICT_SET_CREATE(sub_ref_cmds, cmd_adc_ref,
360-
(VDD_1, ADC_REF_VDD_1),
361-
(VDD_1_2, ADC_REF_VDD_1_2),
362-
(VDD_1_3, ADC_REF_VDD_1_3),
363-
(VDD_1_4, ADC_REF_VDD_1_4),
364-
(INTERNAL, ADC_REF_INTERNAL),
365-
(EXTERNAL_0, ADC_REF_EXTERNAL0),
366-
(EXTERNAL_1, ADC_REF_EXTERNAL1)
360+
(VDD_1, ADC_REF_VDD_1, "VDD"),
361+
(VDD_1_2, ADC_REF_VDD_1_2, "VDD/2"),
362+
(VDD_1_3, ADC_REF_VDD_1_3, "VDD/3"),
363+
(VDD_1_4, ADC_REF_VDD_1_4, "VDD/4"),
364+
(INTERNAL, ADC_REF_INTERNAL, "Internal"),
365+
(EXTERNAL_0, ADC_REF_EXTERNAL0, "External, input 0"),
366+
(EXTERNAL_1, ADC_REF_EXTERNAL1, "External, input 1")
367367
);
368368

369369
SHELL_SUBCMD_DICT_SET_CREATE(sub_gain_cmds, cmd_adc_gain,
370-
(GAIN_1_6, ADC_GAIN_1_6),
371-
(GAIN_1_5, ADC_GAIN_1_5),
372-
(GAIN_1_4, ADC_GAIN_1_4),
373-
(GAIN_1_3, ADC_GAIN_1_3),
374-
(GAIN_1_2, ADC_GAIN_1_2),
375-
(GAIN_2_3, ADC_GAIN_2_3),
376-
(GAIN_1, ADC_GAIN_1),
377-
(GAIN_2, ADC_GAIN_2),
378-
(GAIN_3, ADC_GAIN_3),
379-
(GAIN_4, ADC_GAIN_4),
380-
(GAIN_8, ADC_GAIN_8),
381-
(GAIN_16, ADC_GAIN_16),
382-
(GAIN_32, ADC_GAIN_32),
383-
(GAIN_64, ADC_GAIN_64)
370+
(GAIN_1_6, ADC_GAIN_1_6, "x 1/6"),
371+
(GAIN_1_5, ADC_GAIN_1_5, "x 1/5"),
372+
(GAIN_1_4, ADC_GAIN_1_4, "x 1/4"),
373+
(GAIN_1_3, ADC_GAIN_1_3, "x 1/3"),
374+
(GAIN_1_2, ADC_GAIN_1_2, "x 1/2"),
375+
(GAIN_2_3, ADC_GAIN_2_3, "x 2/3"),
376+
(GAIN_1, ADC_GAIN_1, "x 1"),
377+
(GAIN_2, ADC_GAIN_2, "x 2"),
378+
(GAIN_3, ADC_GAIN_3, "x 3"),
379+
(GAIN_4, ADC_GAIN_4, "x 4"),
380+
(GAIN_8, ADC_GAIN_8, "x 8"),
381+
(GAIN_16, ADC_GAIN_16, "x 16"),
382+
(GAIN_32, ADC_GAIN_32, "x 32"),
383+
(GAIN_64, ADC_GAIN_64, "x 64")
384384
);
385385

386386
SHELL_STATIC_SUBCMD_SET_CREATE(sub_channel_cmds,

include/zephyr/shell/shell.h

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -510,7 +510,7 @@ static int UTIL_CAT(UTIL_CAT(cmd_dict_, UTIL_CAT(_handler, _)), \
510510

511511
/* Internal macro used for creating dictionary commands. */
512512
#define SHELL_CMD_DICT_CREATE(_data, _handler) \
513-
SHELL_CMD_ARG(GET_ARG_N(1, __DEBRACKET _data), NULL, NULL, \
513+
SHELL_CMD_ARG(GET_ARG_N(1, __DEBRACKET _data), NULL, GET_ARG_N(3, __DEBRACKET _data), \
514514
UTIL_CAT(UTIL_CAT(cmd_dict_, UTIL_CAT(_handler, _)), \
515515
GET_ARG_N(1, __DEBRACKET _data)), 1, 0)
516516

@@ -540,7 +540,8 @@ static int UTIL_CAT(UTIL_CAT(cmd_dict_, UTIL_CAT(_handler, _)), \
540540
* }
541541
*
542542
* SHELL_SUBCMD_DICT_SET_CREATE(sub_dict_cmds, my_handler,
543-
* (value_0, 0), (value_1, 1), (value_2, 2), (value_3, 3)
543+
* (value_0, 0, "value 0"), (value_1, 1, "value 1"),
544+
* (value_2, 2, "value 2"), (value_3, 3, "value 3")
544545
* );
545546
* SHELL_CMD_REGISTER(dictionary, &sub_dict_cmds, NULL, NULL);
546547
*/

samples/subsys/shell/shell_module/src/main.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -369,7 +369,8 @@ static int cmd_dict(const struct shell *shell, size_t argc, char **argv,
369369
}
370370

371371
SHELL_SUBCMD_DICT_SET_CREATE(sub_dict_cmds, cmd_dict,
372-
(value_0, 0), (value_1, 1), (value_2, 2), (value_3, 3)
372+
(value_0, 0, "value 0"), (value_1, 1, "value 1"),
373+
(value_2, 2, "value 2"), (value_3, 3, "value 3")
373374
);
374375

375376
SHELL_STATIC_SUBCMD_SET_CREATE(sub_demo,

tests/subsys/shell/shell/src/main.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -445,8 +445,8 @@ static int cmd_handler_dict_2(const struct shell *sh, size_t argc, char **argv,
445445
return n + n;
446446
}
447447

448-
SHELL_SUBCMD_DICT_SET_CREATE(dict1, cmd_handler_dict_1, (one, 1), (two, 2));
449-
SHELL_SUBCMD_DICT_SET_CREATE(dict2, cmd_handler_dict_2, (one, 1), (two, 2));
448+
SHELL_SUBCMD_DICT_SET_CREATE(dict1, cmd_handler_dict_1, (one, 1, "one"), (two, 2, "two"));
449+
SHELL_SUBCMD_DICT_SET_CREATE(dict2, cmd_handler_dict_2, (one, 1, "one"), (two, 2, "two"));
450450

451451
SHELL_CMD_REGISTER(dict1, &dict1, NULL, NULL);
452452
SHELL_CMD_REGISTER(dict2, &dict2, NULL, NULL);

0 commit comments

Comments
 (0)