MINI8I8O5A
Revision 1:cf9f7638d5e9, committed 2015-10-13
- 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