adjust settings for ctdo raum 2
This commit is contained in:
parent
9033cd8b1a
commit
c271982416
|
@ -54,33 +54,40 @@ void setup() {
|
||||||
resetHeightmap();
|
resetHeightmap();
|
||||||
|
|
||||||
//fixed heightmap
|
//fixed heightmap
|
||||||
heightraw[0]=7;
|
heightraw[0]=199;
|
||||||
heightraw[25]=1;
|
heightraw[38]=198;
|
||||||
heightraw[89]=102;
|
heightraw[45]=192;
|
||||||
heightraw[140]=159;
|
heightraw[60]=180;
|
||||||
heightraw[163]=166;
|
heightraw[78]=168;
|
||||||
heightraw[184]=162;
|
heightraw[117]=167;
|
||||||
heightraw[229]=131;
|
heightraw[160]=115;
|
||||||
heightraw[252]=95;
|
heightraw[178]=100;
|
||||||
heightraw[266]=73;
|
heightraw[194]=96;
|
||||||
heightraw[282]=65;
|
heightraw[215]=105;
|
||||||
heightraw[295]=73;
|
heightraw[239]=128;
|
||||||
heightraw[305]=82;
|
heightraw[250]=139;
|
||||||
heightraw[321]=107;
|
heightraw[266]=127;
|
||||||
heightraw[334]=114;
|
heightraw[276]=122;
|
||||||
heightraw[343]=117;
|
heightraw[287]=128;
|
||||||
heightraw[363]=107;
|
heightraw[299]=117;
|
||||||
heightraw[380]=81;
|
heightraw[358]=28;
|
||||||
heightraw[397]=53;
|
heightraw[379]=5;
|
||||||
heightraw[409]=35;
|
heightraw[388]=1;
|
||||||
heightraw[420]=21;
|
heightraw[401]=1;
|
||||||
heightraw[429]=11;
|
heightraw[409]=6;
|
||||||
heightraw[444]=1;
|
heightraw[425]=20;
|
||||||
heightraw[489]=1;
|
heightraw[492]=120;
|
||||||
heightraw[508]=10;
|
heightraw[500]=124;
|
||||||
heightraw[524]=27;
|
heightraw[531]=120;
|
||||||
heightraw[540]=59;
|
heightraw[561]=122;
|
||||||
heightraw[599]=141;
|
heightraw[571]=126;
|
||||||
|
heightraw[578]=136;
|
||||||
|
heightraw[588]=148;
|
||||||
|
heightraw[599]=151;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -213,9 +220,9 @@ void spawnWagon(){
|
||||||
//Wagon tmpr = Wagon(maxid++,NUMPIXELS,&strip, height, 35, 6, 0.5,0); //spawn new wagon
|
//Wagon tmpr = Wagon(maxid++,NUMPIXELS,&strip, height, 35, 6, 0.5,0); //spawn new wagon
|
||||||
// pos, wagonlength, startvel, startacc, trainmass, wagoncolor
|
// pos, wagonlength, startvel, startacc, trainmass, wagoncolor
|
||||||
//Wagon tmpr = Wagon(maxid++,NUMPIXELS,&strip, height, random(0, 20), random(3,20), random(0.2, 50)/10.0, 0 , random(5,100) , Wheel(random(0,256))); //spawn new wagon
|
//Wagon tmpr = Wagon(maxid++,NUMPIXELS,&strip, height, random(0, 20), random(3,20), random(0.2, 50)/10.0, 0 , random(5,100) , Wheel(random(0,256))); //spawn new wagon
|
||||||
int _randomlength=random(3,40); //3-> minimum vel 10, 40 -> minium vel 30
|
int _randomlength=random(3,40); //Zelt: 3-> minimum vel 10, 40 -> minium vel 30
|
||||||
// pos, wagonlength, startvel , startacc, trainmass, wagoncolor
|
// pos, wagonlength, startvel , startacc, trainmass, wagoncolor
|
||||||
Wagon tmpr = Wagon(maxid++,NUMPIXELS,&strip, height, random(0, 20), _randomlength, random(map(_randomlength,3,40,10,30), map(_randomlength,3,40, 20,60))/10.0 , 0 , 20 , Wheel((uint8_t)random(0,255))); //spawn new wagon
|
Wagon tmpr = Wagon(maxid++,NUMPIXELS,&strip, height, random(0, 20), _randomlength, random(map(_randomlength,3,40,1,1), map(_randomlength,3,40, 13,40))/10.0 , 0 , 5 , Wheel((uint8_t)random(0,255))); //spawn new wagon
|
||||||
|
|
||||||
wagon_arr.push_back(tmpr);
|
wagon_arr.push_back(tmpr);
|
||||||
Serial.println("Spawned Wagon");
|
Serial.println("Spawned Wagon");
|
||||||
|
|
36
wagon.cpp
36
wagon.cpp
|
@ -1,14 +1,14 @@
|
||||||
#include "wagon.h"
|
#include "wagon.h"
|
||||||
|
|
||||||
#define SLOWVELOCITY 0.1
|
#define WAGONLENGTH 3
|
||||||
|
|
||||||
#define WAGONLENGTH 5
|
|
||||||
|
|
||||||
#define EDGE_WALL
|
#define EDGE_WALL
|
||||||
//#define EDGE_BOUNCE
|
//#define EDGE_BOUNCE
|
||||||
//#define EDGE_WRAP
|
//#define EDGE_WRAP
|
||||||
|
#define WRAPLEDPOS _numpixels //standard
|
||||||
|
//#define WRAPLEDPOS (_numpixels-5) //led index which is also led 0
|
||||||
|
|
||||||
uint8_t GammaE[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
/*uint8_t GammaE[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2,
|
0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2,
|
||||||
2, 2, 2, 3, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5,
|
2, 2, 2, 3, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5,
|
||||||
6, 6, 6, 7, 7, 7, 8, 8, 8, 9, 9, 9, 10, 10, 11, 11,
|
6, 6, 6, 7, 7, 7, 8, 8, 8, 9, 9, 9, 10, 10, 11, 11,
|
||||||
|
@ -23,7 +23,7 @@ uint8_t GammaE[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
135,137,138,140,142,143,145,146,148,150,151,153,155,157,158,160,
|
135,137,138,140,142,143,145,146,148,150,151,153,155,157,158,160,
|
||||||
162,163,165,167,169,170,172,174,176,178,179,181,183,185,187,189,
|
162,163,165,167,169,170,172,174,176,178,179,181,183,185,187,189,
|
||||||
191,193,194,196,198,200,202,204,206,208,210,212,214,216,218,220,
|
191,193,194,196,198,200,202,204,206,208,210,212,214,216,218,220,
|
||||||
222,224,227,229,231,233,235,237,239,241,244,246,248,250,252,255};
|
222,224,227,229,231,233,235,237,239,241,244,246,248,250,252,255}; */
|
||||||
|
|
||||||
Wagon::Wagon(int id,int numpixels, Adafruit_NeoPixel *strip,uint8_t *height,float pos, float trainlength,float startvel,float startacc, float wagonmass, uint32_t wagoncolor)
|
Wagon::Wagon(int id,int numpixels, Adafruit_NeoPixel *strip,uint8_t *height,float pos, float trainlength,float startvel,float startacc, float wagonmass, uint32_t wagoncolor)
|
||||||
{
|
{
|
||||||
|
@ -153,9 +153,10 @@ void Wagon::updatePhysics(float updatedelayms)
|
||||||
_lastvel=_vel;
|
_lastvel=_vel;
|
||||||
|
|
||||||
|
|
||||||
if (_pos>=_numpixels){
|
|
||||||
|
if (_pos>=WRAPLEDPOS){
|
||||||
#ifdef EDGE_WRAP
|
#ifdef EDGE_WRAP
|
||||||
_pos-=_numpixels; //Wrap around edges
|
_pos-=WRAPLEDPOS; //Wrap around edges
|
||||||
#endif
|
#endif
|
||||||
#ifdef EDGE_BOUNCE
|
#ifdef EDGE_BOUNCE
|
||||||
_vel*=-1; //bounce at edges
|
_vel*=-1; //bounce at edges
|
||||||
|
@ -166,7 +167,7 @@ void Wagon::updatePhysics(float updatedelayms)
|
||||||
}
|
}
|
||||||
if (_pos<0){
|
if (_pos<0){
|
||||||
#ifdef EDGE_WRAP
|
#ifdef EDGE_WRAP
|
||||||
_pos=_numpixels+_pos; //warp around edges
|
_pos=WRAPLEDPOS+_pos; //warp around edges
|
||||||
#endif
|
#endif
|
||||||
#ifdef EDGE_BOUNCE
|
#ifdef EDGE_BOUNCE
|
||||||
_vel*=-1;; //bounce at edges
|
_vel*=-1;; //bounce at edges
|
||||||
|
@ -188,14 +189,14 @@ float Wagon::getHeight(int p){
|
||||||
|
|
||||||
if (p<0){
|
if (p<0){
|
||||||
#ifdef EDGE_WRAP
|
#ifdef EDGE_WRAP
|
||||||
p=numpixels+p; //wrap edge
|
p=_numpixels+p; //wrap edge
|
||||||
#endif
|
#endif
|
||||||
#ifdef EDGE_WALL
|
#ifdef EDGE_WALL
|
||||||
return _height[0]+p*-100.0; //edges as wall
|
return _height[0]+p*-100.0; //edges as wall
|
||||||
#endif
|
#endif
|
||||||
}else if(p>=_numpixels){
|
}else if(p>=_numpixels){
|
||||||
#ifdef EDGE_WRAP
|
#ifdef EDGE_WRAP
|
||||||
p=p-numpixels; //wrap edge
|
p=p-_numpixels; //wrap edge
|
||||||
#endif
|
#endif
|
||||||
#ifdef EDGE_WALL
|
#ifdef EDGE_WALL
|
||||||
return _height[_numpixels-1]+(p-_numpixels)*100.0; //edges as wall
|
return _height[_numpixels-1]+(p-_numpixels)*100.0; //edges as wall
|
||||||
|
@ -244,11 +245,18 @@ void Wagon::updateGraphics()
|
||||||
_g*=featherbrightness;
|
_g*=featherbrightness;
|
||||||
_b*=featherbrightness;
|
_b*=featherbrightness;
|
||||||
|
|
||||||
_r=GammaE[_r];
|
/*_r=GammaE[_r];
|
||||||
_g=GammaE[_g];
|
_g=GammaE[_g];
|
||||||
_b=GammaE[_b];
|
_b=GammaE[_b];*/
|
||||||
|
|
||||||
uint32_t _pxcolor=_strip->getPixelColor(i); //get current color of that pixel
|
int iCorrected=i;
|
||||||
|
#ifdef EDGE_WRAP
|
||||||
|
if (i<0){
|
||||||
|
iCorrected=WRAPLEDPOS+i+1; //Wrap around edges
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
uint32_t _pxcolor=_strip->getPixelColor(iCorrected); //get current color of that pixel
|
||||||
uint8_t _pxr = _pxcolor >> 16;
|
uint8_t _pxr = _pxcolor >> 16;
|
||||||
uint8_t _pxg = _pxcolor >> 8;
|
uint8_t _pxg = _pxcolor >> 8;
|
||||||
uint8_t _pxb = _pxcolor;
|
uint8_t _pxb = _pxcolor;
|
||||||
|
@ -264,7 +272,7 @@ void Wagon::updateGraphics()
|
||||||
if (_tmpb>255){
|
if (_tmpb>255){
|
||||||
_tmpb=255;
|
_tmpb=255;
|
||||||
}
|
}
|
||||||
_strip->setPixelColor(i,_tmpr,_tmpg,_tmpb); //draw pixel
|
_strip->setPixelColor(iCorrected,_tmpr,_tmpg,_tmpb); //draw pixel
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue