Library to control NeoPixel strings of RGB leds

Dependencies:   PixelArray

Dependents:   NeoPixelI2cSlave NeoPixelI2cSlave

Committer:
dwini
Date:
Sun Oct 25 11:24:54 2015 +0000
Revision:
0:66a5d46a740f
Child:
2:bb9ebad05691
Start of NeoPixelString library.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
dwini 0:66a5d46a740f 1 #include "neopixel_string.h"
dwini 0:66a5d46a740f 2
dwini 0:66a5d46a740f 3 NeoPixelString::NeoPixelString(PinName spi_pin, unsigned int length) : PixelArray(spi_pin) {
dwini 0:66a5d46a740f 4 this->length = length;
dwini 0:66a5d46a740f 5 pixels = new neopixel::Pixel[length]; // Actual buffer of colors
dwini 0:66a5d46a740f 6
dwini 0:66a5d46a740f 7 // Clear all
dwini 0:66a5d46a740f 8 update(Colors::Black);
dwini 0:66a5d46a740f 9 }
dwini 0:66a5d46a740f 10
dwini 0:66a5d46a740f 11 void NeoPixelString::update(neopixel::Pixel singlecolor) {
dwini 0:66a5d46a740f 12 for (unsigned int i = 0; i < length; i++) {
dwini 0:66a5d46a740f 13 pixels[i] = singlecolor;
dwini 0:66a5d46a740f 14 }
dwini 0:66a5d46a740f 15 PixelArray::update(pixels, length);
dwini 0:66a5d46a740f 16 }
dwini 0:66a5d46a740f 17
dwini 0:66a5d46a740f 18 void NeoPixelString::diagnose(void) {
dwini 0:66a5d46a740f 19 update(Colors::Black);
dwini 0:66a5d46a740f 20 wait(1);
dwini 0:66a5d46a740f 21 for (int i = 0; i < 5; i++) {
dwini 0:66a5d46a740f 22 update(ColorAdjuster::intensity(Colors::Red, 5));
dwini 0:66a5d46a740f 23 wait(0.5);
dwini 0:66a5d46a740f 24 update(ColorAdjuster::intensity(Colors::Green, 5));
dwini 0:66a5d46a740f 25 wait(0.5);
dwini 0:66a5d46a740f 26 update(ColorAdjuster::intensity(Colors::Blue, 5));
dwini 0:66a5d46a740f 27 wait(0.5);
dwini 0:66a5d46a740f 28 }
dwini 0:66a5d46a740f 29
dwini 0:66a5d46a740f 30 update(Colors::Black);
dwini 0:66a5d46a740f 31 for (unsigned int i = 0; i < length; i++) {
dwini 0:66a5d46a740f 32 pixels[i] = ColorAdjuster::intensity(Colors::White, 5);
dwini 0:66a5d46a740f 33 PixelArray::update(pixels, length);
dwini 0:66a5d46a740f 34 wait(0.1);
dwini 0:66a5d46a740f 35 }
dwini 0:66a5d46a740f 36 }