Galileo Hand Basic Example implemented on FRDM K64F

Dependencies:   NOKIA_5110 mbed-dsp mbed

Fork of Nucleo_EMG_Galileo_Hand by Julio Fajardo

Revision:
2:12f979d695db
Parent:
1:9472990d8bb4
Child:
3:f784301a5166
--- a/main.cpp	Wed Aug 12 17:55:22 2015 +0000
+++ b/main.cpp	Wed Aug 12 18:05:29 2015 +0000
@@ -10,15 +10,12 @@
 AnalogIn   E3(A3);
  
 float32_t EMG1, EMG2, EMG3;
-float32_t samples[100];
-float32_t samples2[100];
-float32_t samples3[100];
-float32_t abs_output[100];
-float32_t abs_output2[100];
-float32_t abs_output3[100];
-float32_t samplesfi[128]; 
-float32_t samplesfi2[128];
-float32_t samplesfi3[128];
+float32_t samples[25];
+float32_t samples2[25];
+float32_t samples3[25];
+float32_t abs_output[25];
+float32_t abs_output2[25];
+float32_t abs_output3[25];
 float32_t mean = 0.0f, mean2 = 0.0f, mean3 = 0.0f;
 uint8_t COCO = 0;
 
@@ -46,13 +43,6 @@
     __set_PRIMASK(m);
     COCO = 1;
 }
-
-float32_t h[29] = {
-     0.005122283331907f,0.005887141527430f,0.008108906860497f,0.011692906924201f,0.016472293441426f,0.022216298876727f,0.028641952887652f,0.035428649080362f,
-     0.042234794064957f,0.048715653723188f,0.054541442583407f,0.059414685262420f,0.063085915202651f,0.065366863558607f,0.0661404253491338f,0.065366863558607f,
-     0.063085915202651f,0.059414685262420f,0.054541442583407f,0.048715653723188f,0.042234794064957f,0.035428649080362f,0.028641952887652f,0.022216298876727f,
-     0.016472293441426f,0.011692906924201f,0.008108906860497f,0.005887141527430f,0.005122283331907f
-}; 
  
 int main() {
   pc.baud(115200);                                  //Serial com at 115200 bauds
@@ -62,15 +52,12 @@
   while(1) { 
     if(COCO){
         //mean for threshold
-        arm_abs_f32(samples, abs_output, 100);       //rectifier
-        arm_abs_f32(samples2, abs_output2, 100);     //rectifier
-        arm_abs_f32(samples3, abs_output3, 100);     //rectifier
-        arm_conv_f32(abs_output,100,h,29,samplesfi);//low pass filter
-        arm_conv_f32(abs_output2,100,h,29,samplesfi2);//low pass filter
-        arm_conv_f32(abs_output3,100,h,29,samplesfi3);//low pass filter
-        arm_mean_f32(samplesfi, 128, &mean);
-        arm_mean_f32(samplesfi2, 128, &mean2);
-        arm_mean_f32(samplesfi3, 128, &mean3); 
+        arm_abs_f32(samples, abs_output, 25);       //rectifier
+        arm_abs_f32(samples2, abs_output2, 25);     //rectifier
+        arm_abs_f32(samples3, abs_output3, 25);     //rectifier
+        arm_mean_f32(abs_output, 25, &mean);
+        arm_mean_f32(abs_output, 25, &mean2);
+        arm_mean_f32(abs_output, 25, &mean3); 
         if ((mean>0.009f)&&(mean2>0.007f)&&(mean3>0.007f)) {
             myled = 0;
         }