oldexamplecode
Dependencies: mbed
main.cpp@0:6863633bf8a4, 2017-03-24 (annotated)
- Committer:
- rik
- Date:
- Fri Mar 24 11:22:30 2017 +0000
- Revision:
- 0:6863633bf8a4
oldexamplecode;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
rik | 0:6863633bf8a4 | 1 | #include "mbed.h" |
rik | 0:6863633bf8a4 | 2 | #include "DFT.h" |
rik | 0:6863633bf8a4 | 3 | #include "LookupTables.h" |
rik | 0:6863633bf8a4 | 4 | #include "complexmath.h" |
rik | 0:6863633bf8a4 | 5 | #include <math.h> |
rik | 0:6863633bf8a4 | 6 | |
rik | 0:6863633bf8a4 | 7 | |
rik | 0:6863633bf8a4 | 8 | AnalogIn emg1(A0); |
rik | 0:6863633bf8a4 | 9 | Serial pc(USBTX, USBRX); |
rik | 0:6863633bf8a4 | 10 | AnalogIn emg2(A1); |
rik | 0:6863633bf8a4 | 11 | AnalogIn emg3(A2); |
rik | 0:6863633bf8a4 | 12 | AnalogIn emg4(A3); |
rik | 0:6863633bf8a4 | 13 | Ticker ADCTimer; |
rik | 0:6863633bf8a4 | 14 | bool fftflag = false; |
rik | 0:6863633bf8a4 | 15 | int counter; |
rik | 0:6863633bf8a4 | 16 | int PSDmag1; |
rik | 0:6863633bf8a4 | 17 | int PSDmag2; |
rik | 0:6863633bf8a4 | 18 | int PSDmag3; |
rik | 0:6863633bf8a4 | 19 | int PSDmag4; |
rik | 0:6863633bf8a4 | 20 | float sampleddataemg1[1024]; |
rik | 0:6863633bf8a4 | 21 | float sampleddataemg2[1024]; |
rik | 0:6863633bf8a4 | 22 | float sampleddataemg3[1024]; |
rik | 0:6863633bf8a4 | 23 | float sampleddataemg4[1024]; |
rik | 0:6863633bf8a4 | 24 | |
rik | 0:6863633bf8a4 | 25 | |
rik | 0:6863633bf8a4 | 26 | void sampling() |
rik | 0:6863633bf8a4 | 27 | { |
rik | 0:6863633bf8a4 | 28 | while (fftflag == false) { |
rik | 0:6863633bf8a4 | 29 | sampleddataemg1[counter] = emg1; |
rik | 0:6863633bf8a4 | 30 | sampleddataemg2[counter] = emg2; |
rik | 0:6863633bf8a4 | 31 | sampleddataemg3[counter] = emg3; |
rik | 0:6863633bf8a4 | 32 | sampleddataemg4[counter] = emg4; |
rik | 0:6863633bf8a4 | 33 | counter++; |
rik | 0:6863633bf8a4 | 34 | if (counter >= 1024) { |
rik | 0:6863633bf8a4 | 35 | counter =0; |
rik | 0:6863633bf8a4 | 36 | pc.printf ("EMG data from A0 :["); |
rik | 0:6863633bf8a4 | 37 | for (int i=0; i<1024; i++) |
rik | 0:6863633bf8a4 | 38 | pc.printf ("%f,\t",sampleddataemg1[i]); |
rik | 0:6863633bf8a4 | 39 | //pc.printf ("EMG data from A3 :["); |
rik | 0:6863633bf8a4 | 40 | //for (int i=0; i<1024; i++) |
rik | 0:6863633bf8a4 | 41 | // pc.printf ("%f,\t",sampleddataemg4[i]); |
rik | 0:6863633bf8a4 | 42 | fftflag = true; |
rik | 0:6863633bf8a4 | 43 | performFFT(sampleddataemg1, 1024); |
rik | 0:6863633bf8a4 | 44 | //pc.printf ("done 1"); |
rik | 0:6863633bf8a4 | 45 | performFFT(sampleddataemg2, 1024); |
rik | 0:6863633bf8a4 | 46 | //pc.printf ("done 2"); |
rik | 0:6863633bf8a4 | 47 | performFFT(sampleddataemg3, 1024); |
rik | 0:6863633bf8a4 | 48 | //pc.printf ("done 3"); |
rik | 0:6863633bf8a4 | 49 | performFFT(sampleddataemg4, 1024); |
rik | 0:6863633bf8a4 | 50 | pc.printf ("\r\n\r\n\r\n post data from A0 :["); |
rik | 0:6863633bf8a4 | 51 | for (int i=0; i<1024; i++) |
rik | 0:6863633bf8a4 | 52 | pc.printf ("%f,\t",sampleddataemg1[i]); |
rik | 0:6863633bf8a4 | 53 | //pc.printf ("post data from A3 :["); |
rik | 0:6863633bf8a4 | 54 | //for (int i=0; i<1024; i++) |
rik | 0:6863633bf8a4 | 55 | // pc.printf ("%f,\t",sampleddataemg4[i]); |
rik | 0:6863633bf8a4 | 56 | //pc.printf ("EMG data from A1 :["); |
rik | 0:6863633bf8a4 | 57 | //for (int i=0; i<1024; i++) |
rik | 0:6863633bf8a4 | 58 | // pc.printf ("%f,\t",sampleddataemg2[i]); |
rik | 0:6863633bf8a4 | 59 | //pc.printf ("EMG data from A2 :["); |
rik | 0:6863633bf8a4 | 60 | //for (int i=0; i<1024; i++) |
rik | 0:6863633bf8a4 | 61 | // pc.printf ("%f,\t",sampleddataemg3[i]); |
rik | 0:6863633bf8a4 | 62 | //pc.printf ("EMG data from A3 :["); |
rik | 0:6863633bf8a4 | 63 | //for (int i=0; i<1024; i++) |
rik | 0:6863633bf8a4 | 64 | // pc.printf ("%f,\t",sampleddataemg4[i]); |
rik | 0:6863633bf8a4 | 65 | PSDmag1 = calcPSD(sampleddataemg1, 512); |
rik | 0:6863633bf8a4 | 66 | pc.printf ("summed magnitude of A0: %d\r\n",PSDmag1); |
rik | 0:6863633bf8a4 | 67 | PSDmag2 = calcPSD(sampleddataemg2, 512); |
rik | 0:6863633bf8a4 | 68 | //pc.printf ("summed magnitude of A1: %d\r\n",PSDmag2); |
rik | 0:6863633bf8a4 | 69 | PSDmag3 = calcPSD(sampleddataemg3, 512); |
rik | 0:6863633bf8a4 | 70 | //pc.printf ("summed magnitude of A2: %d\r\n",PSDmag3); |
rik | 0:6863633bf8a4 | 71 | PSDmag4 = calcPSD(sampleddataemg4, 512); |
rik | 0:6863633bf8a4 | 72 | //pc.printf ("summed magnitude of A3: %d\r\n",PSDmag4); |
rik | 0:6863633bf8a4 | 73 | fftflag = false; // this need to be false for continuous operation, now it is a one-shot kill |
rik | 0:6863633bf8a4 | 74 | } |
rik | 0:6863633bf8a4 | 75 | } |
rik | 0:6863633bf8a4 | 76 | } |
rik | 0:6863633bf8a4 | 77 | |
rik | 0:6863633bf8a4 | 78 | |
rik | 0:6863633bf8a4 | 79 | int main() |
rik | 0:6863633bf8a4 | 80 | { |
rik | 0:6863633bf8a4 | 81 | ADCTimer.attach(&sampling, 0.1/1024); |
rik | 0:6863633bf8a4 | 82 | pc.baud(19200); |
rik | 0:6863633bf8a4 | 83 | while(1) { |
rik | 0:6863633bf8a4 | 84 | } |
rik | 0:6863633bf8a4 | 85 | |
rik | 0:6863633bf8a4 | 86 | |
rik | 0:6863633bf8a4 | 87 | |
rik | 0:6863633bf8a4 | 88 | |
rik | 0:6863633bf8a4 | 89 | } |