ReSpeaker DSP V02

Dependencies:   mbed MbedJSONValue

Revision:
9:7e20c1e5a354
Parent:
8:8a3e6241c104
Child:
10:273127efdc6e
--- a/main.cpp	Wed Aug 22 12:57:13 2018 +0000
+++ b/main.cpp	Sun Aug 26 09:55:14 2018 +0000
@@ -1,6 +1,6 @@
 ////////////////////////////////////////
 //      Tau_ReSpeaker_DSP V01         //
-//  Arkadiraf@gmail.com - 09/04/2018  //
+//  Arkadiraf@gmail.com - 26/08/2018  //
 ////////////////////////////////////////
 /*
  Json Format: json:{"name":"dsp","mode":"off"}\r\n
@@ -29,9 +29,9 @@
 
     Digital output
     PA_5 --> led (DigitalOut)
-
+    PA_10 --> DSP_Trigger
+    
     Digital Input
-    PA_10 --> SW_Trigger
     PC_13 --> BTN (Blue)
 
     PA_6  --> Toggle Pin (Loop Freq D12)
@@ -68,6 +68,8 @@
 #define HEADER_SIZE 5
 #define FOOTER_SIZE 2
 
+// Frequency counter
+#define TICKS2TOGGLE 1000000
 /////////////
 // Objects //
 /////////////
@@ -82,7 +84,7 @@
 
 // digital
 DigitalIn user_button(PC_13);
-DigitalIn sw_trigger(PA_10);// D2
+DigitalOut dsp_trigger(PA_10);// D2
 DigitalOut led(PA_5);       // D13
 DigitalOut mytoggle(PA_6);  // D12
 
@@ -99,6 +101,11 @@
 // variables //
 ///////////////
 
+// Frequency counter
+uint32_t toggleCounter = 0;
+// toogle pin state
+bool toggleCounterState = 0;
+
 // json buffer
 char json[MSG_BUFFER_SIZE];
 
@@ -151,6 +158,8 @@
 uint32_t preBufferSizeSet = 1000;
 uint32_t bufferCountDown = bufferSizeSet - preBufferSizeSet;
 float bufferADC[5000] = {0};
+
+
 ///////////////
 // Functions //
 ///////////////
@@ -233,6 +242,13 @@
         toggelState=!toggelState;
         mytoggle.write(toggelState);
 #endif
+        // Frequency counter
+        toggleCounter++;
+        if (toggleCounter == TICKS2TOGGLE){
+            toggleCounter=0;
+            toggleCounterState = !toggleCounterState;
+            dsp_trigger.write(toggleCounterState);
+        }
     } // end loop
 } // end main