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 Sep 30 14:18:21 2014 +0000
Parent:
20:ef5fba817519
Child:
22:9dce7ec48f5d
Commit message:
while loop toegevoegd voor bepalen van de force

Changed in this revision

main.cpp Show annotated file Show diff for this revision Revisions of this file
--- a/main.cpp	Mon Sep 29 13:55:32 2014 +0000
+++ b/main.cpp	Tue Sep 30 14:18:21 2014 +0000
@@ -59,7 +59,7 @@
     * Please mind that the parentheses after looper are omitted when using attach.
     */
     log_timer.attach(looper, 0.001);
-    while(1) { //Loop
+    while(1) { //Loop keuze DIRECTION
         for(int i=1; i<4; i++) {
             if(i==1) {           //red
                 red=0;
@@ -71,7 +71,7 @@
                         blue = 0;
                         green = 0;
                         red=1;
-                        wait(2);                            // Tijdelijke wait om oranje lampje aan te zetten ter controle selectie
+                        wait(2);                            // Tijdelijke wait om cyaan lampje aan te zetten ter controle selectie
                         goto forcechoice;
                     } else {
                         wait(0.1);
@@ -88,7 +88,7 @@
                         blue = 0;
                         green = 1;
                         red=0;
-                        wait(2);                            // Tijdelijke wait om oranje lampje aan te zetten ter controle selectie
+                        wait(2);                            // Tijdelijke wait om paars lampje aan te zetten ter controle selectie
                         goto forcechoice;
                     } else {
                         wait(0.1);
@@ -112,15 +112,66 @@
                     }
                 }
             }
+        }      
+    }
+    while(1) { //Loop keuze FORCE
+    forcechoice:
+        for(int i=1; i<4; i++) {
+            if(i==1) {           //red
+                red=0;
+                green=1;
+                blue=1;
+                for (int lag=0; lag<50; lag++) {
+                    if(emgfloat.read()>0.8) {                    // 0.8 klopt niet als grenswaarde. #nofilter
+                        force = 1;
+                        blue = 0;
+                        green = 0;
+                        red=1;
+                        wait(2);                            // Tijdelijke wait om cyaan lampje aan te zetten ter controle selectie
+                        goto choicesmade;
+                    } else {
+                        wait(0.1);
+                    }
+                }
+            }
+            if(i==2) {           //green
+                red =1;
+                green=0;
+                blue=1;
+                for (int lag=0; lag<50; lag++) {
+                    if(emgfloat.read()>0.8) {                    //0.8 klopt niet als grenswaarde. #nofilter
+                        force = 2;
+                        blue = 0;
+                        green = 1;
+                        red=0;
+                        wait(2);                            // Tijdelijke wait om paars lampje aan te zetten ter controle selectie
+                        goto choicesmade;
+                    } else {
+                        wait(0.1);
+                    }
+                }
+            }
+            if(i==3) {           //blue
+                red=1;
+                green=1;
+                blue=0;
+                for (int lag=0; lag<50; lag++) {
+                    if(emgfloat.read()>0.8) {                    //0.8 klopt niet als grenswaarde. #nofilter
+                        force = 3;
+                        blue = 1;
+                        green = 0;
+                        red=0;
+                        wait(2);                            // Tijdelijke wait om oranje lampje aan te zetten ter controle selectie
+                        goto choicesmade;
+                    } else {
+                        wait(0.1);
+                    }
+                }
+            }
         }
-
-forcechoice:
-        red = 0;
-        green = 0;
-        blue = 0;
-        wait(5);
-
-        /*Empty!*/
-        /*Everything is handled by the interrupt routine now!*/
     }
-}
\ No newline at end of file
+    choicesmade:
+    red = 0;
+    green = 0;
+    blue = 0;
+    }
\ No newline at end of file