diff options
author | Lorenz Meier <lm@inf.ethz.ch> | 2014-01-11 20:57:03 +0100 |
---|---|---|
committer | Lorenz Meier <lm@inf.ethz.ch> | 2014-01-11 20:57:03 +0100 |
commit | 4ea92eca7c492ec506c31fe59d0ba967052ccf27 (patch) | |
tree | 705eda75a770df4cc52c0688ee823c267bdb0c1d | |
parent | 6011ff9411ca64eb857d456a6ac2de2db07800c3 (diff) | |
download | px4-firmware-4ea92eca7c492ec506c31fe59d0ba967052ccf27.tar.gz px4-firmware-4ea92eca7c492ec506c31fe59d0ba967052ccf27.tar.bz2 px4-firmware-4ea92eca7c492ec506c31fe59d0ba967052ccf27.zip |
RGB led cleanup
-rw-r--r-- | src/drivers/rgbled/rgbled.cpp | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/src/drivers/rgbled/rgbled.cpp b/src/drivers/rgbled/rgbled.cpp index 727c86e02..4f58891ed 100644 --- a/src/drivers/rgbled/rgbled.cpp +++ b/src/drivers/rgbled/rgbled.cpp @@ -559,7 +559,7 @@ RGBLED::get(bool &on, bool &powersave, uint8_t &r, uint8_t &g, uint8_t &b) void rgbled_usage() { - warnx("missing command: try 'start', 'test', 'info', 'off', 'rgb 30 40 50'"); + warnx("missing command: try 'start', 'test', 'info', 'off', 'stop', 'rgb 30 40 50'"); warnx("options:"); warnx(" -b i2cbus (%d)", PX4_I2C_BUS_LED); warnx(" -a addr (0x%x)", ADDR); @@ -643,7 +643,7 @@ rgbled_main(int argc, char *argv[]) if (g_rgbled == nullptr) { warnx("not started"); rgbled_usage(); - exit(0); + exit(1); } if (!strcmp(verb, "test")) { @@ -669,7 +669,7 @@ rgbled_main(int argc, char *argv[]) exit(0); } - if (!strcmp(verb, "off")) { + if (!strcmp(verb, "off") || !strcmp(verb, "stop")) { fd = open(RGBLED_DEVICE_PATH, 0); if (fd == -1) { @@ -681,6 +681,12 @@ rgbled_main(int argc, char *argv[]) exit(ret); } + if (!strcmp(verb, "stop")) { + delete g_rgbled; + g_rgbled = nullptr; + exit(0); + } + if (!strcmp(verb, "rgb")) { if (argc < 5) { errx(1, "Usage: rgbled rgb <red> <green> <blue>"); |