This commit is contained in:
archmina
2026-05-08 03:23:09 +03:00
parent a341b89d16
commit e3e548ca90
30 changed files with 1543 additions and 0 deletions
+54
View File
@@ -0,0 +1,54 @@
#include <zephyr/shell/shell.h>
#include "led.h"
/* single led */
static int cmd_led_fade(const struct shell *sh, size_t argc, char **argv)
{
if (argc != 2) { shell_error(sh, "Usage: led fade <ms>"); return -EINVAL; }
return led_fade(atoi(argv[1]));
}
static int cmd_led_progress(const struct shell *sh, size_t argc, char **argv)
{
if (argc != 2) { shell_error(sh, "Usage: led progress <0-100>"); return -EINVAL; }
return led_set_progress(atoi(argv[1]) / 100.0f);
}
SHELL_STATIC_SUBCMD_SET_CREATE(led_cmds,
SHELL_CMD(fade, NULL, "Fade over <ms>", cmd_led_fade),
SHELL_CMD(progress, NULL, "Set progress <0.0-1.0>", cmd_led_progress),
SHELL_SUBCMD_SET_END
);
SHELL_CMD_REGISTER(led, &led_cmds, "Single LED commands", NULL);
/* addressable leds */
static int cmd_leds_all(const struct shell *sh, size_t argc, char **argv)
{
if (argc != 4) { shell_error(sh, "Usage: leds all <r> <g> <b> (0-255)"); return -EINVAL; }
leds_set_all(atoi(argv[1]) / 255.0f, atoi(argv[2]) / 255.0f, atoi(argv[3]) / 255.0f);
return leds_update();
}
static int cmd_leds_fade(const struct shell *sh, size_t argc, char **argv)
{
if (argc != 5) { shell_error(sh, "Usage: leds fade <ms> <r> <g> <b> (0-255)"); return -EINVAL; }
return leds_fade(atoi(argv[1]),
atoi(argv[2]) / 255.0f,
atoi(argv[3]) / 255.0f,
atoi(argv[4]) / 255.0f);
}
static int cmd_leds_clear(const struct shell *sh, size_t argc, char **argv)
{
return leds_clear();
}
SHELL_STATIC_SUBCMD_SET_CREATE(leds_cmds,
SHELL_CMD(all, NULL, "Set all <r> <g> <b>", cmd_leds_all),
SHELL_CMD(clear, NULL, "Clear all", cmd_leds_clear),
SHELL_CMD(fade, NULL, "Fade to <ms> <r> <g> <b>", cmd_leds_fade),
SHELL_SUBCMD_SET_END
);
SHELL_CMD_REGISTER(leds, &leds_cmds, "Addressable LED commands", NULL);