Library to control NeoPixel strings of RGB leds
Dependents: NeoPixelI2cSlave NeoPixelI2cSlave
neopixel_string.cpp@0:66a5d46a740f, 2015-10-25 (annotated)
- 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?
User | Revision | Line number | New 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 | } |