Skip to content

Commit 8a2a8ea

Browse files
LeilaCY-LinJohnAZoidberg
authored andcommitted
fwk: add ledpwm console command to turn led color
Add ledpwm console command to turn led color BRANCH=fwk-main BUG=add ledpwm console command to turn led color TEST=test cmd ledpwm works normally Signed-off-by: LeilaCY-Lin <LeilaCY_Lin@compal.com> (cherry picked from commit 77d4c84477dbf60fcb977cb5eadd3e4a906e67dd)
1 parent 635cb42 commit 8a2a8ea

1 file changed

Lines changed: 50 additions & 0 deletions

File tree

zephyr/program/framework/src/led_pwm.c

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -290,3 +290,53 @@ void board_led_apply_color(void)
290290
{
291291
DT_INST_FOREACH_CHILD_STATUS_OKAY(0, LED_APPLY_COLOR)
292292
}
293+
294+
enum led_pwms_color_t {
295+
LED_PWMS_COLOR_RED,
296+
LED_PWMS_COLOR_GREEN,
297+
LED_PWMS_COLOR_BLUE,
298+
LED_PWMS_COUNT,
299+
};
300+
301+
static int ledpwm_cmd(int argc, const char **argv)
302+
{
303+
int red, green, blue;
304+
uint8_t white_color[LED_PWMS_COUNT];
305+
uint8_t amber_color[LED_PWMS_COUNT];
306+
char *e;
307+
308+
if (argc == 5) {
309+
red = strtoi(argv[2], &e, 0);
310+
if (*e)
311+
return EC_ERROR_PARAM1;
312+
313+
green = strtoi(argv[3], &e, 0);
314+
if (*e)
315+
return EC_ERROR_PARAM2;
316+
317+
blue = strtoi(argv[4], &e, 0);
318+
if (*e)
319+
return EC_ERROR_PARAM3;
320+
321+
if (!strncmp(argv[1], "amber", 5)) {
322+
amber_color[LED_PWMS_COLOR_RED] = red;
323+
amber_color[LED_PWMS_COLOR_GREEN] = green;
324+
amber_color[LED_PWMS_COLOR_BLUE] = blue;
325+
led_change_color(LED_AMBER, EC_LED_ID_BATTERY_LED,
326+
sizeof(amber_color), amber_color);
327+
} else if (!strncmp(argv[1], "white", 5)) {
328+
white_color[LED_PWMS_COLOR_RED] = red;
329+
white_color[LED_PWMS_COLOR_GREEN] = green;
330+
white_color[LED_PWMS_COLOR_BLUE] = blue;
331+
led_change_color(LED_WHITE, EC_LED_ID_BATTERY_LED,
332+
sizeof(white_color), white_color);
333+
}
334+
ccprintf("Set LED PWM R:%d, G:%d, B:%d\n", red, green, blue);
335+
} else {
336+
return EC_ERROR_PARAM_COUNT;
337+
}
338+
return EC_SUCCESS;
339+
}
340+
DECLARE_CONSOLE_COMMAND(ledpwm, ledpwm_cmd,
341+
"[amber/white <r> <g> <b>]",
342+
"amber/white <r> <g> <b>");

0 commit comments

Comments
 (0)