tools: allow to set more than one setting for the LEDs

Or we will take the defaults that are not intuitive (like white color
when setting to on).

Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
This commit is contained in:
Benjamin Tissoires
2017-05-24 07:55:58 +02:00
committed by bentiss
parent 8e6c13832e
commit b0c515b59d

View File

@@ -155,12 +155,12 @@ usage(void)
" active profile if none is given.\n"
"\n"
" led N {COMMAND}\n"
" get print the LED properties\n"
" set {COMMAND} sets LED properties\n"
" mode [on|off|cycle|breathing] sets LED mode\n"
" color COLOR sets LED's color in hex format\n"
" rate N sets LED's effect rate in Hz\n"
" brightness N sets LED's effect brightness\n"
" get print the LED properties\n"
" set {COMMAND} ... sets LED properties (one or more)\n"
" mode [on|off|cycle|breathing] sets LED mode\n"
" color COLOR sets LED's color in hex format\n"
" rate N sets LED's effect rate in Hz\n"
" brightness N sets LED's effect brightness\n"
"\n"
"Examples:\n"
" %s profile active get\n"
@@ -1541,14 +1541,23 @@ ratbag_cmd_led_set_brightness(const struct ratbag_cmd *cmd,
if (rc != 0)
return ERR_DEVICE;
return SUCCESS;
if (argc == 1)
return SUCCESS;
return run_subcommand(argv[1], cmd, ratbag, options,
argc - 1, argv + 1);
}
static const struct ratbag_cmd cmd_led_set_color;
static const struct ratbag_cmd cmd_led_set_effect_rate;
static const struct ratbag_cmd cmd_led_set_brightness = {
.name = "brightness",
.cmd = ratbag_cmd_led_set_brightness,
.flags = FLAG_NEED_DEVICE | FLAG_NEED_PROFILE | FLAG_NEED_LED,
.subcommands = {
&cmd_led_set_color,
&cmd_led_set_effect_rate,
NULL,
},
};
@@ -1578,7 +1587,11 @@ ratbag_cmd_led_set_effect_rate(const struct ratbag_cmd *cmd,
if (rc != 0)
return ERR_DEVICE;
return SUCCESS;
if (argc == 1)
return SUCCESS;
return run_subcommand(argv[1], cmd, ratbag, options,
argc - 1, argv + 1);
}
static const struct ratbag_cmd cmd_led_set_effect_rate = {
@@ -1586,6 +1599,8 @@ static const struct ratbag_cmd cmd_led_set_effect_rate = {
.cmd = ratbag_cmd_led_set_effect_rate,
.flags = FLAG_NEED_DEVICE | FLAG_NEED_PROFILE | FLAG_NEED_LED,
.subcommands = {
&cmd_led_set_color,
&cmd_led_set_brightness,
NULL,
},
};
@@ -1617,7 +1632,11 @@ ratbag_cmd_led_set_color(const struct ratbag_cmd *cmd,
if (rc != 0)
return ERR_DEVICE;
return SUCCESS;
if (argc == 1)
return SUCCESS;
return run_subcommand(argv[1], cmd, ratbag, options,
argc - 1, argv + 1);
}
static const struct ratbag_cmd cmd_led_set_color = {
@@ -1625,6 +1644,8 @@ static const struct ratbag_cmd cmd_led_set_color = {
.cmd = ratbag_cmd_led_set_color,
.flags = FLAG_NEED_DEVICE | FLAG_NEED_PROFILE | FLAG_NEED_LED,
.subcommands = {
&cmd_led_set_effect_rate,
&cmd_led_set_brightness,
NULL,
},
};
@@ -1681,7 +1702,11 @@ ratbag_cmd_led_set_mode(const struct ratbag_cmd *cmd,
if (rc != 0)
return ERR_DEVICE;
return SUCCESS;
if (argc == 1)
return SUCCESS;
return run_subcommand(argv[1], cmd, ratbag, options,
argc - 1, argv + 1);
}
static const struct ratbag_cmd cmd_led_set_mode = {
@@ -1689,6 +1714,9 @@ static const struct ratbag_cmd cmd_led_set_mode = {
.cmd = ratbag_cmd_led_set_mode,
.flags = FLAG_NEED_DEVICE | FLAG_NEED_PROFILE | FLAG_NEED_LED,
.subcommands = {
&cmd_led_set_color,
&cmd_led_set_effect_rate,
&cmd_led_set_brightness,
NULL,
},
};