Janet Huisman / Mbed 2 deprecated EMG_Original_converter_code

Dependencies:   HIDScope MODSERIAL biquadFilter mbed

Fork of EMG_converter_code by K K

Files at this revision

API Documentation at this revision

Comitter:
Technical_Muffin
Date:
Tue Oct 27 09:28:17 2015 +0000
Parent:
4:fd29407c3115
Child:
6:ec965bb75d40
Commit message:
emg code with working calibrator but doesn't start reading emg. Possibly because of the while loop

Changed in this revision

main.cpp Show annotated file Show diff for this revision Revisions of this file
--- a/main.cpp	Mon Oct 26 14:22:40 2015 +0000
+++ b/main.cpp	Tue Oct 27 09:28:17 2015 +0000
@@ -5,6 +5,7 @@
 //Define objects
 AnalogIn    emg(A0); //Analog of EMG input
 Ticker      sample_timer;
+Ticker      motor_timer;
 HIDScope    scope(2);        // Instantize a 2-channel HIDScope object
 DigitalIn button1(PTA4);//test button for starting motor 1
 DigitalOut led1(LED_RED);
@@ -36,14 +37,19 @@
         scope.set(0,emg_value);//set emg signal to scope in channel 1
         scope.set(1,onoffsignal);//set filtered signal to scope in channel 2
     scope.send();//send the signals to the scope
+        pc.printf("emg signal %f, filtered signal %f /n",emg_value,onoffsignal);
 }
-double normalcal(){
-    double signalmeasure =emg.read();
-    if (signalmeasure > maxcal){
-        signalmeasure = maxcal;
-        }
-    return maxcal;
-}
+
+void checkmotor(){
+    if(onoffsignal<=0.02){
+             led1.write(0);
+             led2.write(1);
+             }
+    else if(onoffsignal >= 0.05){
+                 led1.write(1);
+                 led2.write(0);
+             }
+             }
 
 int main()
 {
@@ -53,28 +59,22 @@
     bool calyes=0;
 
     if(calyes==1){
+        pc.printf("start the emg.read");
         sample_timer.attach(&filter, 0.002);//continously execute the EMG reader and filter
+        motor_timer.attach(&filter, 0.002);//continously execute the motor controller
         }
-        while(1){
-                 if(button1.read()==false){
-                     for(int n =0; n<5000;n++){
-                             double signalmeasure =emg.read();
-                             pc.printf("%d", signalmeasure);
-                             if (signalmeasure > maxcal){
-                                 signalmeasure = maxcal;
+while(1){                     if(button1.read()==false){
+                             for(int n =0; n<5000;n++){
+                                 double signalmeasure =emg.read();
+                                 pc.printf("%f \n", signalmeasure);
+                                 if (signalmeasure > maxcal){
+                                     maxcal = signalmeasure;
+                                     }
                                  }
                                  calyes=1;
-                      }
+                                 pc.printf("the max emg value is %f and calyes is %d", maxcal, calyes);
                   }  
-                   
-              //     pc.printf("%f \n", onoffsignal);
-            if(onoffsignal<=0.02){
-             led1.write(0);
-             led2.write(1);
-             }
-             else if(onoffsignal >= 0.05){
-                 led1.write(1);
-                 led2.write(0);
-             }
-        }     
+            
+
+}     
 }
\ No newline at end of file