mirror of
https://github.com/PX4/PX4-Autopilot.git
synced 2026-05-30 04:06:33 +08:00
RGBled fixes: options and off after rgb working now
This commit is contained in:
@@ -195,8 +195,8 @@ RGBLED::setMode(enum ledModes new_mode)
|
|||||||
default:
|
default:
|
||||||
if (running) {
|
if (running) {
|
||||||
running = false;
|
running = false;
|
||||||
set_on(false);
|
|
||||||
}
|
}
|
||||||
|
set_on(false);
|
||||||
mode = LED_MODE_OFF;
|
mode = LED_MODE_OFF;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -443,7 +443,8 @@ rgbled_main(int argc, char *argv[])
|
|||||||
int rgbledadr = ADDR; /* 7bit */
|
int rgbledadr = ADDR; /* 7bit */
|
||||||
|
|
||||||
int ch;
|
int ch;
|
||||||
while ((ch = getopt(argc, argv, "a:b:")) != EOF) {
|
/* jump over start/off/etc and look at options first */
|
||||||
|
while ((ch = getopt(argc-1, &argv[1], "a:b:")) != EOF) {
|
||||||
switch (ch) {
|
switch (ch) {
|
||||||
case 'a':
|
case 'a':
|
||||||
rgbledadr = strtol(optarg, NULL, 0);
|
rgbledadr = strtol(optarg, NULL, 0);
|
||||||
@@ -455,9 +456,8 @@ rgbled_main(int argc, char *argv[])
|
|||||||
rgbled_usage();
|
rgbled_usage();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
argc -= optind;
|
|
||||||
argv += optind;
|
const char *verb = argv[1];
|
||||||
const char *verb = argv[0];
|
|
||||||
|
|
||||||
if (!strcmp(verb, "start")) {
|
if (!strcmp(verb, "start")) {
|
||||||
if (g_rgbled != nullptr)
|
if (g_rgbled != nullptr)
|
||||||
@@ -523,13 +523,13 @@ rgbled_main(int argc, char *argv[])
|
|||||||
if (fd == -1) {
|
if (fd == -1) {
|
||||||
errx(1, "Unable to open " RGBLED_DEVICE_PATH);
|
errx(1, "Unable to open " RGBLED_DEVICE_PATH);
|
||||||
}
|
}
|
||||||
if (argc < 4) {
|
if (argc < 5) {
|
||||||
errx(1, "Usage: rgbled rgb <red> <green> <blue>");
|
errx(1, "Usage: rgbled rgb <red> <green> <blue>");
|
||||||
}
|
}
|
||||||
struct RGBLEDSet v;
|
struct RGBLEDSet v;
|
||||||
v.red = strtol(argv[1], NULL, 0);
|
v.red = strtol(argv[2], NULL, 0);
|
||||||
v.green = strtol(argv[2], NULL, 0);
|
v.green = strtol(argv[3], NULL, 0);
|
||||||
v.blue = strtol(argv[3], NULL, 0);
|
v.blue = strtol(argv[4], NULL, 0);
|
||||||
int ret = ioctl(fd, RGBLED_SET, (unsigned long)&v);
|
int ret = ioctl(fd, RGBLED_SET, (unsigned long)&v);
|
||||||
close(fd);
|
close(fd);
|
||||||
exit(ret);
|
exit(ret);
|
||||||
|
|||||||
Reference in New Issue
Block a user