script zover

Dependencies:   HIDScope MODSERIAL mbed

Revision:
14:4c33f6240118
Parent:
13:23130c3a37b1
Child:
15:2adb036a191f
--- a/main.cpp	Wed Oct 22 10:46:51 2014 +0000
+++ b/main.cpp	Wed Oct 22 12:51:15 2014 +0000
@@ -22,10 +22,13 @@
 #define TSAMP 0.001
 
 AnalogIn    emg1(PTB1);
-AnalogIn    emg2(PTB0);
+AnalogIn    emg2(PTB2);
+
+DigitalOut  red(LED1);
+DigitalOut  blue(LED2);
 
 MODSERIAL pc(USBTX,USBRX);
-HIDScope scope(5);
+HIDScope scope(4);
 Ticker timer;
 volatile bool looptimerflag;
 
@@ -35,6 +38,8 @@
 float ysum1 = 0, yave1=0 ;
 float ysum2 = 0, yave2=0 ;
 
+int set;
+
 float readEMG1()
 {
 
@@ -123,13 +128,10 @@
 
 void viewer()
 {
-    scope.set(0,emg_value1);
-    scope.set(1,ylp1);
-    scope.set(2,yave1);
-    scope.set(3,ylp2);
-    scope.set(4,yave2);
- 
-    
+    scope.set(0,ylp1);
+    scope.set(1,yave1);
+    scope.set(2,ylp2);
+    scope.set(3,yave2);  
     scope.send();
 }
 
@@ -138,43 +140,57 @@
     looptimerflag = true;
 }
 
+float filter1(float emg_value1)
+{
+        static int n;
+        yn1 = notchfilter1(emg_value1);
+        yhp1 = hpfilter1(yn1);  
+        ylp1 = lpfilter1(yhp1);  
+        ylp1 = fabs(ylp1);  
+        ysum1 = ysum1+ylp1;
+        n++;
+                 
+        if(n==100) {
+            yave1 = ysum1/100;
+            ysum1 = 0;
+            n = 0;
+        }
+        return yave1;
+}
+
+float filter2(float emg_value2)
+{
+        static int n;
+        yn2 = notchfilter2(emg_value2);
+        yhp2 = hpfilter2(yn2);  
+        ylp2 = lpfilter2(yhp2); 
+        ylp2 = fabs(ylp2);
+        ysum2 = ysum2 + ylp2;
+        n++;
+       
+        if(n==100) {
+            yave2 = ysum2/100;
+            ysum2 = 0;
+            n = 0;
+        }
+        return yave2;
+}
+        
 int main()
 {
     pc.baud(115200);
     timer.attach(setlooptimerflag,TSAMP);
-    int n = 0;
-    int m = 0;
+    
     while(1) {
 
         while(!looptimerflag);
         looptimerflag = false;
-        emg_value1 =  readEMG1();
-        
-        yn1 = notchfilter1(emg_value1);
-        yhp1 = hpfilter1(yn1);  
-        ylp1 = lpfilter1(yhp1);      
-        ysum1 = ysum1+sqrt(ylp1*ylp1);
-        n++;
-        
-        if(n==100) {
-            yave1 = abs(ysum1/100);
-            ysum1 = 0;
-            n = 0;
-            }
-
-        emg_value2 =  readEMG2();
-        yn2 = notchfilter2(emg_value2);
-        yhp2 = hpfilter2(yn2);  
-        ylp2 = lpfilter2(yhp2);       
-        ysum2 = ysum2 +sqrt(ylp2*ylp2);
-        m++;
-       
-        if(m==1000) {
-            yave2 = abs(ysum2/1000);
-            ysum2 = 0;
-            m = 0;
-            }
-
-         viewer();               
+        emg_value1 =  readEMG1();  
+        emg_value2 =  readEMG2();   
+        yave1 = filter1(emg_value1);
+        yave2 = filter2(emg_value2);
+              
+    
+       viewer();               
     }
 }
\ No newline at end of file