Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed FootileSoftware
Revision 1:7fb4f7e80d92, committed 2020-03-08
- Comitter:
- yuyaro
- Date:
- Sun Mar 08 06:27:52 2020 +0000
- Parent:
- 0:03cdee95fb5a
- Commit message:
- Walking experiment software
Changed in this revision
--- a/DRV2605.cpp Wed May 30 02:34:33 2018 +0000 +++ b/DRV2605.cpp Sun Mar 08 06:27:52 2020 +0000 @@ -1,10 +1,13 @@ #include "DRV2605.h" DRV2605::DRV2605(PinName sda, PinName scl, PinName en): i2c(sda, scl), _en(en) { + + //もとはあった _en = 1; wait_us(250); // Device datasheet specified wait time before I2C // comms should be used // Exit Standby Mode; Enter Auto- Cal Mode + //もとはあった mode(AUTO_CAL); /* Set the following registers to the appropriate values: @@ -23,23 +26,27 @@ // Calc and Set Overdrive Voltage Register (0x17), use default values // Set Feedback Control Register (0x1A), set LRA - i2cWriteByte(FEEDBACK_CONTROL, i2cReadByte(FEEDBACK_CONTROL) | LRA); // set LRA + //もとはあった + //i2cWriteByte(FEEDBACK_CONTROL, i2cReadByte(FEEDBACK_CONTROL) | LRA); // set LRA // Set Control 1 Register (0x1B), use default values // Set Control 2 Register (0x1C), use default values // Set Control3 Register (0x1D), use default values - i2cWriteByte(CONTROL3, i2cReadByte(CONTROL3) | 0x08); // set data format rtp unsigned + //もとはあった + //i2cWriteByte(CONTROL3, i2cReadByte(CONTROL3) | 0x08); // set data format rtp unsigned // Set Control 4 Register (0x1E), use default values // Device already set to Auto- Cal Mode at top of this code block // Start auto- calibration + //もとはあった i2cWriteByte(GO, 0x01); // Wait for calibration to complete + //もとはあった while(i2cReadByte(GO)); } @@ -111,5 +118,24 @@ void DRV2605::rtp(char amp) { i2cWriteByte(MODE, RTP); // RTP Mode + //i2cWriteByte(CONTROL3, i2cReadByte(CONTROL3) ^ 0x02); i2cWriteByte(REAL_TIME_PLAYBACK, amp); } + +void DRV2605::pwm_analog() +{ + //_en = 1; + //i2cWriteByte(FEEDBACK_CONTROL, i2cReadByte(FEEDBACK_CONTROL) | LRA); // set LRA + //i2cWriteByte(FEEDBACK_CONTROL, 0xF6); // set LRA + //i2cWriteByte(MODE, PWM_ANALOG); // pwm or anl Mode + //i2cWriteByte(GO, 1); + i2cWriteByte(MODE, 0x03); // pwm or anl Mode + //i2cWriteByte(CONTROL3, i2cReadByte(CONTROL3) | 0x01); + i2cWriteByte(CONTROL3, 0xAD); //pwm signed + //i2cWriteByte(CONTROL3, 0xA5); //pwm + //i2cWriteByte(CONTROL3, 0xAF); //analog + + //i2cWriteByte(CONTROL3, 0xA7); //analog + //i2cWriteByte(CONTROL3, ); //0 = pwm, 1 = anl +} +
--- a/DRV2605.h Wed May 30 02:34:33 2018 +0000 +++ b/DRV2605.h Sun Mar 08 06:27:52 2020 +0000 @@ -178,6 +178,11 @@ /** hogehoge */ + + void pwm_analog(); + /* + */ + void rtp(char amp); /**
--- a/Footile.cpp Wed May 30 02:34:33 2018 +0000 +++ b/Footile.cpp Sun Mar 08 06:27:52 2020 +0000 @@ -14,6 +14,12 @@ _led2 = 1; _led3 = 1; _volumeBuf=255; + _SquareVolume=64; + _trg = 0;; + count_u = 1; + count_pwm = 0; + _trg_flag - 0; + count_led2 = 0; //flag /* @@ -29,8 +35,16 @@ SinewaveMode=false; CorrespondMode=false; ChangeFlag=true; + SteadyON=false; + VibeON=true; + ChangeFlag2=false; + SetDutyMode=false; + snowMode=true; grassMode=false; + gravelMode=false; + leafMode=false; + _sens=0.8; @@ -54,70 +68,238 @@ void Footile::doFunctions() { static int prv_on = 0,Volume=0; - - + /* + if(count_pwm == 0){ + _Vibration.pwm_analog(); + wait(0.001); + //_pwmviber.attach(this, &Footile::PwmVibe,float(1.0)/(float(300)*float(50))); + _pwmviber.attach(this, &Footile::PwmVibe,float(1.0)/(float(300*128))); + //_pwmviber.attach(this, &Footile::PwmVibe,float(1.0)/float(300)); + count_pwm = 1; + } + */ // make hysteresis - if(_prssr > _sens) - _on = 1; - if(_prssr < 0.2) - _on = 0; - - if(_on && !prv_on||ChangeFlag==true) { - _trg = 1; - _led1 = 0; - Volume=_volumeBuf; - if(SinewaveMode==true){ - _Vibration.rtp((char)(Volume)); + if(SteadyON==false){ + if(VibeON==true){ + if(_prssr > _sens){ + _on = 1; + ChangeFlag2=true; + ChangeFlag=false; + _led1 = 1; + if(count_pwm == 0){ + _Vibration.pwm_analog(); + wait(0.001); + //_pwmviber.attach(this, &Footile::PwmVibe,float(1.0)/(float(300)*float(50))); + _pwmviber.attach(this, &Footile::PwmVibe,float(1.0)/(float(300*128))); + //_pwmviber.attach(this, &Footile::PwmVibe,float(1.0)/float(300)); + count_pwm = 1; + } + } + if(_prssr < _sens){ + //count_pwm = 0; + ChangeFlag2=false; + ChangeFlag=false; + _led1 = 0; + //Volume = 0; + //_Vibration.rtp((char)(Volume)); + + //if(_prssr < 0.2) + //_pwmviber.detach(); + //count_pwm = 0; + _on = 0; + } + } - _bt.printf("%d\n",_prssr); - } - if(!_on && prv_on||ChangeFlag==true) { - _trg = 0; - _countSize=0; - if(SteadyMode==false&&SinewaveMode==true){ - Volume=0;//When Not c=125 - _Vibration.rtp((char)(Volume)); + else{ + ChangeFlag2=false; } + }else{ + ChangeFlag2=true; } + /* + if(ChangeFlag2==true){ + ChangeFlag=false; + //_Vibration.pwm_analog(); + } + else{ + + if(_on && !prv_on||ChangeFlag==true) { + //_trg = 1; + //_trg = 0; + _led1 = 0; + Volume=_volumeBuf; + //Volume=0; + if(SinewaveMode==true){ + //_Vibration.rtp((char)(Volume)); + } + _bt.printf("%d\n",_prssr); + } + if(!_on && prv_on||ChangeFlag==true) { + //_trg = 0; + _countSize=0; + Volume=0; + if(SteadyMode==false&&SinewaveMode==true){ + Volume=0;//When Not c=125 + //_Vibration.rtp((char)(Volume)); + } + } + + } + */ prv_on = _on; - if(snowMode==true||grassMode==true){ - _viber.attach(this, &Footile::VibeTimer,0.001); + if(snowMode==true||grassMode==true||gravelMode==true||leafMode==true){ + //_viber.attach(this, &Footile::VibeTimer,0.001); + //_viber.attach(this, &Footile::VibeTimer,0.00667); } else{ - _viber.detach(); + //_viber.detach(); + //_pwmviber.detach(); } ChangeFlag=false; - if(CorrespondMode==true){ - _Vibration.rtp((char)(_volumeBuf*_prssr)); + if(CorrespondMode==true){ + if(ChangeFlag2 != true){ + //_Vibration.rtp((char)(_volumeBuf*_prssr)); + } } wait(0.001); } - +void Footile::PwmDuty(int d){ + if(_trg_flag == 1){ + if(count_u <= d){ + count_u += 1; + } + else{ + _trg_flag = 0; + _trg = 0; + count_u = 1; + } + } + else{ + if(count_u <= 256-d){ + count_u += 1; + _trg = 0; + _trg_flag = 0; + } + else{ + _trg = 1; + count_u = 1; + _trg_flag = 1; + } + } +} +void Footile::PwmVibe(){ + if(ChangeFlag2 == true){ + /* + if(_trg_flag == 1){ + if(count_u <= _SquareVolume){ + count_u += 1; + } + else{ + _trg_flag = 0; + _trg = 0; + count_u = 1; + } + } + else{ + if(count_u <= 256-_SquareVolume){ + count_u += 1; + _trg = 0; + _trg_flag = 0; + } + else{ + _trg = 1; + count_u = 1; + _trg_flag = 1; + } + } + */ + if(SetDutyMode==false){ + PwmDuty(_SquareVolume); + } + else{ + PwmDuty(_C_Volume); + } + }else{ + _trg = !_trg; + count_u = 1; + } +} void Footile::OnVibe(const float* wave, int size){ + //static int square_volume = 0; + //ChangeFlag2=true; + //ChangeFlag=false; + //_Vibration.pwm_analog(); + //_volumeBuf = 0; + //Volume = 0; + //_pwmviber.attach(this, &Footile::PwmVibe,0.5); + //_pwmviber.attach(this, &Footile::PwmVibe,float(1.0)/(float(300.0)*float(128))); + //_pwmviber.attach(this, &Footile::PwmVibe,float(1.0)/(float(300)*float(50))); + //_pwmviber.attach(this, &Footile::PwmVibe,float(1.0)/float(300)); + //_trg.period(float(1.0/150.0)); + //_trg = 0.5; + //_pwmviber.attach(this, &Footile::PwmVibe,0.005); + /* if(_countSize < size){ - _Vibration.rtp((char)(wave[_countSize]*255)); + //_Vibration.rtp((char)(wave[_countSize]*255)*); + square_volume = _volumeBuf; + _Vibration.rtp((char)(wave[_countSize]*square_volume)); + //_Vibration.PWM_ANALOG((char)(wave[_countSize]*square_volume)); _countSize++; } else { _Vibration.rtp((char)0); } + */ } void Footile::VibeTimer(){ if(_on==1&&snowMode==true){ - OnVibe(snowwave500, (int)(sizeof(snowwave500)/sizeof(snowwave500[0]))); + //_Vibration.pwm_analog(); + ChangeFlag2=true; + ChangeFlag=false; + /* + if(count_pwm == 0){ + _Vibration.pwm_analog(); + wait(0.001); + //_pwmviber.attach(this, &Footile::PwmVibe,float(1.0)/(float(300)*float(50))); + _pwmviber.attach(this, &Footile::PwmVibe,float(1.0)/(float(300*128))); + //_pwmviber.attach(this, &Footile::PwmVibe,float(1.0)/float(300)); + count_pwm = 1; + } + */ + //_viber.detach(); + //OnVibe(snowwave500, (int)(sizeof(snowwave500)/sizeof(snowwave500[0]))); + }else if(_on==0&&snowMode==true){ + ChangeFlag2=false; + ChangeFlag=false; + //_pwmviber.detach(); + //count_pwm = 0; }else if(_on==1&&grassMode==true){ - OnVibe(grasswave, (int)(sizeof(grasswave)/sizeof(grasswave[0]))); + OnVibe(leafwave2, (int)(sizeof(leafwave2)/sizeof(leafwave2[0]))); + //OnVibe(grasswave, (int)(sizeof(grasswave)/sizeof(grasswave[0]))); + //OnVibe(squarewave, (int)(sizeof(squarewave)/sizeof(squarewave[0]))); + //OnVibe(gravelwave, (int)(sizeof(gravelwave)/sizeof(gravelwave[0]))); + }else if(_on==1&&gravelMode==true){ + OnVibe(gravelwave, (int)(sizeof(gravelwave)/sizeof(gravelwave[0]))); + }else if(_on==1&&leafMode==true){ + //OnVibe(leafwave2, (int)(sizeof(leafwave2)/sizeof(leafwave2[0]))); + //OnVibe(heelwave, (int)(sizeof(heelwave)/sizeof(heelwave[0]))); + //OnVibe(snowwave2, (int)(sizeof(snowwave2)/sizeof(snowwave2[0]))); + //OnVibe(grasswave, (int)(sizeof(grasswave)/sizeof(grasswave[0]))); + OnVibe(squarewave, (int)(sizeof(squarewave)/sizeof(squarewave[0]))); + //OnVibe(waterwave1, (int)(sizeof(waterwave1)/sizeof(waterwave1[0]))); } else if(_on==0){ - _Vibration.rtp((char)0); + if(ChangeFlag2 != true){ + //_Vibration.rtp((char)0); + } } } @@ -192,21 +374,31 @@ if(c == 0) { SteadyMode=false; SinewaveMode=true; - ChangeFlag=true; + //ChangeFlag=true; + ChangeFlag2=false; CorrespondMode=false; snowMode=false; grassMode=false; - /*_Vibration.i2cWriteByte(MODE, _Vibration.PWM_ANALOG); + gravelMode=false; + leafMode=false; + SteadyON=false; + VibeON=true; + /* + _Vibration.i2cWriteByte(MODE, _Vibration.PWM_ANALOG); _heart.attach(this, &Footile::_beat, 1.0); ChangeFlag=true;*/ + // Wavefrom sequencer mode } else if (0 < c && c <= 123) { //Change waveform SteadyMode=false; SinewaveMode=false; ChangeFlag=false; + ChangeFlag2=false; CorrespondMode=false; snowMode=false; grassMode=false; + gravelMode=false; + leafMode=false; _Vibration.i2cWriteByte(WAVEFORM_SEQUENCER_1, c); _Vibration.i2cWriteByte(MODE, _Vibration.EXTERNAL_LEVEL); _heart.attach(this, &Footile::_beat, 1.0); @@ -216,16 +408,24 @@ SteadyMode=true; SinewaveMode=true; ChangeFlag=true; + ChangeFlag2=false; CorrespondMode=false; snowMode=false; grassMode=false; + gravelMode=false; + leafMode=false; + SteadyON=true; + //VibeON=false; }else if (125<=c&&c<=255) { //Change Magnituide if(SteadyMode==false&&SinewaveMode==false){ ChangeFlag=false; }else{ ChangeFlag=true; } - _volumeBuf=(c-125)*255/(255-125); + if(c>=190){ + _SquareVolume = c-190; + } + _volumeBuf = (c-125)*255/(255-125); }else if(c==256){ //Change Amplitude Mode CorrespondMode=true; @@ -243,21 +443,59 @@ ChangeFlag=true; snowMode=true; grassMode=false; + gravelMode=false; + leafMode=false; + count_pwm = 0; }else if(c==268){ SteadyMode=false; SinewaveMode=false; CorrespondMode=false; ChangeFlag=true; snowMode=false; - grassMode=true; - } - else { + grassMode=true; + gravelMode=false; + leafMode=false; + count_pwm = 0; + }else if(c==269){ + SteadyMode=false; + SinewaveMode=false; + CorrespondMode=false; + ChangeFlag=true; + snowMode=false; + grassMode=false; + gravelMode=true; + leafMode=false; + count_pwm = 0; + }else if(c==270){ + SteadyMode=false; + SinewaveMode=false; + CorrespondMode=false; + ChangeFlag=true; + snowMode=false; + grassMode=false; + gravelMode=false; + leafMode=true; + count_pwm = 0; + + }else if (300<=c&&c<=428) { //Change Magnituide + if(SteadyMode==false&&SinewaveMode==false){ + ChangeFlag=false; + }else{ + ChangeFlag=false; + } + _SquareVolume = c-300; + }else if (c==501) { //Change Magnituide + _C_Volume=_SquareVolume; + }else if (c==502) { //Change Magnituide + SetDutyMode = true; + }else if (c==503) { //Change Magnituide + SetDutyMode = false; + }else if (c==504) { //Change Magnituide + VibeON = false; + }else { _Vibration.i2cWriteByte(MODE, _Vibration.STANDBY); _heart.attach(this, &Footile::_beat, 2.0); - } - - - + } } void Footile::_transmission(void) @@ -273,5 +511,8 @@ // heart beat void Footile::_beat(void) { + if(count_led2<=3){ _led2 = !_led2; + count_led2 += 1; + } } \ No newline at end of file
--- a/Footile.h Wed May 30 02:34:33 2018 +0000 +++ b/Footile.h Sun Mar 08 06:27:52 2020 +0000 @@ -34,6 +34,7 @@ DigitalOut _led2; // for debugging DigitalOut _led3; // for debugging DigitalOut _trg; + //PwmOut _trg; AnalogIn _prssr; Serial _bt; DigitalOut _btDummy1; // LPC11U24 does not support flow control @@ -42,21 +43,34 @@ Ticker _trans; Ticker _viber; + Ticker _pwmviber; int _volumeBuf; + int _SquareVolume; + int _C_Volume; float _sens; char _buf[5]; int _countSize; int _on; + int count_u; + int count_pwm; + int _trg_flag; + int count_led2; bool ChangeFlag; + bool ChangeFlag2; + bool SteadyON; + bool VibeON; + bool SetDutyMode; + bool leafMode; bool SteadyMode; bool SinewaveMode; bool CorrespondMode; bool ConnectCheck; bool snowMode; bool grassMode; + bool gravelMode; void _onReceive(void); void _beat(void); @@ -65,6 +79,8 @@ void _modeChange(unsigned short c); void VibeTimer(); void OnVibe(const float* wave, int size); + void PwmDuty(int d); + void PwmVibe(); };
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/FootileSoftware_20191008_01.lib Sun Mar 08 06:27:52 2020 +0000 @@ -0,0 +1,1 @@ +https://os.mbed.com/users/Uchida0923/code/FootileSoftware/#03cdee95fb5a
--- a/wave.h Wed May 30 02:34:33 2018 +0000 +++ b/wave.h Sun Mar 08 06:27:52 2020 +0000 @@ -1,36 +1,20 @@ const float sinewave[]={ -0.00, 0.19, 0.37, 0.54, 0.68, 0.81, 0.90, 0.97, 1.00, 0.99, 0.95, 0.88, 0.77, -0.64, 0.48, 0.31, 0.13, -0.06, -0.25, -0.43, -0.59, -0.73, -0.84, -0.93, -0.98, +0.00,0.19,0.37,0.54,0.68,0.81,0.90,0.97, 1.00,0.99,0.95,0.88,0.77, +0.64,0.48,0.31,0.13, -0.06, -0.25, -0.43, -0.59, -0.73, -0.84, -0.93, -0.98, -1.00, -0.98, -0.93, -0.84, -0.73, -0.59, -0.43, -0.25, -0.06}; const float gravelwave[]={ 0.7,1,0.75,0,0,0,0,0,1,1,1,0.85,0,0,0,0.05,1,1,1,0,0,0,1,1,1,0.5,0,0,0.15,1,1,1,0.9,0,0,0.4,1,1,1,0.7,0.1,0.25,0.85,1,1,0.95,0.95,0.65,0.6,0.65,0.75,1,0.9,0.8,0.75,0.9,0.85,0.75,0.65,0.6,0.55,0.8,0.85,0.75,0.65,0.55,0.5,0.65,0.8,0.7,0.7,0.6,0.5,0.55,0.55,0.65,0.7,0.6,0.6,0.6,0.55,0.6,0.5,0.65,0.6,0.6,0.55,0.55,0.55,0.5,0.55,0.55,0.5,0.5,0.5,0.55,0.45,0.45,0.45,0.45,0.55,0.5,0.45,0.45,0.45,0.45,0.4,0.45,0.45,0.45,0.4,0.4,0.4,0.4,0.4,0.4,0.4,0.4,0.35,0.35,0.4,0.4,0.35,0.35,0.35,0.35,0.4,0.35,0.3,0.25,0.3,0.35,0.4,0.35,0.3,0.2,0.25,0.35,0.35,0.35,0.3,0.25,0.2,0.3,0.3,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.2,0.25,0.25,0.25,1,0.15,0.2,0.2,0.25,0.25,0.25,0.2,0.2,0.25,0.15,0.25,0.2,0.2,0.2,0.2,0.15,0.1,0.2,0.15,0.25,0.25,0.2,0.1,0.15,0.1,0.1,0.1,0.2,0.2,0.2,0.15,0.15,0.05,0.05,0.15,0.2,0.2,0.15,0.1,0.05,0.15,0.15,0.1,0.1,0.1,0.05,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.05,0.05,0.15,0.1,0.15,0.05,1,0.1,0.1,0.05,0.05,0.05,0.05,0.1,0.1,0.05,0.05,0,0,0.05,0.05,0.15,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0,0,0,0.05,0.1,0.1,0,0,0,0,0,0,0.05,0.05,0,0,0,0,0,0,0.05,0,0,0,0,1,0,0,0.05,0.05,0,0,0,0.05}; -const float snowwave150[]={ - 0.333 ,0.037 ,0.074 ,0.000 ,0.500 ,0.222 ,0.241 ,0.130 ,0.130 ,0.093 ,0.074 ,0.037 ,0.019}; - const float snowwave500[]={ - 1,1,0.15,0,0,0,1,1,1,0.45,0,0,0,1,1,1,0.1,0,0,0,1,1,1,0,0,0,0.45,1,1,1,0,0,0,1,1,1,1,0,0,0,1,1,1,1,0,0,0,0,1,1,1,0,0,0,0,1,1,1,0,0,0,1,1,1,1,0,0,0,1,1,1,0,0,0,1,1,1,1,0,0,0,1,1,1,0,0,0,1,1,1,0,0,0,1,1,1,0,0,1,1,1,0.9,0,0,0.5,1,1,1,0,0,0,1,1,1,1,0,0,0,1,1,1,0,0,0,0,1,1,1,0,0,0,1,1,1,0,0,0,0,1,1,1,0,0,0,1,1,1,0,0,0,0,1,1,1,0,0,0,1,1,1,1,0.35,0,0,0.65,1,1,1,1,1,1,1,0,0,0,1,1,1,1,0,0,0,1,1,1,0,0,0,0,1,1,1,0,0,0,1,1,1,1,0,0,0,1,1,1,0,0,0,1,1,1,1,0,0,0,1,1,1,0,0,0,0.95,1,1,1,0,0,0,1,1,1,1,0,0,0.55,1,1,1,0.6,0,0,1,1,1,1,0.05,0,0.15,1,1,1,1,0,0,1,1,1,1,0.4,0,0.5,1,1,1,0.85,0.2,0.5,1,1,1,0.9,0.4,0.6,1,1,1,0.75,0.2,0.45,1,1,1,0.7,0,0.15,1,1,1,1,0.05,0,0.4,1,1,1,0.7,0,0,0.6,1,1,1,0.55,0,0.05,0.7,1,1,1,0.55,0.2,0.25,0.65,1,0.75,0.75,0.75,0.7,0.65,0.7,0.65,0.7,0.7,0.65,0.65,0.65,0.65,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.55,0.6,0.55,0.55,0.55,0.55,0.55,0.55,0.55,0.5,0.55,0.55,0.55,0.5,0.5,0.55,0.5,0.45,0.5,0.5,0.5,0.45,0.5,0.45,0.45,0.45,0.45,0.45,0.45,0.45,0.45,0.45,0.4,0.4,0.4,0.4,0.4,0.4,0.4,0.4,0.4,0.4,0.35,0.35,0.35,0.35,0.35,0.35,0.35,0.35,0.35,0.35,0.35,0.3,0.35,0.3,0.35,0.35,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.25,0.3,0.25,0.3,0.25,0.25,0.25,0.25,0.25,0.25,0.3,0.25,0.25,0.25,0.2,0.25,0.25,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.15,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.15,0.2,0.2,0.2,0.15,0.15,0.2,0.15,0.15,0.15,0.2,0.15,0.1,0.15,0.2,0.15,0.15,0.15,0.15,0.15,0.15,0.15,0.1,0.15,0.15,0.15,0.1,0.1,0.1,0.1,0.15,0.1,0.05,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.15,0.1,0.05,0.1,0.1,0.05,0.1,0.1,0.1,0.1,0.1,0.05,0.05,0.1,0.05,0.05,0.05,0.05,0.05,0.05,0.1,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0,0,0.05,0.05,0.05,0.05}; - -const float leafwave[]={ - 0.357,0.142,0.428,0.5,0.142,0,0.285,0.071,0,0,0.142,0,0.0714,0.214,0.357,0.214}; + 1,1,0.15,0,0,0,1,1,1,0.45,0,0,0,1,1,1,0.1,0,0,0,1,1,1,0,0,0,0.45,1,1,1,0,0,0,1,1,1,1,0,0,0,1,1,1,1,0,0,0,0,1,1,1,0,0,0,0,1,1,1,0,0,0,1,1,1,1,0,0,0,1,1,1,0,0,0,1,1,1,1,0,0,0,1,1,1,0,0,0,1,1,1,0,0,0,1,1,1,0,0,1,1,1,0.9,0,0,0.5,1,1,1,0,0,0,1,1,1,1,0,0,0,1,1,1,0,0,0,0,1,1,1,0,0,0,1,1,1,0,0,0,0,1,1,1,0,0,0,1,1,1,0,0,0,0,1,1,1,0,0,0,1,1,1,1,0.35,0,0,0.65,1,1,1,1,1,1,1,0,0,0,1,1,1,1,0,0,0,1,1,1,0,0,0,0,1,1,1,0,0,0,1,1,1,1,0,0,0,1,1,1,0,0,0,1,1,1,1,0,0,0,1,1,1,0,0,0,0.95,1,1,1,0,0,0,1,1,1,1,0,0,0.55,1,1,1,0.6,0,0,1,1,1,1,0.05,0,0.15,1,1,1,1,0,0,1,1,1,1,0.4,0,0.5,1,1,1,0.85,0.2,0.5,1,1,1,0.9,0.4,0.6,1,1,1,0.75,0.2,0.45,1,1,1,0.7,0,0.15,1,1,1,1,0.05,0,0.4,1,1,1,0.7,0,0,0.6,1,1,1,0.55,0,0.05,0.7,1,1,1,0.55,0.2,0.25,0.65,1,0.75,0.75,0.75,0.7,0.65,0.7,0.65,0.7,0.7,0.65,0.65,0.65,0.65,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.55,0.6,0.55,0.55,0.55,0.55,0.55,0.55,0.55,0.5,0.55,0.55,0.55,0.5,0.5,0.55,0.5,0.45,0.5,0.5,0.5,0.45,0.5,0.45,0.45,0.45,0.45,0.45,0.45,0.45,0.45,0.45,0.4,0.4,0.4,0.4,0.4,0.4,0.4,0.4,0.4,0.4,0.35,0.35,0.35,0.35,0.35,0.35,0.35,0.35,0.35,0.35,0.35,0.3,0.35,0.3,0.35,0.35,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.25,0.3,0.25,0.3,0.25,0.25,0.25,0.25,0.25,0.25,0.3,0.25,0.25,0.25,0.2,0.25,0.25,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.15,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.15,0.2,0.2,0.2,0.15,0.15,0.2,0.15,0.15,0.15,0.2,0.15,0.1,0.15,0.2,0.15,0.15,0.15,0.15,0.15,0.15,0.15,0.1,0.15,0.15,0.15,0.1,0.1,0.1,0.1,0.15,0.1,0.05,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.15,0.1,0.05,0.1,0.1,0.05,0.1,0.1,0.1,0.1,0.1,0.05,0.05,0.1,0.05,0.05,0.05,0.05,0.05,0.05,0.1,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0,0,0.05,0.05,0.05,0.05 +}; const float leafwave2[]={ 0.25,1,0,0.35,0,0.05,0,1,0.55,0,0.95,0,1,0,1,0,0.65,0,1,1,0.05,1,0,0,0,1,1,1,0.2,1,1,0,0,1,0,1,0.95,0,1,0.45,0.7,0,0,0,1,0,0,0.65,0.85,1,1,0,1,1,0.85,1,1,1,0,1,1,0.8,1,1,1,1,1,1,1,1,1,1,0.4,1,0,0,1,1,1,0,1,0,1,1,0.15,0,0,1,1,0,1,1,0.1,0,1,1,0.15,1,1,0,0.55,1,1,1,0,0.9,0,1,1,1,0,1,0,1,0.35,1,1,1,1,1,0,1,0,1,1,0.5,0.5,1,0.75,1,1,0,0,0.25,0.8,1,0.75,0.15,0.75,1,0.55,0.7,0,1,0,1,1,1,0.15,0.15,1,0.3,1,1,0,1,1,0.65,0,0.15,1,1,1,1,1,0,1,1,1,0.35,1,1,1,1,1,0.75,1,0.45,1,0.7,0.85,0.75,0,0.85,1,0.9,0.8,0.85,1,0.85,0.1,0.7,0.6,1,1,0.75,1,0.25,0.95,0,0.65,0.75,0.6,1,1,0.85,1,0.45,1,0.8,0.85,0.45,0.55,0,0.4,0,1,1,1,0.8,1,1,1,0.55,0.85,1,1,0.35,1,0.6,0.75,0.95,0.4,0.2,0.6,0,0.6,0.45,0.1,1,1,0.75,0.9,0.45,0.8,1,0,0.45,0.2,0,0.55,0,0,0,0.55,0,0.1,0,0.25,0.45,0.8,0.35,1,0.1,0,0.75,0.15,0,0,0,1,0.5,1,0.3,0.55,1,0.05,0,0.35,0.65,0.15,0,1,0,0,0.95,0.35,0,1,1,1,0,0,1,0.3,0.55,0,0,1,0.8,0,0.65,1,0.05,1,1,1,0.8,1,1,0.65,1,0.8,0.9,1,0.1,1,0.6,1,0,0,0.85,0,0.7,0.4,0,1,0.4,0.75,0.65,0.7,0.95,1,0.8,0.6,0.85,0.55,0,0.65,0,0.2,0.55,1,0.7,0.5,0.4,0.95,0.05,0.95,0.6,1,0.7,0.1,0.65,0.45,0.75,1,0.1,0.6,1,0.7,0.3,0.5,0.45,0.3,0.4,0.4,0.95,0.85,0.65,0.6,0.2,0.45,0.55,0.65,0.5,0.35,0.5,0.45,0.6,0.25,0.2,0.4,0.4,0.95,0.35,0.75,0,0.25,0.7,0.2,0.55,0.15,0.4,0.4,0.5,0.35,0.35,0.2,0.2,0.25,0.4,0.35,0.35,0.4,0.35,0.45,0.35,0.1,0.2,0.35,0.15,0.35,0.75,0.3,0.6,0.2,0.35,0.45,0.3,0.05,0.1,0.1,0.4,0.15,0.3,0.35,0.35,0.15,0.25,0.4,0.25,0.25,0.05,0.35,0.4,0.4,0.1,0,0.55,0.45,0.2,0.15,0.05,0.1,0.35,0.25,0.25,0.2,0.2,0.2,0.2,0.15,0.2,0.2,0.15,0.2,0.15,0.15,0.15,0.15,0.15,0.2,0.15,0.15,0.15,0.15,0.15,0.15,0.15,0.1,0.1,0.15,0.15,0.15,0.15,0.15,0.1,0.15,0.1,0.1,0.15,0.1,0.1,0.15,0.1,0.1,0.05,0.1,0.1,0.1,0.1,0.1,0.1,0.05,0.1,0.1,0.05,0.1,0.05,0.1,0.1,0.05,0.05,0.1,0.05,0.1,0,0.05,0.05,0.1,0.05,0.05,0.05,0.05,0.05,0.05,0,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0,0.05,0.05,0.05,0.05,0.05,0.05,0,0,0.05,0,0,0.05,0.05,0.05,0,0,1 }; - -const float floorwave[]={ - 0.7,1,0.8,0,0,0,0.3,1,1,1,0,0,0,0.15,1,1,1,0,0,0,0.15,1,1,1,0,0,0,1,1,1,1,0,0,0,1,1,1,1,0,0,0,1,1,1,1,0,0,0.8,1,1,1,0.95,0.2,0.4,1,1,1,1,0.95,0.8,1,1,1,1,1,1,1,1,1,1,0.9,0.85,1,1,1,1,0.9,0.8,0.85,0.95,1,1,1,0.9,0.85,0.85,0.9,0.95,0.95,0.9,0.9,0.85,0.85,0.8,0.85,0.85,0.85,0.8,0.8,0.8,0.8,0.8,0.75,0.75,0.75,0.75,0.7,0.75,0.65,0.75,0.7,0.7,0.7,0.65,0.7,0.65,0.65,0.65,0.65,0.65,0.65,0.65,0.65,0.6,0.6,0.6,0.6,0.6,0.55,0.6,0.55,0.55,0.55,0.55,0.55,0.55,0.55,0.6,0.55,0.55,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.45,0.45,0.45,0.45,0.5,0.45,0.45,0.45,0.4,0.4,0.4,0.4,0.4,0.4,0.4,0.4,0.4,0.35,0.4,0.4,0.4,0.35,0.35,0.35,0.35,0.3,0.35,0.4,0.35,0.35,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.25,0.3,0.3,0.25,0.3,0.25,0.3,0.25,0.3,0.3,0.25,0.3,0.25,0.25,0.25,0.2,0.25,0.2,0.25,0.2,0.2,0.2,0.25,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.15,0.2,0.2,0.2,0.2,0.2,0.15,0.15,0.15,0.15,0.15,0.15,0.15,0.15,0.15,0.15,0.15,0.15,0.15,0.15,0.15,0.15,0.15,0.15,0.1,0.1,0.1,0.1,0.1,0.15,0.15,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.05,0.05,0.1,0.1,0.1,0.1,0.1,0.1,0.05,0.05,0.05,0.05,0.1,0.05,0.1,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0,0.05,0.05,0.05,0.05,0.05,0,0.05,0,0.05,0,0.05,0.05}; - -const float waterwave[]={ - 0.831 ,1.000 ,0.986 ,0.000 ,0.000 ,0.000 ,0.451 ,0.789 ,0.676 ,0.465 ,0.296 ,0.127 ,0.085 ,0.239 ,0.507 ,0.634 ,0.507 ,0.211 ,0.000 ,0.000 ,0.141 ,0.535 ,0.803 ,0.718 ,0.282 ,0.000 ,0.000 ,0.141 ,0.718 ,0.845 ,0.437 ,0.000 ,0.000 ,0.254 ,0.352 ,0.239 ,0.183 ,0.338 ,0.479 ,0.352 ,0.127 ,0.113 ,0.310 ,0.437 ,0.310 ,0.099 ,0.042 ,0.155 ,0.282 ,0.338 ,0.324 ,0.310 ,0.254 ,0.211 ,0.169 ,0.155 ,0.183 ,0.239 ,0.254 ,0.211 ,0.141 ,0.127 ,0.225 ,0.324 ,0.324 ,0.225 ,0.141 ,0.127 ,0.155 ,0.197 ,0.239 ,0.254 ,0.211 ,0.127 ,0.056 ,0.113 ,0.239 ,0.310 ,0.239 ,0.141 ,0.127 ,0.183 ,0.197 ,0.169 ,0.155 ,0.169 ,0.197 ,0.169 ,0.113 ,0.113 ,0.155 ,0.197 ,0.197 ,0.183 ,0.169 ,0.141 ,0.113 ,0.127 ,0.141 ,0.155 ,0.155 ,0.141 ,0.141 ,0.155 ,0.155 ,0.141 ,0.113 ,0.113 ,0.127 ,0.141 ,0.169 ,0.169 ,0.141 ,0.113 ,0.099 ,0.099 ,0.099 ,0.113 ,0.127 ,0.141 ,0.155 ,0.141 ,0.113 ,0.099 ,0.085 ,0.099 ,0.127 ,0.127 ,0.099 ,0.085 ,0.099 ,0.141 ,0.141 ,0.127 ,0.085 ,0.070 ,0.085 ,0.099 ,0.113 ,0.099 ,0.099 ,0.099 ,0.099 ,0.099 ,0.085 ,0.085 ,0.099 ,0.099 ,0.099 ,0.099 ,0.085 ,0.070 ,0.070 ,0.085 ,0.099 ,0.099 ,0.085 ,0.085 ,0.085 ,0.070 ,0.070 ,0.085 ,0.070 ,0.070 ,0.070 ,0.070 ,0.085 ,0.085 ,0.085 ,0.070 ,0.056 ,0.056 ,0.056 ,0.070 ,0.070 ,0.056 ,0.056 ,0.056 ,0.070 ,0.070 ,0.085 ,0.070 ,0.056 ,0.042 ,0.056 ,0.070 ,0.070 ,0.070 ,0.056 ,0.056 ,0.042 ,0.056 ,0.042 ,0.056 ,0.056 ,0.056 ,0.056 ,0.056 ,0.056 ,0.056 ,0.042 ,0.042 ,0.042 ,0.056 ,0.056 ,0.056 ,0.056 ,0.042 ,0.042 ,0.042 ,0.042 ,0.042 ,0.042 ,0.042 ,0.042 ,0.042 ,0.042 ,0.042 ,0.042 ,0.042 ,0.042 ,0.042 ,0.042 ,0.042 ,0.042 ,0.028 ,0.028 ,0.042 ,0.042 ,0.056 ,0.042 ,0.028 ,0.014 ,0.028 ,0.042 ,0.028 ,0.042 ,0.056 ,0.042 ,0.028 ,0.014 ,0.014 ,0.028 ,0.042 ,0.042 ,0.028 ,0.028 ,0.014 ,0.014 ,0.028 ,0.028 ,0.028 ,0.014 ,0.028 ,0.028 ,0.028 ,0.014 ,0.028 ,0.014 ,0.028 ,0.028 ,0.014 ,0.014 ,0.014 ,0.014 ,0.028 ,0.014 ,0.014 ,0.014 ,0.014 ,0.028 ,0.014 ,0.014 ,0.014 ,0.028 ,0.014 ,0.014 ,0.014 ,0.014 ,0.014 ,0.014 ,0.014 ,0.014 ,0.014 ,0.014 ,0.014 ,0.014 ,0.014 ,0.014 ,0.014 ,0.014 ,0.014 ,0.014 ,0.014 ,0.014 ,0.014 ,0.014 ,0.014 ,0.014 ,0.014 ,0.014 ,0.014 ,0.000 ,0.014 ,0.014 ,0.000 ,0.014 ,0.000 ,0.014 ,0.014 ,0.014 ,0.000 ,0.000 ,0.000 ,0.000 ,0.014 ,0.014 ,0.000 ,0.000 ,0.014 ,0.000 ,0.000 ,0.000 ,0.000 ,0.000 ,0.014}; - -const float nukarumiwave[]={ - 0.257 ,0.365 ,0.041 ,0.000 ,0.000 ,0.189 ,0.054 ,0.000 ,0.000 ,0.095 ,0.419 ,0.297 ,0.000 ,0.000 ,0.000 ,0.662 ,0.946 ,0.946 ,0.000 ,0.000 ,0.108 ,0.932 ,1.000 ,0.527 ,0.162 ,0.000 ,0.000 ,0.000 ,0.041 ,0.608 ,0.973 ,0.878 ,0.473 ,0.095 ,0.000 ,0.041 ,0.243 ,0.338 ,0.270 ,0.284 ,0.527 ,0.662 ,0.392 ,0.000 ,0.000 ,0.014 ,0.419 ,0.541 ,0.432 ,0.297 ,0.216 ,0.203 ,0.324 ,0.500 ,0.459 ,0.122 ,0.000 ,0.000 ,0.216 ,0.514 ,0.514 ,0.324 ,0.162 ,0.122 ,0.216 ,0.338 ,0.338 ,0.203 ,0.068 ,0.095 ,0.203 ,0.284 ,0.270 ,0.216 ,0.203 ,0.216 ,0.216 ,0.189 ,0.162 ,0.176 ,0.189 ,0.216 ,0.203 ,0.203 ,0.189 ,0.189 ,0.176 ,0.189 ,0.176 ,0.176 ,0.176 ,0.176 ,0.176 ,0.176 ,0.176 ,0.162 ,0.162 ,0.162 ,0.162 ,0.162 ,0.162 ,0.162 ,0.162 ,0.162 ,0.149 ,0.149 ,0.149 ,0.149 ,0.149 ,0.149 ,0.149 ,0.149 ,0.149 ,0.135 ,0.149 ,0.149 ,0.135 ,0.135 ,0.135 ,0.135 ,0.135 ,0.135 ,0.135 ,0.135 ,0.135 ,0.122 ,0.122 ,0.122 ,0.122 ,0.122 ,0.122 ,0.122 ,0.122 ,0.108 ,0.122 ,0.122 ,0.108 ,0.108 ,0.108 ,0.108 ,0.095 ,0.108 ,0.108 ,0.108 ,0.108 ,0.108 ,0.095 ,0.095 ,0.095 ,0.095 ,0.095 ,0.108 ,0.095 ,0.095 ,0.095 ,0.095 ,0.081 ,0.095 ,0.095 ,0.095 ,0.095 ,0.081 ,0.081 ,0.081 ,0.081 ,0.081 ,0.081 ,0.081 ,0.081 ,0.081 ,0.081 ,0.081 ,0.081 ,0.081 ,0.081 ,0.081 ,0.068 ,0.081 ,0.068 ,0.068 ,0.068 ,0.068 ,0.068 ,0.068 ,0.068 ,0.068 ,0.068 ,0.068 ,0.068 ,0.068 ,0.068 ,0.068 ,0.068 ,0.068 ,0.068 ,0.054 ,0.054 ,0.068 ,0.054 ,0.054 ,0.054 ,0.054 ,0.054 ,0.054 ,0.054 ,0.054 ,0.054 ,0.054 ,0.054 ,0.041 ,0.054 ,0.041 ,0.054 ,0.054 ,0.054 ,0.054 ,0.054 ,0.054 ,0.041 ,0.041 ,0.054 ,0.041 ,0.054 ,0.054 ,0.041 ,0.041 ,0.041 ,0.041 ,0.041 ,0.041 ,0.041 ,0.041 ,0.041 ,0.027 ,0.041 ,0.041 ,0.027 ,0.041 ,0.041 ,0.041 ,0.041 ,0.041 ,0.041 ,0.041 ,0.041 ,0.027 ,0.027 ,0.041 ,0.027 ,0.027 ,0.027 ,0.027 ,0.027 ,0.027 ,0.027 ,0.027 ,0.027 ,0.027 ,0.027 ,0.027 ,0.027 ,0.027 ,0.027 ,0.027 ,0.027 ,0.027 ,0.014 ,0.027 ,0.027 ,0.027 ,0.027 ,0.027 ,0.027 ,0.027 ,0.027 ,0.027 ,0.014 ,0.027 ,0.027 ,0.027 ,0.014 ,0.014 ,0.014 ,0.014 ,0.014 ,0.014 ,0.014 ,0.014 ,0.014 ,0.014 ,0.027 ,0.027 ,0.014 ,0.014 ,0.014 ,0.014 ,0.000 ,0.014 ,0.014 ,0.014 ,0.014 ,0.014 ,0.014 ,0.014 ,0.027 ,0.014 ,0.000 ,0.014 ,0.014 ,0.014 ,0.014 ,0.014 ,0.014 ,0.014 ,0.014 ,0.014 ,0.000 ,0.014 ,0.014 ,0.014 ,0.014 ,0.014 ,0.014 ,0.000 ,0.014 ,0.014}; - -const float grasswave[]={ - 0.02,0.08,0.03,0.00,0.00,0.01,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.02,0.12,0.14,0.00,0.00,0.00,0.00,0.14,0.18,0.13,0.13,0.11,0.00,0.00,0.00,0.11,0.22,0.05,0.00,0.00,0.00,0.33,0.45,0.27,0.00,0.00,0.00,0.06,0.12,0.06,0.00,0.04,0.21,0.30,0.19,0.00,0.00,0.00,0.06,0.14,0.10,0.07,0.13,0.21,0.15,0.00,0.00,0.00,0.13,0.28,0.21,0.05,0.00,0.01,0.05,0.02,0.00,0.01,0.14,0.23,0.18,0.02,0.00,0.00,0.00,0.13,0.28,0.28,0.15,0.00,0.00,0.00,0.03,0.12,0.13,0.07,0.00,0.00,0.00,0.07,0.17,0.19,0.11,0.00,0.00,0.00,0.04,0.03,0.00,0.00,0.09,0.23,0.23,0.05,0.00,0.00,0.00,0.03,0.14,0.22,0.22,0.11,0.00,0.00,0.00,0.00,0.10,0.21,0.21,0.14,0.02,0.00,0.00,0.00,0.09,0.13,0.05,0.00,0.00,0.02,0.20,0.27,0.14,0.00,0.00,0.00,0.13,0.23,0.11,0.00,0.00,0.06,0.19,0.19,0.09,0.00,0.00,0.00,0.00,0.08,0.13,0.14,0.12,0.05,0.00,0.00,0.00,0.10,0.19,0.15,0.01,0.00,0.00,0.00,0.12,0.18,0.12,0.00,0.00,0.00,0.10,0.15,0.08,0.00,0.00,0.03,0.03,0.00,0.01,0.02,0.00,0.00,0.00,0.05,0.11,0.13,0.13,0.06,0.00,0.00,0.00,0.11,0.11,0.00,0.00,0.00,0.11,0.19,0.08,0.00,0.00,0.00,0.11,0.18,0.12,0.01,0.00,0.00,0.00,0.00,0.02,0.09,0.14,0.09,0.00,0.00,0.00,0.03,0.11,0.10,0.04,0.00,0.00,0.00,0.00,0.04,0.06,0.01,0.00,0.00,0.05,0.14,0.11,0.00,0.00,0.00,0.00,0.12,0.12,0.04,0.00,0.05,0.07,0.00,0.00,0.00,0.00,0.12,0.12,0.03,0.00,0.03,0.11,0.10,0.00,0.00,0.00,0.00,0.07,0.06,0.00,0.00,0.00,0.04,0.10,0.09,0.03,0.00,0.00,0.00,0.00,0.02,0.08,0.08,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.09,0.19,0.20,0.09,0.00,0.00,0.00,0.00,0.00,0.15,0.30,0.27,0.00,0.00,0.00,0.22,0.61,0.60,0.07,0.00,0.00,0.13,0.74,0.73,0.13,0.00,0.02,0.65,0.60,0.00,0.00,0.01,0.65,0.75,0.65,0.16,0.00,0.00,0.24,0.36,0.15,0.00,0.16,0.53,0.60,0.32,0.07,0.10,0.24,0.25,0.13,0.08,0.19,0.38,0.41,0.22,0.01,0.00,0.18,0.34,0.36,0.28,0.15,0.05,0.06,0.18,0.24,0.20,0.19,0.26,0.30,0.18,0.03,0.02,0.17,0.32,0.33,0.19,0.01,0.00,0.01,0.22,0.41,0.42,0.25,0.03,0.00,0.04,0.18,0.21,0.14,0.10,0.15,0.22,0.26,0.19,0.07,0.01,0.06,0.14,0.17,0.15,0.14,0.15,0.14,0.07,0.04,0.08,0.16,0.22,0.22,0.17,0.06,0.00,0.03,0.16,0.21,0.13,0.01,0.01,0.10,0.19,0.19,0.13,0.07,0.05,0.08,0.16,0.23,0.21,0.10,0.00,0.00,0.00,0.06,0.23,0.32,0.25,0.07,0.00,0.00,0.09,0.24,0.29,0.21,0.00,0.00,0.00,0.00,0.31,0.47,0.39,0.15,0.00,0.00,0.04,0.22,0.27,0.17,0.01,0.00,0.00,0.06,0.10,0.14,0.21,0.25,0.20,0.08,0.00,0.01,0.06,0.06,0.04,0.06,0.15,0.22,0.18,0.06,0.00,0.02,0.15,0.20,0.13,0.00,0.00,0.00,0.14,0.26,0.22,0.04,0.00,0.00,0.11,0.32,0.32,0.14,0.00,0.00,0.00,0.03,0.01,0.01,0.12,0.25,0.24,0.05,0.00,0.00,0.03,0.21,0.26,0.17,0.05,0.00,0.00,0.00,0.00,0.01,0.08,0.15,0.13,0.06,0.04,0.10,0.15,0.10,0.00,0.00,0.00,0.00,0.11,0.22,0.21,0.08,0.00,0.00,0.07,0.10,0.06,0.03,0.02,0.00,0.00,0.00,0.00,0.04,0.13,0.20,0.19,0.08,0.00,0.00,0.00,0.04,0.02,0.00,0.02,0.10,0.15,0.12,0.04,0.00,0.00,0.00,0.00,0.00,0.00,0.17,0.36,0.33,0.06,0.00,0.00,0.00,0.21,0.39,0.34,0.14,0.00,0.00,0.09,0.19,0.15,0.03,0.03,0.13,0.18,0.10,0.01,0.02,0.12,0.20,0.22,0.18,0.06,0.00,0.00,0.03,0.26,0.36,0.24,0.02,0.00,0.00,0.06,0.17,0.18,0.10,0.01,0.01,0.05,0.05,0.00,0.03,0.21,0.37,0.28,0.00,0.00,0.00,0.19,0.32,0.17,0.00,0.00,0.00,0.21,0.33,0.22,0.00,0.00,0.00,0.17,0.32,0.29,0.12,0.00,0.00,0.00,0.19,0.65,0.65,0.34,0.00,0.00,0.00,0.29,0.43,0.43,0.33,0.17,0.02,0.00,0.06,1.00,0.34,0.44,0.36,0.14,0.00,0.00,0.13,0.19,0.20,0.20,0.20,0.16,0.15,0.24,0.33,0.25,0.03,0.00,0.00,0.20,0.34,0.29,0.13,0.03,0.05,0.14,0.23,0.29,0.24,0.10,0.00,0.00,0.07,0.22,0.28,0.24,0.17,0.09,0.01,0.00,0.08,0.19,0.21,0.14,0.08,0.11,0.17,0.17,0.12,0.06,0.04,0.06,0.11,0.16,0.15,0.09,0.03,0.05,0.13,0.19,0.18,0.12,0.07,0.08,0.09,0.09,0.09,0.09,0.09,0.09,0.09,0.09,0.09,0.09,0.09,0.08,0.08,0.09,0.08,0.08,0.08,0.08,0.07,0.08,0.08,0.08,0.08,0.08,0.08,0.07,0.07,0.07,0.07,0.07,0.07,0.07,0.07,0.07,0.07,0.07,0.07,0.06,0.07,0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.05,0.06,0.05,0.05,0.06,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.04,0.04,0.05,0.05,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.03,0.03,0.03,0.03,0.03,0.03,0.03,0.04,0.03,0.03,0.03,0.03,0.03,0.03,0.03,0.03,0.03,0.04,0.03,0.03,0.03,0.03,0.02,0.02,0.03,0.03,0.03,0.02,0.03,0.02,0.02,0.02,0.02,0.02,0.02,0.02,0.02,0.03,0.02,0.02,0.02,0.02,0.02,0.02,0.02,0.02,0.01,0.02,0.02,0.02,0.02,0.01,0.01,0.02,0.02,0.02,0.01,0.01,0.01,0.01,0.01,0.02,0.01,0.01,0.01,0.01,0.01,0.01,0.02,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.00,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.00,0.01,0.01,0.00,0.01,0.01,0.01,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.01,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.01}; - -const float netawave[]={ - 0.487 ,0.447 ,0.118 ,0.184 ,0.474 ,0.329 ,0.000 ,0.000 ,0.145 ,0.921 ,0.921 ,0.553 ,0.000 ,0.000 ,0.132 ,0.987 ,0.974 ,0.000 ,0.000 ,0.237 ,1.000 ,0.763 ,0.000 ,0.000 ,0.658 ,0.737 ,0.224 ,0.026 ,0.342 ,0.513 ,0.342 ,0.250 ,0.329 ,0.355 ,0.250 ,0.237 ,0.329 ,0.382 ,0.316 ,0.263 ,0.276 ,0.316 ,0.303 ,0.263 ,0.263 ,0.303 ,0.329 ,0.276 ,0.237 ,0.237 ,0.276 ,0.303 ,0.276 ,0.237 ,0.237 ,0.276 ,0.263 ,0.224 ,0.224 ,0.250 ,0.263 ,0.237 ,0.224 ,0.237 ,0.237 ,0.211 ,0.211 ,0.250 ,0.250 ,0.197 ,0.184 ,0.237 ,0.263 ,0.211 ,0.158 ,0.184 ,0.263 ,0.276 ,0.197 ,0.118 ,0.105 ,0.211 ,0.316 ,0.303 ,0.171 ,0.066 ,0.079 ,0.197 ,0.263 ,0.276 ,0.237 ,0.171 ,0.092 ,0.053 ,0.132 ,0.276 ,0.316 ,0.211 ,0.092 ,0.066 ,0.184 ,0.171 ,0.197 ,0.211 ,0.184 ,0.145 ,0.118 ,0.145 ,0.184 ,0.171 ,0.132 ,0.105 ,0.145 ,0.145 ,0.145 ,0.145 ,0.145 ,0.145 ,0.132 ,0.145 ,0.132 ,0.132 ,0.132 ,0.132 ,0.132 ,0.132 ,0.132 ,0.132 ,0.132 ,0.132 ,0.132 ,0.132 ,0.118 ,0.118 ,0.118 ,0.118 ,0.118 ,0.118 ,0.105 ,0.118 ,0.118 ,0.118 ,0.105 ,0.105 ,0.105 ,0.105 ,0.105 ,0.105 ,0.105 ,0.105 ,0.105 ,0.105 ,0.105 ,0.105 ,0.092 ,0.092 ,0.092 ,0.092 ,0.092 ,0.092 ,0.092 ,0.092 ,0.092 ,0.092 ,0.092 ,0.092 ,0.092 ,0.092 ,0.079 ,0.079 ,0.079 ,0.079 ,0.092 ,0.079 ,0.079 ,0.079 ,0.079 ,0.079 ,0.079 ,0.079 ,0.079 ,0.079 ,0.079 ,0.079 ,0.066 ,0.066 ,0.066 ,0.066 ,0.066 ,0.066 ,0.066 ,0.066 ,0.066 ,0.066 ,0.066 ,0.066 ,0.053 ,0.066 ,0.053 ,0.053 ,0.066 ,0.066 ,0.053 ,0.066 ,0.066 ,0.053 ,0.053 ,0.053 ,0.039 ,0.066 ,0.053 ,0.053 ,0.053 ,0.079 ,0.053 ,0.053 ,0.053 ,0.053 ,0.039 ,0.053 ,0.039 ,0.053 ,0.053 ,0.053 ,0.039 ,0.039 ,0.053 ,0.039 ,0.039 ,0.039 ,0.039 ,0.039 ,0.039 ,0.039 ,0.039 ,0.039 ,0.039 ,0.039 ,0.026 ,0.039 ,0.039 ,0.039 ,0.026 ,0.039 ,0.039 ,0.039 ,0.039 ,0.026 ,0.039 ,0.039 ,0.039 ,0.026 ,0.026 ,0.026 ,0.026 ,0.026 ,0.026 ,0.026 ,0.026 ,0.026 ,0.026 ,0.039 ,0.026 ,0.026 ,0.026 ,0.026 ,0.026 ,0.026 ,0.026 ,0.026 ,0.026 ,0.026 ,0.026 ,0.026 ,0.026 ,0.026 ,0.026 ,0.026 ,0.013 ,0.026 ,0.026 ,0.026 ,0.013 ,0.026 ,0.013 ,0.013 ,0.013 ,0.013 ,0.013 ,0.026 ,0.026 ,0.013 ,0.013 ,0.026 ,0.013 ,0.013 ,0.013 ,0.013 ,0.013 ,0.013 ,0.013 ,0.013 ,0.013 ,0.013 ,0.013 ,0.013 ,0.013 ,0.013 ,0.013 ,0.013 ,0.013 ,0.013 ,0.013 ,0.013 ,0.013 ,0.013 ,0.013 ,0.013 ,0.000 ,0.013 ,0.013 ,0.013 ,0.013 ,0.013 ,0.013 ,0.013 ,0.013 ,0.013 ,0.000 ,0.000 ,0.013 ,0.000 ,0.000 ,0.013 ,0.013 ,0.000 ,0.000 ,0.013 ,0.000 ,0.000 ,0.013 ,0.000 ,0.013 ,0.013}; +const float squarewave[]={ + //1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0 + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 +}; \ No newline at end of file