diff --git a/achterbahn.ino b/achterbahn.ino index 8f6da2b..9fedab3 100644 --- a/achterbahn.ino +++ b/achterbahn.ino @@ -11,8 +11,6 @@ Adafruit_NeoPixel strip = Adafruit_NeoPixel(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800); - - long lastPixelUpdate=0; #define PIXELUPDATETIME 10 long lastRoutineUpdate=0; @@ -30,75 +28,131 @@ uint8_t maxid=0; void setup() { Serial.begin(115200); - for (int i=0;i length 1 + float interpolateStep= ((int)(interpolateEndvalue)-(int)(interpolateStartvalue))*1.0 /(interpolateLength+1); + Serial.println(); + Serial.print("interpolateStep="); + Serial.print("("); + Serial.print(interpolateEndvalue); + Serial.print("-"); + Serial.print(interpolateStartvalue); + Serial.print(")/"); + Serial.print(interpolateLength+1); + Serial.print("="); + Serial.println(interpolateStep); + + + int interpolateStepCounter=1; + Serial.println(); + Serial.print("interpolateStartpos="); + Serial.println(interpolateStartpos); + Serial.print("interpolateEndpos="); + Serial.println(interpolateEndpos); + Serial.print("interpolateStartvalue="); + Serial.println(interpolateStartvalue); + Serial.print("interpolateEndvalue="); + Serial.println(interpolateEndvalue); + Serial.print("interpolateLength="); + Serial.println(interpolateLength); + Serial.print("interpolateStep="); + Serial.println(interpolateStep,6); + for (int setinti=interpolateStartpos;setinti<=interpolateEndpos;setinti++) { //for all coherent elements to interpolate + height[setinti]=height[interpolateStartpos-1]+(int)(interpolateStep*interpolateStepCounter); + /*Serial.print(height[interpolateStartpos-1]); + Serial.print("+("); + Serial.print(interpolateStep); + Serial.print("*"); + Serial.print(interpolateStepCounter); + Serial.print(")="); + Serial.println(height[setinti]);*/ + interpolateStepCounter++; + } + interpolateStartpos=interpolateEndpos; + } + + } + + Serial.println(); + for (int i=0;i