Bluetooth Enabled Keyboard/Synthesizer for mbed

Dependencies:   mbed 4DGL-uLCD-SE SDFileSystem mbed-rtos

Revision:
7:d4c3260cb092
Parent:
6:68c6a50e1437
Child:
8:f6699fd30737
--- a/main.cpp	Thu Apr 28 18:21:52 2016 +0000
+++ b/main.cpp	Thu Apr 28 19:31:28 2016 +0000
@@ -96,65 +96,105 @@
 0.903225806 , 0.935483871 , 0.967741935 , 1
 };
 
-double decayVals5[32] = {
-    };
+double decayVals5[32] = {   //Approaches the sustain amplitude the quickest - corresponds to a decay value of 5
+1 , 0.8 , 0.75 , 0.71 , 
+0.68 , 0.66 , 0.65 , 0.64 , 
+0.635 , 0.63 , 0.625 , 0.62 , 
+0.615 , 0.61 , 0.605 , 0.6 , 
+0.6 , 0.6 , 0.6 , 0.6 , 
+0.6 , 0.6 , 0.6 , 0.6 , 
+0.6 , 0.6 , 0.6 , 0.6 , 
+0.6 , 0.6 , 0.6 , 0.6
+};
 double decayVals4[32] = {
-    };
+1 , 0.93 , 0.86 , 0.8 , 
+0.75 , 0.71 , 0.69 , 0.68 , 
+0.67 , 0.66 , 0.655 , 0.65 , 
+0.645 , 0.64 , 0.635 , 0.63 , 
+0.625 , 0.62 , 0.615 , 0.61 , 
+0.605 , 0.6 , 0.6 , 0.6 , 
+0.6 , 0.6 , 0.6 , 0.6 , 
+0.6 , 0.6 , 0.6 , 0.6
+};
 double decayVals3[32] = {
-    };
+1 , 0.96 , 0.92 , 0.88 , 
+0.85 , 0.82 , 0.79 , 0.76 , 
+0.74 , 0.72 , 0.705 , 0.69 , 
+0.68 , 0.67 , 0.665 , 0.66 , 
+0.655 , 0.65 , 0.645 , 0.64 , 
+0.635 , 0.63 , 0.625 , 0.62 , 
+0.615 , 0.61 , 0.605 , 0.6 , 
+0.6 , 0.6 , 0.6 , 0.6
+};
 double decayVals2[32] = {
-    };
+1 , 0.98 , 0.96 , 0.94 , 
+0.92 , 0.9 , 0.88 , 0.86 , 
+0.84 , 0.82 , 0.8 , 0.79 , 
+0.78 , 0.77 , 0.76 , 0.75 , 
+0.74 , 0.73 , 0.72 , 0.71 , 
+0.7 , 0.69 , 0.68 , 0.67 , 
+0.66 , 0.65 , 0.64 , 0.63 , 
+0.62 , 0.61 , 0.6 , 0.6
+};
 double decayVals1[32] = {
-    };
+1 , 0.987096774 , 0.974193548 , 0.961290323 , 
+0.948387097 , 0.935483871 , 0.922580645 , 0.909677419 , 
+0.896774194 , 0.883870968 , 0.870967742 , 0.858064516 , 
+0.84516129 , 0.832258065 , 0.819354839 , 0.806451613 , 
+0.793548387 , 0.780645161 , 0.767741935 , 0.75483871 , 
+0.741935484 , 0.729032258 , 0.716129032 , 0.703225806 , 
+0.690322581 , 0.677419355 , 0.664516129 , 0.651612903 , 
+0.638709677 , 0.625806452 , 0.612903226 , 0.6
+};
 double sustainVals5[160] = {  //Highest level of sustain, the note will cap out at an amplitude of 1 - corresponds to sustain value of 5
-.8 , .8 , .8 , .8 ,
-.8 , .8 , .8 , .8 , 
-.8 , .8 , .8 , .8 , 
-.8 , .8 , .8 , .8 , 
-.8 , .8 , .8 , .8 , 
-.8 , .8 , .8 , .8 , 
-.8 , .8 , .8 , .8 , 
-.8 , .8 , .8 , .8  
+.8 , .6 , .6 , .6 ,
+.6 , .6 , .6 , .6 , 
+.6 , .6 , .6 , .6 , 
+.6 , .6 , .6 , .6 , 
+.6 , .6 , .6 , .6 , 
+.6 , .6 , .6 , .6 , 
+.6 , .6 , .6 , .6 , 
+.6 , .6 , .6 , .6  
 };
 double sustainVal4[160] = {   //Sustain value of 4
-.65 , .65 , .65 , .65 , 
-.65 , .65 , .65 , .65 , 
-.65 , .65 , .65 , .65 , 
-.65 , .65 , .65 , .65 , 
-.65 , .65 , .65 , .65 , 
-.65 , .65 , .65 , .65 , 
-.65 , .65 , .65 , .65 , 
-.65 , .65 , .65 , .65
+.6 , .6 , .6 , .6 , 
+.6 , .6 , .6 , .6 , 
+.6 , .6 , .6 , .6 , 
+.6 , .6 , .6 , .6 , 
+.6 , .6 , .6 , .6 , 
+.6 , .6 , .6 , .6 , 
+.6 , .6 , .6 , .6 , 
+.6 , .6 , .6 , .6
 };
 double sustainVals3[160] = {  //Sustain value of 3
-.5 , .5 , .5 , .5 , 
-.5 , .5 , .5 , .5 , 
-.5 , .5 , .5 , .5 , 
-.5 , .5 , .5 , .5 , 
-.5 , .5 , .5 , .5 , 
-.5 , .5 , .5 , .5 , 
-.5 , .5 , .5 , .5 , 
-.5 , .5 , .5 , .5
+.6 , .6 , .6 , .6 , 
+.6 , .6 , .6 , .6 , 
+.6 , .6 , .6 , .6 , 
+.6 , .6 , .6 , .6 , 
+.6 , .6 , .6 , .6 , 
+.6 , .6 , .6 , .6 , 
+.6 , .6 , .6 , .6 , 
+.6 , .6 , .6 , .6
 };
 double sustainVals2[160] = {  //Sustain value of 2
-.35 , .35 , .35 , .35 , 
-.35 , .35 , .35 , .35 , 
-.35 , .35 , .35 , .35 , 
-.35 , .35 , .35 , .35 , 
-.35 , .35 , .35 , .35 , 
-.35 , .35 , .35 , .35 , 
-.35 , .35 , .35 , .35 , 
-.35 , .35 , .35 , .35
+.6 , .6 , .6 , .6 , 
+.6 , .6 , .6 , .6 , 
+.6 , .6 , .6 , .6 , 
+.6 , .6 , .6 , .6 , 
+.6 , .6 , .6 , .6 , 
+.6 , .6 , .6 , .6 , 
+.6 , .6 , .6 , .6 , 
+.6 , .6 , .6 , .6
 };
 double sustainVals1[160] = {  //Lowest level of sustain, the note will cap at at an amplitude of .2 - corresponds to sustain value of 1
-.20 , .20 , .20 , .20 ,
-.20 , .20 , .20 , .20 , 
-.20 , .20 , .20 , .20 , 
-.20 , .20 , .20 , .20 , 
-.20 , .20 , .20 , .20 , 
-.20 , .20 , .20 , .20 , 
-.20 , .20 , .20 , .20 , 
-.20 , .20 , .20 , .20
+.6 , .6 , .6 , .6 ,
+.6 , .6 , .6 , .6 , 
+.6 , .6 , .6 , .6 , 
+.6 , .6 , .6 , .6 , 
+.6 , .6 , .6 , .6 , 
+.6 , .6 , .6 , .6 , 
+.6 , .6 , .6 , .6 , 
+.6 , .6 , .6 , .6
 };
 double releaseVals5[32] = {
     };
@@ -384,23 +424,23 @@
 {
     switch(sustainVal){
     case 5:
-        sustainAmplitude = .8;
+        //sustainAmplitude = .8;
         currentSustainTable = sustainVals5;
         break;
     case 4:
-        sustainAmplitude = .65;
+        //sustainAmplitude = .65;
         currentSustainTable = sustainVals4;
         break;
     case 3:
-        sustainAmplitude = .5;
+        //sustainAmplitude = .5;
         currentSustainTable = sustainVals3;
         break;
     case 2:
-        sustainAmplitude = .35;
+        //sustainAmplitude = .35;
         currentSustainTable = sustainVals2;
         break;
     case 1:
-        sustainAmplitude = .2;
+        //sustainAmplitude = .2;
         currentSustainTable = sustainVals1;
         break;
     default: