Conner Awald / Mbed 2 deprecated StepperMotorSongMidi

Dependencies:   mbed mbed-rtos

Files at this revision

API Documentation at this revision

Comitter:
cawald18
Date:
Mon Apr 26 00:17:01 2021 +0000
Parent:
1:58fce6cd1c51
Commit message:
Base2;

Changed in this revision

main.cpp Show annotated file Show diff for this revision Revisions of this file
wii.h Show annotated file Show diff for this revision Revisions of this file
--- a/main.cpp	Sun Apr 25 22:45:01 2021 +0000
+++ b/main.cpp	Mon Apr 26 00:17:01 2021 +0000
@@ -1,15 +1,10 @@
 #include "mbed.h"
 #include "rtos.h"
 #include "notes.h"
-Thread motor;
+#include "math.h"
+#include "wii.h"
 
 Serial pc(USBTX, USBRX); // tx, rx
-/*void playNote(PwmOut motor, float note){
-    motor.period(1/note);
-    motor.write(.5f);
-    }*/
-
-
 class Flipper {
 public:
     Flipper(PinName pin) : _pin(pin) {
@@ -23,38 +18,83 @@
 };
  
 DigitalOut led1(LED1);
-Flipper f(p21);
-Flipper f1(p22);
-Ticker t;
+Flipper f1(p21);
+Flipper f2(p22);
+Flipper f3(p23);
 Ticker t1;
- 
+Ticker t2;
+Ticker t3;
+
+Mutex motor1lock;
+Mutex motor2lock;
+Mutex motor3lock;
+Timer motor1timer;
+
+/*
+Takes the midi number in from the array and then converts it to a frequency in hz;
+*/
+float midi2freq(float midi){
+    return 440.0*powf(2.0, (midi-69)/12);
+}
+
+/*
+Stops playback for motor1 and unlocks it to allow a new note to be set
+*/
+void stopMotor1(){
+    motor1lock.unlock();
+    }
 int main() {
-    //float note1 = 1.0/(NOTE_A4*2);
-    //float note2 = 1.0/(NOTE_CS5*2);
-    //float note2m = 1.0/(NOTE_C5*2);
-    //float note3 = 1.0/(NOTE_E5*2);
-    
     //parse length here
-    int   length = 100;
-    
-    float notes1 [length];
-    float durs1  [length];
-    
+    int length = (int)( sizeof(noteswii) / sizeof(noteswii[0]));
     // copy above for more lines of notes
     
     //parsing of notes, needs to partse 
     
     //parsing of durs
     
-    //t.attach(&f, &Flipper::flip, note1); // the address of the object, member function, and interval
-    //t1.attach(&f1, &Flipper::flip, note2);
+    
+
     pc.printf("Hello World!\n");
-    //pc.printf("%f",note1);
+    motor1timer.start();
     // spin in a main loop. flipper will interrupt it to call flip
     while(1) {
-        for(int i = 0; i < length; i++) {
-        t1.attach(&f1, &Flipper::flip, notes[i]);
-        wait(durs[i]);
+        for(int i = 0; i < length;) {
+        //This sees if we ever have an unlocked motor lock,
+        //in which case the motor will be done playing and
+        //we will need to set it to silent
+        if(motor1lock.trylock()){
+            motor1lock.unlock(); //Make the motor available for note commands
+            t1.detach();  //Stop the ticker on the motor
+            }
+        if(motor2lock.trylock()){
+            motor2lock.unlock();
+            t2.detach(); 
+            }
+        if(motor3lock.trylock()){
+            motor3lock.unlock();
+            t3.detach(); 
+            }   
+            
+            /*
+            IF THIS IS TRUE it means we have a note that just came into 
+            being played and we should move through the indexed list
+            at the very end
+            */         
+        if(notesstart[i]<motor1timer.read()){
+            if(motor1lock.trylock_for((notesstop[i]-notesstart[i]*1000)) { //This means we were succesfully able to lock the motor
+                t1.attach(&f1, &Flipper::flip, 1.0/midi2freq(noteswii[i]));
+                }
+                
+         
+         
+         i++;//THIS NEEDS TO BE THE LAST THING   
+        }
+        else {
+        t1.attach(&f1, &Flipper::flip, 1.0/notes1[i]); }
+        pc.printf("%f\n",notes1[i]);
+        pc.printf("%f\n",durs1[i]);
+        wait(durs1[i]);
+        pc.printf("The timer is at %f\n\n", motor1timer.read());
         }
         
     }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wii.h	Mon Apr 26 00:17:01 2021 +0000
@@ -0,0 +1,4 @@
+int noteswii[] = {62,66,47,66,69,69,73,66,69,62,66,62,56,62,56,62,56,61,53,62,54,47,62,66,66,69,69,73,66,69,62,66,64,68,76,56,63,67,55,75,62,66,74,54,68,45,64,73,61,66,73,52,68,56,73,61,64,67,55,66,54,64,61,54,60,38,54,60,38,60,54,38,54,60,38,54,60,38,54,38,60,56,59,63,55,58,62,62,66,54,57,61,66,69,69,73,66,69,66,62,63,64,56,62,64,56,62,62,64,56,68,76,68,76,76,68,47,62,66,66,69,69,73,66,69,62,66,64,68,73,52,62,66,71,50,71,52,67,59,62,61,45,57,61,71,67,61,69,50,66,57,60,59,43,55,59,65,62,59,54,61,47,52,54,61,47,52,61,54,47,52,70,49,71,50,73,55,74,56,78,61,81,67,57,58,52,59,52,55,58,47,59,52,55,45,52,55,57,58,52,59,66,54,55,59,61,50,59,54,57,58,45,59,54,57,49,50,54,57,45,59,54,57,60,42,61,51,59,60,49,61,49,58,41,42,49,58,61,60,37,61,68,49,58,63,42,61,54,57,63,47,59,54,57,61,62,40,66,69,62,64,68,49,59,64,68,49,59,64,68,49,59,62,66,47,66,69,69,73,66,69,62,66,62,56,62,56,62,56,61,53,62,54,47,62,66,66,69,69,73,66,69,62,66,64,68,76,56,63,67,55,75,62,66,74,54,68,45,64,73,61,66,73,52,68,56,73,61,64,67,55,66,54,64,61,54,60,38,54,60,38,60,54,38,54,60,38,54,60,38,54,38,60,56,59,63,55,58,62,62,66,54,57,61,66,69,69,73,66,69,66,62,63,64,56,62,64,56,62,62,64,56,68,76,68,76,76,68,47,62,66,66,69,69,73,66,69,62,66,64,68,73,52,62,66,71,50,71,52,67,59,62,61,45,57,61,71,67,61,69,50,66,57,60,59,43,55,59,65,62,59,54,61,47,52,54,61,47,52,61,54,47,52,70,49,71,50,73,55,74,56,78,61,81,67,57,58,52,59,52,55,58,47,59,52,55,45,52,55,57,58,52,59,66,54,55,59,61,50,59,54,57,58,45,59,54,57,49,50,54,57,45,59,54,57,60,42,61,51,59,60,49,61,49,58,41,42,49,58,61,60,37,61,68,49,58,63,42,61,54,57,63,47,59,54,57,61,62,40,66,69,62,64,68,49,59,64,68,49,59,64,68,49,59};
+float notesstart[] = {0.004882841796875,0.004882841796875,0.004882841796875,0.514651525390625,0.514651525390625,0.761235036132812,0.761235036132812,1.25928489941406,1.25928489941406,1.75245192089844,1.75245192089844,2.00196513671875,2.00196513671875,2.26661516210937,2.26661516210937,2.51466352539062,2.51466352539062,3.75246392089844,3.75246392089844,4.00197713671875,4.00197713671875,4.00197713671875,4.26662716210937,4.26662716210937,4.51467552539062,4.51467552539062,4.76125903613281,4.76125903613281,5.25930889941406,5.25930889941406,5.75247592089844,5.75247592089844,6.00198913671875,6.00198913671875,6.00198913671875,6.00198913671875,6.76127103613281,6.76127103613281,6.76127103613281,6.76127103613281,7.01029596777344,7.01029596777344,7.01029596777344,7.01029596777344,8.00200113671875,8.00200113671875,8.51469952539062,8.51469952539062,8.51469952539062,8.76128303613281,9.25933289941406,9.25933289941406,9.75249992089843,9.75249992089843,10.2666631621094,10.2666631621094,10.2666631621094,10.7612950361328,10.7612950361328,11.0103199677734,11.0103199677734,11.5059284101562,11.5059284101562,12.0020251367187,12.0020251367187,12.0020251367187,12.2666751621094,12.2666751621094,12.2666751621094,12.5147235253906,12.5147235253906,12.5147235253906,13.5059404101562,13.5059404101562,13.5059404101562,13.7525239208984,13.7525239208984,13.7525239208984,14.0020371367187,14.0020371367187,14.0020371367187,15.0103439677734,15.0103439677734,15.0103439677734,15.5059524101562,15.5059524101562,15.5059524101562,16.0020491367187,16.0020491367187,16.0020491367187,16.0020491367187,16.0020491367187,16.5147475253906,16.5147475253906,16.7613310361328,16.7613310361328,17.2593808994141,17.2593808994141,17.7525479208984,17.7525479208984,17.7525479208984,18.0020611367188,18.0020611367188,18.0020611367188,18.2667111621094,18.2667111621094,18.2667111621094,18.5147595253906,18.5147595253906,18.5147595253906,19.0103679677734,19.0103679677734,19.2593928994141,19.2593928994141,19.5059764101563,19.5059764101563,20.0020731367188,20.2667231621094,20.2667231621094,20.5147715253906,20.5147715253906,20.7613550361328,20.7613550361328,21.2606319375,21.2606319375,21.7645745429688,21.7645745429688,22.0233201835938,22.0233201835938,22.0233201835938,22.0233201835938,23.0364337177734,23.0364337177734,23.0364337177734,23.0364337177734,24.0281388867188,24.0281388867188,24.2927889121094,24.5408372753906,24.5408372753906,24.7874207861328,24.7874207861328,25.2854706494141,25.2854706494141,25.2854706494141,25.5320541601563,25.7786376708984,26.0281508867188,26.0281508867188,26.2928009121094,26.5408492753906,26.5408492753906,26.7874327861328,26.7874327861328,27.2854826494141,27.2854826494141,27.2854826494141,27.5320661601563,27.7786496708984,28.0281628867188,28.0281628867188,28.0281628867188,28.0281628867188,28.2928129121094,28.2928129121094,28.2928129121094,28.2928129121094,28.5408612753906,28.5408612753906,28.5408612753906,28.5408612753906,29.7786616708984,29.7786616708984,30.0281748867188,30.0281748867188,30.2928249121094,30.2928249121094,30.5408732753906,30.5408732753906,30.7874567861328,30.7874567861328,31.0364817177734,31.0364817177734,33.0364937177734,33.5321021601562,34.0281988867187,34.0281988867187,34.5408972753906,34.5408972753906,34.7874807861328,34.7874807861328,35.0365057177734,35.2855306494141,35.2855306494141,36.0282108867188,36.2928609121094,36.2928609121094,36.5409092753906,36.7874927861328,36.7874927861328,37.0365177177735,37.2855426494141,37.5321261601563,37.5321261601563,37.5321261601563,37.7787096708985,38.0282228867188,38.0282228867188,38.5409212753907,38.5409212753907,38.7875047861328,38.7875047861328,39.0365297177735,39.2855546494141,39.2855546494141,39.7787216708985,40.0282348867188,40.2928849121094,40.2928849121094,40.7875167861329,41.0365417177735,41.5321501601563,41.5321501601563,41.5321501601563,42.0282468867188,42.0282468867188,42.5409452753907,42.5409452753907,42.7875287861329,42.7875287861329,43.0365537177735,43.2855786494141,43.2855786494141,43.7787456708985,44.0282588867188,44.2929089121094,44.2929089121094,44.5409572753907,44.7875407861329,44.7875407861329,45.0365657177735,45.2855906494141,45.5321741601563,45.5321741601563,45.7787576708985,46.0282708867188,46.0282708867188,46.5409692753907,46.5409692753907,46.7875527861329,46.7875527861329,47.0365777177735,47.2856026494141,47.2856026494141,47.7787696708985,48.0282828867188,48.0282828867188,48.2929329121094,48.2929329121094,48.7875647861329,49.0365897177735,49.0365897177735,49.0365897177735,49.0365897177735,49.2856146494141,49.2856146494141,49.2856146494141,49.2856146494141,49.5321981601563,49.5321981601563,49.5321981601563,49.5321981601563,50.031224591797,50.031224591797,50.031224591797,50.5409932753907,50.5409932753907,50.7875767861329,50.7875767861329,51.2856266494141,51.2856266494141,51.7787936708985,51.7787936708985,52.0283068867188,52.0283068867188,52.2929569121095,52.2929569121095,52.5410052753907,52.5410052753907,53.7788056708985,53.7788056708985,54.0283188867188,54.0283188867188,54.0283188867188,54.2929689121095,54.2929689121095,54.5410172753907,54.5410172753907,54.7876007861329,54.7876007861329,55.2856506494142,55.2856506494142,55.7788176708985,55.7788176708985,56.0283308867188,56.0283308867188,56.0283308867188,56.0283308867188,56.7876127861329,56.7876127861329,56.7876127861329,56.7876127861329,57.0366377177735,57.0366377177735,57.0366377177735,57.0366377177735,58.0283428867188,58.0283428867188,58.5410412753907,58.5410412753907,58.5410412753907,58.7876247861329,59.2856746494142,59.2856746494142,59.7788416708985,59.7788416708985,60.2930049121095,60.2930049121095,60.2930049121095,60.7876367861329,60.7876367861329,61.0366617177735,61.0366617177735,61.5322701601564,61.5322701601564,62.0283668867189,62.0283668867189,62.0283668867189,62.2930169121095,62.2930169121095,62.2930169121095,62.5410652753907,62.5410652753907,62.5410652753907,63.5322821601564,63.5322821601564,63.5322821601564,63.7788656708986,63.7788656708986,63.7788656708986,64.0283788867189,64.0283788867189,64.0283788867189,65.0366857177736,65.0366857177736,65.0366857177736,65.5322941601564,65.5322941601564,65.5322941601564,66.0283908867189,66.0283908867189,66.0283908867189,66.0283908867189,66.0283908867189,66.5410892753907,66.5410892753907,66.7876727861329,66.7876727861329,67.2857226494142,67.2857226494142,67.7788896708986,67.7788896708986,67.7788896708986,68.0284028867189,68.0284028867189,68.0284028867189,68.2930529121095,68.2930529121095,68.2930529121095,68.5411012753908,68.5411012753908,68.5411012753908,69.0367097177736,69.0367097177736,69.2857346494142,69.2857346494142,69.5323181601564,69.5323181601564,70.0284148867189,70.2930649121095,70.2930649121095,70.5411132753908,70.5411132753908,70.787696786133,70.787696786133,71.2869736875002,71.2869736875002,71.7909162929689,71.7909162929689,72.0496619335939,72.0496619335939,72.0496619335939,72.0496619335939,73.0627754677736,73.0627754677736,73.0627754677736,73.0627754677736,74.0544806367189,74.0544806367189,74.3191306621096,74.5671790253908,74.5671790253908,74.813762536133,74.813762536133,75.3118123994142,75.3118123994142,75.3118123994142,75.5583959101564,75.8049794208986,76.0544926367189,76.0544926367189,76.3191426621095,76.5671910253908,76.5671910253908,76.813774536133,76.813774536133,77.3118243994142,77.3118243994142,77.3118243994142,77.5584079101564,77.8049914208986,78.0545046367189,78.0545046367189,78.0545046367189,78.0545046367189,78.3191546621095,78.3191546621095,78.3191546621095,78.3191546621095,78.5672030253908,78.5672030253908,78.5672030253908,78.5672030253908,79.8050034208986,79.8050034208986,80.0545166367189,80.0545166367189,80.3191666621095,80.3191666621095,80.5672150253908,80.5672150253908,80.8137985361329,80.8137985361329,81.0628234677736,81.0628234677736,83.0628354677736,83.5584439101564,84.0545406367189,84.0545406367189,84.5672390253908,84.5672390253908,84.8138225361329,84.8138225361329,85.0628474677736,85.3118723994142,85.3118723994142,86.0545526367189,86.3192026621095,86.3192026621095,86.5672510253908,86.8138345361329,86.8138345361329,87.0628594677736,87.3118843994142,87.5584679101564,87.5584679101564,87.5584679101564,87.8050514208986,88.0545646367189,88.0545646367189,88.5672630253908,88.5672630253908,88.8138465361329,88.8138465361329,89.0628714677736,89.3118963994142,89.3118963994142,89.8050634208986,90.0545766367189,90.3192266621095,90.3192266621095,90.8138585361329,91.0628834677735,91.5584919101563,91.5584919101563,91.5584919101563,92.0545886367188,92.0545886367188,92.5672870253907,92.5672870253907,92.8138705361329,92.8138705361329,93.0628954677735,93.3119203994141,93.3119203994141,93.8050874208985,94.0546006367188,94.3192506621095,94.3192506621095,94.5672990253907,94.8138825361329,94.8138825361329,95.0629074677735,95.3119323994141,95.5585159101563,95.5585159101563,95.8050994208985,96.0546126367188,96.0546126367188,96.5673110253907,96.5673110253907,96.8138945361329,96.8138945361329,97.0629194677735,97.3119443994141,97.3119443994141,97.8051114208985,98.0546246367188,98.0546246367188,98.3192746621094,98.3192746621094,98.8139065361329,99.0629314677735,99.0629314677735,99.0629314677735,99.0629314677735,99.3119563994141,99.3119563994141,99.3119563994141,99.3119563994141,99.5585399101563,99.5585399101563,99.5585399101563,99.5585399101563};
+float notesstop[] = {0.209473913085937,0.209473913085937,0.209473913085937,0.0961919833984375,0.0961919833984375,0.0986334042968749,0.0986334042968749,0.0961919833984375,0.0961919833984375,0.0971685517578125,0.0971685517578125,0.114258498046875,0.114258498046875,0.0976568359374999,0.0976568359374999,0.0961919833984375,0.0961919833984375,0.276857129882812,0.276857129882812,0.114258498046874,0.190430830078125,0.297365065429687,0.0976568359374994,0.0976568359374994,0.0961919833984375,0.0961919833984375,0.0986334042968746,0.0986334042968746,0.0961919833984375,0.0961919833984375,0.0971685517578127,0.0971685517578127,0.758793615234375,0.758793615234375,0.758793615234375,0.758793615234375,0.233888122070312,0.233888122070312,0.233888122070312,0.248536647460938,0.195313671875,0.195313671875,0.195313671875,0.195313671875,0.114258498046874,0.114258498046874,0.0815434580078129,0.0961919833984375,0.0961919833984375,0.0986334042968746,0.0961919833984375,0.0961919833984375,0.0971685517578127,0.0971685517578127,0.0976568359374994,0.0976568359374994,0.0976568359374994,0.278321982421875,0.278321982421875,0.211915333984376,0.211915333984376,0.0961919833984375,0.0961919833984375,0.114258498046874,0.114258498046874,0.114258498046874,0.0976568359374994,0.0976568359374994,0.0976568359374994,0.0815434580078129,0.0961919833984375,0.0961919833984375,0.0961919833984375,0.0961919833984375,0.0961919833984375,0.0971685517578127,0.0971685517578127,0.0971685517578127,0.114258498046874,0.114258498046874,0.129395307617187,0.495120158203125,0.495120158203125,0.495120158203125,0.493655305664062,0.493655305664062,0.493655305664062,0.212403618164064,0.212403618164064,0.249513215820315,0.249513215820315,0.249513215820315,0.0961919833984375,0.0961919833984375,0.0986334042968764,0.0986334042968764,0.0961919833984375,0.0961919833984375,0.247071794921876,0.247071794921876,0.276857129882814,0.114258498046873,0.114258498046873,0.114258498046873,0.0976568359374994,0.0976568359374994,0.0976568359374994,0.0815434580078112,0.0961919833984375,0.0961919833984375,0.0986334042968764,0.0986334042968764,0.0961919833984375,0.0961919833984375,0.0815434580078112,0.0961919833984375,0.212403618164064,0.0976568359374994,0.0976568359374994,0.0961919833984375,0.0961919833984375,0.0986334042968764,0.0986334042968764,0.0974288124999987,0.0974288124999987,0.100556410156251,0.100556410156251,1.01262525,1.01262525,1.01262525,1.01262525,0.195313671874999,0.195313671874999,0.195313671874999,0.195313671874999,0.249513215820311,0.512210104492187,0.232911553710938,0.0961919833984375,0.231446701171876,0.482913053710938,0.482913053710938,0.0961919833984375,0.0961919833984375,0.231446701171876,0.231446701171876,0.23242326953125,0.249513215820311,0.512210104492187,0.232911553710938,0.0961919833984375,0.231446701171876,0.482913053710938,0.482913053710938,0.0961919833984375,0.0961919833984375,0.231446701171876,0.231446701171876,0.23242326953125,0.114258498046876,0.114258498046876,0.114258498046876,0.114258498046876,0.0976568359374994,0.0976568359374994,0.0976568359374994,0.0976568359374994,0.0815434580078112,0.0961919833984375,0.0961919833984375,0.111328792968749,0.27685712988281,0.27685712988281,0.156739221679686,0.156739221679686,0.277345414062498,0.277345414062498,0.138672707031247,0.138672707031247,0.278321982421875,0.278321982421875,0.141114127929686,0.141114127929686,0.514651525390626,0.513186672851567,0.512210104492183,0.788578950195316,0.231446701171876,0.246095226562502,0.278321982421879,0.482913053710945,1.48194248535157,0.740238816406247,0.740238816406247,0.249513215820315,0.494143589843759,0.494143589843759,0.275880561523444,0.278321982421879,0.744145089843755,0.278321982421879,0.512210104492198,0.49365530566407,0.49365530566407,0.49365530566407,0.276857129882814,0.512210104492183,0.788578950195316,0.231446701171876,0.246095226562502,0.278321982421879,0.482913053710945,1.99952371582033,0.492678737304686,0.492678737304686,0.232423269531253,0.249513215820315,0.494143589843752,0.494143589843752,0.744145089843748,0.514651525390626,0.493655305664063,0.493655305664063,0.51318667285156,0.512210104492183,0.788578950195316,0.231446701171876,0.246095226562502,0.278321982421879,0.497561579101564,1.50391527343751,0.492678737304686,0.492678737304686,0.232423269531253,0.249513215820315,0.494143589843752,0.494143589843752,0.275880561523444,0.278321982421879,0.744145089843755,0.278321982421879,0.512210104492198,0.49365530566407,0.49365530566407,0.276857129882814,0.512210104492183,0.788578950195316,0.231446701171876,0.246095226562502,0.278321982421879,0.482913053710945,0.71973088085938,0.740238816406247,0.740238816406247,0.276857129882806,0.156739221679686,1.00781854687499,0.194337103515622,0.194337103515622,0.233888122070312,0.0986334042968764,0.0986334042968764,0.0986334042968764,0.0986334042968764,0.096191983398441,0.096191983398441,0.096191983398441,0.096191983398441,0.19384881933594,0.19384881933594,0.19384881933594,0.19384881933594,0.209473913085937,0.209473913085937,0.209473913085937,0.096191983398441,0.096191983398441,0.0986334042968764,0.0986334042968764,0.096191983398441,0.096191983398441,0.0971685517578109,0.0971685517578109,0.114258498046873,0.114258498046873,0.0976568359374994,0.0976568359374994,0.096191983398441,0.096191983398441,0.276857129882814,0.276857129882814,0.114258498046873,0.190430830078121,0.297365065429688,0.0976568359374994,0.0976568359374994,0.096191983398441,0.096191983398441,0.0986334042968764,0.0986334042968764,0.096191983398441,0.096191983398441,0.0971685517578109,0.0971685517578109,0.758793615234374,0.758793615234374,0.758793615234374,0.758793615234374,0.233888122070312,0.233888122070312,0.233888122070312,0.248536647460938,0.195313671874999,0.195313671874999,0.195313671874999,0.195313671874999,0.114258498046873,0.114258498046873,0.0815434580078147,0.096191983398441,0.096191983398441,0.0986334042968764,0.096191983398441,0.096191983398441,0.0971685517578109,0.0971685517578109,0.0976568359374994,0.0976568359374994,0.0976568359374994,0.278321982421879,0.278321982421879,0.211915333984379,0.211915333984379,0.096191983398441,0.096191983398441,0.114258498046873,0.114258498046873,0.114258498046873,0.0976568359374994,0.0976568359374994,0.0976568359374994,0.0815434580078147,0.096191983398441,0.096191983398441,0.096191983398441,0.096191983398441,0.096191983398441,0.0971685517578109,0.0971685517578109,0.0971685517578109,0.11425849804688,0.11425849804688,0.129395307617187,0.495120158203122,0.495120158203122,0.495120158203122,0.493655305664063,0.493655305664063,0.493655305664063,0.212403618164061,0.212403618164061,0.249513215820315,0.249513215820315,0.249513215820315,0.096191983398441,0.096191983398441,0.0986334042968764,0.0986334042968764,0.096191983398441,0.096191983398441,0.247071794921879,0.247071794921879,0.276857129882814,0.11425849804688,0.11425849804688,0.11425849804688,0.0976568359374994,0.0976568359374994,0.0976568359374994,0.0815434580078147,0.096191983398441,0.096191983398441,0.0986334042968764,0.0986334042968764,0.096191983398441,0.096191983398441,0.0815434580078147,0.096191983398441,0.212403618164061,0.0976568359374994,0.0976568359374994,0.096191983398441,0.096191983398441,0.0986334042968764,0.0986334042968764,0.0974288124999987,0.0974288124999987,0.100556410156244,0.100556410156244,1.01262525000001,1.01262525000001,1.01262525000001,1.01262525000001,0.195313671874999,0.195313671874999,0.195313671874999,0.195313671874999,0.249513215820315,0.512210104492183,0.232911553710935,0.096191983398441,0.231446701171876,0.482913053710931,0.482913053710931,0.096191983398441,0.096191983398441,0.231446701171876,0.231446701171876,0.232423269531253,0.249513215820315,0.512210104492183,0.232911553710935,0.096191983398441,0.231446701171876,0.482913053710931,0.482913053710931,0.096191983398441,0.096191983398441,0.231446701171876,0.231446701171876,0.232423269531253,0.11425849804688,0.11425849804688,0.11425849804688,0.11425849804688,0.0976568359374994,0.0976568359374994,0.0976568359374994,0.0976568359374994,0.0815434580078147,0.096191983398441,0.096191983398441,0.111328792968749,0.276857129882814,0.276857129882814,0.156739221679686,0.156739221679686,0.277345414062509,0.277345414062509,0.138672707031247,0.138672707031247,0.278321982421872,0.278321982421872,0.141114127929697,0.141114127929697,0.514651525390633,0.51318667285156,0.512210104492183,0.788578950195301,0.231446701171876,0.246095226562502,0.278321982421886,0.482913053710945,1.48194248535155,0.740238816406247,0.740238816406247,0.249513215820315,0.494143589843759,0.494143589843759,0.275880561523437,0.278321982421886,0.744145089843769,0.278321982421886,0.512210104492183,0.493655305664063,0.493655305664063,0.493655305664063,0.276857129882814,0.512210104492183,0.788578950195301,0.231446701171876,0.246095226562502,0.278321982421886,0.482913053710945,1.99952371582029,0.492678737304686,0.492678737304686,0.232423269531253,0.249513215820315,0.494143589843745,0.494143589843745,0.744145089843741,0.514651525390619,0.493655305664063,0.493655305664063,0.51318667285156,0.512210104492183,0.788578950195301,0.231446701171876,0.246095226562502,0.278321982421886,0.497561579101571,1.50391527343749,0.492678737304686,0.492678737304686,0.232423269531253,0.249513215820315,0.494143589843745,0.494143589843745,0.275880561523437,0.278321982421886,0.744145089843769,0.278321982421886,0.512210104492183,0.493655305664063,0.493655305664063,0.276857129882814,0.512210104492183,0.788578950195301,0.231446701171876,0.246095226562502,0.278321982421886,0.482913053710945,0.719730880859373,0.740238816406261,0.740238816406261,0.276857129882814,0.156739221679686,1.007818546875,0.194337103515622,0.194337103515622,0.233888122070312,0.0986334042968764,0.0986334042968764,0.0986334042968764,0.0986334042968764,0.096191983398441,0.096191983398441,0.096191983398441,0.096191983398441,0.19384881933594,0.19384881933594,0.19384881933594,0.19384881933594};
+