diff options
author | Christian Pointner <equinox@spreadspace.org> | 2015-07-01 03:18:53 +0200 |
---|---|---|
committer | Christian Pointner <equinox@spreadspace.org> | 2015-07-01 03:18:53 +0200 |
commit | 949aa095cb83c3ee3e3791d164e5b212353ab1d7 (patch) | |
tree | 01a8248e1dad372ded2368eb9d41441c037fc938 /usb-fastled | |
parent | small cleanups (diff) |
first working fastled example
Diffstat (limited to 'usb-fastled')
-rw-r--r-- | usb-fastled/usb-fastled.cpp | 54 |
1 files changed, 51 insertions, 3 deletions
diff --git a/usb-fastled/usb-fastled.cpp b/usb-fastled/usb-fastled.cpp index 5746201..767492f 100644 --- a/usb-fastled/usb-fastled.cpp +++ b/usb-fastled/usb-fastled.cpp @@ -30,15 +30,62 @@ #include "led.h" #include "usbio.h" +#include "Arduino.h" #include "FastLED.h" + + +// How many leds in your strip? +#define NUM_LEDS 4 + +// 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, +// ground, and power), like the LPD8806 define both DATA_PIN and CLOCK_PIN +#define DATA_PIN 3 // PD0 @ Atmega32U4 +#define CLOCK_PIN 2 // PD1 @ Atmega32U4 + +// Define the array of leds +CRGB leds[NUM_LEDS]; + +void fastled_init() +{ + arduino_init(); + +// Uncomment/edit one of the following lines for your leds arrangement. +// FastLED.addLeds<TM1803, DATA_PIN, RGB>(leds, NUM_LEDS); +// FastLED.addLeds<TM1804, DATA_PIN, RGB>(leds, NUM_LEDS); +// 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<NEOPIXEL, DATA_PIN>(leds, NUM_LEDS); +// FastLED.addLeds<APA104, DATA_PIN, RGB>(leds, NUM_LEDS); +// FastLED.addLeds<UCS1903, DATA_PIN, RGB>(leds, NUM_LEDS); +// FastLED.addLeds<UCS1903B, DATA_PIN, RGB>(leds, NUM_LEDS); +// FastLED.addLeds<GW6205, DATA_PIN, RGB>(leds, NUM_LEDS); +// FastLED.addLeds<GW6205_400, DATA_PIN, RGB>(leds, NUM_LEDS); + +// FastLED.addLeds<WS2801, RGB>(leds, NUM_LEDS); +// FastLED.addLeds<SM16716, RGB>(leds, NUM_LEDS); +// FastLED.addLeds<LPD8806, RGB>(leds, NUM_LEDS); +// FastLED.addLeds<P9813, RGB>(leds, NUM_LEDS); +// FastLED.addLeds<APA102, RGB>(leds, NUM_LEDS); +// FastLED.addLeds<DOTSTAR, RGB>(leds, NUM_LEDS); + +// FastLED.addLeds<WS2801, DATA_PIN, CLOCK_PIN, RGB>(leds, NUM_LEDS); +// FastLED.addLeds<SM16716, DATA_PIN, CLOCK_PIN, RGB>(leds, NUM_LEDS); +// FastLED.addLeds<LPD8806, DATA_PIN, CLOCK_PIN, RGB>(leds, NUM_LEDS); +// FastLED.addLeds<P9813, DATA_PIN, CLOCK_PIN, RGB>(leds, NUM_LEDS); +// FastLED.addLeds<APA102, DATA_PIN, CLOCK_PIN, RGB>(leds, NUM_LEDS); +// FastLED.addLeds<DOTSTAR, DATA_PIN, CLOCK_PIN, RGB>(leds, NUM_LEDS); +} + void handle_cmd(uint8_t cmd) { switch(cmd) { - case '0': led_off(); break; - case '1': led_on(); break; - case 't': led_toggle(); break; + 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; default: printf("error\r\n"); return; } @@ -53,6 +100,7 @@ int main(void) cpu_init(); led_init(); usbio_init(); + fastled_init(); sei(); for(;;) { |