oldexamplecode
Dependencies: mbed
main.cpp
- Committer:
- rik
- Date:
- 2017-03-24
- Revision:
- 0:6863633bf8a4
File content as of revision 0:6863633bf8a4:
#include "mbed.h" #include "DFT.h" #include "LookupTables.h" #include "complexmath.h" #include <math.h> AnalogIn emg1(A0); Serial pc(USBTX, USBRX); AnalogIn emg2(A1); AnalogIn emg3(A2); AnalogIn emg4(A3); Ticker ADCTimer; bool fftflag = false; int counter; int PSDmag1; int PSDmag2; int PSDmag3; int PSDmag4; float sampleddataemg1[1024]; float sampleddataemg2[1024]; float sampleddataemg3[1024]; float sampleddataemg4[1024]; void sampling() { while (fftflag == false) { sampleddataemg1[counter] = emg1; sampleddataemg2[counter] = emg2; sampleddataemg3[counter] = emg3; sampleddataemg4[counter] = emg4; counter++; if (counter >= 1024) { counter =0; pc.printf ("EMG data from A0 :["); for (int i=0; i<1024; i++) pc.printf ("%f,\t",sampleddataemg1[i]); //pc.printf ("EMG data from A3 :["); //for (int i=0; i<1024; i++) // pc.printf ("%f,\t",sampleddataemg4[i]); fftflag = true; performFFT(sampleddataemg1, 1024); //pc.printf ("done 1"); performFFT(sampleddataemg2, 1024); //pc.printf ("done 2"); performFFT(sampleddataemg3, 1024); //pc.printf ("done 3"); performFFT(sampleddataemg4, 1024); pc.printf ("\r\n\r\n\r\n post data from A0 :["); for (int i=0; i<1024; i++) pc.printf ("%f,\t",sampleddataemg1[i]); //pc.printf ("post data from A3 :["); //for (int i=0; i<1024; i++) // pc.printf ("%f,\t",sampleddataemg4[i]); //pc.printf ("EMG data from A1 :["); //for (int i=0; i<1024; i++) // pc.printf ("%f,\t",sampleddataemg2[i]); //pc.printf ("EMG data from A2 :["); //for (int i=0; i<1024; i++) // pc.printf ("%f,\t",sampleddataemg3[i]); //pc.printf ("EMG data from A3 :["); //for (int i=0; i<1024; i++) // pc.printf ("%f,\t",sampleddataemg4[i]); PSDmag1 = calcPSD(sampleddataemg1, 512); pc.printf ("summed magnitude of A0: %d\r\n",PSDmag1); PSDmag2 = calcPSD(sampleddataemg2, 512); //pc.printf ("summed magnitude of A1: %d\r\n",PSDmag2); PSDmag3 = calcPSD(sampleddataemg3, 512); //pc.printf ("summed magnitude of A2: %d\r\n",PSDmag3); PSDmag4 = calcPSD(sampleddataemg4, 512); //pc.printf ("summed magnitude of A3: %d\r\n",PSDmag4); fftflag = false; // this need to be false for continuous operation, now it is a one-shot kill } } } int main() { ADCTimer.attach(&sampling, 0.1/1024); pc.baud(19200); while(1) { } }