A program to automatically tune a guitar. Written by Justin Reidhead and Steven Swenson

Dependencies:   FFT FrequencyFinder Motor NewTextLCD PinDetect mbed strings

Revision:
9:2a211133e79a
Parent:
8:651fbf5ae98a
Child:
10:4566e8aeb3ae
--- a/FrequencyFinder/FrequencyFinder.cpp	Fri Apr 20 21:27:55 2012 +0000
+++ b/FrequencyFinder/FrequencyFinder.cpp	Tue Apr 24 20:43:25 2012 +0000
@@ -2,7 +2,7 @@
 
 using namespace std;
 
-FrequencyFinder::FrequencyFinder(PinName input) : _signal_in(input), _dc_offset(p18){
+FrequencyFinder::FrequencyFinder(PinName input) : _signal_in(input), _dc_offset(p18) {
     index=0;
     peak=0;
     frequency_final=0;
@@ -19,7 +19,7 @@
     wait(1);
     ticker.detach();
 
-    vRealFFT(signal_array-1,size);
+    copy_data();
 
     take_abs();
 
@@ -32,7 +32,7 @@
 
 void FrequencyFinder::get_data() {
     if (index<size) {
-        signal_array[index]=_signal_in.read();//-0.5);
+        signal_array[index]=_signal_in.read()-0.5;
         index++;
     }
 }
@@ -94,4 +94,10 @@
     for (int w=0; w<size; w++) {
         signal_array[w]=0;
     }
+}
+
+void FrequencyFinder::copy_data() {
+    for (int i=0; i<size/2; i++) {
+        signal_array[i+(size/2)]=signal_array[i];
+    }
 }
\ No newline at end of file