summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Pointner <equinox@spreadspace.org>2015-07-13 00:53:49 +0200
committerChristian Pointner <equinox@spreadspace.org>2015-07-13 00:53:49 +0200
commitc9ba5cbff4cf151ea6152ef853532f3f579185eb (patch)
treef433e177061dd0e23d67a86f8e0c39391c737f06
parentCXXFLAGS vs CFLAGS for lib C++ targets (diff)
improved fastled example
-rw-r--r--usb-fastled/usb-fastled.cpp23
1 files changed, 18 insertions, 5 deletions
diff --git a/usb-fastled/usb-fastled.cpp b/usb-fastled/usb-fastled.cpp
index 767492f..429e8f5 100644
--- a/usb-fastled/usb-fastled.cpp
+++ b/usb-fastled/usb-fastled.cpp
@@ -37,7 +37,7 @@
// How many leds in your strip?
-#define NUM_LEDS 4
+#define NUM_LEDS 30
// For led chips like Neopixels, which have a data line, ground, and power, you just
// need to define DATA_PIN. For led chipsets that are SPI based (four wires - data, clock,
@@ -58,7 +58,7 @@ void fastled_init()
// FastLED.addLeds<TM1809, DATA_PIN, RGB>(leds, NUM_LEDS);
// FastLED.addLeds<WS2811, DATA_PIN, RGB>(leds, NUM_LEDS);
// FastLED.addLeds<WS2812, DATA_PIN, RGB>(leds, NUM_LEDS);
- FastLED.addLeds<WS2812B, DATA_PIN, RGB>(leds, NUM_LEDS);
+ FastLED.addLeds<WS2812B, DATA_PIN, GRB>(leds, NUM_LEDS);
// FastLED.addLeds<NEOPIXEL, DATA_PIN>(leds, NUM_LEDS);
// FastLED.addLeds<APA104, DATA_PIN, RGB>(leds, NUM_LEDS);
// FastLED.addLeds<UCS1903, DATA_PIN, RGB>(leds, NUM_LEDS);
@@ -81,12 +81,25 @@ void fastled_init()
// FastLED.addLeds<DOTSTAR, DATA_PIN, CLOCK_PIN, RGB>(leds, NUM_LEDS);
}
+
+void leds_set(CRGB color)
+{
+ uint8_t i;
+ for(i = 0; i < NUM_LEDS; ++i) {
+ leds[i] = color;
+ }
+ FastLED.show();
+}
+
void handle_cmd(uint8_t cmd)
{
switch(cmd) {
- case '0': leds[0] = CRGB::Black; FastLED.show(); led_off(); break;
- case '1': leds[0] = CRGB::Green; FastLED.show(); led_on(); break;
- case 'r': reset2bootloader(); break;
+ case '0': leds_set(CRGB::Black); led_off(); break;
+ case '1': leds_set(CRGB::White); led_on(); break;
+ case 'r': leds_set(CRGB::Red); led_on(); break;
+ case 'g': leds_set(CRGB::Green); led_on(); break;
+ case 'b': leds_set(CRGB::Blue); led_on(); break;
+ case '!': reset2bootloader(); break;
default: printf("error\r\n"); return;
}
printf("ok\r\n");