parent
6394c5f006
commit
914b168727
@ -0,0 +1,3 @@ |
||||
#pragma once |
||||
|
||||
int shell_led(struct console *con, size_t argc, const char **argv); |
@ -0,0 +1,36 @@ |
||||
#include <stdio.h> |
||||
#include <stdlib.h> |
||||
#include <string.h> |
||||
|
||||
#include <libopencm3/stm32/gpio.h> |
||||
|
||||
#include <console.h> |
||||
#include <led.h> |
||||
|
||||
extern struct led leds[]; |
||||
extern size_t nleds; |
||||
|
||||
int shell_led(struct console *con, size_t argc, const char **argv) |
||||
{ |
||||
size_t led_id = 0; |
||||
int state = 0; |
||||
|
||||
if (argc >= 2) |
||||
state = (strcmp(argv[1], "on") == 0); |
||||
|
||||
if (argc >= 1) |
||||
led_id = strtoul(argv[0], NULL, 0); |
||||
|
||||
if (led_id > nleds) { |
||||
fprintf(con->fp, "error: unknown LED ID %d\n", led_id); |
||||
return -1; |
||||
} |
||||
|
||||
if (state) { |
||||
led_enable(leds + led_id); |
||||
} else { |
||||
led_disable(leds + led_id); |
||||
} |
||||
|
||||
return 0; |
||||
} |
Loading…
Reference in new issue