Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: HIDScope MODSERIAL mbed-dsp mbed
Fork of emg_filter by
Revision 45:7950fa411107, committed 2014-10-20
- Comitter:
- Tanja2211
- Date:
- Mon Oct 20 08:33:41 2014 +0000
- Parent:
- 44:b47f559826ba
- Child:
- 46:d090e41fb61f
- Commit message:
- hakjes
Changed in this revision
| EMGfilter.cpp | Show annotated file Show diff for this revision Revisions of this file |
--- a/EMGfilter.cpp Mon Oct 20 08:16:25 2014 +0000
+++ b/EMGfilter.cpp Mon Oct 20 08:33:41 2014 +0000
@@ -99,7 +99,7 @@
scope.set(0,emg_valueB); //uint value
scope.set(1,filtered_emgB); //processed float
scope.send();
-
+
// Moving Average Filter Biceps
float B0, B1, B2, B3, B4, B5, B6, B7, B8, B9, MOVAVG_B;
@@ -117,126 +117,130 @@
B1=B0;
}
+}
// Triceps EMG lezen
- void looperT() {
- /*variable to store value in*/
- uint16_t emg_valueT;
+void looperT()
+{
+ /*variable to store value in*/
+ uint16_t emg_valueT;
- float emg_value_f32T;
- /*put raw emg value both in red and in emg_value*/
- emg_valueT = emgT.read_u16(); // read direct ADC result, converted to 16 bit integer (0..2^16 = 0..65536 = 0..3.3V)
- emg_value_f32T = emgT.read();
+ float emg_value_f32T;
+ /*put raw emg value both in red and in emg_value*/
+ emg_valueT = emgT.read_u16(); // read direct ADC result, converted to 16 bit integer (0..2^16 = 0..65536 = 0..3.3V)
+ emg_value_f32T = emgT.read();
- //process emg
- arm_biquad_cascade_df1_f32(&highpass, &emg_value_f32T, &filtered_emgT, 1 );
- filtered_emgT = fabs(filtered_emgT);
- arm_biquad_cascade_df1_f32(&lowpass, &filtered_emgT, &filtered_emgT, 1 );
+ //process emg
+ arm_biquad_cascade_df1_f32(&highpass, &emg_value_f32T, &filtered_emgT, 1 );
+ filtered_emgT = fabs(filtered_emgT);
+ arm_biquad_cascade_df1_f32(&lowpass, &filtered_emgT, &filtered_emgT, 1 );
- /*send value to PC. */
- scope.set(2,emg_valueT); //uint value
- scope.set(3,filtered_emgT); //processed float
- scope.send();
-
- // Moving Average Filter Triceps
+ /*send value to PC. */
+ scope.set(2,emg_valueT); //uint value
+ scope.set(3,filtered_emgT); //processed float
+ scope.send();
- float T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, MOVAVG_T;
+ // Moving Average Filter Triceps
- T0=filtered_emgT;
- MOVAVG_T=T0*0.1+T1*0.1+T2*0.1+T3*0.1+T4*0.1+T5*0.1+T6*0.1+T7*0.1+T8*0.1+T9*0.1;
+ float T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, MOVAVG_T;
+
+ T0=filtered_emgT;
+ MOVAVG_T=T0*0.1+T1*0.1+T2*0.1+T3*0.1+T4*0.1+T5*0.1+T6*0.1+T7*0.1+T8*0.1+T9*0.1;
- T9=T8;
- T8=T7;
- T7=T6;
- T6=T5;
- T5=T4;
- T4=T3;
- T3=T2;
- T2=T1;
- T1=T0;
+ T9=T8;
+ T8=T7;
+ T7=T6;
+ T6=T5;
+ T5=T4;
+ T4=T3;
+ T3=T2;
+ T2=T1;
+ T1=T0;
-
- }
+}
+}
- int main() {
- Ticker log_timer;
- //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);
+int main()
+{
+ Ticker log_timer;
+ //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);
- /**Here you attach the 'void looper(void)' function to the Ticker object
- * The looper() function will be called every 0.01 seconds.
- * Please mind that the parentheses after looper are omitted when using attach.
- */
- log_timer.attach(looperB, 0.005);//??
- log_timer.attach(looperT, 0.005);//??
- while(1) { //Loop
- /*Empty!*/
- /*Everything is handled by the interrupt routine now!*/
- }
+ /**Here you attach the 'void looper(void)' function to the Ticker object
+ * The looper() function will be called every 0.01 seconds.
+ * Please mind that the parentheses after looper are omitted when using attach.
+ */
+ log_timer.attach(looperB, 0.005);//??
+ log_timer.attach(looperT, 0.005);//??
+ while(1) { //Loop
+ /*Empty!*/
+ /*Everything is handled by the interrupt routine now!*/
}
+}
//filtered_emgB
//filtered_emgT
- void Antwoord() {
- float drempelwaardeT=4.99;
- int y;
+void Antwoord()
+{
+ float drempelwaardeT=4.99;
+ int y;
- if (MOVAVG_Tf > drempelwaardeT) {
- y=1;
- } else {
- y=0;
- }
+ if (MOVAVG_T > drempelwaardeT) {
+ y=1;
+ } else {
+ y=0;
+ }
- if (y==1) {
- pc.printf("Motor 2 beweegt\n");
- } else {
- pc.printf("Motor 2 beweegt niet\n");
- }
+ if (y==1) {
+ pc.printf("Motor 2 beweegt\n");
+ } else {
+ pc.printf("Motor 2 beweegt niet\n");
+ }
- void Antwoord() {
- float drempelwaardeB1=4.99;
- float drempelwaardeB2=6
- float drempelwaardeB3=10
- int yB1;
- int yB2;
- int yB3;
+ void Antwoord() {
+ float drempelwaardeB1=4.99;
+ float drempelwaardeB2=6;
+ float drempelwaardeB3=10;
+ int yB1;
+ int yB2;
+ int yB3;
- if (MOVAVG_B > drempelwaarde1) {
- yB1=1;
- if MOVAVG_B > drempelwaarde2 {
- yB2=1;
- if MOVAVG_B > drempeldwaarde3{
- yB3=1;
- } else {
- yB3=0
- }
+ if (MOVAVG_B > drempelwaarde1) {
+ yB1=1;
+ if MOVAVG_B > drempelwaarde2 {
+ yB2=1;
+ if MOVAVG_B > drempeldwaarde3{
+ yB3=1;
} else {
- yB2=0
+ yB3=0
+ }
+ } else {
+ yB2=0
- }
- else {
- yB1=0;
+ }
+ else {
+ yB1=0;
+ }
+ int snelheidsstand;
+ int yB1, yB2, yB3;
+ snelheidsstand=yB1+yB2+yB3;
+ if (snelheidsstand==1) {
+ pc.printf("Motor 1 beweegt met snelheid 1\n");
+ } else {
+ pc.printf("Motor 2 beweegt niet\n");
}
-int snelheidsstand;
-int yB1, yB2, yB3;
-snelheidsstand=yB1+yB2+yB3;
- if (snelheidsstand==1) {
- pc.printf("Motor 1 beweegt met snelheid 1\n");
- } else {
- pc.printf("Motor 2 beweegt niet\n");
- }
- if (snelheidsstand==2) {
- pc.printf("Motor 1 beweegt met snelheid 2\n");
- } else {
- pc.printf("\n");
- }
- if (snelheidsstand==3) {
- pc.printf("Motor 1 beweegt met snelheid 3\n");
- } else {
- pc.printf("\n");
+ if (snelheidsstand==2) {
+ pc.printf("Motor 1 beweegt met snelheid 2\n");
+ } else {
+ pc.printf("\n");
}
+ if (snelheidsstand==3) {
+ pc.printf("Motor 1 beweegt met snelheid 3\n");
+ } else {
+ pc.printf("\n");
}
+ }
