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 36:82fd9d862266, committed 2014-10-17
- Comitter:
- Tanja2211
- Date:
- Fri Oct 17 11:24:22 2014 +0000
- Parent:
- 35:7556e792c260
- Child:
- 37:c5b3935e59a6
- Commit message:
- :)
Changed in this revision
| EMGfilter.cpp | Show annotated file Show diff for this revision Revisions of this file |
--- a/EMGfilter.cpp Fri Oct 17 11:15:18 2014 +0000
+++ b/EMGfilter.cpp Fri Oct 17 11:24:22 2014 +0000
@@ -101,7 +101,7 @@
scope.send();
float B0, B1, B2, B3, B4, B5, B6, B7, B8, B9, MOVAVG_B;
- {
+ {
B0=filtered_emgB;
MOVAVG_B=B0*0.1+B1*0.1+B2*0.1+B3*0.1+B4*0.1+B5*0.1+B7*0.1+B8*0.1+B9*0.1;
B9=B8;
@@ -115,82 +115,79 @@
B1=B0;
}
-
- 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+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;
+
+
+
+ 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();
-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();
+ //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();
-
-}
+ /*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;
+ {
+ T0=filtered_emgT;
+ MOVAVG_T=T0*0.1+T1*0.1+T2*0.1+T3*0.1+T4*0.1+T5*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;
+ }
-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 drempelwaarde=4.99;
- int y;
+ void Antwoord() {
+ float drempelwaarde=4.99;
+ int y;
- if (filtered_emgB > drempelwaarde) {
- y=1;
- } else {
- y=0;
- }
+ if (filtered_emgB > drempelwaarde) {
+ y=1;
+ } else {
+ y=0;
+ }
- if (y==1) {
- pc.printf("Motor 1 beweegt\n");
- } else {
- pc.printf("Motor 1 beweegt niet\n");
+ if (y==1) {
+ pc.printf("Motor 1 beweegt\n");
+ } else {
+ pc.printf("Motor 1 beweegt niet\n");
+ }
}
-}
//drempelwaarde.....
\ No newline at end of file
