Er is uitleg bijgeschreven en pwm_percentage heeft een andere naam

Dependencies:   Encoder HIDScope MODSERIAL mbed-dsp mbed

Fork of Lampje_EMG_Gr6 by Iris van Leeuwen

Files at this revision

API Documentation at this revision

Comitter:
jessekaiser
Date:
Wed Oct 15 14:11:33 2014 +0000
Parent:
0:db396b9f4b4c
Child:
2:39e1bde54e73
Commit message:
poging 1;

Changed in this revision

main.cpp Show annotated file Show diff for this revision Revisions of this file
--- a/main.cpp	Wed Oct 15 14:07:03 2014 +0000
+++ b/main.cpp	Wed Oct 15 14:11:33 2014 +0000
@@ -7,7 +7,7 @@
 DigitalOut myled1(LED_RED);
 DigitalOut myled2(LED_GREEN);
 DigitalOut myled3(LED_BLUE);
-PwmOut     filtered_emg(PTD4); 
+PwmOut     motorsignal(PTD4);
 
 //Define objects
 AnalogIn    emg0(PTB1); //Analog input
@@ -23,6 +23,7 @@
 float highpass_const[] = {0.956542835577484, -1.913085671154968, 0.956542835577484, 1.911196288237583, -0.914975054072353};
 //state values
 float highpass_states[4];
+float filtered_emg;
 
 
 /** Looper function
@@ -38,11 +39,13 @@
 * in the example below, the variable is not re-used in the main function, and is thus declared
 * local in the looper function only.
 **/
+
+
 void looper()
 {
-    /*variable to store value in*/    
+    /*variable to store value in*/
     uint16_t emg_value;
-    float filtered_emg;
+
     float emg_value_f32;
     /*put raw emg value both in red and in emg_value*/
     emg_value = emg0.read_u16(); // read direct ADC result, converted to 16 bit integer (0..2^16 = 0..65536 = 0..3.3V)
@@ -52,7 +55,7 @@
     arm_biquad_cascade_df1_f32(&highpass, &emg_value_f32, &filtered_emg, 1 );
     filtered_emg = fabs(filtered_emg);
     arm_biquad_cascade_df1_f32(&lowpass, &filtered_emg, &filtered_emg, 1 );
-    
+
     /*send value to PC. */
     scope.set(0,emg_value);     //uint value
     scope.set(1,filtered_emg);  //processed float
@@ -75,11 +78,11 @@
 }
 
 int main()
-{   
+{
     pc.baud(115200);
-    
+
     Ticker log_timer;
-   //set up filters. Use external array for constants
+    //set up filters. Use external array for constants
     arm_biquad_cascade_df1_init_f32(&lowpass,1 , lowpass_const, lowpass_states);
     arm_biquad_cascade_df1_init_f32(&highpass,1 ,highpass_const,highpass_states);
 
@@ -88,53 +91,49 @@
     * Please mind that the parentheses after looper are omitted when using attach.
     */
     log_timer.attach(looper, 0.001);
-    while(1) //Loop
-    {
-      /*Empty!*/
-      /*Everything is handled by the interrupt routine now!*/
-      {
-    char c = '0';
-    while(1) {
-        pc.printf("Het programma blijft knipperen totdat er op '1' wordt gedrukt.\n");
-        do {
-            myled1 = 1;
-            myled2 = 1;
-            myled3 = 1;
-            wait(1);
-            myled1 = 1;
-            myled2 = 0;
-            myled3 = 1;
-            wait(1);
-            if(pc.readable()) {
-                c = pc.getc();
+    while(1) { //Loop
+        /*Empty!*/
+        /*Everything is handled by the interrupt routine now!*/
+        {
+            char c = '0';
+            while(1) {
+                pc.printf("Het programma blijft knipperen totdat er op '1' wordt gedrukt.\n");
+                do {
+                    myled1 = 1;
+                    myled2 = 0;
+                    myled3 = 1;
+
+
+                }
             }
-        } while(filtered_emg < 0.04);
-        //c = pc.getc();
-        while(filtered_emg.read() > 0.04) {     //Wanneer er op 1 wordt gedrukt gaat het lampje rood knipperen
-            c = '0';
-            BlinkRed(2);
-
-            if (pc.readable()) { //Wanneer er binnen de vastgestelde tijd weer op 1 wordt gedrukt, gaat het lampje blauw knipperen, anders reset.
-                c = pc.getc();
+            while(filtered_emg < 0.04);
+            //c = pc.getc();
+            while(filtered_emg > 0.04) {    //Wanneer het EMG signaal een piek geeft wordt het volgende uitgevoerd.
                 c = '0';
-                myled1 = 1;
-                myled2 = 1;
-                myled3 = 1;
-                wait(1);
-                myled1 = 1;
-                myled2 = 1;
-                myled3 = 0;
-                wait(1);
-                myled1 = 1;
-                myled2 = 1;
-                myled3 = 1;
-                wait(1);
-                myled1 = 1;
-                myled2 = 1;
-                myled3 = 0;
-                wait(1);}
-             else if (c != '1') {
-                 break; }
+                BlinkRed(2);
+
+                if (pc.readable()) { //Wanneer er binnen de vastgestelde tijd weer op 1 wordt gedrukt, gaat het lampje blauw knipperen, anders reset.
+                    c = pc.getc();
+                    c = '0';
+                    myled1 = 1;
+                    myled2 = 1;
+                    myled3 = 1;
+                    wait(1);
+                    myled1 = 1;
+                    myled2 = 1;
+                    myled3 = 0;
+                    wait(1);
+                    myled1 = 1;
+                    myled2 = 1;
+                    myled3 = 1;
+                    wait(1);
+                    myled1 = 1;
+                    myled2 = 1;
+                    myled3 = 0;
+                    wait(1);
+                } else if (c != '1') {
+                    break;
+                }
 
                 if(pc.readable()) {
                     c = pc.getc();
@@ -147,7 +146,7 @@
             }
         }
     }
-    }
+}
 }
 
 int i;
@@ -161,11 +160,10 @@
 void b (void)
 {
     int i;
-    
+
     i=66;
     int j = a();
     pc.print(i);
- }
+}
 
 b();
-    
\ No newline at end of file