MINI8I8O5A

Files at this revision

API Documentation at this revision

Comitter:
tsuparit
Date:
Tue Oct 13 10:26:26 2015 +0000
Parent:
0:d111e9801c2c
Commit message:
update Share variable with input sampling filter

Changed in this revision

mini8i8o5a.h Show annotated file Show diff for this revision Revisions of this file
diff -r d111e9801c2c -r cf9f7638d5e9 mini8i8o5a.h
--- a/mini8i8o5a.h	Tue Oct 13 08:49:08 2015 +0000
+++ b/mini8i8o5a.h	Tue Oct 13 10:26:26 2015 +0000
@@ -29,4 +29,64 @@
 DigitalIn IN0(PTC7);
 DigitalIn IN1(PTC0);
 
-DigitalOut BUZZER(PTB8);
\ No newline at end of file
+DigitalOut BUZZER(PTB8);
+
+#define updateinputbuffer Input_sampling(512)
+
+unsigned char INPUT,IN[8],OUTPUT;
+
+void Input_sampling(unsigned  int testloop)
+{
+  //default Input_sampling(512)
+ int i;
+ if (testloop<16) testloop=16;
+ 
+ unsigned int Inbuf0=0;
+ unsigned int Inbuf1=0;
+ unsigned int Inbuf2=0;
+ unsigned int Inbuf3=0;
+ unsigned int Inbuf4=0;
+ unsigned int Inbuf5=0;
+ unsigned int Inbuf6=0;
+ unsigned int Inbuf7=0;
+ /*
+ Inbuf0=0;
+ Inbuf1=0;
+ Inbuf2=0;
+ Inbuf3=0;
+ Inbuf4=0;
+ Inbuf5=0;
+ Inbuf6=0;
+ Inbuf7=0;
+ */
+ for (i=0;i<=testloop;i++)
+ {
+    if (IN0==0) Inbuf0++;
+    if (IN1==0) Inbuf1++;
+    if (IN2==0) Inbuf2++;
+    if (IN3==0) Inbuf3++;
+    if (IN4==0) Inbuf4++;
+    if (IN5==0) Inbuf5++;
+    if (IN6==0) Inbuf6++;
+    if (IN7==0) Inbuf7++;
+    
+}  
+#define INACTIVELIMIT  (testloop*3/4)
+for (i=0;i<=7;i++) IN[i]=0;
+if  (Inbuf0> INACTIVELIMIT ) IN[0]=1;
+if  (Inbuf1> INACTIVELIMIT ) IN[1]=2;
+if  (Inbuf2> INACTIVELIMIT ) IN[2]=4;
+if  (Inbuf3> INACTIVELIMIT ) IN[3]=8;
+if  (Inbuf4> INACTIVELIMIT ) IN[4]=16;
+if  (Inbuf5> INACTIVELIMIT ) IN[5]=32;
+if  (Inbuf6> INACTIVELIMIT ) IN[6]=64;
+if  (Inbuf7> INACTIVELIMIT ) IN[7]=128;
+
+
+INPUT=0;
+for (i=0;i<=7;i++)
+{
+ INPUT=INPUT+IN[i];
+}
+    
+}    
\ No newline at end of file