EMG filtering; highpass, notch, abs, moving average

Dependencies:   HIDScope MODSERIAL- mbed-dsp mbed

Files at this revision

API Documentation at this revision

Comitter:
Hooglugt
Date:
Tue Oct 07 11:54:53 2014 +0000
Parent:
32:aaf01b1bf05d
Child:
34:e166187e62ce
Commit message:
if statement toegevoegd in de force while, die controleert of direction is gereset of niet

Changed in this revision

Project_main.cpp Show annotated file Show diff for this revision Revisions of this file
--- a/Project_main.cpp	Tue Oct 07 10:13:12 2014 +0000
+++ b/Project_main.cpp	Tue Oct 07 11:54:53 2014 +0000
@@ -16,7 +16,7 @@
 PwmOut      green(LED_GREEN);
 PwmOut      blue(LED_BLUE);
 
-int8_t         direction = 0; 
+int8_t         direction = 0;
 int8_t         force = 0;
 
 Ticker log_timer;
@@ -53,7 +53,6 @@
         direction = 0;
         force = 0;              // WEGHALEN, wanneer in uiteindelijke script na force keuzen niet meer gereset kan worden (voor nu wel handig)
         pc.printf("reset ");
-        goto directionchoice; //<--- dit kan NATUURLIJK NIET, dus iets wat vervolgens checked of directionchoice en/of force is bepaald in de mainloop en dan een goto maken
     }
 }
 
@@ -135,7 +134,9 @@
                 red=0;
                 green=1;
                 blue=1;
-                //TE DOEN een if statement die controleert of direction 0 is (dus of triceps gereset is)
+                if(direction==0){                                   //if statement die controleert of direction 0 is (dus of triceps gereset is)
+                    goto directionchoice;
+                }                   
                 for (int lag=0; lag<TIMEBETWEENBLINK; lag++) {
                     if(emg_bifloat.read()>0.8) {                    // 0.8 klopt niet als grenswaarde. #nofilter
                         force = 1;
@@ -154,7 +155,9 @@
                 red =1;
                 green=0;
                 blue=1;
-                //TE DOEN een if statement die controleert of direction 0 is (dus of triceps gereset is)
+                if(direction==0){                                   //if statement die controleert of direction 0 is (dus of triceps gereset is)
+                    goto directionchoice;
+                } 
                 for (int lag=0; lag<TIMEBETWEENBLINK; lag++) {
                     if(emg_bifloat.read()>0.8) {                    //0.8 klopt niet als grenswaarde. #nofilter
                         force = 2;
@@ -173,7 +176,9 @@
                 red=1;
                 green=1;
                 blue=0;
-                //TE DOEN een if statement die controleert of direction 0 is (dus of triceps gereset is)
+                if(direction==0){                                   //if statement die controleert of direction 0 is (dus of triceps gereset is)
+                    goto directionchoice;
+                }                                                   
                 for (int lag=0; lag<TIMEBETWEENBLINK; lag++) {
                     if(emg_bifloat.read()>0.8) {                    //0.8 klopt niet als grenswaarde. #nofilter
                         force = 3;
@@ -191,9 +196,9 @@
         }
     }
 choicesmade:
- 
+
     /* Vanaf hier komt de aansturing van de motor (inclusief de controller)*/
-    
+
     if(direction == 1 && force == 1) {            // links zwak
         pc.printf("links zwak");
     }
@@ -221,10 +226,11 @@
     if(direction == 3 && force == 3) {            // rechts sterk
         pc.printf("rechts sterk");
     }
-    if(direction == 0 || force == 0) {            // wanneer de triceps in de korte tijd is aangespannen nadat beide keuzes zijn gemaakt 
+    if(direction == 0 || force == 0) {            // wanneer de triceps in de korte tijd is aangespannen nadat beide keuzes zijn gemaakt
         pc.printf("error");
+        // mogelijkheid om een goto te maken naar directionchoice (opzich wel handig)
     }
-    
+
     red = 0;
     green = 0;
     blue = 0;           // wit lampje