|
@@ -5,10 +5,21 @@
|
|
|
//4: table
|
|
//4: table
|
|
|
//5: var_1
|
|
//5: var_1
|
|
|
//6: i
|
|
//6: i
|
|
|
-//7: lastAnimationMillis
|
|
|
|
|
|
|
|
|
|
-int getVariables(int stripDiv) {
|
|
|
|
|
- return current_animation_table[stripDiv][1], current_animation_table[stripDiv][2], current_animation_table[stripDiv][6], current_animation_table[stripDiv][5];
|
|
|
|
|
|
|
+struct variables {
|
|
|
|
|
+ int numLeds;
|
|
|
|
|
+ int offset;
|
|
|
|
|
+ int animI;
|
|
|
|
|
+ int animVar1;
|
|
|
|
|
+};
|
|
|
|
|
+
|
|
|
|
|
+struct variables getVariables(int stripDiv) {
|
|
|
|
|
+ struct variables myVariables;
|
|
|
|
|
+ myVariables.numLeds = current_animation_table[stripDiv][1];
|
|
|
|
|
+ myVariables.offset = current_animation_table[stripDiv][2];
|
|
|
|
|
+ myVariables.animI = current_animation_table[stripDiv][6];
|
|
|
|
|
+ myVariables.animVar1 = current_animation_table[stripDiv][5];
|
|
|
|
|
+ return myVariables;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
void saveAnimI(int animI, int stripDiv) {
|
|
void saveAnimI(int animI, int stripDiv) {
|
|
@@ -16,28 +27,48 @@ void saveAnimI(int animI, int stripDiv) {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
void animation_rainbow(int stripDiv) {
|
|
void animation_rainbow(int stripDiv) {
|
|
|
- int numLeds, offset, animI, animVar1 = getVariables(stripDiv);
|
|
|
|
|
|
|
+ struct variables animVariables = getVariables(stripDiv);
|
|
|
|
|
+ int numLeds = animVariables.numLeds;
|
|
|
|
|
+ int offset = animVariables.offset;
|
|
|
|
|
+ int animI = animVariables.animI;
|
|
|
|
|
+ int animVar1 = animVariables.animVar1;
|
|
|
|
|
+
|
|
|
int h = animI;
|
|
int h = animI;
|
|
|
for (int i = 0; i < numLeds; i++) {
|
|
for (int i = 0; i < numLeds; i++) {
|
|
|
h = (h + animVar1) % 256;
|
|
h = (h + animVar1) % 256;
|
|
|
leds[i + offset] = CHSV(h, 255, 255);
|
|
leds[i + offset] = CHSV(h, 255, 255);
|
|
|
}
|
|
}
|
|
|
//fill_rainbow(leds, NUM_LEDS, animation_i, animation_var_1);
|
|
//fill_rainbow(leds, NUM_LEDS, animation_i, animation_var_1);
|
|
|
- FastLED.show();
|
|
|
|
|
|
|
+ //FastLED.show()
|
|
|
animI++;
|
|
animI++;
|
|
|
animI %= 256;
|
|
animI %= 256;
|
|
|
saveAnimI(animI, stripDiv);
|
|
saveAnimI(animI, stripDiv);
|
|
|
|
|
+// Serial.println("Rainbow");
|
|
|
|
|
+// Serial.println(stripDiv);
|
|
|
|
|
+ Serial.println(numLeds);
|
|
|
|
|
+ Serial.println(offset);
|
|
|
|
|
+// Serial.println(animVar1);
|
|
|
|
|
+// Serial.println(animI);
|
|
|
|
|
+// Serial.println(current_animation_table[1][2]);
|
|
|
|
|
+// Serial.println(current_animation_table[stripDiv][2]);
|
|
|
//Serial.println(animation_i);
|
|
//Serial.println(animation_i);
|
|
|
//Serial.println("Animation 1 step");
|
|
//Serial.println("Animation 1 step");
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
void animation_running(int stripDiv) {
|
|
void animation_running(int stripDiv) {
|
|
|
//Serial.println("Animation 2 step");
|
|
//Serial.println("Animation 2 step");
|
|
|
- int numLeds, offset, animI, animVar1 = getVariables(stripDiv);
|
|
|
|
|
- leds[animI] = CRGB(100, 255, 200);
|
|
|
|
|
- FastLED.show();
|
|
|
|
|
|
|
+ struct variables animVariables = getVariables(stripDiv);
|
|
|
|
|
+ int numLeds = animVariables.numLeds;
|
|
|
|
|
+ int offset = animVariables.offset;
|
|
|
|
|
+ int animI = animVariables.animI;
|
|
|
|
|
+ int animVar1 = animVariables.animVar1;
|
|
|
|
|
+
|
|
|
|
|
+ Serial.println(animI + offset);
|
|
|
|
|
+
|
|
|
|
|
+ leds[animI + offset] = CRGB(100, 255, 200);
|
|
|
|
|
+ //FastLED.show();
|
|
|
animI++;
|
|
animI++;
|
|
|
- if (animation_i >= numLeds) {
|
|
|
|
|
|
|
+ if (animI >= numLeds) {
|
|
|
animI = 0;
|
|
animI = 0;
|
|
|
clear_strip(stripDiv);
|
|
clear_strip(stripDiv);
|
|
|
}
|
|
}
|
|
@@ -46,7 +77,12 @@ void animation_running(int stripDiv) {
|
|
|
|
|
|
|
|
void animation_chasing(int stripDiv) {
|
|
void animation_chasing(int stripDiv) {
|
|
|
//Serial.println("Animation 2 step");
|
|
//Serial.println("Animation 2 step");
|
|
|
- int numLeds, offset, animI, animVar1 = getVariables(stripDiv);
|
|
|
|
|
|
|
+ struct variables animVariables = getVariables(stripDiv);
|
|
|
|
|
+ int numLeds = animVariables.numLeds;
|
|
|
|
|
+ int offset = animVariables.offset;
|
|
|
|
|
+ int animI = animVariables.animI;
|
|
|
|
|
+ int animVar1 = animVariables.animVar1;
|
|
|
|
|
+
|
|
|
clear_strip(stripDiv);
|
|
clear_strip(stripDiv);
|
|
|
leds[animI] = CRGB(100, 255, 200);
|
|
leds[animI] = CRGB(100, 255, 200);
|
|
|
leds[((animI + 10) % numLeds) + offset] = CRGB(100, 255, 200);
|
|
leds[((animI + 10) % numLeds) + offset] = CRGB(100, 255, 200);
|
|
@@ -64,19 +100,27 @@ void animation_chasing(int stripDiv) {
|
|
|
// leds[((NUMBER_OF_LEDS) - animation_i * 3 + 2) - 1 * 3] = CRGB(0, 255, 255);
|
|
// leds[((NUMBER_OF_LEDS) - animation_i * 3 + 2) - 1 * 3] = CRGB(0, 255, 255);
|
|
|
// leds[(50 - animation_i - 10)] = CRGB(0, 255, 255);
|
|
// leds[(50 - animation_i - 10)] = CRGB(0, 255, 255);
|
|
|
// leds[(50 - animation_i)] = CRGB(0, 255, 255);
|
|
// leds[(50 - animation_i)] = CRGB(0, 255, 255);
|
|
|
- FastLED.show();
|
|
|
|
|
|
|
+ //FastLED.show();
|
|
|
animI++;
|
|
animI++;
|
|
|
animI %= numLeds;
|
|
animI %= numLeds;
|
|
|
saveAnimI(animI, stripDiv);
|
|
saveAnimI(animI, stripDiv);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
void animation_off(int stripDiv) {
|
|
void animation_off(int stripDiv) {
|
|
|
|
|
+ //Serial.println("animation off");
|
|
|
clear_strip(stripDiv);
|
|
clear_strip(stripDiv);
|
|
|
|
|
+ //Serial.println("animation off 2");
|
|
|
current_animation_table[stripDiv][3] = 10000;
|
|
current_animation_table[stripDiv][3] = 10000;
|
|
|
|
|
+ //Serial.println("animation off 3");
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
void animation_random1(int stripDiv) {
|
|
void animation_random1(int stripDiv) {
|
|
|
- int numLeds, offset, animI, animVar1 = getVariables(stripDiv);
|
|
|
|
|
|
|
+ struct variables animVariables = getVariables(stripDiv);
|
|
|
|
|
+ int numLeds = animVariables.numLeds;
|
|
|
|
|
+ int offset = animVariables.offset;
|
|
|
|
|
+ int animI = animVariables.animI;
|
|
|
|
|
+ int animVar1 = animVariables.animVar1;
|
|
|
|
|
+
|
|
|
int difference = numLeds / animVar1;
|
|
int difference = numLeds / animVar1;
|
|
|
|
|
|
|
|
for (int i = 0; i < animVar1; i++) {
|
|
for (int i = 0; i < animVar1; i++) {
|
|
@@ -136,16 +180,21 @@ void animation_random1(int stripDiv) {
|
|
|
leds[currentStep + i * difference + offset] = CRGB(r, g, b);
|
|
leds[currentStep + i * difference + offset] = CRGB(r, g, b);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
- FastLED.show();
|
|
|
|
|
|
|
+ //FastLED.show();
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
void animation_rgb_light(int stripDiv) {
|
|
void animation_rgb_light(int stripDiv) {
|
|
|
- int numLeds, offset, animI, animVar1 = getVariables(stripDiv);
|
|
|
|
|
|
|
+ struct variables animVariables = getVariables(stripDiv);
|
|
|
|
|
+ int numLeds = animVariables.numLeds;
|
|
|
|
|
+ int offset = animVariables.offset;
|
|
|
|
|
+ int animI = animVariables.animI;
|
|
|
|
|
+ int animVar1 = animVariables.animVar1;
|
|
|
|
|
+
|
|
|
clear_strip(stripDiv);
|
|
clear_strip(stripDiv);
|
|
|
for (int i = offset; i < (numLeds + offset) / 6; i++) {
|
|
for (int i = offset; i < (numLeds + offset) / 6; i++) {
|
|
|
- leds[(i + animation_i) % numLeds] = CRGB(255, 0, 0);
|
|
|
|
|
- leds[(i + animation_i + numLeds / 3) % numLeds] = CRGB(0, 255, 0);
|
|
|
|
|
- leds[(i + animation_i + (numLeds / 3) * 2) % numLeds] = CRGB(0, 0, 255);
|
|
|
|
|
|
|
+ leds[(i + animI) % numLeds] = CRGB(255, 0, 0);
|
|
|
|
|
+ leds[(i + animI + numLeds / 3) % numLeds] = CRGB(0, 255, 0);
|
|
|
|
|
+ leds[(i + animI + (numLeds / 3) * 2) % numLeds] = CRGB(0, 0, 255);
|
|
|
}
|
|
}
|
|
|
// for (int i = 1; i < NUM_LEDS/6; i++) { // Made an animation that already exists, but more complicated (animation_rainbow)
|
|
// for (int i = 1; i < NUM_LEDS/6; i++) { // Made an animation that already exists, but more complicated (animation_rainbow)
|
|
|
// uint8_t r = (0 - 255) * i / 25 + 255;
|
|
// uint8_t r = (0 - 255) * i / 25 + 255;
|
|
@@ -161,14 +210,19 @@ void animation_rgb_light(int stripDiv) {
|
|
|
// b = (0 - 255) * i / 25 + 255;
|
|
// b = (0 - 255) * i / 25 + 255;
|
|
|
// leds[(i + animation_i + 25 + 100) % NUM_LEDS] = CRGB(r, g, b);
|
|
// leds[(i + animation_i + 25 + 100) % NUM_LEDS] = CRGB(r, g, b);
|
|
|
// }
|
|
// }
|
|
|
- FastLED.show();
|
|
|
|
|
|
|
+ //FastLED.show();
|
|
|
animI++;
|
|
animI++;
|
|
|
animI %= numLeds;
|
|
animI %= numLeds;
|
|
|
saveAnimI(animI, stripDiv);
|
|
saveAnimI(animI, stripDiv);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
void animation_random2(int stripDiv) {
|
|
void animation_random2(int stripDiv) {
|
|
|
- int numLeds, offset, animI, animVar1 = getVariables(stripDiv);
|
|
|
|
|
|
|
+ struct variables animVariables = getVariables(stripDiv);
|
|
|
|
|
+ int numLeds = animVariables.numLeds;
|
|
|
|
|
+ int offset = animVariables.offset;
|
|
|
|
|
+ int animI = animVariables.animI;
|
|
|
|
|
+ int animVar1 = animVariables.animVar1;
|
|
|
|
|
+
|
|
|
if (random(0, animVar1) == 0) {
|
|
if (random(0, animVar1) == 0) {
|
|
|
//Serial.println("Stage 1");
|
|
//Serial.println("Stage 1");
|
|
|
for (int i = 0; i < 10; i++) {
|
|
for (int i = 0; i < 10; i++) {
|
|
@@ -222,5 +276,5 @@ void animation_random2(int stripDiv) {
|
|
|
// }
|
|
// }
|
|
|
// }
|
|
// }
|
|
|
// }
|
|
// }
|
|
|
- FastLED.show();
|
|
|
|
|
|
|
+ //FastLED.show();
|
|
|
}
|
|
}
|