MCP3008 Version

Dependencies:   mbed-rtos mbed mcp3008

Fork of KIK01_Proto01 by Ryo Od

Revision:
2:8dff77a1ee4d
Parent:
1:f9b967ae26e4
Child:
3:f89b400cfe57
diff -r f9b967ae26e4 -r 8dff77a1ee4d main.cpp
--- a/main.cpp	Sun Jun 04 05:33:49 2017 +0000
+++ b/main.cpp	Sun Jun 04 05:53:01 2017 +0000
@@ -5,7 +5,7 @@
 #define TITLE_STR2      ("20170604")
 
 #define PI_F            (3.1415926f)
-#define SAMPLING_RATE   (16000)
+#define SAMPLING_RATE   (96000)
 #define SAMPLING_PERIOD (1.0f/SAMPLING_RATE)
 
 #define ENVELOPE_PERIOD     (500)
@@ -90,8 +90,8 @@
     FREQUENCY_ATTACK, FREQUENCY_RELEASE, 880.0f, 120.0f, 40.0f, 0.36f, 0.1f);
 EnvelopeAR envelopeAmplitude(AMPLITUDE_ATTACK, AMPLITUDE_RELEASE, 0.9f, 1.0f, 0.0f);
 
-int ticks = 0;
-int envelopeTicks = 0;
+int ticks;
+int envelopeTicks;
 float frequency;
 float phi;
 float phiDelta;
@@ -123,6 +123,16 @@
     }
 }
 
+void update()
+{
+    ticks--;
+    if (ticks == 0) {
+        ticks = SAMPLING_RATE / 1000;
+        generateEnvelope();
+    }
+    generateWave();
+}
+
 int main()
 {
     printf("%s %s\r\n", TITLE_STR1, TITLE_STR2);
@@ -131,8 +141,11 @@
     phiDelta = 2.0f * frequency / SAMPLING_RATE;
     amplitude = 1.0f;
     
-    Ticker waveTicker;
-    waveTicker.attach(&generateWave, SAMPLING_PERIOD);
+    ticks = SAMPLING_RATE / 1000;
+    envelopeTicks = 0;
     
+    Ticker samplingTicker;
+    samplingTicker.attach(&update, SAMPLING_PERIOD);
+        
     for (;;) {}
 }