From 27c987b42bea6d9b004f22c6bd6eecc14f10438a Mon Sep 17 00:00:00 2001 From: Bruno Date: Wed, 18 Mar 2015 23:13:17 +0100 Subject: [PATCH] Version 1.2 Initial load --- Ala.cpp | 23 + Ala.h | 279 +++++ AlaLed.cpp | 397 +++++++ AlaLed.h | 115 ++ AlaLedRgb.cpp | 687 +++++++++++ AlaLedRgb.h | 112 ++ ExtNeoPixel.cpp | 1028 +++++++++++++++++ ExtNeoPixel.h | 97 ++ ExtTlc5940.cpp | 372 ++++++ ExtTlc5940.h | 87 ++ ExtTlc5940Config.h | 173 +++ examples/MultiAnimations/MultiAnimations.ino | 47 + .../MultiLedSequence/MultiLedSequence.ino | 46 + .../schematic/MultiLedSequence.fzz | Bin 0 -> 7792 bytes .../schematic/MultiLedSequence_bb.png | Bin 0 -> 228414 bytes .../schematic/MultiLedSequence_schem.png | Bin 0 -> 63918 bytes examples/RgbLedSequence/RgbLedSequence.ino | 48 + examples/RgbStripButtons/AlaRgbStripDemo.ino | 84 ++ examples/RgbStripDemo/RgbStripDemo.ino | 55 + examples/SimpleLed/SimpleLed.ino | 29 + examples/SimpleLed/schematic/SimpleLed.fzz | Bin 0 -> 3683 bytes examples/SimpleLed/schematic/SimpleLed_bb.png | Bin 0 -> 204474 bytes .../SimpleLed/schematic/SimpleLed_schem.png | Bin 0 -> 44545 bytes examples/SimpleRgbLed/SimpleRgbLed.ino | 29 + examples/SimpleRgbStrip/SimpleRgbStrip.ino | 26 + examples/SimpleTlc5940/SimpleTlc5940.ino | 26 + keywords.txt | 67 ++ pinouts/ATmega_8.h | 86 ++ pinouts/ATmega_xx4.h | 80 ++ pinouts/ATmega_xx8.h | 80 ++ pinouts/Arduino_Mega.h | 81 ++ pinouts/Teensy_xxU4.h | 39 + pinouts/Teensypp_xxx6.h | 38 + pinouts/chip_includes.h | 118 ++ readme.txt | 717 ++++++++++++ 35 files changed, 5066 insertions(+) create mode 100644 Ala.cpp create mode 100644 Ala.h create mode 100644 AlaLed.cpp create mode 100644 AlaLed.h create mode 100644 AlaLedRgb.cpp create mode 100644 AlaLedRgb.h create mode 100644 ExtNeoPixel.cpp create mode 100644 ExtNeoPixel.h create mode 100644 ExtTlc5940.cpp create mode 100644 ExtTlc5940.h create mode 100644 ExtTlc5940Config.h create mode 100644 examples/MultiAnimations/MultiAnimations.ino create mode 100644 examples/MultiLedSequence/MultiLedSequence.ino create mode 100644 examples/MultiLedSequence/schematic/MultiLedSequence.fzz create mode 100644 examples/MultiLedSequence/schematic/MultiLedSequence_bb.png create mode 100644 examples/MultiLedSequence/schematic/MultiLedSequence_schem.png create mode 100644 examples/RgbLedSequence/RgbLedSequence.ino create mode 100644 examples/RgbStripButtons/AlaRgbStripDemo.ino create mode 100644 examples/RgbStripDemo/RgbStripDemo.ino create mode 100644 examples/SimpleLed/SimpleLed.ino create mode 100644 examples/SimpleLed/schematic/SimpleLed.fzz create mode 100644 examples/SimpleLed/schematic/SimpleLed_bb.png create mode 100644 examples/SimpleLed/schematic/SimpleLed_schem.png create mode 100644 examples/SimpleRgbLed/SimpleRgbLed.ino create mode 100644 examples/SimpleRgbStrip/SimpleRgbStrip.ino create mode 100644 examples/SimpleTlc5940/SimpleTlc5940.ino create mode 100644 keywords.txt create mode 100644 pinouts/ATmega_8.h create mode 100644 pinouts/ATmega_xx4.h create mode 100644 pinouts/ATmega_xx8.h create mode 100644 pinouts/Arduino_Mega.h create mode 100644 pinouts/Teensy_xxU4.h create mode 100644 pinouts/Teensypp_xxx6.h create mode 100644 pinouts/chip_includes.h create mode 100644 readme.txt diff --git a/Ala.cpp b/Ala.cpp new file mode 100644 index 0000000..16a9593 --- /dev/null +++ b/Ala.cpp @@ -0,0 +1,23 @@ +#include "Ala.h" + +#include "Arduino.h" + + +int getStep(long t0, long t, int v) +{ + return ((millis()-t0)%t)*v/t; +} + +float getStepFloat(long t0, long t, float v) +{ + return ((millis()-t0)%t)*v/t; +} + +float mapfloat(float x, float in_min, float in_max, float out_min, float out_max) +{ + return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min; +} + + + + diff --git a/Ala.h b/Ala.h new file mode 100644 index 0000000..87f78d7 --- /dev/null +++ b/Ala.h @@ -0,0 +1,279 @@ +#ifndef Ala_h +#define Ala_h + +#include + +#include "Arduino.h" + +//////////////////////////////////////////////////////////////////////////////// +// Drivers + +#define ALA_PWM 1 +#define ALA_TLC5940 2 +#define ALA_WS2812 3 + + +//////////////////////////////////////////////////////////////////////////////// +// Animations + +#define ALA_ON 101 +#define ALA_OFF 102 +#define ALA_BLINK 103 +#define ALA_BLINKALT 104 +#define ALA_SPARKLE 105 +#define ALA_SPARKLE2 106 +#define ALA_STROBO 107 + +#define ALA_CYCLECOLORS 151 + +#define ALA_PIXELSHIFTRIGHT 201 +#define ALA_PIXELSHIFTLEFT 202 +#define ALA_PIXELBOUNCE 203 +#define ALA_PIXELSMOOTHSHIFTRIGHT 211 +#define ALA_PIXELSMOOTHSHIFTLEFT 212 +#define ALA_COMET 221 +#define ALA_COMETCOL 222 +#define ALA_BARSHIFTRIGHT 231 +#define ALA_BARSHIFTLEFT 232 +#define ALA_MOVINGBARS 241 +#define ALA_MOVINGGRADIENT 242 + +#define ALA_FADEIN 301 +#define ALA_FADEOUT 302 +#define ALA_FADEINOUT 303 +#define ALA_GLOW 304 + +#define ALA_FADECOLORS 351 +#define ALA_FADECOLORSLOOP 352 +#define ALA_PIXELSFADECOLORS 353 + +#define ALA_FIRE 501 +#define ALA_BOUNCINGBALLS 502 +#define ALA_BUBBLES 503 + +#define ALA_ENDSEQ 0 + +//////////////////////////////////////////////////////////////////////////////// + +// Strobo effect duty cycle (10=1/10) +#define ALA_STROBODC 10 + + +//////////////////////////////////////////////////////////////////////////////// + +typedef struct AlaColor +{ + union + { + struct + { + uint8_t r; + uint8_t g; + uint8_t b; + }; + uint8_t raw[3]; + }; + + inline AlaColor() __attribute__((always_inline)) + { + } + + // allow construction from R, G, B + inline AlaColor( uint8_t ir, uint8_t ig, uint8_t ib) __attribute__((always_inline)) + : r(ir), g(ig), b(ib) + { + } + + // allow construction from 32-bit (really 24-bit) bit 0xRRGGBB color code + inline AlaColor( uint32_t colorcode) __attribute__((always_inline)) + : r((colorcode >> 16) & 0xFF), g((colorcode >> 8) & 0xFF), b((colorcode >> 0) & 0xFF) + { + } + + bool operator == (const AlaColor &c) const + { + return(this->r == c.r and this->g == c.g and this->b == c.b); + } + + AlaColor getPixel(AlaColor maxOut) + { + return AlaColor(r*maxOut.r/255, g*maxOut.g/255, b*maxOut.b/255); + } + + AlaColor sum(AlaColor color) + { + int r0 = min(color.r + r, 255); + int g0 = min(color.g + g, 255); + int b0 = min(color.b + b, 255); + return AlaColor(r0, g0, b0); + } + + AlaColor interpolate(AlaColor color, float x) + { + int r0 = x*(color.r - r) + r; + int g0 = x*(color.g - g) + g; + int b0 = x*(color.b - b) + b; + return AlaColor(r0, g0, b0); + } + + AlaColor scale(float k) + { + int r0 = min(r*k, 255); + int g0 = min(g*k, 255); + int b0 = min(b*k, 255); + return AlaColor(r0, g0, b0); + } + + typedef enum { + Aqua=0x00FFFF, + Black = 0x000000, + Blue = 0x0000FF, + Cyan=0x00FFFF, + Gold=0xFFD700, + Gray = 0x808080, + Green=0x008000, + Lime=0x00FF00, + Magenta=0xFF00FF, + Navy=0x000080, + Olive=0x808000, + Purple=0x800080, + Red=0xFF0000, + Teal=0x008080, + White=0xFFFFFF, + Yellow=0xFFFF00 + } ColorCodes; +} ; + + + +//////////////////////////////////////////////////////////////////////////////// +// Struct definitions +//////////////////////////////////////////////////////////////////////////////// + +typedef struct AlaPalette +{ + int numColors; + AlaColor *colors; + + /** + * Get the interpolated color from the palette. + * The argument is a floating number between 0 and numColors. + */ + AlaColor getPalColor(float i) + { + int i0 = (int)i%(numColors); + int i1 = (int)(i+1)%(numColors); + + // decimal part is used to interpolate between the two colors + //float t0 = i - trunc(i); + float t0 = i - (int)i; + + return colors[i0].interpolate(colors[i1], t0); + } + + bool operator == (const AlaPalette &c) const + { + if (!(this->numColors == c.numColors)) + return false; + + for(int i=0; icolors[i] == c.colors[i])) + return false; + } + return true; + } + +}; + + +typedef struct AlaSeq +{ + int animation; + int speed; + AlaPalette palette; + int duration; +}; + + +//////////////////////////////////////////////////////////////////////////////// +// Colors and palette definitions +//////////////////////////////////////////////////////////////////////////////// + +/* Replaced by enum +static AlaColor alaColorWhite = 0xFFFFFF; +static AlaColor alaColorGray = 0x888888; +static AlaColor alaColorBlack = 0x000000; +static AlaColor alaColorRed = 0xFF0000; +static AlaColor alaColorGreen = 0x00FF00; +static AlaColor alaColorBlue = 0x0000FF; +*/ + +static AlaColor alaPalRgb_[] = { 0xFF0000, 0x00FF00, 0x0000FF }; +static AlaPalette alaPalRgb = { 3, alaPalRgb_ }; + +// Rainbow colors +static AlaColor alaPalRainbow_[] = +{ + 0xFF0000, 0xAB5500, 0xABAB00, 0x00FF00, + 0x00AB55, 0x0000FF, 0x5500AB, 0xAB0055 +}; +static AlaPalette alaPalRainbow = { 8, alaPalRainbow_ }; + +// Rainbow colors with alternating stripes of black +static AlaColor alaPalRainbowStripe_[] = +{ + 0xFF0000, 0x000000, 0xAB5500, 0x000000, 0xABAB00, 0x000000, 0x00FF00, 0x000000, + 0x00AB55, 0x000000, 0x0000FF, 0x000000, 0x5500AB, 0x000000, 0xAB0055, 0x000000 +}; +static AlaPalette alaPalRainbowStripe = { 16, alaPalRainbowStripe_ }; + + +// Blue purple ping red orange yellow (and back) +// Basically, everything but the greens. +// This palette is good for lighting at a club or party. +static AlaColor alaPalParty_[] = +{ + 0x5500AB, 0x84007C, 0xB5004B, 0xE5001B, + 0xE81700, 0xB84700, 0xAB7700, 0xABAB00, + 0xAB5500, 0xDD2200, 0xF2000E, 0xC2003E, + 0x8F0071, 0x5F00A1, 0x2F00D0, 0x0007F9 +}; +static AlaPalette alaPalParty = { 16, alaPalParty_ }; + + +// Approximate "black body radiation" palette, akin to +// the FastLED 'HeatColor' function. +// Recommend that you use values 0-240 rather than +// the usual 0-255, as the last 15 colors will be +// 'wrapping around' from the hot end to the cold end, +// which looks wrong. +static AlaColor alaPalHeat_[] = +{ + 0x000000, 0xFF0000, 0xFFFF00, 0xFFFFCC +}; +static AlaPalette alaPalHeat = { 4, alaPalHeat_ }; + + +static AlaColor alaPalFire_[] = +{ + 0x000000, 0x220000, 0x440000, 0x660000, + 0x990000, 0xCC0000, 0xFF0000, 0xFF3300, + 0xFF6600, 0xFF9900, 0xFFCC00, 0xFFFF00 +}; +static AlaPalette alaPalFire = { 12, alaPalFire_ }; + + + + +//////////////////////////////////////////////////////////////////////////////// +// Utility functions +//////////////////////////////////////////////////////////////////////////////// + +int getStep(long t0, long t, int v); +float getStepFloat(long t0, long t, float v); + +float mapfloat(float x, float in_min, float in_max, float out_min, float out_max); + + +#endif \ No newline at end of file diff --git a/AlaLed.cpp b/AlaLed.cpp new file mode 100644 index 0000000..c20803d --- /dev/null +++ b/AlaLed.cpp @@ -0,0 +1,397 @@ +#include "AlaLed.h" + +#include "ExtTlc5940.h" + + + + +AlaLed::AlaLed() +{ + maxOut=255; + speed = 1000; + animSeqLen = 0; + lastRefreshTime=0; + refreshMillis=1000/50; +} + + + +void AlaLed::initPWM(byte pin) +{ + byte *pins_ = (byte *)malloc(numLeds); + pins_[0] = pin; + + initPWM(1, pins_); +} + + +void AlaLed::initPWM(int numLeds, byte *pins) +{ + this->driver = ALA_PWM; + this->numLeds = numLeds; + this->pins = pins; + + // allocate and clear leds array + if((leds = (byte *)malloc(numLeds))) + { + memset(leds, 0, numLeds); + } +} + +void AlaLed::initTLC5940(int numLeds, byte *pins) +{ + this->driver = ALA_TLC5940; + this->numLeds = numLeds; + this->pins = pins; + + // allocate and clear leds array + if((leds = (byte *)malloc(numLeds))) + { + memset(leds, 0, numLeds); + } + + //pins = (byte *)malloc(numLeds); + //for(int i=0; imaxOut = maxOut; +} + +void AlaLed::setRefreshRate(int refreshRate) +{ + this->refreshMillis = 1000/refreshRate; +} + + +void AlaLed::setAnimation(int animation, int speed) +{ + if (this->animation == animation && this->speed == speed) + return; + + this->animation = animation; + this->speed = speed; + + setAnimationFunc(animation); + animStartTime = millis(); +} + + +void AlaLed::setAnimation(AlaSeq animSeq[]) +{ + this->animSeq = animSeq; + + // initialize animSeqDuration and animSeqLen variables + animSeqDuration = 0; + for(animSeqLen=0; animSeq[animSeqLen].animation!=ALA_ENDSEQ; animSeqLen++) + { + animSeqDuration = animSeqDuration + animSeq[animSeqLen].duration; + } + +} + + +void AlaLed::runAnimation() +{ + // skip the refresh if now enough time has passed since last update + if (millis() < lastRefreshTime + refreshMillis) + return; + lastRefreshTime = millis(); + + if (animSeqLen != 0) + { + // calculate the current animation function + // NOTE: this can be optimized + + long c = 0; + for(int i=0; i=c && t<(c+animSeq[i].duration)) + { + setAnimation(animSeq[i].animation, animSeq[i].speed); + break; + } + c = c + animSeq[i].duration; + } + } + + // can the animation function and refresh if necessary + if (animFunc != NULL) + { + (this->*animFunc)(); + + if(driver==ALA_PWM) + { + for(int i=0; is-l) + leds[x] = maxOut; + else + leds[x] = 0; + } +} + +void AlaLed::barShiftLeft() +{ + int l = numLeds/2+1; // length of the bar + + int s = map(getStep(animStartTime, speed, 1000), 0, 1000, 0, numLeds+l); + + for(int x=0; xs-l) + leds[numLeds-x-1] = maxOut; + else + leds[numLeds-x-1] = 0; + } +} + +//////////////////////////////////////////////////////////////////////////////////////////// +// Fading effects +//////////////////////////////////////////////////////////////////////////////////////////// + +void AlaLed::fadeIn() +{ + int s = getStep(animStartTime, speed, maxOut); + for(int x=0; x GND + * pin 3 > Arduino 11 + * pin 4 > Arduino 13 + * pin 5 > Arduino 9 + * pin 6 > Arduino 10 + XXX resistor to +5V + * pin 7 > GND + * pin 8 > +5V + * pin 9 > xxx resistor to GND + * pin 10 > +5V + * pin 11 > Arduino 3 + * + * It can be used also to drive a single led. + */ + void initTLC5940(int numLeds, byte *pins); + + + /** + * Sets the maximum brightness level (0-255). + */ + void setBrightness(byte maxOut); + + /** + * Sets the maximum refresh rate in Hz (default value is 50 Hz). + * May be useful to reduce flickering in some cases. + */ + void setRefreshRate(int refreshRate); + + + void setAnimation(int animation, int speed); + void setAnimation(AlaSeq animSeq[]); + + void runAnimation(); + + + +private: + + void setAnimationFunc(int animation); + void on(); + void off(); + void blink(); + void blinkAlt(); + void sparkle(); + void strobo(); + + void pixelShiftRight(); + void pixelShiftLeft(); + void pixelBounce(); + void pixelSmoothShiftRight(); + void pixelSmoothShiftLeft(); + void comet(); + void barShiftRight(); + void barShiftLeft(); + + void fadeIn(); + void fadeOut(); + void fadeInOut(); + void glow(); + + + byte driver; + byte *pins; + byte *leds; + int numLeds; + + int maxOut; + int refreshMillis; + + int animation; + long speed; + + AlaSeq *animSeq; + int animSeqLen; + long animSeqDuration; + + void (AlaLed::*animFunc)(); + unsigned long animStartTime; + unsigned long lastRefreshTime; + +}; + +#endif \ No newline at end of file diff --git a/AlaLedRgb.cpp b/AlaLedRgb.cpp new file mode 100644 index 0000000..0d25b57 --- /dev/null +++ b/AlaLedRgb.cpp @@ -0,0 +1,687 @@ +#include "Ala.h" +#include "AlaLedRgb.h" + +#include "Arduino.h" + +#include "ExtNeoPixel.h" +#include "ExtTlc5940.h" + +Adafruit_NeoPixel *neopixels; + + +AlaLedRgb::AlaLedRgb() +{ + // set default values + + maxOut = 0xFFFFFF; + speed = 1000; + animSeqLen = 0; + lastRefreshTime = 0; + refreshMillis = 1000/60; + pxPos = NULL; + pxSpeed = NULL; +} + + +void AlaLedRgb::initPWM(byte pinRed, byte pinGreen, byte pinBlue) +{ + byte *pins_ = (byte *)malloc(3*numLeds); + pins_[0] = pinRed; + pins_[1] = pinGreen; + pins_[2] = pinBlue; + + initPWM(1, pins_); +} + +void AlaLedRgb::initPWM(int numLeds, byte *pins) +{ + this->driver = ALA_PWM; + this->numLeds = numLeds; + this->pins = pins; + + // allocate and clear leds array + if((leds = (AlaColor *)malloc(3*numLeds))) + { + memset(leds, 0, 3*numLeds); + } +} + +void AlaLedRgb::initTLC5940(int numLeds, byte *pins) +{ + this->driver = ALA_TLC5940; + this->numLeds = numLeds; + this->pins = pins; + + // allocate and clear leds array + if(leds = (AlaColor *)malloc(3*numLeds)) + { + memset(leds, 0, 3*numLeds); + } + + //pins = (byte *)malloc(numLeds); + //for(int i=0; idriver = ALA_WS2812; + this->numLeds = numLeds; + this->pins = pins; + + // allocate and clear leds array + if((leds = (AlaColor *)malloc(3*numLeds))) + { + memset(leds, 0, 3*numLeds); + } + + neopixels = new Adafruit_NeoPixel(numLeds, pin, type); + + neopixels->begin(); +} + + + +void AlaLedRgb::setBrightness(AlaColor maxOut) +{ + this->maxOut = maxOut; +} + +void AlaLedRgb::setRefreshRate(int refreshRate) +{ + this->refreshMillis = 1000/refreshRate; +} + +int AlaLedRgb::getRefreshRate() +{ + static long t; + + long el = millis() - t; + t = millis(); + + return 1000/el; +} + + +void AlaLedRgb::setAnimation(int animation, int speed, AlaColor color) +{ + if (this->animation == animation && this->speed == speed && this->palette.numColors == 1 && this->palette.colors[0] == color) + return; + + // delete any previously allocated array + if (pxPos!=NULL) + { delete[] pxPos; pxPos=NULL; } + if (pxSpeed!=NULL) + { delete[] pxSpeed; pxSpeed=NULL; } + + this->animation = animation; + this->speed = speed; + + this->palette.numColors = 1; + this->palette.colors = (AlaColor*)malloc(3); + this->palette.colors[0] = color; + + setAnimationFunc(animation); + animStartTime = millis(); +} + +void AlaLedRgb::setAnimation(int animation, int speed, AlaPalette palette) +{ + if (this->animation == animation && this->speed == speed && this->palette == palette) + return; + + // delete any previously allocated array + if (pxPos!=NULL) + { delete[] pxPos; pxPos=NULL; } + if (pxSpeed!=NULL) + { delete[] pxSpeed; pxSpeed=NULL; } + + this->animation = animation; + this->speed = speed; + this->palette = palette; + + setAnimationFunc(animation); + animStartTime = millis(); +} + + +void AlaLedRgb::setAnimation(AlaSeq animSeq[]) +{ + this->animSeq = animSeq; + + // initialize animSeqDuration and animSeqLen variables + animSeqDuration = 0; + for(animSeqLen=0; animSeq[animSeqLen].animation!=ALA_ENDSEQ; animSeqLen++) + { + animSeqDuration = animSeqDuration + animSeq[animSeqLen].duration; + } +} + +void AlaLedRgb::nextAnimation() +{ + currAnim = (currAnim+1)%animSeqLen; +} + +bool AlaLedRgb::runAnimation() +{ + // skip the refresh if now enough time has passed since last update + if (millis() < lastRefreshTime + refreshMillis) + return false; + lastRefreshTime = millis(); + + if (animSeqLen != 0) + { + if(animSeq[currAnim].duration == 0) + { + setAnimation(animSeq[currAnim].animation, animSeq[currAnim].speed, animSeq[currAnim].palette); + } + else + { + long c = 0; + for(int i=0; i=c && t<(c+animSeq[i].duration)) + { + setAnimation(animSeq[i].animation, animSeq[i].speed, animSeq[i].palette); + break; + } + c = c + animSeq[i].duration; + } + } + } + + if (animFunc != NULL) + { + (this->*animFunc)(); + + if(driver==ALA_PWM) + { + for(int i=0; isetPixelColor(i, neopixels->Color(leds[i].r*maxOut.r/255, leds[i].g*maxOut.g/255, leds[i].b*maxOut.b/255)); + + neopixels->show(); + } + } + + return true; +} + + +/////////////////////////////////////////////////////////////////////////////// + +void AlaLedRgb::setAnimationFunc(int animation) +{ + + switch(animation) + { + case ALA_ON: animFunc = &AlaLedRgb::on; break; + case ALA_OFF: animFunc = &AlaLedRgb::off; break; + case ALA_BLINK: animFunc = &AlaLedRgb::blink; break; + case ALA_BLINKALT: animFunc = &AlaLedRgb::blinkAlt; break; + case ALA_SPARKLE: animFunc = &AlaLedRgb::sparkle; break; + case ALA_SPARKLE2: animFunc = &AlaLedRgb::sparkle2; break; + case ALA_STROBO: animFunc = &AlaLedRgb::strobo; break; + + case ALA_PIXELSHIFTRIGHT: animFunc = &AlaLedRgb::pixelShiftRight; break; + case ALA_PIXELSHIFTLEFT: animFunc = &AlaLedRgb::pixelShiftLeft; break; + case ALA_PIXELBOUNCE: animFunc = &AlaLedRgb::pixelBounce; break; + case ALA_PIXELSMOOTHSHIFTRIGHT: animFunc = &AlaLedRgb::pixelSmoothShiftRight; break; + case ALA_PIXELSMOOTHSHIFTLEFT: animFunc = &AlaLedRgb::pixelSmoothShiftLeft; break; + case ALA_COMET: animFunc = &AlaLedRgb::comet; break; + case ALA_COMETCOL: animFunc = &AlaLedRgb::cometCol; break; + case ALA_MOVINGBARS: animFunc = &AlaLedRgb::movingBars; break; + case ALA_MOVINGGRADIENT: animFunc = &AlaLedRgb::movingGradient; break; + + case ALA_GLOW: animFunc = &AlaLedRgb::glow; break; + case ALA_FADECOLORS: animFunc = &AlaLedRgb::fadeColors; break; + case ALA_PIXELSFADECOLORS: animFunc = &AlaLedRgb::pixelsFadeColors; break; + case ALA_FADECOLORSLOOP: animFunc = &AlaLedRgb::fadeColorsLoop; break; + case ALA_CYCLECOLORS: animFunc = &AlaLedRgb::cycleColors; break; + + case ALA_FIRE: animFunc = &AlaLedRgb::fire; break; + case ALA_BOUNCINGBALLS: animFunc = &AlaLedRgb::bouncingBalls; break; + case ALA_BUBBLES: animFunc = &AlaLedRgb::bubbles; break; + + default: animFunc = &AlaLedRgb::off; + } + +} + + +void AlaLedRgb::on() +{ + for(int i=0; i= 2; k--) { + heat[k] = (heat[k - 1] + heat[k - 2] + heat[k - 2] ) / 3; + } + + // Step 3. Randomly ignite new 'sparks' of heat near the bottom + if( random(255) < SPARKING ) + { + int y = random(7); + heat[y] = min((int)heat[y] + random(160,255), 255); + } + + // Step 4. Map from heat cells to LED colors + for(int j=0; j-0.04 and pxSpeed[i]<0 and pxPos[i]>0 and pxPos[i]<0.1) + pxSpeed[i]=(0.09)-((float)random(10)/1000); + + pxPos[i] = pxPos[i] + pxSpeed[i]; + if(pxPos[i]>=1) + { + pxPos[i]=1; + } + if(pxPos[i]<0) + { + pxPos[i]=-pxPos[i]; + pxSpeed[i]=-0.91*pxSpeed[i]; + } + + pxSpeed[i] = pxSpeed[i]-speedReduction; + } + + for (int x=0; x=1) + { + pxPos[i]=0; + pxSpeed[i]=0; + } + if(random(20)==0 and pxPos[i]==0) + { + pxPos[i]=0.0001; + pxSpeed[i]=0.0001; + } + if(pxPos[i]>0) + { + pxPos[i] = pxPos[i] + pxSpeed[i]; + pxSpeed[i] = pxSpeed[i] + speedDelta; + } + } + + for (int x=0; x0) + { + int p = mapfloat(pxPos[i], 0, 1, 0, numLeds-1); + AlaColor c = palette.colors[i].scale(1-(float)random(10)/30); // add a little flickering + leds[p] = c; + } + } + +} + diff --git a/AlaLedRgb.h b/AlaLedRgb.h new file mode 100644 index 0000000..dfb98c0 --- /dev/null +++ b/AlaLedRgb.h @@ -0,0 +1,112 @@ +#ifndef AlaLedRgb_h +#define AlaLedRgb_h + + +#include "Ala.h" + + +/** + * AlaLedRgb can be used to drive a single or multiple RGB leds to perform animations. + * Available drivers are PWM pin, TLC5940, WS2811. + */ +class AlaLedRgb +{ + +public: + + AlaLedRgb(); + + void initPWM(byte pinsRed, byte pinGreen, byte pinBlue); + void initPWM(int numLeds, byte *pins); + void initTLC5940(int numLeds, byte *pins); + + /** + * Initializes WS2812 LEDs. It be invoked in the setup() function of the main Arduino sketch. + * + * The type field can be used to set the RGB order and chipset frequency. Constants are Adafruit_NeoPixel.h file. + * It is set by default to NEO_GRB + NEO_KHZ800. + */ + void initWS2812(int numLeds, byte pin, byte type=0x01+0x02); + + /** + * Sets the maximum brightness level. + */ + void setBrightness(AlaColor maxOut); + + /** + * Sets the maximum refresh rate in Hz (default value is 50 Hz). + * May be useful to reduce flickering in some cases. + */ + void setRefreshRate(int refreshRate); + + int getRefreshRate(); + + + void setAnimation(int animation, int speed, AlaColor color); + void setAnimation(int animation, int speed, AlaPalette palette); + void setAnimation(AlaSeq animSeq[]); + bool runAnimation(); + void nextAnimation(); + + + +private: + + void setAnimationFunc(int animation); + void on(); + void off(); + void blink(); + void blinkAlt(); + void sparkle(); + void sparkle2(); + void strobo(); + void cycleColors(); + + void pixelShiftRight(); + void pixelShiftLeft(); + void pixelBounce(); + void pixelSmoothShiftRight(); + void pixelSmoothShiftLeft(); + void comet(); + void cometCol(); + + void glow(); + void fadeColors(); + void pixelsFadeColors(); + void fadeColorsLoop(); + + void movingBars(); + void movingGradient(); + + void fire(); + void bouncingBalls(); + void bubbles(); + + + byte driver; + byte *pins; + byte pin; + AlaColor *leds; + int numLeds; + + int animation; + int currAnim; + long speed; + AlaPalette palette; + AlaSeq *animSeq; + int animSeqLen; + long animSeqDuration; + + void (AlaLedRgb::*animFunc)(); + AlaColor maxOut; + int refreshMillis; + unsigned long animStartTime; + unsigned long lastRefreshTime; + + float *pxPos; + float *pxSpeed; + +}; + + +#endif \ No newline at end of file diff --git a/ExtNeoPixel.cpp b/ExtNeoPixel.cpp new file mode 100644 index 0000000..8818bde --- /dev/null +++ b/ExtNeoPixel.cpp @@ -0,0 +1,1028 @@ +/*------------------------------------------------------------------------- + Arduino library to control a wide variety of WS2811- and WS2812-based RGB + LED devices such as Adafruit FLORA RGB Smart Pixels and NeoPixel strips. + Currently handles 400 and 800 KHz bitstreams on 8, 12 and 16 MHz ATmega + MCUs, with LEDs wired for RGB or GRB color order. 8 MHz MCUs provide + output on PORTB and PORTD, while 16 MHz chips can handle most output pins + (possible exception with upper PORT registers on the Arduino Mega). + + Written by Phil Burgess / Paint Your Dragon for Adafruit Industries, + contributions by PJRC and other members of the open source community. + + Adafruit invests time and resources providing this open source code, + please support Adafruit and open-source hardware by purchasing products + from Adafruit! + + ------------------------------------------------------------------------- + This file is part of the Adafruit NeoPixel library. + + NeoPixel is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation, either version 3 of + the License, or (at your option) any later version. + + NeoPixel is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with NeoPixel. If not, see + . + -------------------------------------------------------------------------*/ + +#include "ExtNeoPixel.h" + +Adafruit_NeoPixel::Adafruit_NeoPixel(uint16_t n, uint8_t p, uint8_t t) : numLEDs(n), numBytes(n * 3), pin(p), pixels(NULL) + ,type(t), brightness(0), endTime(0) +#ifdef __AVR__ + ,port(portOutputRegister(digitalPinToPort(p))), + pinMask(digitalPinToBitMask(p)) +#endif +{ + if((pixels = (uint8_t *)malloc(numBytes))) { + memset(pixels, 0, numBytes); + } + if(t & NEO_GRB) { // GRB vs RGB; might add others if needed + rOffset = 1; + gOffset = 0; + bOffset = 2; + } else if (t & NEO_BRG) { + rOffset = 1; + gOffset = 2; + bOffset = 0; + } else { + rOffset = 0; + gOffset = 1; + bOffset = 2; + } + +} + +Adafruit_NeoPixel::~Adafruit_NeoPixel() { + if(pixels) free(pixels); + pinMode(pin, INPUT); +} + +void Adafruit_NeoPixel::begin(void) { + pinMode(pin, OUTPUT); + digitalWrite(pin, LOW); +} + +void Adafruit_NeoPixel::show(void) { + + if(!pixels) return; + + // Data latch = 50+ microsecond pause in the output stream. Rather than + // put a delay at the end of the function, the ending time is noted and + // the function will simply hold off (if needed) on issuing the + // subsequent round of data until the latch time has elapsed. This + // allows the mainline code to start generating the next frame of data + // rather than stalling for the latch. + while(!canShow()); + // endTime is a private member (rather than global var) so that mutliple + // instances on different pins can be quickly issued in succession (each + // instance doesn't delay the next). + + // In order to make this code runtime-configurable to work with any pin, + // SBI/CBI instructions are eschewed in favor of full PORT writes via the + // OUT or ST instructions. It relies on two facts: that peripheral + // functions (such as PWM) take precedence on output pins, so our PORT- + // wide writes won't interfere, and that interrupts are globally disabled + // while data is being issued to the LEDs, so no other code will be + // accessing the PORT. The code takes an initial 'snapshot' of the PORT + // state, computes 'pin high' and 'pin low' values, and writes these back + // to the PORT register as needed. + + noInterrupts(); // Need 100% focus on instruction timing + +#ifdef __AVR__ + + volatile uint16_t + i = numBytes; // Loop counter + volatile uint8_t + *ptr = pixels, // Pointer to next byte + b = *ptr++, // Current byte value + hi, // PORT w/output bit set high + lo; // PORT w/output bit set low + + // Hand-tuned assembly code issues data to the LED drivers at a specific + // rate. There's separate code for different CPU speeds (8, 12, 16 MHz) + // for both the WS2811 (400 KHz) and WS2812 (800 KHz) drivers. The + // datastream timing for the LED drivers allows a little wiggle room each + // way (listed in the datasheets), so the conditions for compiling each + // case are set up for a range of frequencies rather than just the exact + // 8, 12 or 16 MHz values, permitting use with some close-but-not-spot-on + // devices (e.g. 16.5 MHz DigiSpark). The ranges were arrived at based + // on the datasheet figures and have not been extensively tested outside + // the canonical 8/12/16 MHz speeds; there's no guarantee these will work + // close to the extremes (or possibly they could be pushed further). + // Keep in mind only one CPU speed case actually gets compiled; the + // resulting program isn't as massive as it might look from source here. + +// 8 MHz(ish) AVR --------------------------------------------------------- +#if (F_CPU >= 7400000UL) && (F_CPU <= 9500000UL) + +#ifdef NEO_KHZ400 + if((type & NEO_SPDMASK) == NEO_KHZ800) { // 800 KHz bitstream +#endif + + volatile uint8_t n1, n2 = 0; // First, next bits out + + // Squeezing an 800 KHz stream out of an 8 MHz chip requires code + // specific to each PORT register. At present this is only written + // to work with pins on PORTD or PORTB, the most likely use case -- + // this covers all the pins on the Adafruit Flora and the bulk of + // digital pins on the Arduino Pro 8 MHz (keep in mind, this code + // doesn't even get compiled for 16 MHz boards like the Uno, Mega, + // Leonardo, etc., so don't bother extending this out of hand). + // Additional PORTs could be added if you really need them, just + // duplicate the else and loop and change the PORT. Each add'l + // PORT will require about 150(ish) bytes of program space. + + // 10 instruction clocks per bit: HHxxxxxLLL + // OUT instructions: ^ ^ ^ (T=0,2,7) + +#ifdef PORTD // PORTD isn't present on ATtiny85, etc. + + if(port == &PORTD) { + + hi = PORTD | pinMask; + lo = PORTD & ~pinMask; + n1 = lo; + if(b & 0x80) n1 = hi; + + // Dirty trick: RJMPs proceeding to the next instruction are used + // to delay two clock cycles in one instruction word (rather than + // using two NOPs). This was necessary in order to squeeze the + // loop down to exactly 64 words -- the maximum possible for a + // relative branch. + + asm volatile( + "headD:" "\n\t" // Clk Pseudocode + // Bit 7: + "out %[port] , %[hi]" "\n\t" // 1 PORT = hi + "mov %[n2] , %[lo]" "\n\t" // 1 n2 = lo + "out %[port] , %[n1]" "\n\t" // 1 PORT = n1 + "rjmp .+0" "\n\t" // 2 nop nop + "sbrc %[byte] , 6" "\n\t" // 1-2 if(b & 0x40) + "mov %[n2] , %[hi]" "\n\t" // 0-1 n2 = hi + "out %[port] , %[lo]" "\n\t" // 1 PORT = lo + "rjmp .+0" "\n\t" // 2 nop nop + // Bit 6: + "out %[port] , %[hi]" "\n\t" // 1 PORT = hi + "mov %[n1] , %[lo]" "\n\t" // 1 n1 = lo + "out %[port] , %[n2]" "\n\t" // 1 PORT = n2 + "rjmp .+0" "\n\t" // 2 nop nop + "sbrc %[byte] , 5" "\n\t" // 1-2 if(b & 0x20) + "mov %[n1] , %[hi]" "\n\t" // 0-1 n1 = hi + "out %[port] , %[lo]" "\n\t" // 1 PORT = lo + "rjmp .+0" "\n\t" // 2 nop nop + // Bit 5: + "out %[port] , %[hi]" "\n\t" // 1 PORT = hi + "mov %[n2] , %[lo]" "\n\t" // 1 n2 = lo + "out %[port] , %[n1]" "\n\t" // 1 PORT = n1 + "rjmp .+0" "\n\t" // 2 nop nop + "sbrc %[byte] , 4" "\n\t" // 1-2 if(b & 0x10) + "mov %[n2] , %[hi]" "\n\t" // 0-1 n2 = hi + "out %[port] , %[lo]" "\n\t" // 1 PORT = lo + "rjmp .+0" "\n\t" // 2 nop nop + // Bit 4: + "out %[port] , %[hi]" "\n\t" // 1 PORT = hi + "mov %[n1] , %[lo]" "\n\t" // 1 n1 = lo + "out %[port] , %[n2]" "\n\t" // 1 PORT = n2 + "rjmp .+0" "\n\t" // 2 nop nop + "sbrc %[byte] , 3" "\n\t" // 1-2 if(b & 0x08) + "mov %[n1] , %[hi]" "\n\t" // 0-1 n1 = hi + "out %[port] , %[lo]" "\n\t" // 1 PORT = lo + "rjmp .+0" "\n\t" // 2 nop nop + // Bit 3: + "out %[port] , %[hi]" "\n\t" // 1 PORT = hi + "mov %[n2] , %[lo]" "\n\t" // 1 n2 = lo + "out %[port] , %[n1]" "\n\t" // 1 PORT = n1 + "rjmp .+0" "\n\t" // 2 nop nop + "sbrc %[byte] , 2" "\n\t" // 1-2 if(b & 0x04) + "mov %[n2] , %[hi]" "\n\t" // 0-1 n2 = hi + "out %[port] , %[lo]" "\n\t" // 1 PORT = lo + "rjmp .+0" "\n\t" // 2 nop nop + // Bit 2: + "out %[port] , %[hi]" "\n\t" // 1 PORT = hi + "mov %[n1] , %[lo]" "\n\t" // 1 n1 = lo + "out %[port] , %[n2]" "\n\t" // 1 PORT = n2 + "rjmp .+0" "\n\t" // 2 nop nop + "sbrc %[byte] , 1" "\n\t" // 1-2 if(b & 0x02) + "mov %[n1] , %[hi]" "\n\t" // 0-1 n1 = hi + "out %[port] , %[lo]" "\n\t" // 1 PORT = lo + "rjmp .+0" "\n\t" // 2 nop nop + // Bit 1: + "out %[port] , %[hi]" "\n\t" // 1 PORT = hi + "mov %[n2] , %[lo]" "\n\t" // 1 n2 = lo + "out %[port] , %[n1]" "\n\t" // 1 PORT = n1 + "rjmp .+0" "\n\t" // 2 nop nop + "sbrc %[byte] , 0" "\n\t" // 1-2 if(b & 0x01) + "mov %[n2] , %[hi]" "\n\t" // 0-1 n2 = hi + "out %[port] , %[lo]" "\n\t" // 1 PORT = lo + "sbiw %[count], 1" "\n\t" // 2 i-- (don't act on Z flag yet) + // Bit 0: + "out %[port] , %[hi]" "\n\t" // 1 PORT = hi + "mov %[n1] , %[lo]" "\n\t" // 1 n1 = lo + "out %[port] , %[n2]" "\n\t" // 1 PORT = n2 + "ld %[byte] , %a[ptr]+" "\n\t" // 2 b = *ptr++ + "sbrc %[byte] , 7" "\n\t" // 1-2 if(b & 0x80) + "mov %[n1] , %[hi]" "\n\t" // 0-1 n1 = hi + "out %[port] , %[lo]" "\n\t" // 1 PORT = lo + "brne headD" "\n" // 2 while(i) (Z flag set above) + : [byte] "+r" (b), + [n1] "+r" (n1), + [n2] "+r" (n2), + [count] "+w" (i) + : [port] "I" (_SFR_IO_ADDR(PORTD)), + [ptr] "e" (ptr), + [hi] "r" (hi), + [lo] "r" (lo)); + + } else if(port == &PORTB) { + +#endif // PORTD + + // Same as above, just switched to PORTB and stripped of comments. + hi = PORTB | pinMask; + lo = PORTB & ~pinMask; + n1 = lo; + if(b & 0x80) n1 = hi; + + asm volatile( + "headB:" "\n\t" + "out %[port] , %[hi]" "\n\t" + "mov %[n2] , %[lo]" "\n\t" + "out %[port] , %[n1]" "\n\t" + "rjmp .+0" "\n\t" + "sbrc %[byte] , 6" "\n\t" + "mov %[n2] , %[hi]" "\n\t" + "out %[port] , %[lo]" "\n\t" + "rjmp .+0" "\n\t" + "out %[port] , %[hi]" "\n\t" + "mov %[n1] , %[lo]" "\n\t" + "out %[port] , %[n2]" "\n\t" + "rjmp .+0" "\n\t" + "sbrc %[byte] , 5" "\n\t" + "mov %[n1] , %[hi]" "\n\t" + "out %[port] , %[lo]" "\n\t" + "rjmp .+0" "\n\t" + "out %[port] , %[hi]" "\n\t" + "mov %[n2] , %[lo]" "\n\t" + "out %[port] , %[n1]" "\n\t" + "rjmp .+0" "\n\t" + "sbrc %[byte] , 4" "\n\t" + "mov %[n2] , %[hi]" "\n\t" + "out %[port] , %[lo]" "\n\t" + "rjmp .+0" "\n\t" + "out %[port] , %[hi]" "\n\t" + "mov %[n1] , %[lo]" "\n\t" + "out %[port] , %[n2]" "\n\t" + "rjmp .+0" "\n\t" + "sbrc %[byte] , 3" "\n\t" + "mov %[n1] , %[hi]" "\n\t" + "out %[port] , %[lo]" "\n\t" + "rjmp .+0" "\n\t" + "out %[port] , %[hi]" "\n\t" + "mov %[n2] , %[lo]" "\n\t" + "out %[port] , %[n1]" "\n\t" + "rjmp .+0" "\n\t" + "sbrc %[byte] , 2" "\n\t" + "mov %[n2] , %[hi]" "\n\t" + "out %[port] , %[lo]" "\n\t" + "rjmp .+0" "\n\t" + "out %[port] , %[hi]" "\n\t" + "mov %[n1] , %[lo]" "\n\t" + "out %[port] , %[n2]" "\n\t" + "rjmp .+0" "\n\t" + "sbrc %[byte] , 1" "\n\t" + "mov %[n1] , %[hi]" "\n\t" + "out %[port] , %[lo]" "\n\t" + "rjmp .+0" "\n\t" + "out %[port] , %[hi]" "\n\t" + "mov %[n2] , %[lo]" "\n\t" + "out %[port] , %[n1]" "\n\t" + "rjmp .+0" "\n\t" + "sbrc %[byte] , 0" "\n\t" + "mov %[n2] , %[hi]" "\n\t" + "out %[port] , %[lo]" "\n\t" + "sbiw %[count], 1" "\n\t" + "out %[port] , %[hi]" "\n\t" + "mov %[n1] , %[lo]" "\n\t" + "out %[port] , %[n2]" "\n\t" + "ld %[byte] , %a[ptr]+" "\n\t" + "sbrc %[byte] , 7" "\n\t" + "mov %[n1] , %[hi]" "\n\t" + "out %[port] , %[lo]" "\n\t" + "brne headB" "\n" + : [byte] "+r" (b), [n1] "+r" (n1), [n2] "+r" (n2), [count] "+w" (i) + : [port] "I" (_SFR_IO_ADDR(PORTB)), [ptr] "e" (ptr), [hi] "r" (hi), + [lo] "r" (lo)); + +#ifdef PORTD + } // endif PORTB +#endif + +#ifdef NEO_KHZ400 + } else { // end 800 KHz, do 400 KHz + + // Timing is more relaxed; unrolling the inner loop for each bit is + // not necessary. Still using the peculiar RJMPs as 2X NOPs, not out + // of need but just to trim the code size down a little. + // This 400-KHz-datastream-on-8-MHz-CPU code is not quite identical + // to the 800-on-16 code later -- the hi/lo timing between WS2811 and + // WS2812 is not simply a 2:1 scale! + + // 20 inst. clocks per bit: HHHHxxxxxxLLLLLLLLLL + // ST instructions: ^ ^ ^ (T=0,4,10) + + volatile uint8_t next, bit; + + hi = *port | pinMask; + lo = *port & ~pinMask; + next = lo; + bit = 8; + + asm volatile( + "head20:" "\n\t" // Clk Pseudocode (T = 0) + "st %a[port], %[hi]" "\n\t" // 2 PORT = hi (T = 2) + "sbrc %[byte] , 7" "\n\t" // 1-2 if(b & 128) + "mov %[next], %[hi]" "\n\t" // 0-1 next = hi (T = 4) + "st %a[port], %[next]" "\n\t" // 2 PORT = next (T = 6) + "mov %[next] , %[lo]" "\n\t" // 1 next = lo (T = 7) + "dec %[bit]" "\n\t" // 1 bit-- (T = 8) + "breq nextbyte20" "\n\t" // 1-2 if(bit == 0) + "rol %[byte]" "\n\t" // 1 b <<= 1 (T = 10) + "st %a[port], %[lo]" "\n\t" // 2 PORT = lo (T = 12) + "rjmp .+0" "\n\t" // 2 nop nop (T = 14) + "rjmp .+0" "\n\t" // 2 nop nop (T = 16) + "rjmp .+0" "\n\t" // 2 nop nop (T = 18) + "rjmp head20" "\n\t" // 2 -> head20 (next bit out) + "nextbyte20:" "\n\t" // (T = 10) + "st %a[port], %[lo]" "\n\t" // 2 PORT = lo (T = 12) + "nop" "\n\t" // 1 nop (T = 13) + "ldi %[bit] , 8" "\n\t" // 1 bit = 8 (T = 14) + "ld %[byte] , %a[ptr]+" "\n\t" // 2 b = *ptr++ (T = 16) + "sbiw %[count], 1" "\n\t" // 2 i-- (T = 18) + "brne head20" "\n" // 2 if(i != 0) -> (next byte) + : [port] "+e" (port), + [byte] "+r" (b), + [bit] "+r" (bit), + [next] "+r" (next), + [count] "+w" (i) + : [hi] "r" (hi), + [lo] "r" (lo), + [ptr] "e" (ptr)); + } +#endif + +// 12 MHz(ish) AVR -------------------------------------------------------- +#elif (F_CPU >= 11100000UL) && (F_CPU <= 14300000UL) + +#ifdef NEO_KHZ400 + if((type & NEO_SPDMASK) == NEO_KHZ800) { // 800 KHz bitstream +#endif + + // In the 12 MHz case, an optimized 800 KHz datastream (no dead time + // between bytes) requires a PORT-specific loop similar to the 8 MHz + // code (but a little more relaxed in this case). + + // 15 instruction clocks per bit: HHHHxxxxxxLLLLL + // OUT instructions: ^ ^ ^ (T=0,4,10) + + volatile uint8_t next; + +#ifdef PORTD + + if(port == &PORTD) { + + hi = PORTD | pinMask; + lo = PORTD & ~pinMask; + next = lo; + if(b & 0x80) next = hi; + + // Don't "optimize" the OUT calls into the bitTime subroutine; + // we're exploiting the RCALL and RET as 3- and 4-cycle NOPs! + asm volatile( + "headD:" "\n\t" // (T = 0) + "out %[port], %[hi]" "\n\t" // (T = 1) + "rcall bitTimeD" "\n\t" // Bit 7 (T = 15) + "out %[port], %[hi]" "\n\t" + "rcall bitTimeD" "\n\t" // Bit 6 + "out %[port], %[hi]" "\n\t" + "rcall bitTimeD" "\n\t" // Bit 5 + "out %[port], %[hi]" "\n\t" + "rcall bitTimeD" "\n\t" // Bit 4 + "out %[port], %[hi]" "\n\t" + "rcall bitTimeD" "\n\t" // Bit 3 + "out %[port], %[hi]" "\n\t" + "rcall bitTimeD" "\n\t" // Bit 2 + "out %[port], %[hi]" "\n\t" + "rcall bitTimeD" "\n\t" // Bit 1 + // Bit 0: + "out %[port] , %[hi]" "\n\t" // 1 PORT = hi (T = 1) + "rjmp .+0" "\n\t" // 2 nop nop (T = 3) + "ld %[byte] , %a[ptr]+" "\n\t" // 2 b = *ptr++ (T = 5) + "out %[port] , %[next]" "\n\t" // 1 PORT = next (T = 6) + "mov %[next] , %[lo]" "\n\t" // 1 next = lo (T = 7) + "sbrc %[byte] , 7" "\n\t" // 1-2 if(b & 0x80) (T = 8) + "mov %[next] , %[hi]" "\n\t" // 0-1 next = hi (T = 9) + "nop" "\n\t" // 1 (T = 10) + "out %[port] , %[lo]" "\n\t" // 1 PORT = lo (T = 11) + "sbiw %[count], 1" "\n\t" // 2 i-- (T = 13) + "brne headD" "\n\t" // 2 if(i != 0) -> (next byte) + "rjmp doneD" "\n\t" + "bitTimeD:" "\n\t" // nop nop nop (T = 4) + "out %[port], %[next]" "\n\t" // 1 PORT = next (T = 5) + "mov %[next], %[lo]" "\n\t" // 1 next = lo (T = 6) + "rol %[byte]" "\n\t" // 1 b <<= 1 (T = 7) + "sbrc %[byte], 7" "\n\t" // 1-2 if(b & 0x80) (T = 8) + "mov %[next], %[hi]" "\n\t" // 0-1 next = hi (T = 9) + "nop" "\n\t" // 1 (T = 10) + "out %[port], %[lo]" "\n\t" // 1 PORT = lo (T = 11) + "ret" "\n\t" // 4 nop nop nop nop (T = 15) + "doneD:" "\n" + : [byte] "+r" (b), + [next] "+r" (next), + [count] "+w" (i) + : [port] "I" (_SFR_IO_ADDR(PORTD)), + [ptr] "e" (ptr), + [hi] "r" (hi), + [lo] "r" (lo)); + + } else if(port == &PORTB) { + +#endif // PORTD + + hi = PORTB | pinMask; + lo = PORTB & ~pinMask; + next = lo; + if(b & 0x80) next = hi; + + // Same as above, just set for PORTB & stripped of comments + asm volatile( + "headB:" "\n\t" + "out %[port], %[hi]" "\n\t" + "rcall bitTimeB" "\n\t" + "out %[port], %[hi]" "\n\t" + "rcall bitTimeB" "\n\t" + "out %[port], %[hi]" "\n\t" + "rcall bitTimeB" "\n\t" + "out %[port], %[hi]" "\n\t" + "rcall bitTimeB" "\n\t" + "out %[port], %[hi]" "\n\t" + "rcall bitTimeB" "\n\t" + "out %[port], %[hi]" "\n\t" + "rcall bitTimeB" "\n\t" + "out %[port], %[hi]" "\n\t" + "rcall bitTimeB" "\n\t" + "out %[port] , %[hi]" "\n\t" + "rjmp .+0" "\n\t" + "ld %[byte] , %a[ptr]+" "\n\t" + "out %[port] , %[next]" "\n\t" + "mov %[next] , %[lo]" "\n\t" + "sbrc %[byte] , 7" "\n\t" + "mov %[next] , %[hi]" "\n\t" + "nop" "\n\t" + "out %[port] , %[lo]" "\n\t" + "sbiw %[count], 1" "\n\t" + "brne headB" "\n\t" + "rjmp doneB" "\n\t" + "bitTimeB:" "\n\t" + "out %[port], %[next]" "\n\t" + "mov %[next], %[lo]" "\n\t" + "rol %[byte]" "\n\t" + "sbrc %[byte], 7" "\n\t" + "mov %[next], %[hi]" "\n\t" + "nop" "\n\t" + "out %[port], %[lo]" "\n\t" + "ret" "\n\t" + "doneB:" "\n" + : [byte] "+r" (b), [next] "+r" (next), [count] "+w" (i) + : [port] "I" (_SFR_IO_ADDR(PORTB)), [ptr] "e" (ptr), [hi] "r" (hi), + [lo] "r" (lo)); + +#ifdef PORTD + } +#endif + +#ifdef NEO_KHZ400 + } else { // 400 KHz + + // 30 instruction clocks per bit: HHHHHHxxxxxxxxxLLLLLLLLLLLLLLL + // ST instructions: ^ ^ ^ (T=0,6,15) + + volatile uint8_t next, bit; + + hi = *port | pinMask; + lo = *port & ~pinMask; + next = lo; + bit = 8; + + asm volatile( + "head30:" "\n\t" // Clk Pseudocode (T = 0) + "st %a[port], %[hi]" "\n\t" // 2 PORT = hi (T = 2) + "sbrc %[byte] , 7" "\n\t" // 1-2 if(b & 128) + "mov %[next], %[hi]" "\n\t" // 0-1 next = hi (T = 4) + "rjmp .+0" "\n\t" // 2 nop nop (T = 6) + "st %a[port], %[next]" "\n\t" // 2 PORT = next (T = 8) + "rjmp .+0" "\n\t" // 2 nop nop (T = 10) + "rjmp .+0" "\n\t" // 2 nop nop (T = 12) + "rjmp .+0" "\n\t" // 2 nop nop (T = 14) + "nop" "\n\t" // 1 nop (T = 15) + "st %a[port], %[lo]" "\n\t" // 2 PORT = lo (T = 17) + "rjmp .+0" "\n\t" // 2 nop nop (T = 19) + "dec %[bit]" "\n\t" // 1 bit-- (T = 20) + "breq nextbyte30" "\n\t" // 1-2 if(bit == 0) + "rol %[byte]" "\n\t" // 1 b <<= 1 (T = 22) + "rjmp .+0" "\n\t" // 2 nop nop (T = 24) + "rjmp .+0" "\n\t" // 2 nop nop (T = 26) + "rjmp .+0" "\n\t" // 2 nop nop (T = 28) + "rjmp head30" "\n\t" // 2 -> head30 (next bit out) + "nextbyte30:" "\n\t" // (T = 22) + "nop" "\n\t" // 1 nop (T = 23) + "ldi %[bit] , 8" "\n\t" // 1 bit = 8 (T = 24) + "ld %[byte] , %a[ptr]+" "\n\t" // 2 b = *ptr++ (T = 26) + "sbiw %[count], 1" "\n\t" // 2 i-- (T = 28) + "brne head30" "\n" // 1-2 if(i != 0) -> (next byte) + : [port] "+e" (port), + [byte] "+r" (b), + [bit] "+r" (bit), + [next] "+r" (next), + [count] "+w" (i) + : [hi] "r" (hi), + [lo] "r" (lo), + [ptr] "e" (ptr)); + } +#endif + +// 16 MHz(ish) AVR -------------------------------------------------------- +#elif (F_CPU >= 15400000UL) && (F_CPU <= 19000000L) + +#ifdef NEO_KHZ400 + if((type & NEO_SPDMASK) == NEO_KHZ800) { // 800 KHz bitstream +#endif + + // WS2811 and WS2812 have different hi/lo duty cycles; this is + // similar but NOT an exact copy of the prior 400-on-8 code. + + // 20 inst. clocks per bit: HHHHHxxxxxxxxLLLLLLL + // ST instructions: ^ ^ ^ (T=0,5,13) + + volatile uint8_t next, bit; + + hi = *port | pinMask; + lo = *port & ~pinMask; + next = lo; + bit = 8; + + asm volatile( + "head20:" "\n\t" // Clk Pseudocode (T = 0) + "st %a[port], %[hi]" "\n\t" // 2 PORT = hi (T = 2) + "sbrc %[byte], 7" "\n\t" // 1-2 if(b & 128) + "mov %[next], %[hi]" "\n\t" // 0-1 next = hi (T = 4) + "dec %[bit]" "\n\t" // 1 bit-- (T = 5) + "st %a[port], %[next]" "\n\t" // 2 PORT = next (T = 7) + "mov %[next] , %[lo]" "\n\t" // 1 next = lo (T = 8) + "breq nextbyte20" "\n\t" // 1-2 if(bit == 0) (from dec above) + "rol %[byte]" "\n\t" // 1 b <<= 1 (T = 10) + "rjmp .+0" "\n\t" // 2 nop nop (T = 12) + "nop" "\n\t" // 1 nop (T = 13) + "st %a[port], %[lo]" "\n\t" // 2 PORT = lo (T = 15) + "nop" "\n\t" // 1 nop (T = 16) + "rjmp .+0" "\n\t" // 2 nop nop (T = 18) + "rjmp head20" "\n\t" // 2 -> head20 (next bit out) + "nextbyte20:" "\n\t" // (T = 10) + "ldi %[bit] , 8" "\n\t" // 1 bit = 8 (T = 11) + "ld %[byte] , %a[ptr]+" "\n\t" // 2 b = *ptr++ (T = 13) + "st %a[port], %[lo]" "\n\t" // 2 PORT = lo (T = 15) + "nop" "\n\t" // 1 nop (T = 16) + "sbiw %[count], 1" "\n\t" // 2 i-- (T = 18) + "brne head20" "\n" // 2 if(i != 0) -> (next byte) + : [port] "+e" (port), + [byte] "+r" (b), + [bit] "+r" (bit), + [next] "+r" (next), + [count] "+w" (i) + : [ptr] "e" (ptr), + [hi] "r" (hi), + [lo] "r" (lo)); + +#ifdef NEO_KHZ400 + } else { // 400 KHz + + // The 400 KHz clock on 16 MHz MCU is the most 'relaxed' version. + + // 40 inst. clocks per bit: HHHHHHHHxxxxxxxxxxxxLLLLLLLLLLLLLLLLLLLL + // ST instructions: ^ ^ ^ (T=0,8,20) + + volatile uint8_t next, bit; + + hi = *port | pinMask; + lo = *port & ~pinMask; + next = lo; + bit = 8; + + asm volatile( + "head40:" "\n\t" // Clk Pseudocode (T = 0) + "st %a[port], %[hi]" "\n\t" // 2 PORT = hi (T = 2) + "sbrc %[byte] , 7" "\n\t" // 1-2 if(b & 128) + "mov %[next] , %[hi]" "\n\t" // 0-1 next = hi (T = 4) + "rjmp .+0" "\n\t" // 2 nop nop (T = 6) + "rjmp .+0" "\n\t" // 2 nop nop (T = 8) + "st %a[port], %[next]" "\n\t" // 2 PORT = next (T = 10) + "rjmp .+0" "\n\t" // 2 nop nop (T = 12) + "rjmp .+0" "\n\t" // 2 nop nop (T = 14) + "rjmp .+0" "\n\t" // 2 nop nop (T = 16) + "rjmp .+0" "\n\t" // 2 nop nop (T = 18) + "rjmp .+0" "\n\t" // 2 nop nop (T = 20) + "st %a[port], %[lo]" "\n\t" // 2 PORT = lo (T = 22) + "nop" "\n\t" // 1 nop (T = 23) + "mov %[next] , %[lo]" "\n\t" // 1 next = lo (T = 24) + "dec %[bit]" "\n\t" // 1 bit-- (T = 25) + "breq nextbyte40" "\n\t" // 1-2 if(bit == 0) + "rol %[byte]" "\n\t" // 1 b <<= 1 (T = 27) + "nop" "\n\t" // 1 nop (T = 28) + "rjmp .+0" "\n\t" // 2 nop nop (T = 30) + "rjmp .+0" "\n\t" // 2 nop nop (T = 32) + "rjmp .+0" "\n\t" // 2 nop nop (T = 34) + "rjmp .+0" "\n\t" // 2 nop nop (T = 36) + "rjmp .+0" "\n\t" // 2 nop nop (T = 38) + "rjmp head40" "\n\t" // 2 -> head40 (next bit out) + "nextbyte40:" "\n\t" // (T = 27) + "ldi %[bit] , 8" "\n\t" // 1 bit = 8 (T = 28) + "ld %[byte] , %a[ptr]+" "\n\t" // 2 b = *ptr++ (T = 30) + "rjmp .+0" "\n\t" // 2 nop nop (T = 32) + "st %a[port], %[lo]" "\n\t" // 2 PORT = lo (T = 34) + "rjmp .+0" "\n\t" // 2 nop nop (T = 36) + "sbiw %[count], 1" "\n\t" // 2 i-- (T = 38) + "brne head40" "\n" // 1-2 if(i != 0) -> (next byte) + : [port] "+e" (port), + [byte] "+r" (b), + [bit] "+r" (bit), + [next] "+r" (next), + [count] "+w" (i) + : [ptr] "e" (ptr), + [hi] "r" (hi), + [lo] "r" (lo)); + } +#endif + +#else + #error "CPU SPEED NOT SUPPORTED" +#endif + +#elif defined(__arm__) + +#if defined(__MK20DX128__) || defined(__MK20DX256__) // Teensy 3.0 & 3.1 +#define CYCLES_800_T0H (F_CPU / 4000000) +#define CYCLES_800_T1H (F_CPU / 1250000) +#define CYCLES_800 (F_CPU / 800000) +#define CYCLES_400_T0H (F_CPU / 2000000) +#define CYCLES_400_T1H (F_CPU / 833333) +#define CYCLES_400 (F_CPU / 400000) + + uint8_t *p = pixels, + *end = p + numBytes, pix, mask; + volatile uint8_t *set = portSetRegister(pin), + *clr = portClearRegister(pin); + uint32_t cyc; + + ARM_DEMCR |= ARM_DEMCR_TRCENA; + ARM_DWT_CTRL |= ARM_DWT_CTRL_CYCCNTENA; + +#ifdef NEO_KHZ400 + if((type & NEO_SPDMASK) == NEO_KHZ800) { // 800 KHz bitstream +#endif + cyc = ARM_DWT_CYCCNT + CYCLES_800; + while(p < end) { + pix = *p++; + for(mask = 0x80; mask; mask >>= 1) { + while(ARM_DWT_CYCCNT - cyc < CYCLES_800); + cyc = ARM_DWT_CYCCNT; + *set = 1; + if(pix & mask) { + while(ARM_DWT_CYCCNT - cyc < CYCLES_800_T1H); + } else { + while(ARM_DWT_CYCCNT - cyc < CYCLES_800_T0H); + } + *clr = 1; + } + } + while(ARM_DWT_CYCCNT - cyc < CYCLES_800); +#ifdef NEO_KHZ400 + } else { // 400 kHz bitstream + cyc = ARM_DWT_CYCCNT + CYCLES_400; + while(p < end) { + pix = *p++; + for(mask = 0x80; mask; mask >>= 1) { + while(ARM_DWT_CYCCNT - cyc < CYCLES_400); + cyc = ARM_DWT_CYCCNT; + *set = 1; + if(pix & mask) { + while(ARM_DWT_CYCCNT - cyc < CYCLES_400_T1H); + } else { + while(ARM_DWT_CYCCNT - cyc < CYCLES_400_T0H); + } + *clr = 1; + } + } + while(ARM_DWT_CYCCNT - cyc < CYCLES_400); + } +#endif + + + + + +#elif defined(__MKL26Z64__) // Teensy-LC + +#if F_CPU == 48000000 + uint8_t *p = pixels, + pix, count, dly, + bitmask = digitalPinToBitMask(pin); + volatile uint8_t *reg = portSetRegister(pin); + uint32_t num = numBytes; + asm volatile( + "L%=_begin:" "\n\t" + "ldrb %[pix], [%[p], #0]" "\n\t" + "lsl %[pix], #24" "\n\t" + "movs %[count], #7" "\n\t" + "L%=_loop:" "\n\t" + "lsl %[pix], #1" "\n\t" + "bcs L%=_loop_one" "\n\t" + "L%=_loop_zero:" + "strb %[bitmask], [%[reg], #0]" "\n\t" + "movs %[dly], #4" "\n\t" + "L%=_loop_delay_T0H:" "\n\t" + "sub %[dly], #1" "\n\t" + "bne L%=_loop_delay_T0H" "\n\t" + "strb %[bitmask], [%[reg], #4]" "\n\t" + "movs %[dly], #13" "\n\t" + "L%=_loop_delay_T0L:" "\n\t" + "sub %[dly], #1" "\n\t" + "bne L%=_loop_delay_T0L" "\n\t" + "b L%=_next" "\n\t" + "L%=_loop_one:" + "strb %[bitmask], [%[reg], #0]" "\n\t" + "movs %[dly], #13" "\n\t" + "L%=_loop_delay_T1H:" "\n\t" + "sub %[dly], #1" "\n\t" + "bne L%=_loop_delay_T1H" "\n\t" + "strb %[bitmask], [%[reg], #4]" "\n\t" + "movs %[dly], #4" "\n\t" + "L%=_loop_delay_T1L:" "\n\t" + "sub %[dly], #1" "\n\t" + "bne L%=_loop_delay_T1L" "\n\t" + "nop" "\n\t" + "L%=_next:" "\n\t" + "sub %[count], #1" "\n\t" + "bne L%=_loop" "\n\t" + "lsl %[pix], #1" "\n\t" + "bcs L%=_last_one" "\n\t" + "L%=_last_zero:" + "strb %[bitmask], [%[reg], #0]" "\n\t" + "movs %[dly], #4" "\n\t" + "L%=_last_delay_T0H:" "\n\t" + "sub %[dly], #1" "\n\t" + "bne L%=_last_delay_T0H" "\n\t" + "strb %[bitmask], [%[reg], #4]" "\n\t" + "movs %[dly], #10" "\n\t" + "L%=_last_delay_T0L:" "\n\t" + "sub %[dly], #1" "\n\t" + "bne L%=_last_delay_T0L" "\n\t" + "b L%=_repeat" "\n\t" + "L%=_last_one:" + "strb %[bitmask], [%[reg], #0]" "\n\t" + "movs %[dly], #13" "\n\t" + "L%=_last_delay_T1H:" "\n\t" + "sub %[dly], #1" "\n\t" + "bne L%=_last_delay_T1H" "\n\t" + "strb %[bitmask], [%[reg], #4]" "\n\t" + "movs %[dly], #1" "\n\t" + "L%=_last_delay_T1L:" "\n\t" + "sub %[dly], #1" "\n\t" + "bne L%=_last_delay_T1L" "\n\t" + "nop" "\n\t" + "L%=_repeat:" "\n\t" + "add %[p], #1" "\n\t" + "sub %[num], #1" "\n\t" + "bne L%=_begin" "\n\t" + "L%=_done:" "\n\t" + : [p] "+r" (p), + [pix] "=&r" (pix), + [count] "=&r" (count), + [dly] "=&r" (dly), + [num] "+r" (num) + : [bitmask] "r" (bitmask), + [reg] "r" (reg) + ); +#else +#error "Sorry, only 48 MHz is supported, please set Tools > CPU Speed to 48 MHz" +#endif + + +#else // Arduino Due + + #define SCALE VARIANT_MCK / 2UL / 1000000UL + #define INST (2UL * F_CPU / VARIANT_MCK) + #define TIME_800_0 ((int)(0.40 * SCALE + 0.5) - (5 * INST)) + #define TIME_800_1 ((int)(0.80 * SCALE + 0.5) - (5 * INST)) + #define PERIOD_800 ((int)(1.25 * SCALE + 0.5) - (5 * INST)) + #define TIME_400_0 ((int)(0.50 * SCALE + 0.5) - (5 * INST)) + #define TIME_400_1 ((int)(1.20 * SCALE + 0.5) - (5 * INST)) + #define PERIOD_400 ((int)(2.50 * SCALE + 0.5) - (5 * INST)) + + int pinMask, time0, time1, period, t; + Pio *port; + volatile WoReg *portSet, *portClear, *timeValue, *timeReset; + uint8_t *p, *end, pix, mask; + + pmc_set_writeprotect(false); + pmc_enable_periph_clk((uint32_t)TC3_IRQn); + TC_Configure(TC1, 0, + TC_CMR_WAVE | TC_CMR_WAVSEL_UP | TC_CMR_TCCLKS_TIMER_CLOCK1); + TC_Start(TC1, 0); + + pinMask = g_APinDescription[pin].ulPin; // Don't 'optimize' these into + port = g_APinDescription[pin].pPort; // declarations above. Want to + portSet = &(port->PIO_SODR); // burn a few cycles after + portClear = &(port->PIO_CODR); // starting timer to minimize + timeValue = &(TC1->TC_CHANNEL[0].TC_CV); // the initial 'while'. + timeReset = &(TC1->TC_CHANNEL[0].TC_CCR); + p = pixels; + end = p + numBytes; + pix = *p++; + mask = 0x80; + +#ifdef NEO_KHZ400 + if((type & NEO_SPDMASK) == NEO_KHZ800) { // 800 KHz bitstream +#endif + time0 = TIME_800_0; + time1 = TIME_800_1; + period = PERIOD_800; +#ifdef NEO_KHZ400 + } else { // 400 KHz bitstream + time0 = TIME_400_0; + time1 = TIME_400_1; + period = PERIOD_400; + } +#endif + + for(t = time0;; t = time0) { + if(pix & mask) t = time1; + while(*timeValue < period); + *portSet = pinMask; + *timeReset = TC_CCR_CLKEN | TC_CCR_SWTRG; + while(*timeValue < t); + *portClear = pinMask; + if(!(mask >>= 1)) { // This 'inside-out' loop logic utilizes + if(p >= end) break; // idle time to minimize inter-byte delays. + pix = *p++; + mask = 0x80; + } + } + while(*timeValue < period); // Wait for last bit + TC_Stop(TC1, 0); + +#endif // end Arduino Due + +#endif // end Architecture select + + interrupts(); + endTime = micros(); // Save EOD time for latch on next call +} + +// Set the output pin number +void Adafruit_NeoPixel::setPin(uint8_t p) { + pinMode(pin, INPUT); + pin = p; + pinMode(p, OUTPUT); + digitalWrite(p, LOW); +#ifdef __AVR__ + port = portOutputRegister(digitalPinToPort(p)); + pinMask = digitalPinToBitMask(p); +#endif +} + +// Set pixel color from separate R,G,B components: +void Adafruit_NeoPixel::setPixelColor( + uint16_t n, uint8_t r, uint8_t g, uint8_t b) { + if(n < numLEDs) { + if(brightness) { // See notes in setBrightness() + r = (r * brightness) >> 8; + g = (g * brightness) >> 8; + b = (b * brightness) >> 8; + } + uint8_t *p = &pixels[n * 3]; + p[rOffset] = r; + p[gOffset] = g; + p[bOffset] = b; + } +} + +// Set pixel color from 'packed' 32-bit RGB color: +void Adafruit_NeoPixel::setPixelColor(uint16_t n, uint32_t c) { + if(n < numLEDs) { + uint8_t + r = (uint8_t)(c >> 16), + g = (uint8_t)(c >> 8), + b = (uint8_t)c; + if(brightness) { // See notes in setBrightness() + r = (r * brightness) >> 8; + g = (g * brightness) >> 8; + b = (b * brightness) >> 8; + } + uint8_t *p = &pixels[n * 3]; + p[rOffset] = r; + p[gOffset] = g; + p[bOffset] = b; + } +} + +// Convert separate R,G,B into packed 32-bit RGB color. +// Packed format is always RGB, regardless of LED strand color order. +uint32_t Adafruit_NeoPixel::Color(uint8_t r, uint8_t g, uint8_t b) { + return ((uint32_t)r << 16) | ((uint32_t)g << 8) | b; +} + +// Query color from previously-set pixel (returns packed 32-bit RGB value) +uint32_t Adafruit_NeoPixel::getPixelColor(uint16_t n) const { + if(n >= numLEDs) { + // Out of bounds, return no color. + return 0; + } + uint8_t *p = &pixels[n * 3]; + uint32_t c = ((uint32_t)p[rOffset] << 16) | + ((uint32_t)p[gOffset] << 8) | + (uint32_t)p[bOffset]; + // Adjust this back up to the true color, as setting a pixel color will + // scale it back down again. + if(brightness) { // See notes in setBrightness() + //Cast the color to a byte array + uint8_t * c_ptr =reinterpret_cast(&c); + c_ptr[0] = (c_ptr[0] << 8)/brightness; + c_ptr[1] = (c_ptr[1] << 8)/brightness; + c_ptr[2] = (c_ptr[2] << 8)/brightness; + } + return c; // Pixel # is out of bounds +} + +// Returns pointer to pixels[] array. Pixel data is stored in device- +// native format and is not translated here. Application will need to be +// aware whether pixels are RGB vs. GRB and handle colors appropriately. +uint8_t *Adafruit_NeoPixel::getPixels(void) const { + return pixels; +} + +uint16_t Adafruit_NeoPixel::numPixels(void) const { + return numLEDs; +} + +// Adjust output brightness; 0=darkest (off), 255=brightest. This does +// NOT immediately affect what's currently displayed on the LEDs. The +// next call to show() will refresh the LEDs at this level. However, +// this process is potentially "lossy," especially when increasing +// brightness. The tight timing in the WS2811/WS2812 code means there +// aren't enough free cycles to perform this scaling on the fly as data +// is issued. So we make a pass through the existing color data in RAM +// and scale it (subsequent graphics commands also work at this +// brightness level). If there's a significant step up in brightness, +// the limited number of steps (quantization) in the old data will be +// quite visible in the re-scaled version. For a non-destructive +// change, you'll need to re-render the full strip data. C'est la vie. +void Adafruit_NeoPixel::setBrightness(uint8_t b) { + // Stored brightness value is different than what's passed. + // This simplifies the actual scaling math later, allowing a fast + // 8x8-bit multiply and taking the MSB. 'brightness' is a uint8_t, + // adding 1 here may (intentionally) roll over...so 0 = max brightness + // (color values are interpreted literally; no scaling), 1 = min + // brightness (off), 255 = just below max brightness. + uint8_t newBrightness = b + 1; + if(newBrightness != brightness) { // Compare against prior value + // Brightness has changed -- re-scale existing data in RAM + uint8_t c, + *ptr = pixels, + oldBrightness = brightness - 1; // De-wrap old brightness value + uint16_t scale; + if(oldBrightness == 0) scale = 0; // Avoid /0 + else if(b == 255) scale = 65535 / oldBrightness; + else scale = (((uint16_t)newBrightness << 8) - 1) / oldBrightness; + for(uint16_t i=0; i> 8; + } + brightness = newBrightness; + } +} + +//Return the brightness value +uint8_t Adafruit_NeoPixel::getBrightness(void) const { + return brightness - 1; +} + +void Adafruit_NeoPixel::clear() { + memset(pixels, 0, numBytes); +} diff --git a/ExtNeoPixel.h b/ExtNeoPixel.h new file mode 100644 index 0000000..264c199 --- /dev/null +++ b/ExtNeoPixel.h @@ -0,0 +1,97 @@ +/*-------------------------------------------------------------------- + This file is part of the Adafruit NeoPixel library. + + NeoPixel is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation, either version 3 of + the License, or (at your option) any later version. + + NeoPixel is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with NeoPixel. If not, see + . + --------------------------------------------------------------------*/ + +#ifndef ADAFRUIT_NEOPIXEL_H +#define ADAFRUIT_NEOPIXEL_H + +#if (ARDUINO >= 100) + #include +#else + #include + #include +#endif + +// 'type' flags for LED pixels (third parameter to constructor): +#define NEO_RGB 0x00 // Wired for RGB data order +#define NEO_GRB 0x01 // Wired for GRB data order +#define NEO_BRG 0x04 + +#define NEO_COLMASK 0x01 +#define NEO_KHZ800 0x02 // 800 KHz datastream +#define NEO_SPDMASK 0x02 +// Trinket flash space is tight, v1 NeoPixels aren't handled by default. +// Remove the ifndef/endif to add support -- but code will be bigger. +// Conversely, can comment out the #defines to save space on other MCUs. +#ifndef __AVR_ATtiny85__ +#define NEO_KHZ400 0x00 // 400 KHz datastream +#endif + +class Adafruit_NeoPixel { + + public: + + // Constructor: number of LEDs, pin number, LED type + Adafruit_NeoPixel(uint16_t n, uint8_t p=6, uint8_t t=NEO_GRB + NEO_KHZ800); + ~Adafruit_NeoPixel(); + + void + begin(void), + show(void), + setPin(uint8_t p), + setPixelColor(uint16_t n, uint8_t r, uint8_t g, uint8_t b), + setPixelColor(uint16_t n, uint32_t c), + setBrightness(uint8_t), + clear(); + uint8_t + *getPixels(void) const, + getBrightness(void) const; + uint16_t + numPixels(void) const; + static uint32_t + Color(uint8_t r, uint8_t g, uint8_t b); + uint32_t + getPixelColor(uint16_t n) const; + inline bool + canShow(void) { return (micros() - endTime) >= 50L; } + + private: + + const uint16_t + numLEDs, // Number of RGB LEDs in strip + numBytes; // Size of 'pixels' buffer below + uint8_t + pin, // Output pin number + brightness, + *pixels, // Holds LED color values (3 bytes each) + rOffset, // Index of red byte within each 3-byte pixel + gOffset, // Index of green byte + bOffset; // Index of blue byte + const uint8_t + type; // Pixel flags (400 vs 800 KHz, RGB vs GRB color) + uint32_t + endTime; // Latch timing reference +#ifdef __AVR__ + const volatile uint8_t + *port; // Output PORT register + uint8_t + pinMask; // Output PORT bitmask +#endif + +}; + +#endif // ADAFRUIT_NEOPIXEL_H diff --git a/ExtTlc5940.cpp b/ExtTlc5940.cpp new file mode 100644 index 0000000..fa83549 --- /dev/null +++ b/ExtTlc5940.cpp @@ -0,0 +1,372 @@ +/* Copyright (c) 2009 by Alex Leone + + This file is part of the Arduino TLC5940 Library. + + The Arduino TLC5940 Library is free software: you can redistribute it + and/or modify it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + The Arduino TLC5940 Library is distributed in the hope that it will be + useful, but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with The Arduino TLC5940 Library. If not, see + . */ + +/** \file + Tlc5940 class functions. */ + +#include +#include + +#include "ExtTlc5940Config.h" +#include "ExtTlc5940.h" + +/** Pulses a pin - high then low. */ +#define pulse_pin(port, pin) port |= _BV(pin); port &= ~_BV(pin) + +/** This will be true (!= 0) if update was just called and the data has not + been latched in yet. */ +volatile uint8_t tlc_needXLAT; + +/** Some of the extened library will need to be called after a successful + update. */ +volatile void (*tlc_onUpdateFinished)(void); + +/** Packed grayscale data, 24 bytes (16 * 12 bits) per TLC. + + Format: Lets assume we have 2 TLCs, A and B, daisy-chained with the SOUT of + A going into the SIN of B. + - byte 0: upper 8 bits of B.15 + - byte 1: lower 4 bits of B.15 and upper 4 bits of B.14 + - byte 2: lower 8 bits of B.0 + - ... + - byte 24: upper 8 bits of A.15 + - byte 25: lower 4 bits of A.15 and upper 4 bits of A.14 + - ... + - byte 47: lower 8 bits of A.0 + + \note Normally packing data like this is bad practice. But in this + situation, shifting the data out is really fast because the format of + the array is the same as the format of the TLC's serial interface. */ +uint8_t tlc_GSData[NUM_TLCS * 24]; + +/** Don't add an extra SCLK pulse after switching from dot-correction mode. */ +static uint8_t firstGSInput; + +/** Interrupt called after an XLAT pulse to prevent more XLAT pulses. */ +ISR(TIMER1_OVF_vect) +{ + disable_XLAT_pulses(); + clear_XLAT_interrupt(); + tlc_needXLAT = 0; + if (tlc_onUpdateFinished) { + sei(); + tlc_onUpdateFinished(); + } +} + +/** \defgroup ReqVPRG_ENABLED Functions that Require VPRG_ENABLED + Functions that require VPRG_ENABLED == 1. + You can enable VPRG by changing + \code #define VPRG_ENABLED 0 \endcode to + \code #define VPRG_ENABLED 1 \endcode in tlc_config.h + + You will also have to connect Arduino digital pin 6 to TLC pin 27. (The + pin to be used can be changed in tlc_config.h). If VPRG is not enabled, + the TLC pin should grounded (remember to unconnect TLC pin 27 from GND + if you do enable VPRG). */ +/* @{ */ /* @} */ + +/** \defgroup CoreFunctions Core Libary Functions + These function are all prefixed with "Tlc." */ +/* @{ */ + +/** Pin i/o and Timer setup. The grayscale register will be reset to all + zeros, or whatever initialValue is set to and the Timers will start. + \param initialValue = 0, optional parameter specifing the inital startup + value */ +void Tlc5940::init(uint16_t initialValue) +{ + /* Pin Setup */ + XLAT_DDR |= _BV(XLAT_PIN); + BLANK_DDR |= _BV(BLANK_PIN); + GSCLK_DDR |= _BV(GSCLK_PIN); +#if VPRG_ENABLED + VPRG_DDR |= _BV(VPRG_PIN); + VPRG_PORT &= ~_BV(VPRG_PIN); // grayscale mode (VPRG low) +#endif +#if XERR_ENABLED + XERR_DDR &= ~_BV(XERR_PIN); // XERR as input + XERR_PORT |= _BV(XERR_PIN); // enable pull-up resistor +#endif + BLANK_PORT |= _BV(BLANK_PIN); // leave blank high (until the timers start) + + tlc_shift8_init(); + + setAll(initialValue); + update(); + disable_XLAT_pulses(); + clear_XLAT_interrupt(); + tlc_needXLAT = 0; + pulse_pin(XLAT_PORT, XLAT_PIN); + + + /* Timer Setup */ + + /* Timer 1 - BLANK / XLAT */ + TCCR1A = _BV(COM1B1); // non inverting, output on OC1B, BLANK + TCCR1B = _BV(WGM13); // Phase/freq correct PWM, ICR1 top + OCR1A = 1; // duty factor on OC1A, XLAT is inside BLANK + OCR1B = 2; // duty factor on BLANK (larger than OCR1A (XLAT)) + ICR1 = TLC_PWM_PERIOD; // see tlc_config.h + + /* Timer 2 - GSCLK */ +#if defined(TLC_ATMEGA_8_H) + TCCR2 = _BV(COM20) // set on BOTTOM, clear on OCR2A (non-inverting), + | _BV(WGM21); // output on OC2B, CTC mode with OCR2 top + OCR2 = TLC_GSCLK_PERIOD / 2; // see tlc_config.h + TCCR2 |= _BV(CS20); // no prescale, (start pwm output) +#elif defined(TLC_TIMER3_GSCLK) + TCCR3A = _BV(COM3A1) // set on BOTTOM, clear on OCR3A (non-inverting), + // output on OC3A + | _BV(WGM31); // Fast pwm with ICR3 top + OCR3A = 0; // duty factor (as short a pulse as possible) + ICR3 = TLC_GSCLK_PERIOD; // see tlc_config.h + TCCR3B = _BV(CS30) // no prescale, (start pwm output) + | _BV(WGM32) // Fast pwm with ICR3 top + | _BV(WGM33); // Fast pwm with ICR3 top +#else + TCCR2A = _BV(COM2B1) // set on BOTTOM, clear on OCR2A (non-inverting), + // output on OC2B + | _BV(WGM21) // Fast pwm with OCR2A top + | _BV(WGM20); // Fast pwm with OCR2A top + TCCR2B = _BV(WGM22); // Fast pwm with OCR2A top + OCR2B = 0; // duty factor (as short a pulse as possible) + OCR2A = TLC_GSCLK_PERIOD; // see tlc_config.h + TCCR2B |= _BV(CS20); // no prescale, (start pwm output) +#endif + TCCR1B |= _BV(CS10); // no prescale, (start pwm output) + update(); +} + +/** Clears the grayscale data array, #tlc_GSData, but does not shift in any + data. This call should be followed by update() if you are turning off + all the outputs. */ +void Tlc5940::clear(void) +{ + setAll(0); +} + +/** Shifts in the data from the grayscale data array, #tlc_GSData. + If data has already been shifted in this grayscale cycle, another call to + update() will immediately return 1 without shifting in the new data. To + ensure that a call to update() does shift in new data, use + \code while(Tlc.update()); \endcode + or + \code while(tlc_needXLAT); \endcode + \returns 1 if there is data waiting to be latched, 0 if data was + successfully shifted in */ +uint8_t Tlc5940::update(void) +{ + if (tlc_needXLAT) { + return 1; + } + disable_XLAT_pulses(); + if (firstGSInput) { + // adds an extra SCLK pulse unless we've just set dot-correction data + firstGSInput = 0; + } else { + pulse_pin(SCLK_PORT, SCLK_PIN); + } + uint8_t *p = tlc_GSData; + while (p < tlc_GSData + NUM_TLCS * 24) { + tlc_shift8(*p++); + tlc_shift8(*p++); + tlc_shift8(*p++); + } + tlc_needXLAT = 1; + enable_XLAT_pulses(); + set_XLAT_interrupt(); + return 0; +} + +/** Sets channel to value in the grayscale data array, #tlc_GSData. + \param channel (0 to #NUM_TLCS * 16 - 1). OUT0 of the first TLC is + channel 0, OUT0 of the next TLC is channel 16, etc. + \param value (0-4095). The grayscale value, 4095 is maximum. + \see get */ +void Tlc5940::set(TLC_CHANNEL_TYPE channel, uint16_t value) +{ + TLC_CHANNEL_TYPE index8 = (NUM_TLCS * 16 - 1) - channel; + uint8_t *index12p = tlc_GSData + ((((uint16_t)index8) * 3) >> 1); + if (index8 & 1) { // starts in the middle + // first 4 bits intact | 4 top bits of value + *index12p = (*index12p & 0xF0) | (value >> 8); + // 8 lower bits of value + *(++index12p) = value & 0xFF; + } else { // starts clean + // 8 upper bits of value + *(index12p++) = value >> 4; + // 4 lower bits of value | last 4 bits intact + *index12p = ((uint8_t)(value << 4)) | (*index12p & 0xF); + } +} + +/** Gets the current grayscale value for a channel + \param channel (0 to #NUM_TLCS * 16 - 1). OUT0 of the first TLC is + channel 0, OUT0 of the next TLC is channel 16, etc. + \returns current grayscale value (0 - 4095) for channel + \see set */ +uint16_t Tlc5940::get(TLC_CHANNEL_TYPE channel) +{ + TLC_CHANNEL_TYPE index8 = (NUM_TLCS * 16 - 1) - channel; + uint8_t *index12p = tlc_GSData + ((((uint16_t)index8) * 3) >> 1); + return (index8 & 1)? // starts in the middle + (((uint16_t)(*index12p & 15)) << 8) | // upper 4 bits + *(index12p + 1) // lower 8 bits + : // starts clean + (((uint16_t)(*index12p)) << 4) | // upper 8 bits + ((*(index12p + 1) & 0xF0) >> 4); // lower 4 bits + // that's probably the ugliest ternary operator I've ever created. +} + +/** Sets all channels to value. + \param value grayscale value (0 - 4095) */ +void Tlc5940::setAll(uint16_t value) +{ + uint8_t firstByte = value >> 4; + uint8_t secondByte = (value << 4) | (value >> 8); + uint8_t *p = tlc_GSData; + while (p < tlc_GSData + NUM_TLCS * 24) { + *p++ = firstByte; + *p++ = secondByte; + *p++ = (uint8_t)value; + } +} + +#if VPRG_ENABLED + +/** \addtogroup ReqVPRG_ENABLED + From the \ref CoreFunctions "Core Functions": + - \link Tlc5940::setAllDC Tlc.setAllDC(uint8_t value(0-63)) \endlink - sets + all the dot correction data to value */ +/* @{ */ + +/** Sets the dot correction for all channels to value. The dot correction + value correspondes to maximum output current by + \f$\displaystyle I_{OUT_n} = I_{max} \times \frac{DCn}{63} \f$ + where + - \f$\displaystyle I_{max} = \frac{1.24V}{R_{IREF}} \times 31.5 = + \frac{39.06}{R_{IREF}} \f$ + - DCn is the dot correction value for channel n + \param value (0-63) */ +void Tlc5940::setAllDC(uint8_t value) +{ + tlc_dcModeStart(); + + uint8_t firstByte = value << 2 | value >> 4; + uint8_t secondByte = value << 4 | value >> 2; + uint8_t thirdByte = value << 6 | value; + + for (TLC_CHANNEL_TYPE i = 0; i < NUM_TLCS * 12; i += 3) { + tlc_shift8(firstByte); + tlc_shift8(secondByte); + tlc_shift8(thirdByte); + } + pulse_pin(XLAT_PORT, XLAT_PIN); + + tlc_dcModeStop(); +} + +/* @} */ + +#endif + +#if XERR_ENABLED + +/** Checks for shorted/broken LEDs reported by any of the TLCs. + \returns 1 if a TLC is reporting an error, 0 otherwise. */ +uint8_t Tlc5940::readXERR(void) +{ + return ((XERR_PINS & _BV(XERR_PIN)) == 0); +} + +#endif + +/* @} */ + +#if DATA_TRANSFER_MODE == TLC_BITBANG + +/** Sets all the bit-bang pins to output */ +void tlc_shift8_init(void) +{ + SIN_DDR |= _BV(SIN_PIN); // SIN as output + SCLK_DDR |= _BV(SCLK_PIN); // SCLK as output + SCLK_PORT &= ~_BV(SCLK_PIN); +} + +/** Shifts a byte out, MSB first */ +void tlc_shift8(uint8_t byte) +{ + for (uint8_t bit = 0x80; bit; bit >>= 1) { + if (bit & byte) { + SIN_PORT |= _BV(SIN_PIN); + } else { + SIN_PORT &= ~_BV(SIN_PIN); + } + pulse_pin(SCLK_PORT, SCLK_PIN); + } +} + +#elif DATA_TRANSFER_MODE == TLC_SPI + +/** Initializes the SPI module to double speed (f_osc / 2) */ +void tlc_shift8_init(void) +{ + SIN_DDR |= _BV(SIN_PIN); // SPI MOSI as output + SCLK_DDR |= _BV(SCLK_PIN); // SPI SCK as output + TLC_SS_DDR |= _BV(TLC_SS_PIN); // SPI SS as output + + SCLK_PORT &= ~_BV(SCLK_PIN); + + SPSR = _BV(SPI2X); // double speed (f_osc / 2) + SPCR = _BV(SPE) // enable SPI + | _BV(MSTR); // master mode +} + +/** Shifts out a byte, MSB first */ +void tlc_shift8(uint8_t byte) +{ + SPDR = byte; // starts transmission + while (!(SPSR & _BV(SPIF))) + ; // wait for transmission complete +} + +#endif + +#if VPRG_ENABLED + +/** Switches to dot correction mode and clears any waiting grayscale latches.*/ +void tlc_dcModeStart(void) +{ + disable_XLAT_pulses(); // ensure that no latches happen + clear_XLAT_interrupt(); // (in case this was called right after update) + tlc_needXLAT = 0; + VPRG_PORT |= _BV(VPRG_PIN); // dot correction mode +} + +/** Switches back to grayscale mode. */ +void tlc_dcModeStop(void) +{ + VPRG_PORT &= ~_BV(VPRG_PIN); // back to grayscale mode + firstGSInput = 1; +} + +#endif + +/** Preinstantiated Tlc variable. */ +Tlc5940 Tlc; diff --git a/ExtTlc5940.h b/ExtTlc5940.h new file mode 100644 index 0000000..3d7fd27 --- /dev/null +++ b/ExtTlc5940.h @@ -0,0 +1,87 @@ +/* Copyright (c) 2009 by Alex Leone + + This file is part of the Arduino TLC5940 Library. + + The Arduino TLC5940 Library is free software: you can redistribute it + and/or modify it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + The Arduino TLC5940 Library is distributed in the hope that it will be + useful, but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with The Arduino TLC5940 Library. If not, see + . */ + +#ifndef TLC5940_H +#define TLC5940_H + +/** \file + Tlc5940 library header file. */ + +#include +#include "ExtTlc5940Config.h" + +#ifdef TLC_ATMEGA_8_H + +/** Enables the Timer1 Overflow interrupt, which will fire after an XLAT + pulse */ +#define set_XLAT_interrupt() TIFR |= _BV(TOV1); TIMSK = _BV(TOIE1) +/** Disables any Timer1 interrupts */ +#define clear_XLAT_interrupt() TIMSK = 0 + +#else + +/** Enables the Timer1 Overflow interrupt, which will fire after an XLAT + pulse */ +#define set_XLAT_interrupt() TIFR1 |= _BV(TOV1); TIMSK1 = _BV(TOIE1) +/** Disables any Timer1 interrupts */ +#define clear_XLAT_interrupt() TIMSK1 = 0 + +#endif + +/** Enables the output of XLAT pulses */ +#define enable_XLAT_pulses() TCCR1A = _BV(COM1A1) | _BV(COM1B1) +/** Disables the output of XLAT pulses */ +#define disable_XLAT_pulses() TCCR1A = _BV(COM1B1) + +extern volatile uint8_t tlc_needXLAT; +extern volatile void (*tlc_onUpdateFinished)(void); +extern uint8_t tlc_GSData[NUM_TLCS * 24]; + +/** The main Tlc5940 class for the entire library. An instance of this class + will be preinstantiated as Tlc. */ +class Tlc5940 +{ + public: + void init(uint16_t initialValue = 0); + void clear(void); + uint8_t update(void); + void set(TLC_CHANNEL_TYPE channel, uint16_t value); + uint16_t get(TLC_CHANNEL_TYPE channel); + void setAll(uint16_t value); +#if VPRG_ENABLED + void setAllDC(uint8_t value); +#endif +#if XERR_ENABLED + uint8_t readXERR(void); +#endif + +}; + +void tlc_shift8_init(void); +void tlc_shift8(uint8_t byte); + +#if VPRG_ENABLED +void tlc_dcModeStart(void); +void tlc_dcModeStop(void); +#endif + +// for the preinstantiated Tlc variable. +extern Tlc5940 Tlc; + +#endif + diff --git a/ExtTlc5940Config.h b/ExtTlc5940Config.h new file mode 100644 index 0000000..9a81d1e --- /dev/null +++ b/ExtTlc5940Config.h @@ -0,0 +1,173 @@ +/* Copyright (c) 2009 by Alex Leone + + This file is part of the Arduino TLC5940 Library. + + The Arduino TLC5940 Library is free software: you can redistribute it + and/or modify it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + The Arduino TLC5940 Library is distributed in the hope that it will be + useful, but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with The Arduino TLC5940 Library. If not, see + . */ + +#ifndef TLC_CONFIG_H +#define TLC_CONFIG_H + +#include + +/** \file + Configuration for the Arduino Tlc5940 library. After making changes to + this file, delete Tlc5940.o in this folder so the changes are applied. + + A summary of all the options: + - Number of TLCs daisy-chained: NUM_TLCS (default 1) + - Enable/Disable VPRG functionality: VPRG_ENABLED (default 0) + - Enable/Disable XERR functionality: XERR_ENABLED (default 0) + - Should the library use bit-banging (any pins) or hardware SPI (faster): + DATA_TRANSFER_MODE (default TLC_SPI) + - Which pins to use for bit-banging: SIN_PIN, SIN_PORT, SIN_DDR and + SCLK_PIN, SCLK_PORT, SCLK_DDR + - The PWM period: TLC_PWM_PERIOD (be sure to change TLC_GSCLK_PERIOD + accordingly!) + + How to change the pin mapping: + - Arduino digital pin 0-7 = PORTD, PD0-7 + - Arduino digital pin 8-13 = PORTB, PB0-5 + - Arduino analog pin 0-5 = PORTC, PC0-5 */ + +/** Bit-bang using any two i/o pins */ +#define TLC_BITBANG 1 +/** Use the much faster hardware SPI module */ +#define TLC_SPI 2 + +/* ------------------------ START EDITING HERE ----------------------------- */ + +/** Number of TLCs daisy-chained. To daisy-chain, attach the SOUT (TLC pin 17) + of the first TLC to the SIN (TLC pin 26) of the next. The rest of the pins + are attached normally. + \note Each TLC needs it's own IREF resistor */ +#define NUM_TLCS 1 + +/** Determines how data should be transfered to the TLCs. Bit-banging can use + any two i/o pins, but the hardware SPI is faster. + - Bit-Bang = TLC_BITBANG + - Hardware SPI = TLC_SPI (default) */ +#define DATA_TRANSFER_MODE TLC_SPI + +/* This include is down here because the files it includes needs the data + transfer mode */ +#include "pinouts/chip_includes.h" + +/* Set DATA_TRANSFER_MODE to TLC_BITBANG and change the pins below if you need + to use different pins for sin and sclk. The defaults are defined in + pinouts/ATmega_xx8.h for most Arduino's. */ + +#if DATA_TRANSFER_MODE == TLC_BITBANG +/** SIN (TLC pin 26) */ +#define SIN_PIN DEFAULT_BB_SIN_PIN +#define SIN_PORT DEFAULT_BB_SIN_PORT +#define SIN_DDR DEFAULT_BB_SIN_DDR +/** SCLK (TLC pin 25) */ +#define SCLK_PIN DEFAULT_BB_SCLK_PIN +#define SCLK_PORT DEFAULT_BB_SCLK_PORT +#define SCLK_DDR DEFAULT_BB_SCLK_DDR +#endif + + +/** If more than 16 TLCs are daisy-chained, the channel type has to be uint16_t. + Default is uint8_t, which supports up to 16 TLCs. */ +#define TLC_CHANNEL_TYPE uint8_t + +/** Determines how long each PWM period should be, in clocks. + \f$\displaystyle f_{PWM} = \frac{f_{osc}}{2 * TLC\_PWM\_PERIOD} Hz \f$ + \f$\displaystyle TLC\_PWM\_PERIOD = \frac{f_{osc}}{2 * f_{PWM}} \f$ + This is related to TLC_GSCLK_PERIOD: + \f$\displaystyle TLC\_PWM\_PERIOD = + \frac{(TLC\_GSCLK\_PERIOD + 1) * 4096}{2} \f$ + \note The default of 8192 means the PWM frequency is 976.5625Hz */ +#define TLC_PWM_PERIOD 8192 + +/** Determines how long each period GSCLK is. + This is related to TLC_PWM_PERIOD: + \f$\displaystyle TLC\_GSCLK\_PERIOD = + \frac{2 * TLC\_PWM\_PERIOD}{4096} - 1 \f$ + \note Default is 3 */ +#define TLC_GSCLK_PERIOD 3 + +/** Enables/disables VPRG (TLC pin 27) functionality. If you need to set dot + correction data, this needs to be enabled. + - 0 VPRG is not connected. TLC pin 27 must be grounded! (default) + - 1 VPRG is connected + \note VPRG to GND inputs grayscale data, VPRG to Vcc inputs dot-correction + data */ +#define VPRG_ENABLED 0 + +/** Enables/disables XERR (TLC pin 16) functionality to check for shorted/broken + LEDs + - 0 XERR is not connected (default) + - 1 XERR is connected + \note XERR is active low */ +#define XERR_ENABLED 0 + +/* You can change the VPRG and XERR pins freely. The defaults are defined in + the chip-specific pinouts: see pinouts/ATmega_xx8.h for most Arduino's. */ + +#if VPRG_ENABLED +/** VPRG (TLC pin 27) */ +#define VPRG_PIN DEFAULT_VPRG_PIN +#define VPRG_PORT DEFAULT_VPRG_PORT +#define VPRG_DDR DEFAULT_VPRG_DDR +#endif + +#if XERR_ENABLED +/** XERR (TLC pin 16) */ +#define XERR_PIN DEFAULT_XERR_PIN +#define XERR_PORT DEFAULT_XERR_PORT +#define XERR_DDR DEFAULT_XERR_DDR +#define XERR_PINS DEFAULT_XERR_PINS +#endif + +/* ------------------------- STOP EDITING HERE ----------------------------- */ + +#if DATA_TRANSFER_MODE == TLC_SPI +/** SIN (TLC pin 26) */ +#define SIN_PIN TLC_MOSI_PIN +#define SIN_PORT TLC_MOSI_PORT +#define SIN_DDR TLC_MOSI_DDR +/** SCLK (TLC pin 25) */ +#define SCLK_PIN TLC_SCK_PIN +#define SCLK_PORT TLC_SCK_PORT +#define SCLK_DDR TLC_SCK_DDR +#endif + + + +#if !(DATA_TRANSFER_MODE == TLC_BITBANG \ + || DATA_TRANSFER_MODE == TLC_SPI) +#error "Invalid DATA_TRANSFER_MODE specified, see DATA_TRANSFER_MODE" +#endif + +/* Various Macros */ + +/** Arranges 2 grayscale values (0 - 4095) in the packed array format (3 bytes). + This is for array initializers only: the output is three comma seperated + 8-bit values. */ +#define GS_DUO(a, b) ((a) >> 4), ((a) << 4) | ((b) >> 8), (b) + + +#if VPRG_ENABLED +/** Arranges 4 dot correction values (0 - 63) in the packed array format. + \see setDCtoProgmemArray */ +#define DC_QUARTET(a, b, c, d) ((a) << 2) | ((b) >> 4), \ + ((b) << 4) | ((c) >> 2), \ + ((c) << 6) | (d) +#endif + +#endif + diff --git a/examples/MultiAnimations/MultiAnimations.ino b/examples/MultiAnimations/MultiAnimations.ino new file mode 100644 index 0000000..bbc82ca --- /dev/null +++ b/examples/MultiAnimations/MultiAnimations.ino @@ -0,0 +1,47 @@ +/////////////////////////////////////////////////////////////////////////////////////////// +// +// ALA library example: ALA Example - ComplexMultitasking +// +// Example to demonstrate how to drive different set of LEDs independently +// using Arduino PWM output pins a TLC5940 chip and an WS2812 strip. +// +// Web page: http://yaab-arduino.blogspot.com/p/ala-example-multianimations.html +// +/////////////////////////////////////////////////////////////////////////////////////////// + +#include "AlaLed.h" +#include "AlaLedRgb.h" + +byte tlcPins1[] = { 1, 2, 3 }; +byte tlcPins2[] = { 6,7,8, 9,10,11, 12,13,14 }; + +AlaLed led1; +AlaLed led2; +AlaLed someLeds; +AlaLedRgb rgbLeds; +AlaLedRgb rgbStrip; + + +void setup() +{ + led1.initPWM(5); + led2.initPWM(6); + someLeds.initTLC5940(3, tlcPins1); + rgbLeds.initTLC5940(3, tlcPins2); + rgbStrip.initWS2812(8, 2); + + led1.setAnimation(ALA_STROBO, 1000); + led2.setAnimation(ALA_GLOW, 5000); + someLeds.setAnimation(ALA_PIXELSMOOTHSHIFTLEFT, 2400); + rgbLeds.setAnimation(ALA_FADECOLORSLOOP, 12000, alaPalRgb); + rgbStrip.setAnimation(ALA_COMETCOL, 5000, alaPalRgb); +} + +void loop() +{ + led1.runAnimation(); + led2.runAnimation(); + someLeds.runAnimation(); + rgbLeds.runAnimation(); + rgbStrip.runAnimation(); +} diff --git a/examples/MultiLedSequence/MultiLedSequence.ino b/examples/MultiLedSequence/MultiLedSequence.ino new file mode 100644 index 0000000..530ee67 --- /dev/null +++ b/examples/MultiLedSequence/MultiLedSequence.ino @@ -0,0 +1,46 @@ +/////////////////////////////////////////////////////////////////////////////////////////// +// +// ALA library example: MultiLedSequence +// +// Example to demonstrate the use of animation sequences. +// +// Web page: http://yaab-arduino.blogspot.com/p/ala-example-multiledseq.html +// +/////////////////////////////////////////////////////////////////////////////////////////// + +#include + +AlaLed leds; +byte pins[] = { 5, 6, 9, 10, 11 }; + +AlaSeq seq[] = +{ + { ALA_FADEIN, 1000, 1000 }, + { ALA_ON, 1000, 1000 }, + { ALA_FADEOUT, 1000, 1000 }, + { ALA_BARSHIFTRIGHT, 1000, 1000 }, + { ALA_BARSHIFTLEFT, 1000, 1000 }, + { ALA_OFF, 1000, 1000 }, + { ALA_PIXELSHIFTRIGHT, 700, 1400 }, + { ALA_PIXELSHIFTLEFT, 700, 1400 }, + { ALA_BLINKALT, 500, 3000 }, + { ALA_PIXELSMOOTHSHIFTRIGHT, 1000, 4000 }, + { ALA_PIXELSMOOTHSHIFTLEFT, 1000, 4000 }, + { ALA_FADEINOUT, 1000, 4000 }, + { ALA_COMET, 1000, 4000 }, + { ALA_GLOW, 1000, 4000 }, + { ALA_STROBO, 200, 4000 }, + { ALA_ENDSEQ, 0, 0 } +}; + + +void setup() +{ + leds.initPWM(3, pins); + leds.setAnimation(seq); +} + +void loop() +{ + leds.runAnimation(); +} diff --git a/examples/MultiLedSequence/schematic/MultiLedSequence.fzz b/examples/MultiLedSequence/schematic/MultiLedSequence.fzz new file mode 100644 index 0000000000000000000000000000000000000000..35ba42cce88258c913a851a0d3f4406a2af0d8e1 GIT binary patch literal 7792 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 literal 0 HcmV?d00001 diff --git a/examples/MultiLedSequence/schematic/MultiLedSequence_schem.png b/examples/MultiLedSequence/schematic/MultiLedSequence_schem.png new file mode 100644 index 0000000000000000000000000000000000000000..c3bacbf4621df14915698e35f3b9e18155e6518c GIT binary patch literal 63918 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≀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%0D#nkT|=TYhj9@ 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 GuKX`AP}g(- literal 0 HcmV?d00001 diff --git a/examples/RgbLedSequence/RgbLedSequence.ino b/examples/RgbLedSequence/RgbLedSequence.ino new file mode 100644 index 0000000..3cdac24 --- /dev/null +++ b/examples/RgbLedSequence/RgbLedSequence.ino @@ -0,0 +1,48 @@ +/////////////////////////////////////////////////////////////////////////////////////////// +// +// ALA library example: RgbLedSequence +// +// Example to demonstrate how to create an animation sequence for one RGB LED. +// The example also shows how to create and use a custom color palette. +// +// Web page: http://yaab-arduino.blogspot.com/p/ala-example-rgbledsequence.html +// +/////////////////////////////////////////////////////////////////////////////////////////// + +#include "AlaLedRgb.h" + +#define REDPIN 11 +#define GREENPIN 9 +#define BLUEPIN 10 + +AlaLedRgb rgbLed; + +// custom palette : black , white , black , red , green , blue +AlaColor mycolors_[6] = { 0x000000, 0xFFFFFF, 0x000000, 0xFF0000, 0x00FF00, 0x0000FF }; +AlaPalette mycolors = { 6, colors_ }; + + +AlaSeq seq[] = +{ + { ALA_CYCLECOLORS, 3000, 3000, alaPalRgb }, + { ALA_OFF, 1000, 1000, NULL }, + { ALA_FADECOLORSLOOP, 4000, 8000, alaPalRgb }, + { ALA_FADECOLORSLOOP, 500, 4000, mycolors }, + { ALA_OFF, 1000, 1000, NULL }, + { ALA_FADECOLORS, 5000, 5000, mycolors }, + { ALA_OFF, 1000, 1000, NULL }, + { ALA_ENDSEQ, 0, 0, NULL } +}; + + +void setup() +{ + rgbLed.initPWM(REDPIN, GREENPIN, BLUEPIN); + rgbLed.setBrightness(0x33FF22); + rgbLed.setAnimation(seq); +} + +void loop() +{ + rgbLed.runAnimation(); +} diff --git a/examples/RgbStripButtons/AlaRgbStripDemo.ino b/examples/RgbStripButtons/AlaRgbStripDemo.ino new file mode 100644 index 0000000..459cd72 --- /dev/null +++ b/examples/RgbStripButtons/AlaRgbStripDemo.ino @@ -0,0 +1,84 @@ + +#include "AlaLedRgb.h" +#include "Button.h" + + +AlaLedRgb rgbStrip; +Button button1 = Button(2, PULLDOWN); +Button button2 = Button(3, PULLDOWN); +Button button3 = Button(4, PULLDOWN); + +int animation = 0; +int duration = 0; +int palette = 0; + +int animList[14] = { + ALA_ON, + ALA_SPARKLE, + ALA_SPARKLE2, + ALA_PIXELSHIFTRIGHT, + ALA_PIXELSMOOTHSHIFTRIGHT, + ALA_MOVINGBARS, + ALA_COMET, + ALA_COMETCOL, + ALA_GLOW, + ALA_CYCLECOLORS, + ALA_FADECOLORS, + ALA_FIRE, + ALA_BOUNCINGBALLS, + ALA_BUBBLES +}; + +AlaPalette paletteList[3] = { + alaPalRgb, + alaPalRainbow, + alaPalFire +}; + +int durationList[3] = { + 1000, + 2000, + 5000 +}; + + +void setup() +{ + delay(4000); + + rgbStrip.initWS2812(60, 6); + + updateAnimation(); +} + +void loop() +{ + // button 1 changes the animation + if (button1.uniquePress()) + { + animation++; + updateAnimation(); + } + + // button 2 changes the color palette + if (button2.uniquePress()) + { + palette++; + updateAnimation(); + } + + // button 3 changes the animation speed + if (button3.uniquePress()) + { + duration++; + updateAnimation(); + } + + rgbStrip.runAnimation(); + +} + +void updateAnimation() +{ + rgbStrip.setAnimation(animList[animation%14], durationList[duration%3], paletteList[palette%3]); +} diff --git a/examples/RgbStripDemo/RgbStripDemo.ino b/examples/RgbStripDemo/RgbStripDemo.ino new file mode 100644 index 0000000..ab3a7a5 --- /dev/null +++ b/examples/RgbStripDemo/RgbStripDemo.ino @@ -0,0 +1,55 @@ + +#include "AlaLedRgb.h" + +AlaLedRgb rgbStrip; + + +AlaSeq seq[] = +{ + { ALA_OFF, 1000, alaPalRgb, 2000 }, + { ALA_ON, 1000, alaPalRgb, 2000 }, + { ALA_SPARKLE, 1000, alaPalRgb, 9000 }, + { ALA_CYCLECOLORS, 3000, alaPalRgb, 6000 }, + { ALA_OFF, 1000, alaPalRgb, 1000 }, + { ALA_FADECOLORSLOOP, 3000, alaPalRgb, 6000 }, + { ALA_SPARKLE2, 1000, alaPalRgb, 6000 }, + { ALA_OFF, 1000, alaPalRgb, 1000 }, + { ALA_SPARKLE2, 1000, alaPalFire, 6000 }, + { ALA_PIXELSMOOTHSHIFTRIGHT, 2000, alaPalRgb, 6000 }, + { ALA_OFF, 1000, alaPalRgb, 1000 }, + { ALA_MOVINGBARS, 3000, alaPalRgb, 6000 }, + { ALA_COMET, 3000, alaPalRgb, 6000 }, + { ALA_COMETCOL, 3000, alaPalRgb, 6000 }, + { ALA_OFF, 1000, alaPalRgb, 1000 }, + { ALA_GLOW, 3000, alaPalRgb, 6000 }, + { ALA_OFF, 1000, alaPalRgb, 1000 }, + { ALA_FIRE, 1000, alaPalFire, 6000 }, + { ALA_OFF, 1000, alaPalRgb, 1000 }, + { ALA_BOUNCINGBALLS, 1000, alaPalRgb, 6000 }, + { ALA_OFF, 1000, alaPalRgb, 1000 }, + { ALA_BUBBLES, 1000, alaPalRainbow, 6000 }, + { ALA_ENDSEQ, 0, NULL, 0 } +}; +/* +AlaPalette paletteList[3] = { + alaPalRgb, + alaPalRainbow, + alaPalFire +}; +*/ +void setup() +{ + delay(1000); + + rgbStrip.initWS2812(60, 6); + + rgbStrip.setBrightness(0x444444); + + rgbStrip.setAnimation(seq); +} + +void loop() +{ + rgbStrip.runAnimation(); +} + diff --git a/examples/SimpleLed/SimpleLed.ino b/examples/SimpleLed/SimpleLed.ino new file mode 100644 index 0000000..4c887e1 --- /dev/null +++ b/examples/SimpleLed/SimpleLed.ino @@ -0,0 +1,29 @@ +/////////////////////////////////////////////////////////////////////////////////////////// +// +// ALA library example: SimpleLed +// +// A very simple example about how to fade one LED. +// +// Web page: http://yaab-arduino.blogspot.com/p/ala-example-simpleled.html +// +/////////////////////////////////////////////////////////////////////////////////////////// + + +#include + +AlaLed alaLed; + +void setup() +{ + // initialize the led attached to pin 13 + alaLed.initPWM(13); + + // set a fading animation with a duration of 2 seconds + alaLed.setAnimation(ALA_FADEIN, 2000); +} + +void loop() +{ + // animate the led + alaLed.runAnimation(); +} diff --git a/examples/SimpleLed/schematic/SimpleLed.fzz b/examples/SimpleLed/schematic/SimpleLed.fzz new file mode 100644 index 0000000000000000000000000000000000000000..882bc83d9abf36b3b8fea4243a3d42d5bb5ffa00 GIT binary patch literal 3683 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 OdsiNJ`r{vl1pEt2ob*}% literal 0 HcmV?d00001 diff --git a/examples/SimpleLed/schematic/SimpleLed_bb.png b/examples/SimpleLed/schematic/SimpleLed_bb.png new file mode 100644 index 0000000000000000000000000000000000000000..dd58c4743a704600db590cb5d2931f60e9930bce GIT binary patch literal 204474 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

CMxal6^E#n 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 literal 0 HcmV?d00001 diff --git a/examples/SimpleLed/schematic/SimpleLed_schem.png b/examples/SimpleLed/schematic/SimpleLed_schem.png new file mode 100644 index 0000000000000000000000000000000000000000..fc4211ce489f383a64f555c801808bc8cefe82cb GIT binary patch literal 44545 zcmd432{e{%`!9Ucpj6b;pplYFC87|SDn!YcF;Rrf3YmvSG9;9FNQ8_@G7k;N971N2 zIrBX4-`Vr-wZCue|F^!i_TJxGU+YotTio|`pVxUF$8S2Wr?S!)H_`5_w#_{IT9lLe-o?Ir^A-=g-P3XHQkY2OoQj<47zlHq1*^T^;ZzO*_VkW=u z-$q6Lh*(E{$9v+}fAJ&#%Rl(P@LvBv{1JPu!{JrEksH^Y=H}*}uS<3mJ0KL{>bh>t znl&YZQwG-7XKqX%=i-vz;V#DLb@AZAgH)-SbS@WkQ&nqgYj^M2)3rK`W_fvJMPma4 zd(>u%+2eJuSFaNd4Go=d9dW#f*RmVVyx7>-csEm>O0n3u`Qy=}M)BV;)unDyI%v;L z@TqU7V-%2Jr5=6!~ z)3>mAu?pvs{i%>xfnrihiX5)gx45f1%X08VVBp){a3>9u^lKW)%9_jL{%IEdH8yE7 zoSd9$?{3^57#R3qHKOq*DvDKDSkuPFhL)Z_JiU0JJn)olZ>W`!MP~MJ*5z~O7Hw(% zZt@G6ttPos_1Chdn+&&a*%D#Z?x2jdRLj1X=*NCNE-8sUcX7O|w5m#3LgHIaBS&yW zbX~l%;nYCg?p?d&%*|7Sf`UGnwhJ9Pa^yJPFf%iAf_=Z3sOaqypF^q9!BU4e(bErp z^FH|Kz~2)g^vt}s@+c2aea6;p+qOk1YdR?Mw%ez&l=NF1!)?NOR8UiE%4sS7_D$l% zwU1I|ekW?beti@a9IU9S`c}|xx-Y_o(dSENfO16NL;6LF?AEy0*zZrb9{FI=FQ0fl z+wTUBW5l|Gi#jPPzwc#xHdI$v)2?6dU2=;ndJPSY;oZA;HAZ?TCqJlNyH@w(N7ToU zJdH#564lZSG+LMD_lH--WM%OWHK)srjg4ikEH7-|y7i0XroS&)?EU=ttCAAQsp;us zoSbquZ{BQrujAg%wY0S4=HU@ywa{}n^G8k1>z*Fnw6wIN%*^Mp`dJIZ*)N|zKbh=x zO;a=c-bh5@kt z_YU_$j+0VSQs4S5Dzi6NH#EfbhS^Dbdwb)KG&H3dz6=OBGvejnJXC*nBquT`Xm_GY z%K3PuM4vi?Zqc=rj@l=$Yii^L$G&c5vUyz0XeT8jIJNEND(Zs1zE~_OR%zSr-2)9q z(mv-eT(JDIiMKp^2|K2NH-E0edENODtNBU&&@*?=;{YZmCK?zSg_vh1UQ7SSk3yL} z6VW$T%%pt%dg$_~i*R3d`%)4vnmzNpuI^#QRn(8_4C-*}G#ux2R1=lDyStBaaL7o< zm@A0{nJ#SKyY~<8(2utYaR~`8nuq*q`+o#+8{SH7?5T6aRvHYm8=f20{Il@`g;G$w zLG0YQbL4c#VDt39@zDO7iy{B}=;%Agsd!Df?H$LkS))Qi_P%`aqObZQQ(XmbJ6mdFLVCO7wfv*Ts($e0(e?RV1wpg{Y=oK9k z!}pd7D;WNm-QGJaEJ-iiLFxMS>sQxgxOsYc8Q!=df`Wxwr*QuK=N!{#-FGt=*SfEx zrInYG@_6Fnf`iIwI{jsED(>~`^G9UDa{9O~T(}VOl|r$vk!8_u<32=XX0vhQ#@NhE zRjdfwqoRR9-1zvoMeP;dqik$O8pE~UzPW1H_8)ru_;G(rrg`dV+LPC|NIGrh+LPAOT%Tvh%BP0H} zg|EfjEf$8-_gt{3Qbs+>>h`<#`)=lGPR;`;8$W(r)n3N7V?KBg2Y`2E+VIPhO>SOZ z`F&hG!B=!s1AX`4JnVMk=jVU%^5vWU{(ipTGJ)BShi>lfwdmP0-OiL7T!9u9+zqU} zyjE>A5%g;xhJ=K;S9-a+es8sE7sN~6zAaJwY@dRLMi@@|wtxQNG7S9l$4J@;pTdOo zZg#8fz}uML6LTJwKZF+=t8S&JEbiFL#MJQVAx)a)pifh4uCDD&Ovztd=m&?=+m&o>v&JVTUi$hT%x;yw zkE0P4@l7|i|7VK!{6zSQkMJd zDQ{M-mj3^2-HLa66BF*J_VD3Df&4$TTNxN)GBVC2s-}v6`SQiU#H5}qj9~-2!-!qG zZ=Jy#3GA>C*=@Uay+wUKbm&ljkYSP>_N2VLd@SAO4ze|wm`pcb&ebZU&7J+_eo0E| z1qy{_I2QSptmIUz7-P=oQ#+coXtyum? z5q+QQe$CDPp`$QqT3CGe{N+nseSLI70vp-xd)jB8XznM6!pMlNFpJv4!s0eI&D}G5 zNl~4j8eD%KgeZ`JOe?d+^PTigtX{>DhDn*?ckbMARDL>i&rW1h>jw3q;jF7*K1WwqmvmCW(SlW1(e@}J zH=dA&7RqmV>CKxrP3flLJ5H!Y6*D=hlRee_Qu#++-J9}qsW?I!_Mf~Uhogc{l6I#{ zT(ZXJ&}ECh?*}An{7zi6Sej}WL|57L@3jU*eCss(rj@dj-tc;kb;=eu7X3oE?QwB& zuMO}*6zWskx_f#IfbMY?eWD&bpbizVk=NGN_KCtWqC_hE_f^43v;?jh=m|Ehcjw59 z-L!`XFWWbqJyI{@G_N2y^+RF4#y?NAj=bz@T~?nc&7}e5`EmdJgs?Ei!mnTZVuY98 zk}eU+v?KwvF#n0(QRLt6_IO1vEg>mcjn`#OZa6M!yEs;?C@=r|$&i=)%)fl+nH7?@+Q&IhaW$BBzuUw1XY>(wQKRD+Ayt*Fb8{E@Zz^>w{ujjxQ5zEsZ8$L1I4Ex6iagrn?#wPw?% zO_DxZ+S;B^5Bo|61_lCpygt89!ok5|V0hS%1xV-+3kxehe^Y?dz>lMz&z{XErkZu0 zC%{QpR~$bLiuIz^L|IKO2*u-&BwEjls@_xeDQbzOm6dsYYo2`ga2jiBCgNNc8yziv z>eMN&Kq;W3t6EyW5~4e>?Fl$r-9ZDDuTGxa&6OC`e(?B-l%*q-Nr+ICe%B>*4D zV)~Ejb-SUoW5)?=ER9u{9(#kJM>RV}9S(lkVTT;dh}IR zHc&A|XwPw_1X*$MCoFH{<1e4R_eU1Xa>x7EpT<;MK<`ex3!;f;=Rb1Mpk%QUB(HW282^UGRv^uf8_aOImfBXIl`!MuO{`sKd-429ID z`~~GX{vX;d5IIL?NTHTDxXh0q+r(D&tdFUEi=MiV@2+Ug+}T3unA+RJetv$@V`Fzv z`gafh`0)cg#;Nj#Hdo-bJ$vGxK3y-_%kfU#yn-8rtG4rt3lMNDZZ<7FWkTXPi;V!I zL;q#X@!;zE`oq2@rw!+GXWHVOmV2F|@2=a4{fLcm6?G05>DiCUT-5OC(u zfPkGgxf*CP10S1Bg3Yh#RfQ>{(*e48>JQc@);cXUIFXg67Z|0ip>dwu;f5<9mkvZb zSFw(s-aksUwz#M$b~p8TWo3WIr9n+_75QDec4bXeo?YsZxpGC{-o9m>G((Hy!VqeH z6gJyc4UHrppMN5~p0iw$mfn4?|MSAS0tVFkpBZ1yo;uaV%li58jnjgHC;AsdS>o&X z4M!jQYuHNS&f&kp!ot#uim7YDXb(7-T*3N}s3;Tc+XTnI9kl)JeKGc{qJgcgn$zqT zCXf3R>c>^RwO)>s2T=sBPug4qrzY$N7lF;+s7j^#>A{-R`E8OujYjn~Z!V|ZD*5N7 zzyBcAl)6YSAp`r(YI*i^2|{9&JQX0-A_=pIh=|mnf~-~(ZRZyQ0|tO5l}$yY62``| z3eL2cr#fox6?Rld!IX|sSeO}6mXs_>m^z5gSYhg@fWNkz{v(HTD^mBf-(sNCg(;e2 zyR*&HGF5w7Sv|d&91T;ErHMIvQhuI2Q<9gjX*rVLm_Q(hX1)gcU0i(pg0(4Qsw&RG z_us!+4suf~pG1?7i#w*>@%ZOYm3*bm=r;thpq;mvq^qf^eYjoyTD3W)(a7!T)9Qh` z_%yp26Kpui-r%l%0@kv@JjOL(=me#m(yJ_269%D`las?GjL+Fq&DfBcDo5KF5_*x6hwH zpFVSjfRWi*Yiu~u712-}m$pJc@R$N^Y!{$}d!eFudU)IhjUeswR?A#PMFseCU{h1m z3mmQsE_6o)1+U{4kd5Ty>$`o|E}Lp&4$VAuz(;=D$ylXijl`venfQ0_zVFm<>MniR zlxvp`Ok?1odnA;p`+ZIhxib*dmc%%ImMi1fjs&_u>-wB?lPmCp^tu$`#jCGBG0zC-}$M2+00zKbZS7R|=#`hdtm z0RggFTCX`{&ueRUB~U$KH<~zKu%4E-Ci+V72f**bq9Sa9%kA^^>5JzTu3YgnFf?2W z>cpxJwdZU4OfHQ$wVS?LODSMj4E)(UF~_=!nsZxj{uL)Hs~Mf#V|EdzxT$CY+65S^ zddG!^`}@ZR4Kq+M|0+ot3ajm@nf7MV7A$^!youucRb&I{Fh0q|cAJFI9CdKUJ=Y+|bQm{y|^&lMS&_>Uiz0Qez`kPa0h9m7JH3ifCb zzf!y+M2on$Zv!WKzm=Cm%?iPu`B7bcAigecanYXi_UFzroqg4jJ}kZ^EG}OnUcA`$ z_{oz>H52sFy1Ke!tgHd%jwpQsj9yQkJn2~!l9ZGj=* z_q)UwJ%2YNV||J55znbMo8En)LJmzTdSE(?Ud7heH8qnH z8*J1IuLF-dBT*3Z4w}`})RexNne5A#FNrp|)E4h^`sB%1qy?b8gMA05ZGs>KRoFmR zw`fGresT6rS6ZQ#oSj`Z-9G+X2@T)Bzk*zMl#9z}6;AbPD>t(`RGa#qir_<``MaT; zagb(0OUu9V@mobjU7TY4VtxP6P+dpID@MCNoT_YoeCgQ+b;qE1EL>SARnBAnA1&I4 zv^(_LUF}x*T)5PxcQ;qjte@Scl%Nvv=+SCPf^;<>tmnzE2?w35q!O_r|s<+hkg=mITe^RUB-o2CEvSmwCwpFr8R)6$=nl*N= z1j?H?$~}7Tn`GwIYf8GtzIETd{&B=Owb4U_CDe2n&G-y!fet~JIXMFR&fb&q!M#l| zbr`&c`~SRQFw{I0TGR=(4}BNfy#T7!J{kp|%ivq|os7 z>CK72w#SbiElHL+hs(xIQ`FEfv40M@qbM!?EX--y25sCfC@d^2Etgd2-00|Nuc=fI zFRyrzWo+5KJ3F{8OGtb#C~zKYGD+7QpE(cwM7v>waLq?$6f>{}QY#y-TkR{P+aJtp z%Ck(RDZ1Y$Dp9yG4qpSjoBSCndLaNF@haXby8tBWnaw}KG~2NRJz~;bbMZXHX!M(` zu4iX;jl0fY2UGIsPj9*FjuU4wJ9?9}JCG11UEOF-C+ruMk**(gU1NQagB0ZCyunlW zIPaG&(QvSS8_BgliarXl3`*v#L|Jf!ZeRtIV`%j)t`e=3Z-Y~gzr%I%-l?!rS@|zK zJa>DdrvhN7tKw0W;O6V^rjA^jYFV+7ei`?J>qMl)BW87W-1~X7#mKg{Hs|JaCdhHS z_wB1otr9xhYmfDYG^hamjp)q4$%{RDIyw~t3KpGTWB}I)pF>0F$92|{Rz1nYdhA$G zT})r(>ROa=aDw@NsKUKFJ3GAucB>m34_(Z=%o55p#LmtxO|}mxp-E=9pK95ey>zWk zD?~k1#yS-^WJq7SRAZIDa9uUA-dV^iL;F!x+3n%j!!<`(BqR3qUVASUCA0I>IC1ssXI%zL(9-$2a%ZvGV zziTED!dpgnnL!6mOa$z#cVRz!=1go`n+6mCrw{b(k&&dIC1nruLmgIvhFSD{WrP9R z&FJW;bK)HtnW}_~yC?i->$p|Tih@? zSBanz?8@q@g6_L>g262CDgY=5QaFG90ayj@7256_XgB%v5)8xq*R91%-|PiIIC0`c z7D(BmknCszb4Tqi2v0=SX>U&+AHR!sWH9!tkSR;U*f{a7x%pDqS&O64{cB0#+`j!# zzx~SV)@-Z6<%N+MLwPIkGos_53#Yf)#>*=xtcq)U`}QqP%%<51w;uD^oSgi*md9ts zeKIbKvVPXn0lTD1mjQ`CcH%_t>{F&~zZ*)jPy#@z$O`co{oJ43n$*;!1`xZu%&0X> z5v`cmWe^HcN1*WhmG;UWJ$|e|Gu&D<2z7?s?;^wax?{l=Ju|5x5D9>=ZRfiEmmKq4 zm>dIqx6VEybU;ll?$xXP&>{@s3IH<(O-LKvz8$M+t#4?Uefv~>N5_r)88cJUWFpe; zG0FH8paks&N<3^BL$JRhi{yrQH#ge9%ob2xi|&WOI*}1m_KW*J_v#1wy_J7yJG>&G zH+ej3vumG>#ay60!{B4O@(J0i^72|a!^6V_0qQj8!FLMWy7fMMC-WSb~~9@r1$Xt4${Z}KXdR- z%B+#2R&bbG&JPwGB?jWP@A_-%T+GDqI*>*?WE!}8>$BqiuO>g@hw zRlO6EKGIBAoAL#z26YNPwM&V4yv2Rf^FFYSX zxxv^ey(LKvhehrEt*1B)SlGJi>Ik&5e0m-@aa~IBU2Jz<@nr(dEf&fY${l07M(xAT~5KG(T76#NKbOkeLjxV%aq8)&5AnD`sZz z+H)c=dJUj!`dZ}eYHP?}wv;}--&uui2M9~PJ~^gCX$>Flc3%RdE6)sTG*ZG3p{GH~ z+9k_9*Rk&uF6d@kKu}N(Vb7H|h30t+kjD1=m%R~Q9`icX*OLfM>2DSwwFh?(GHpK; zH{W)bm!Ka9J8tRf4xsGTWRK(laPl0aTz~HEeWzMT3}SYa%$CgsYiVe(HH~woZF6lQ z4w90|ZCGEPDGk2GXx%{t5PKUq3=Kw8q>csM#!Gm4Ho;w#(2VV-78a-Xuc}^i;J^Wt zys6-xiMgwg$eK;EufT#VniO8@mw_@Pj|SI19732 z`lDQ%J#6a}Tcp>LfU}B1#>LJ~^O2TR|-Ol~++2 z0Cr;2>@M4Y8TPBMI^V;$oELzRMqq z!t{u_TvJR;42O$0)&WJmuGutSur~(>@`UR9TT0GHSy^Q*Ez@u&aY{fOJ#5H859ifNNx-23GqEpbAcdsm4)z`i^GXG zg=M_5d}kAF%_@3khuncik(1W>Okcsah%X7%=t>wTNOZp6!MfYOIQ zU!SDpZ3a&vbxdQVDa~E>w2V<(PUCD=LW0MGjtzqJd^EymH*O`0_Wv#``X4^~|IEFd zXZ8Rh0WRifa1`R7Gaiu2>-lUiA2aGycbUJ_;pSvm%VS-|#1^jz<}K^Dkhkd24hRb) zuE-%ttPzkcG(m-1x1v%!nunCoxN%B}uf1l&4%V}0?J9?ea2_KQ?#BX-R0@w9Kppp; zR9Uq3-)3h#h8R(G;Ytw9&4Pm4|2^UYw319{0d)`(@Jn@M2y#N~n>S)O_m{3*=@y|b z5cq`Z`SSJa*B}WCfyOIepKi^X>j}18S(@4E>MU~uYOM=BlV5R{Hw!l}@1U2{VkEii z+JV4LmiO+FD>-~vJUM?k3+T0{MFWZn3~^|EL|$L&=5VTpvIY|sa>UWJ4-q0}#2@Edmg@y+z1+Le*A6H1~`^$g+`R5kTg67tp zd-wkM{{1TAe4Z;j28m=#B2Ft4e#E4pP&@aQqp}_UrXyeAP9`m zqL;c9ruO$bWgauy{~wwNU6iVDS!U8v(wBvKl7zSi;MwwyyOFF+vd1n z40rz$+(dlR8uA(=zHk?DinZsktgPJJb+ftN5JhlqAQ+?QNbozk5UCDg-`+DMtD&3+ z=z)LegW2QDGSrxQ5poJqf32+2{Wvs}ULIGz4icJE;v!0rJO{8Eu&1fltYwcxhs}@Hhk8BK z4^#k%EH8b0nB5DRV``6r>Ot`=F-Zqtk%F>E#DReUc_k&k$`C&77H%IFEDh`)C<(hF zV)ODeh&Aec@ZuR+Qugi9w<3|uaBez+7ec*)>}q9epz=-dAWzUxHyX>#6DQ&y^pAcv~e&XHt=Y~L`UzA%mJK< z|M1}|z2M~ckU_9x0;Y)Z@)rtV<3M65(M^Ty*BUTgf6bIcaFT_q*8o(KPh({C0yeja z$?%~I=irw@k2?&8R+DSr1GGcv+B-<0Zf;q>x#(Q9 z>m}qs;)+Id7_Jo$P7O2}CU>(?3mt*lODrEafIT5jox`JrKZou?damH(fC7pA263~< zc>{ngv1Tq_EEXFPLK*5qec=kOP|J5*I^=}VK%X<+M!XUvJ)B42l4blrb$#MB&t9w5 zZa}oTqn|fG5CS@FKIDG_jnBp=6CK(kKF`)ce;Wv1+rq2ptc-=@>h^5{#~ta!@$L1oHLaC?K}y1gp)u^OAE(mNj$9#Diz#0O($k>L7Xqi-i381Al%~JifnO{m3*)DFLrE% zQU9D}sVsld9R>&AcZ%7Y#nv$xU!~3>h;PNgljuT|m`RYXp^Vy~^p4p%R{u-3zCs)G zOfD-eWnGu|ed4+KXsR}Hod0usCV%yRl4TX-Y!zKkp#%gYIDoyu0-XguryBM?HgJ&n zTwb0K)B}Us=qos|+cr~r)(<1gX|@HI9dw{rD-Xe~~k-zvJ&~Dq-t=en|rLcpC;hkvLQYJQ9AwD|0lk3ze z7;TCQ3ffYGV5tfUzV%7hkB3)X^!|%}L~a0-5|k1(ape!721#ha-j>}<32;GL5!t9) zT!9{E&jV1%qK2a30m8FqhQXsnO#}2p7g-f|7&;C5L(lKOY19q_#Fbtl=7AvF0Dwc& z2Yp{0Q7{e`NtpVmT*M1Zkv1|)Aawvx7V3od)oc-3F&Uw`sOlNozdH76BC@2VryI6r zSwfg2x)-Ek7D>RHnz>Iqk@8tOFDEMcC_%}vpk4=sk=@^2b~S-?BKwIF1>|jOXJjRx_|#(ebo~TjD3Fb z@ZTuqNf{JXQlk-u!p0}TBLbEE{CIlD0n+f&4ExL?AbR^uCa=sVpvi69I2$4b+i#>TmuT%#eSNoeZrz&ArH_e;!Cvi2*8pz--_$csj)*u1D(Dl1 z>=Iw7w2rQBDT1^h9|TBhX=$-Y0!I;Y(Z0|&bdQMJD6F|_*RH*)tQ^zQqK+;(=MWA^ z1hJi@MsX_kN>BohWGFm}2MsSqJTVd)iYn79Xt*!X>fq5WA<|O!?c2IFtAvg~8HKZh z{0#BMuvwQEdxZx(K0PerLZ2YI91=ofRl2DanYrLEp@McwsAE1+0B;wdrTK$<%E)+u z>FBUEgHi(+;W~EK0uV$ZyFkDbj4bG-kg56-M$EBeAPWs5w6<525^#}RWc|;d0VE0W z=CXer?lbOqQ4SmcqWFRHykLQP{uXfr1gGAZ74+Wj{QMZZ=>^MmxX4X;4%q~J0il4| zqCrDv_;t|uIEuq%fA*Iw2t>r9uQq7dC310b{b+2|H;RFehi(7}(C}o_9uL{y7W_Iq z;rV_6K#|z2|C+;6u(PGW?;P_lQz#Rwh&2G%rHn%gQCd+`lf$d{pd^94!^6{t54tS) zEs-;DTWfzG!HTpSpQwonci{K={c{<_^E-9wAaD^}F4D#!z3{iMHbGtnvAYIfv@LF^ zG0QVvF^vgCkI4Rej4La9M5qvj4G_lRei0s?495_CXIF(D%uL{xKlidz5?W0fzJ6UT zwkq!iNbc^PJD*$R$;d&6bDS&F9Drz$M)C{zKtOW%DF~Y{!@}6XkC5eqjzIhqYikum zk+I?+bV`4X*JLCNmd?XKPyij)WF=tp^WzQOQ?`7v6!zdtit>-DsGziCwb50an_^(~ zLv#TIF{-4OB)++mQ$Dfhd)OKHr8SZGTg=Nd+rF!SVeqrvDeO*QF#I49xY1H3A-NA2 zqGg5*;_zUvT|vbzEieCZg}0SO68KA;0)&Ce=?i>=xC4ptL5d>DfOjv!(rzPhOp=Yz zm!Yv>85idT9c0mL5gEe^^2Bp=*)#0hH)O@RzMy-(sEmnYjdiZgM33sKa%b5`WjDZ4 zNRW_voc-HFdLd%W0>tUo=fM4daz50QRu;e`Ai#zX3;ivyLKkUkaO}(cPC9%nERVLX zoqYfjaQxV@QjS{^@&J_e$(qR!$;x24Xr+{^@gkfBv_!jU(^Pif0ZAN8pk<#5T?Hf# zIU(R^D4D~htoBw!0FQ** z`?S9-(3xBonOuJLL8^?kQb&9uGrk3WnL4|2!EiV{E@&3*r=hx{Dz(~ARM?JwqVaSB z>LO5)1g55PpJ*^K^CWwHYwM$G%BMbdJI3+m}^a;!_svp^P=rX;NXK> zfo&B{xUrv(Fa(lCOu0v$1NX%=Z!Q{k$_pQ#yCoylkZVb{0(!ic(0nYSw$uYEAgM^X znblDHS67uf@*H2il<-Gy+Y{MGRp;SUB+zWGw1VZyfA{ydkO?9>fk;*w^!VVc!n6e$ zJ)xc<3;aqf761y9>>(b;Hd^~<;E-tapjAYhfk{a09XRkRMFwdD2mq4Uu(fptDKl5E zp6;Cnc4u#FFErvYguMWy7c^z}3C2b43L>8Pal2)&+p^EWV}~1Vv4K(pE0{ZmZ?KA7 z8ERj?GT4yZE3#@<_S#CjlHkl&bDtl zJX$XB&SpZl%aA{#YeMPmB_c{Y8O{c?^e^z*Yob+89-ZI#J?8Jg%>T>S%>S(cEAx95 zU)b{3PcNt=BDHD$63^q=N3g-szE3)NfY(C&3_i6Jy(0eAD`(~{z+1>ZB6ywvc^0!I zfMwgai{1bG8X`AR8;wvlqBi?)aUkFLUxCkztdrlVlMG^{L*=2O;bZrNXrePBZ-s=H zw-!}+B!o{w0{)}AC!!c*3zVyU1doMefE!Z_6RUTx+sC9NY48T0D8P?5(b30vd6kjK zfj2{fY7j{dNp9V`wJBB4ODReHEmEA4KA?akJf>fJ81*7PF76T(awH4`r_R1X!$Vz1 zXa4oyg`v7<`_4vV3lUe`Gz(cP6v_`yD~?dFX6xFN!?WHw~c z4@9Ll;)2TyfBzT=UNB_!D~CvtM-CI(6RJ>Mn4lfTst%(C5J#2YvQ*_`Ztiu!M%0DV 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 Yx8|51Q&jE>q(h>oqpux2d)@y30V>1eLjV8( literal 0 HcmV?d00001 diff --git a/examples/SimpleRgbLed/SimpleRgbLed.ino b/examples/SimpleRgbLed/SimpleRgbLed.ino new file mode 100644 index 0000000..f8feffa --- /dev/null +++ b/examples/SimpleRgbLed/SimpleRgbLed.ino @@ -0,0 +1,29 @@ +/////////////////////////////////////////////////////////////////////////////////////////// +// +// ALA library example: SimpleRgbLed +// +// Example to demonstrate how to create a color-fading animation for one RGB LED. +// +// Web page: http://yaab-arduino.blogspot.com/p/ala-example-simplergbled.html +// +/////////////////////////////////////////////////////////////////////////////////////////// + +#include + +#define REDPIN 11 +#define GREENPIN 9 +#define BLUEPIN 10 + +AlaLedRgb rgbLed; + +void setup() +{ + rgbLed.initPWM(REDPIN, GREENPIN, BLUEPIN); + rgbLed.setBrightness(0x66FF44); // calibrate white + rgbLed.setAnimation(ALA_FADECOLORSLOOP, 5000, alaPalRgb); +} + +void loop() +{ + rgbLed.runAnimation(); +} diff --git a/examples/SimpleRgbStrip/SimpleRgbStrip.ino b/examples/SimpleRgbStrip/SimpleRgbStrip.ino new file mode 100644 index 0000000..537b884 --- /dev/null +++ b/examples/SimpleRgbStrip/SimpleRgbStrip.ino @@ -0,0 +1,26 @@ +/////////////////////////////////////////////////////////////////////////////////////////// +// +// ALA library example: RgbStrip +// +// Example to demonstrate how to create display a color-fading animation for a +// WS2812 RGB LED strip. +// +// Web page: http://yaab-arduino.blogspot.com/p/ala-example-rgbstrip.html +// +/////////////////////////////////////////////////////////////////////////////////////////// + +#include "AlaLedRgb.h" + +AlaLedRgb rgbStrip; + +void setup() +{ + rgbStrip.initWS2812(30, 6); + + rgbStrip.setAnimation(ALA_FADECOLORSLOOP, 5000, alaPalRgb); +} + +void loop() +{ + rgbStrip.runAnimation(); +} diff --git a/examples/SimpleTlc5940/SimpleTlc5940.ino b/examples/SimpleTlc5940/SimpleTlc5940.ino new file mode 100644 index 0000000..a835f82 --- /dev/null +++ b/examples/SimpleTlc5940/SimpleTlc5940.ino @@ -0,0 +1,26 @@ +/////////////////////////////////////////////////////////////////////////////////////////// +// +// ALA library example: SimpleTlc5940 +// +// Example to demonstrate how to animate few LEDs using a TLC5940 chip. +// +// Web page: http://yaab-arduino.blogspot.com/p/ala-example-tlc5940.html +// +/////////////////////////////////////////////////////////////////////////////////////////// + +#include + +AlaLed alaLed; + +byte pins[] = { 4, 5, 6, 7, 8 }; + +void setup() +{ + alaLed.initTLC5940(5, pins); + alaLed.setAnimation(ALA_GLOW, 2000); +} + +void loop() +{ + alaLed.runAnimation(); +} diff --git a/keywords.txt b/keywords.txt new file mode 100644 index 0000000..51ce79d --- /dev/null +++ b/keywords.txt @@ -0,0 +1,67 @@ +####################################### +# Syntax Coloring Map For ALA +####################################### + + +####################################### +# Datatypes (KEYWORD1) +####################################### + +AlaLed KEYWORD1 +AlaLedRgb KEYWORD1 + +AlaColor KEYWORD1 +AlaPalette KEYWORD1 +AlaSeq KEYWORD1 + + +####################################### +# Methods and Functions +####################################### + +initPWM KEYWORD2 +initTLC5940 KEYWORD2 +initWS2812 KEYWORD2 +setBrightness KEYWORD2 +setRefreshRate KEYWORD2 +setAnimation KEYWORD2 +runAnimation KEYWORD2 + + +####################################### +# Constants +####################################### + +ALA_ON LITERAL1 +ALA_OFF LITERAL1 +ALA_BLINK LITERAL1 +ALA_BLINKALT LITERAL1 +ALA_SPARKLE LITERAL1 +ALA_SPARKLE2 LITERAL1 +ALA_STROBO LITERAL1 + +ALA_FADECOLORSLOOP LITERAL1 +ALA_FADECOLORS LITERAL1 +ALA_CYCLECOLORS LITERAL1 + +ALA_PIXELSHIFTRIGHT LITERAL1 +ALA_PIXELSHIFTLEFT LITERAL1 +ALA_PIXELBOUNCE LITERAL1 +ALA_PIXELSMOOTHSHIFTRIGHT LITERAL1 +ALA_PIXELSMOOTHSHIFTLEFT LITERAL1 +ALA_COMET LITERAL1 +ALA_COMETCOL LITERAL1 +ALA_BARSHIFTRIGHT LITERAL1 +ALA_BARSHIFTLEFT LITERAL1 +ALA_MOVINGBARS LITERAL1 + +ALA_FADEIN LITERAL1 +ALA_FADEOUT LITERAL1 +ALA_FADEINOUT LITERAL1 +ALA_GLOW LITERAL1 + +ALA_FIRE LITERAL1 +ALA_BOUNCINGBALLS LITERAL1 +ALA_BUBBLES LITERAL1 + +ALA_ENDSEQ LITERAL1 diff --git a/pinouts/ATmega_8.h b/pinouts/ATmega_8.h new file mode 100644 index 0000000..a09b033 --- /dev/null +++ b/pinouts/ATmega_8.h @@ -0,0 +1,86 @@ +/* Copyright (c) 2009 by Alex Leone + + This file is part of the Arduino TLC5940 Library. + + The Arduino TLC5940 Library is free software: you can redistribute it + and/or modify it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + The Arduino TLC5940 Library is distributed in the hope that it will be + useful, but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with The Arduino TLC5940 Library. If not, see + . */ + +#ifndef TLC_ATMEGA_8_H +#define TLC_ATMEGA_8_H + +#if DATA_TRANSFER_MODE == TLC_SPI +#warning SPI cannot be used on the ATmega8 because it interferes with timer2 +#warning setting DATA_TRANSFER_MODE to TLC_BITBANG +#define DATA_TRANSFER_MODE TLC_BITBANG +#endif + +/** \file + SPI and timer pins for the ATmega8. Don't edit these. All + changeable pins are defined in tlc_config.h */ + +/** VPRG (Arduino digital pin 8) -> VPRG (TLC pin 27) */ +#define DEFAULT_VPRG_PIN PB0 +#define DEFAULT_VPRG_PORT PORTB +#define DEFAULT_VPRG_DDR DDRB + +/** XERR (Arduino digital pin 12) -> XERR (TLC pin 16) */ +#define DEFAULT_XERR_PIN PB4 +#define DEFAULT_XERR_PORT PORTB +#define DEFAULT_XERR_DDR DDRB +#define DEFAULT_XERR_PINS PINB + +/** SIN (Arduino digital pin 7) -> SIN (TLC pin 26) */ +#define DEFAULT_BB_SIN_PIN PD7 +#define DEFAULT_BB_SIN_PORT PORTD +#define DEFAULT_BB_SIN_DDR DDRD +/** SCLK (Arduino digital pin 4) -> SCLK (TLC pin 25) */ +#define DEFAULT_BB_SCLK_PIN PD4 +#define DEFAULT_BB_SCLK_PORT PORTD +#define DEFAULT_BB_SCLK_DDR DDRD + +/** MOSI (Arduino digital pin 11) -> SIN (TLC pin 26) */ +#define TLC_MOSI_PIN PB3 +#define TLC_MOSI_PORT PORTB +#define TLC_MOSI_DDR DDRB + +/** SCK (Arduino digital pin 13) -> SCLK (TLC pin 25) */ +#define TLC_SCK_PIN PB5 +#define TLC_SCK_PORT PORTB +#define TLC_SCK_DDR DDRB + +/** SS will be set to output as to not interfere with SPI master operation. + If you have changed the pin-outs and the library doesn't seem to work + or works intermittently, make sure this pin is set correctly. This pin + will not be used by the library other than setting its direction to + output. */ +#define TLC_SS_PIN PB2 +#define TLC_SS_DDR DDRB + +/** OC1A (Arduino digital pin 9) -> XLAT (TLC pin 24) */ +#define XLAT_PIN PB1 +#define XLAT_PORT PORTB +#define XLAT_DDR DDRB + +/** OC1B (Arduino digital pin 10) -> BLANK (TLC pin 23) */ +#define BLANK_PIN PB2 +#define BLANK_PORT PORTB +#define BLANK_DDR DDRB + +/** OC2B (Arduino digital pin 3) -> GSCLK (TLC pin 18) */ +#define GSCLK_PIN PD3 +#define GSCLK_PORT PORTD +#define GSCLK_DDR DDRD + +#endif + diff --git a/pinouts/ATmega_xx4.h b/pinouts/ATmega_xx4.h new file mode 100644 index 0000000..a10e7ea --- /dev/null +++ b/pinouts/ATmega_xx4.h @@ -0,0 +1,80 @@ +/* Copyright (c) 2009 by Alex Leone + + This file is part of the Arduino TLC5940 Library. + + The Arduino TLC5940 Library is free software: you can redistribute it + and/or modify it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + The Arduino TLC5940 Library is distributed in the hope that it will be + useful, but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with The Arduino TLC5940 Library. If not, see + . */ + +#ifndef TLC_ATMEGA_XX8_H +#define TLC_ATMEGA_XX8_H + +/** \file + SPI and timer pins for the ATmega164/324/644. Don't edit these. All + changeable pins are defined in tlc_config.h */ + +/** VPRG (Sanguino digital pin 15) -> VPRG (TLC pin 27) */ +#define DEFAULT_VPRG_PIN PD7 +#define DEFAULT_VPRG_PORT PORTD +#define DEFAULT_VPRG_DDR DDRD + +/** XERR (Sanguino digital pin 6) -> XERR (TLC pin 16) */ +#define DEFAULT_XERR_PIN PB6 +#define DEFAULT_XERR_PORT PORTB +#define DEFAULT_XERR_DDR DDRB +#define DEFAULT_XERR_PINS PINB + +/** SIN (Sanguino digital pin 5) -> SIN (TLC pin 26) */ +#define DEFAULT_BB_SIN_PIN PB5 +#define DEFAULT_BB_SIN_PORT PORTB +#define DEFAULT_BB_SIN_DDR DDRB +/** SCLK (Sanguino digital pin 7) -> SCLK (TLC pin 25) */ +#define DEFAULT_BB_SCLK_PIN PB7 +#define DEFAULT_BB_SCLK_PORT PORTB +#define DEFAULT_BB_SCLK_DDR DDRB + +/** MOSI (Sanguino digital pin 5) -> SIN (TLC pin 26) */ +#define TLC_MOSI_PIN PB5 +#define TLC_MOSI_PORT PORTB +#define TLC_MOSI_DDR DDRB + +/** SCK (Sanguino digital pin 7) -> SCLK (TLC pin 25) */ +#define TLC_SCK_PIN PB7 +#define TLC_SCK_PORT PORTB +#define TLC_SCK_DDR DDRB + +/** SS will be set to output as to not interfere with SPI master operation. + If you have changed the pin-outs and the library doesn't seem to work + or works intermittently, make sure this pin is set correctly. This pin + will not be used by the library other than setting its direction to + output. */ +#define TLC_SS_PIN PB4 +#define TLC_SS_DDR DDRB + +/** OC1A (Sanguino digital pin 13) -> XLAT (TLC pin 24) */ +#define XLAT_PIN PD5 +#define XLAT_PORT PORTD +#define XLAT_DDR DDRD + +/** OC1B (Sanguino digital pin 12) -> BLANK (TLC pin 23) */ +#define BLANK_PIN PD4 +#define BLANK_PORT PORTD +#define BLANK_DDR DDRD + +/** OC2B (Sanguino digital pin 14) -> GSCLK (TLC pin 18) */ +#define GSCLK_PIN PD6 +#define GSCLK_PORT PORTD +#define GSCLK_DDR DDRD + +#endif + diff --git a/pinouts/ATmega_xx8.h b/pinouts/ATmega_xx8.h new file mode 100644 index 0000000..e9e9093 --- /dev/null +++ b/pinouts/ATmega_xx8.h @@ -0,0 +1,80 @@ +/* Copyright (c) 2009 by Alex Leone + + This file is part of the Arduino TLC5940 Library. + + The Arduino TLC5940 Library is free software: you can redistribute it + and/or modify it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + The Arduino TLC5940 Library is distributed in the hope that it will be + useful, but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with The Arduino TLC5940 Library. If not, see + . */ + +#ifndef TLC_ATMEGA_XX8_H +#define TLC_ATMEGA_XX8_H + +/** \file + SPI and timer pins for the ATmega168/48/88. Don't edit these. All + changeable pins are defined in tlc_config.h */ + +/** VPRG (Arduino digital pin 8) -> VPRG (TLC pin 27) */ +#define DEFAULT_VPRG_PIN PB0 +#define DEFAULT_VPRG_PORT PORTB +#define DEFAULT_VPRG_DDR DDRB + +/** XERR (Arduino digital pin 12) -> XERR (TLC pin 16) */ +#define DEFAULT_XERR_PIN PB4 +#define DEFAULT_XERR_PORT PORTB +#define DEFAULT_XERR_DDR DDRB +#define DEFAULT_XERR_PINS PINB + +/** SIN (Arduino digital pin 7) -> SIN (TLC pin 26) */ +#define DEFAULT_BB_SIN_PIN PD7 +#define DEFAULT_BB_SIN_PORT PORTD +#define DEFAULT_BB_SIN_DDR DDRD +/** SCLK (Arduino digital pin 4) -> SCLK (TLC pin 25) */ +#define DEFAULT_BB_SCLK_PIN PD4 +#define DEFAULT_BB_SCLK_PORT PORTD +#define DEFAULT_BB_SCLK_DDR DDRD + +/** MOSI (Arduino digital pin 11) -> SIN (TLC pin 26) */ +#define TLC_MOSI_PIN PB3 +#define TLC_MOSI_PORT PORTB +#define TLC_MOSI_DDR DDRB + +/** SCK (Arduino digital pin 13) -> SCLK (TLC pin 25) */ +#define TLC_SCK_PIN PB5 +#define TLC_SCK_PORT PORTB +#define TLC_SCK_DDR DDRB + +/** SS will be set to output as to not interfere with SPI master operation. + If you have changed the pin-outs and the library doesn't seem to work + or works intermittently, make sure this pin is set correctly. This pin + will not be used by the library other than setting its direction to + output. */ +#define TLC_SS_PIN PB2 +#define TLC_SS_DDR DDRB + +/** OC1A (Arduino digital pin 9) -> XLAT (TLC pin 24) */ +#define XLAT_PIN PB1 +#define XLAT_PORT PORTB +#define XLAT_DDR DDRB + +/** OC1B (Arduino digital pin 10) -> BLANK (TLC pin 23) */ +#define BLANK_PIN PB2 +#define BLANK_PORT PORTB +#define BLANK_DDR DDRB + +/** OC2B (Arduino digital pin 3) -> GSCLK (TLC pin 18) */ +#define GSCLK_PIN PD3 +#define GSCLK_PORT PORTD +#define GSCLK_DDR DDRD + +#endif + diff --git a/pinouts/Arduino_Mega.h b/pinouts/Arduino_Mega.h new file mode 100644 index 0000000..6bf735a --- /dev/null +++ b/pinouts/Arduino_Mega.h @@ -0,0 +1,81 @@ +/* Copyright (c) 2009 by Alex Leone + + This file is part of the Arduino TLC5940 Library. + + The Arduino TLC5940 Library is free software: you can redistribute it + and/or modify it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + The Arduino TLC5940 Library is distributed in the hope that it will be + useful, but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with The Arduino TLC5940 Library. If not, see + . */ + +#ifndef ARDUINO_MEGA_H +#define ARDUINO_MEGA_H + +/** \file + SPI and timer pins for the Arduino Mega. Don't edit these. All + changeable pins are defined in tlc_config.h */ + +/** VPRG (Mega pin 50) -> VPRG (TLC pin 27) */ +#define DEFAULT_VPRG_PIN PB3 +#define DEFAULT_VPRG_PORT PORTB +#define DEFAULT_VPRG_DDR DDRB + +/** XERR (Mega pin 10) -> XERR (TLC pin 16) */ +#define DEFAULT_XERR_PIN PB4 +#define DEFAULT_XERR_PORT PORTB +#define DEFAULT_XERR_DDR DDRB +#define DEFAULT_XERR_PINS PINB + +/** SIN (Mega pin 51) -> SIN (TLC pin 26) */ +#define DEFAULT_BB_SIN_PIN PB2 +#define DEFAULT_BB_SIN_PORT PORTB +#define DEFAULT_BB_SIN_DDR DDRB +/** SCLK (Mega pin 52) -> SCLK (TLC pin 25) */ +#define DEFAULT_BB_SCLK_PIN PB1 +#define DEFAULT_BB_SCLK_PORT PORTB +#define DEFAULT_BB_SCLK_DDR DDRB + +/** MOSI (Mega pin 51) -> SIN (TLC pin 26) */ +#define TLC_MOSI_PIN PB2 +#define TLC_MOSI_PORT PORTB +#define TLC_MOSI_DDR DDRB + +/** SCK (Mega pin 52) -> SCLK (TLC pin 25) */ +#define TLC_SCK_PIN PB1 +#define TLC_SCK_PORT PORTB +#define TLC_SCK_DDR DDRB + +// SS (Mega pin 53) +/** SS will be set to output as to not interfere with SPI master operation. + If you have changed the pin-outs and the library doesn't seem to work + or works intermittently, make sure this pin is set correctly. This pin + will not be used by the library other than setting its direction to + output. */ +#define TLC_SS_PIN PB0 +#define TLC_SS_DDR DDRB + +/** OC1A (Mega pin 11) -> XLAT (TLC pin 24) */ +#define XLAT_PIN PB5 +#define XLAT_PORT PORTB +#define XLAT_DDR DDRB + +/** OC1B (Mega pin 12) -> BLANK (TLC pin 23) */ +#define BLANK_PIN PB6 +#define BLANK_PORT PORTB +#define BLANK_DDR DDRB + +/** OC2B (Mega pin 9) -> GSCLK (TLC pin 18) */ +#define GSCLK_PIN PH6 +#define GSCLK_PORT PORTH +#define GSCLK_DDR DDRH + +#endif + diff --git a/pinouts/Teensy_xxU4.h b/pinouts/Teensy_xxU4.h new file mode 100644 index 0000000..5b38736 --- /dev/null +++ b/pinouts/Teensy_xxU4.h @@ -0,0 +1,39 @@ +#ifndef TLC_Teensy_xxU4_h +#define TLC_Teensy_xxU4_h + +#if DATA_TRANSFER_MODE == TLC_BITBANG +#error "If you want bitbang mode, insert pin defs here" +#endif + +// MOSI (Teensy pin 2) -> SIN (TLC pin 26) +#define TLC_MOSI_PIN 2 +#define TLC_MOSI_PORT PORTB +#define TLC_MOSI_DDR DDRB + +// SCK (Teensy pin 1) -> SCLK (TLC pin 25) +#define TLC_SCK_PIN 1 +#define TLC_SCK_PORT PORTB +#define TLC_SCK_DDR DDRB + +// SS (Teensy pin 0) +#define TLC_SS_PIN 0 +#define TLC_SS_DDR DDRB + +// OC1A (Teensy pin 14) -> XLAT (TLC pin 24) +#define XLAT_PIN 5 +#define XLAT_PORT PORTB +#define XLAT_DDR DDRB + +// OC1B (Teensy pin 15) -> BLANK (TLC pin 23) +#define BLANK_PIN 6 +#define BLANK_PORT PORTB +#define BLANK_DDR DDRB + +// OC3A (Teensy pin 9) -> GSCLK (TLC pin 18) +#define GSCLK_PIN 6 +#define GSCLK_PORT PORTC +#define GSCLK_DDR DDRC +#define TLC_TIMER3_GSCLK 1 + +#endif + diff --git a/pinouts/Teensypp_xxx6.h b/pinouts/Teensypp_xxx6.h new file mode 100644 index 0000000..a6eb57a --- /dev/null +++ b/pinouts/Teensypp_xxx6.h @@ -0,0 +1,38 @@ +#ifndef TLC_Teensypp_xxx6_H +#define TLC_Teensypp_xxx6_H + +#if DATA_TRANSFER_MODE == TLC_BITBANG +#error "If you want bitbang mode, insert pin defs here" +#endif + +// MOSI (Teensy++ pin 22) -> SIN (TLC pin 26) +#define TLC_MOSI_PIN 2 +#define TLC_MOSI_PORT PORTB +#define TLC_MOSI_DDR DDRB + +// SCK (Teensy++ pin 21) -> SCLK (TLC pin 25) +#define TLC_SCK_PIN 1 +#define TLC_SCK_PORT PORTB +#define TLC_SCK_DDR DDRB + +// SS (Teensy++ pin 20) +#define TLC_SS_PIN 0 +#define TLC_SS_DDR DDRB + +// OC1A (Teensy++ pin 25) -> XLAT (TLC pin 24) +#define XLAT_PIN 5 +#define XLAT_PORT PORTB +#define XLAT_DDR DDRB + +// OC1B (Teensy++ pin 26) -> BLANK (TLC pin 23) +#define BLANK_PIN 6 +#define BLANK_PORT PORTB +#define BLANK_DDR DDRB + +// OC2B (Teensy++ pin 1) -> GSCLK (TLC pin 18) +#define GSCLK_PIN 1 +#define GSCLK_PORT PORTD +#define GSCLK_DDR DDRD + +#endif + diff --git a/pinouts/chip_includes.h b/pinouts/chip_includes.h new file mode 100644 index 0000000..7dc1a6f --- /dev/null +++ b/pinouts/chip_includes.h @@ -0,0 +1,118 @@ +/* Copyright (c) 2009 by Alex Leone + + This file is part of the Arduino TLC5940 Library. + + The Arduino TLC5940 Library is free software: you can redistribute it + and/or modify it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + The Arduino TLC5940 Library is distributed in the hope that it will be + useful, but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with The Arduino TLC5940 Library. If not, see + . */ + +#ifndef TLC_CHIP_INCLUDES_H +#define TLC_CHIP_INCLUDES_H + +/** \file + Includes the chip-specfic defaults and pin definitions. */ + +#include + +#ifndef PB0 +#define PB0 PORTB0 +#define PB1 PORTB1 +#define PB2 PORTB2 +#define PB3 PORTB3 +#define PB4 PORTB4 +#define PB5 PORTB5 +#define PB6 PORTB6 +#define PB7 PORTB7 +#endif +#ifndef PC0 +#define PC0 PORTC0 +#define PC1 PORTC1 +#define PC2 PORTC2 +#define PC3 PORTC3 +#define PC4 PORTC4 +#define PC5 PORTC5 +#define PC6 PORTC6 +#define PC7 PORTC7 +#endif +#ifndef PD0 +#define PD0 PORTD0 +#define PD1 PORTD1 +#define PD2 PORTD2 +#define PD3 PORTD3 +#define PD4 PORTD4 +#define PD5 PORTD5 +#define PD6 PORTD6 +#define PD7 PORTD7 +#endif +#ifndef PH0 +#define PH0 PORTH0 +#define PH1 PORTH1 +#define PH2 PORTH2 +#define PH3 PORTH3 +#define PH4 PORTH4 +#define PH5 PORTH5 +#define PH6 PORTH6 +#define PH7 PORTH7 +#endif + +/* Chip Specific Pinouts */ +#if defined (__AVR_ATmega168__) \ + || defined (__AVR_ATmega168P__) \ + || defined (__AVR_ATmega88P__) \ + || defined (__AVR_ATmega88__) \ + || defined (__AVR_ATmega48P__) \ + || defined (__AVR_ATmega48__) \ + || defined (__AVR_ATmega328P__) + +/* Diecimila / Duemilanove / almost everything */ +#include "ATmega_xx8.h" + +#elif defined (__AVR_ATmega8__) + +/* ATmega8 */ +#include "ATmega_8.h" + +#elif defined (__AVR_ATmega164P__) \ + || defined (__AVR_ATmega324P__) \ + || defined (__AVR_ATmega644__) \ + || defined (__AVR_ATmega644P__) + +/* Sanguino */ +#include "ATmega_xx4.h" + +#elif defined (__AVR_ATmega640__) \ + || defined (__AVR_ATmega1280__) \ + || defined (__AVR_ATmega1281__) \ + || defined (__AVR_ATmega2560__) \ + || defined (__AVR_ATmega2561__) + +/* Arduino Mega */ +#include "Arduino_Mega.h" + +#elif defined (__AVR_ATmega32U4__) + +/* Teensy 2.0 */ +#include "Teensy_xxU4.h" + +#elif defined (__AVR_AT90USB646__) \ + || defined (__AVR_AT90USB1286__) + +/* Teensy++ 2.0 */ +#include "Teensypp_xxx6.h" + +#else +#error "Unknown Chip!" +#endif + +#endif + diff --git a/readme.txt b/readme.txt new file mode 100644 index 0000000..03f4edb --- /dev/null +++ b/readme.txt @@ -0,0 +1,717 @@ +-------------------------------------------------------------------------------- +Arduino Light Animation (ALA) 1.1 +-------------------------------------------------------------------------------- + +Arduino Light Animation (ALA) is a library for Arduino boards simplify the +development of light animations using a wide variety of LEDs and LED strips. + +The home page of ALA is: http://yaab-arduino.blogspot.com/p/ala.html + + +-------------------------------------------------------------------------------- +CHANGELOG +-------------------------------------------------------------------------------- + +1.2 (2015-xx-xx) +- Added wiring schemas to some examples +- Fixed AlaLed not working with TLC5940 +- Fixed TLC5940 pins initialization +- Added schematics to some examples + +1.1 (2015-03-12) +- Bouncing balls effect +- Bubbles effect +- Other RGB effects added +- Fixed memory issues for Fire effect +- AlaColor scale method now caps at 255 + +1.0 (2015-03-05) +- First official version of the ALA library + +-------------------------------------------------------------------------------- +INCLUDED LIBRARIES +-------------------------------------------------------------------------------- + +Tlc5940 - https://code.google.com/p/tlc5940arduino/ +Adafruit_NeoPixel - https://github.com/adafruit/Adafruit_NeoPixel + +BIG thanks to the authors. + +-------------------------------------------------------------------------------- +LICENSING INFO +-------------------------------------------------------------------------------- + + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +.