ReSpeaker Switch V02

Dependencies:   mbed MbedJSONValue

Revision:
12:1b8560db3dff
Parent:
11:db4e51a318c2
Child:
13:b80d07c4f6e6
--- a/main.cpp	Mon Aug 27 10:32:28 2018 +0000
+++ b/main.cpp	Mon Aug 27 12:18:51 2018 +0000
@@ -193,7 +193,7 @@
 // Frequency calculator
 volatile int freqTimeInterval = 0;
 volatile bool dspIntFlag = 0;
-
+volatile bool loopFreqFlag = 0;
 ///////////////
 // Functions //
 ///////////////
@@ -275,7 +275,7 @@
         if (dspIntFlag) {
             double calculatedFrequencyDouble = (double) (TICKS2TOGGLE * 2.0 ) / freqTimeInterval; // Calculated in MHz
             int calculatedFrequency = (int) (calculatedFrequencyDouble * 1000000); // convert to hz
-            if (calculatedFrequency < 10000000) { // cannot be larger
+            if ((calculatedFrequency < 10000000) && loopFreqFlag) { // cannot be larger, update when requested
                 pc.printf("{\"event\":\"dspFreq\",\"Freq\":%d}\r\n",calculatedFrequency); // Printf
             }
             dspIntFlag=0;
@@ -596,11 +596,14 @@
     bool spkChannle[5]= {0};
 
     // get debbug status
-    debuggingEn = guiCmd["debug"].get<int>();
+    debuggingEn = guiCmd["debug"].get<bool>();
 
     // get mic channle
     micChannle = guiCmd["mic"].get<int>();
 
+    // get loop frequency calculator flag
+    loopFreqFlag = guiCmd["LoopFreq"].get<bool>();
+    
     // get speakers output
     for (int ii=0 ; ii < 5 ; ii++) {
         spkChannle[ii] = guiCmd["spk"][ii].get<bool>();
@@ -623,5 +626,5 @@
     en_spk_4.write(spkChannle[3]);
     en_spk_5.write(spkChannle[4]);
     // end switch target parse
-    pc.printf("{\"Ack\":\"switch\",\"mic\":%d,\"spk\":[%d,%d,%d,%d,%d]}\r\n",micChannle,spkChannle[0],spkChannle[1],spkChannle[2],spkChannle[3],spkChannle[4]);
+    pc.printf("{\"Ack\":\"switch\",\"mic\":%d,\"spk\":[%d,%d,%d,%d,%d],\"loopFreqFlag\":%d}\r\n",micChannle,spkChannle[0],spkChannle[1],spkChannle[2],spkChannle[3],spkChannle[4],loopFreqFlag);
 }// end switch packet
\ No newline at end of file