Instantly share code, notes, and snippets.
Created
June 29, 2016 20:38
-
Star
(0)
0
You must be signed in to star a gist -
Fork
(0)
0
You must be signed in to fork a gist
-
Save z1snow/092a8902ca0620901a38bbd978c404b1 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <SLIPEncodedSerial.h> | |
#include <Math.h> | |
#include <FastLED.h> | |
#define NUM_LEDS 100 | |
#define DATA_PIN 3 | |
#define BAUDRATE 57600 | |
CRGB leds [NUM_LEDS]; | |
SLIPEncodedSerial SLIPSerial(Serial); | |
void setup() { | |
FastLED.addLeds<NEOPIXEL, DATA_PIN>(leds, NUM_LEDS); | |
pinMode(13, OUTPUT); | |
SLIPSerial.begin(BAUDRATE); | |
} | |
static int fad0 = 0; // global saturation | |
static int fad1 = 0; // led 0-30 evens hue | |
static int fad2 = 0; // led 0-30 evens brightness | |
static int fad3 = 0; // led 0-30 odds hue | |
static int fad4 = 0; // led 0-30 odds brightness | |
static int fad5 = 0; // led 31-60 evens hue | |
static int fad6 = 0; // led 31-60 evens brightness | |
static int fad7 = 0; // led 31-60 odds hue | |
static int fad8 = 0; // led 31-60 odds brightness | |
//method???? | |
// CLIP(value){ | |
// if(value>255)value=255; | |
// if(value<0)value=0; | |
// } | |
void loop() { | |
//FastLED.clear(); | |
//check if bytes are available | |
while(SLIPSerial.available()){ | |
// kind of the address | |
int index = 0; | |
// the value | |
int value = 0; | |
// counter to switch between index and value | |
int count = 0; | |
while(!SLIPSerial.endofPacket()){ | |
int size = SLIPSerial.available(); | |
while (size--){ | |
int data = SLIPSerial.read(); | |
if (count == 0){ | |
index = data; | |
} | |
if (count == 1){ | |
value = data; | |
} | |
count++; | |
count = count % 2; | |
//Serial.println (value); | |
} | |
} | |
switch(index){ | |
case 0: | |
{ | |
// value = constrain(value, 1, 254); | |
fad0=value; | |
//Serial.println (fad0); | |
break; | |
} | |
case 1: | |
{ | |
// value = constrain(value, 1, 254); | |
fad1=value; | |
// Serial.println (fad1); | |
break; | |
} | |
case 2: | |
{ | |
// value = constrain(value, 1, 254); | |
fad2=value; | |
Serial.println (fad2); | |
break; | |
} | |
case 3: | |
{ | |
// value = constrain(value, 1, 254); | |
fad3=value; | |
// Serial.println (fad3); | |
break; | |
} | |
case 4: | |
{ | |
// value = constrain(value, 1, 254); | |
fad4=value; | |
Serial.println (fad4); | |
break; | |
} | |
case 5: | |
{ | |
// value = constrain(value, 1, 254); | |
fad5=value; | |
// Serial.println (fad5); | |
break; | |
} | |
case 6: | |
{ | |
// value = constrain(value, 1, 254); | |
fad6=value; | |
// Serial.println (fad6); | |
break; | |
} | |
case 7: | |
{ | |
// value = constrain(value, 1, 254); | |
fad7=value; | |
// Serial.println (fad7); | |
//digitalWrite(8, (value > 0)); | |
break; | |
} | |
case 8: | |
{ | |
// value = constrain(value, 1, 254); | |
fad8=value; | |
// Serial.println (fad8); | |
//digitalWrite(8, (value > 0)); | |
break; | |
} | |
} | |
{ | |
if (fad2 >= 1) | |
{ | |
leds[0] = CHSV( fad1, fad0, fad2); | |
leds[2] = CHSV( fad1, fad0, fad2); | |
leds[4] = CHSV( fad1, fad0, fad2); | |
leds[6] = CHSV( fad1, fad0, fad2); | |
leds[8] = CHSV( fad1, fad0, fad2); | |
leds[10] = CHSV( fad1, fad0, fad2); | |
leds[12] = CHSV( fad1, fad0, fad2); | |
leds[14] = CHSV( fad1, fad0, fad2); | |
leds[16] = CHSV( fad1, fad0, fad2); | |
leds[18] = CHSV( fad1, fad0, fad2); | |
leds[20] = CHSV( fad1, fad0, fad2); | |
leds[22] = CHSV( fad1, fad0, fad2); | |
leds[24] = CHSV( fad1, fad0, fad2); | |
leds[26] = CHSV( fad1, fad0, fad2); | |
leds[28] = CHSV( fad1, fad0, fad2); | |
} | |
// } | |
// { | |
if (fad4 >= 1) | |
{ | |
leds[1] = CHSV( fad3, fad0, fad4); | |
leds[3] = CHSV( fad3, fad0, fad4); | |
leds[5] = CHSV( fad3, fad0, fad4); | |
leds[7] = CHSV( fad3, fad0, fad4); | |
leds[9] = CHSV( fad3, fad0, fad4); | |
leds[11] = CHSV( fad3, fad0, fad4); | |
leds[13] = CHSV( fad3, fad0, fad4); | |
leds[15] = CHSV( fad3, fad0, fad4); | |
leds[17] = CHSV( fad3, fad0, fad4); | |
leds[19] = CHSV( fad3, fad0, fad4); | |
leds[21] = CHSV( fad3, fad0, fad4); | |
leds[23] = CHSV( fad3, fad0, fad4); | |
leds[25] = CHSV( fad3, fad0, fad4); | |
leds[27] = CHSV( fad3, fad0, fad4); | |
leds[29] = CHSV( fad3, fad0, fad4); | |
} | |
// } | |
// { | |
if (fad6 >= 1) | |
{ | |
leds[30] = CHSV( fad5, fad0, fad6); | |
leds[32] = CHSV( fad5, fad0, fad6); | |
leds[34] = CHSV( fad5, fad0, fad6); | |
leds[36] = CHSV( fad5, fad0, fad6); | |
leds[38] = CHSV( fad5, fad0, fad6); | |
leds[40] = CHSV( fad5, fad0, fad6); | |
leds[42] = CHSV( fad5, fad0, fad6); | |
leds[44] = CHSV( fad5, fad0, fad6); | |
leds[46] = CHSV( fad5, fad0, fad6); | |
leds[48] = CHSV( fad5, fad0, fad6); | |
leds[50] = CHSV( fad5, fad0, fad6); | |
leds[52] = CHSV( fad5, fad0, fad6); | |
leds[54] = CHSV( fad5, fad0, fad6); | |
leds[56] = CHSV( fad5, fad0, fad6); | |
leds[58] = CHSV( fad5, fad0, fad6); | |
} | |
// } | |
// { | |
if (fad8 >= 1) | |
{ | |
leds[31] = CHSV( fad7, fad0, fad8); | |
leds[33] = CHSV( fad7, fad0, fad8); | |
leds[35] = CHSV( fad7, fad0, fad8); | |
leds[37] = CHSV( fad7, fad0, fad8); | |
leds[39] = CHSV( fad7, fad0, fad8); | |
leds[41] = CHSV( fad7, fad0, fad8); | |
leds[43] = CHSV( fad7, fad0, fad8); | |
leds[45] = CHSV( fad7, fad0, fad8); | |
leds[47] = CHSV( fad7, fad0, fad8); | |
leds[49] = CHSV( fad7, fad0, fad8); | |
leds[51] = CHSV( fad7, fad0, fad8); | |
leds[53] = CHSV( fad7, fad0, fad8); | |
leds[55] = CHSV( fad7, fad0, fad8); | |
leds[57] = CHSV( fad7, fad0, fad8); | |
leds[59] = CHSV( fad7, fad0, fad8); | |
} | |
} | |
////////// | |
FastLED.show(); | |
} | |
delay(3); | |
} | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment