Skip to content

Instantly share code, notes, and snippets.

@phptuts
Created October 14, 2022 06:54
Show Gist options
  • Save phptuts/a06e4f03b8cafa2c0f177984a4b992b0 to your computer and use it in GitHub Desktop.
Save phptuts/a06e4f03b8cafa2c0f177984a4b992b0 to your computer and use it in GitHub Desktop.
prototype for creating code the gist
#include <FastLED.h>
#define NUM_LEDS 250
#define DATA_PIN A0
#define DIRECTION right
CRGB leds[NUM_LEDS];
void shiftRight(byte reds[], byte greens[], byte blues[]) {
int tempRed = reds[NUM_LEDS - 1];
int tempGreen = greens[NUM_LEDS - 1];
int tempBlue = blues[NUM_LEDS - 1];
for(int ledIndex = NUM_LEDS - 1; ledIndex > 0; ledIndex -= 1) {
reds[ledIndex] = reds[ledIndex - 1];
greens[ledIndex] = greens[ledIndex - 1];
blues[ledIndex] = blues[ledIndex - 1];
}
reds[0] = tempRed;
greens[0] = tempGreen;
blues[0] = tempBlue;
}
void shiftLeft(byte reds[], byte greens[], byte blues[]) {
int tempRed = reds[0];
int tempGreen = greens[0];
int tempBlue = blues[0];
for(int ledIndex = 0; ledIndex < NUM_LEDS - 1; ledIndex += 1) {
reds[ledIndex] = reds[ledIndex + 1];
greens[ledIndex] = greens[ledIndex + 1];
blues[ledIndex] = blues[ledIndex + 1];
}
reds[NUM_LEDS - 1] = tempRed;
greens[NUM_LEDS - 1] = tempGreen;
blues[NUM_LEDS - 1] = tempBlue;
}
void displayLeds(byte reds[], byte greens[], byte blues[]) {
for(int ledIndex = 0; ledIndex < NUM_LEDS; ledIndex += 1) {
leds[ledIndex].setRGB(reds[ledIndex], greens[ledIndex], blues[ledIndex]);
}
FastLED.show();
delay(500);
}
void setup() {
FastLED.addLeds<WS2811, DATA_PIN, GRB>(leds, NUM_LEDS);
FastLED.setBrightness(10);
}
void nextFrame(uint32_t * colors) {
}
void loop() {
// We declare these large values here for memory reasons
uint32_t colors[] = {0xAA0000,0xAA0000,0xAA0000,0xAA0000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000};
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment