Skip to content

Instantly share code, notes, and snippets.

@z1snow
Created June 29, 2016 20:38
Show Gist options
  • Save z1snow/092a8902ca0620901a38bbd978c404b1 to your computer and use it in GitHub Desktop.
Save z1snow/092a8902ca0620901a38bbd978c404b1 to your computer and use it in GitHub Desktop.
#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