MINI8I8O5A

mini8i8o5a.h

Committer:
tsuparit
Date:
2015-10-13
Revision:
1:cf9f7638d5e9
Parent:
0:d111e9801c2c

File content as of revision 1:cf9f7638d5e9:

#define ON  1
#define OFF 0


AnalogIn   ain0(A0);
AnalogIn   ain1(A1);
AnalogIn   ain2(A2);
AnalogIn   ain3(A3);
AnalogIn   ain4(A4);
AnalogIn   ain5(A5);

DigitalOut OUT7(PTE5);
DigitalOut OUT6(PTE4);
DigitalOut OUT5(PTE3);
DigitalOut OUT4(PTE2);

DigitalOut OUT0(PTB11);
DigitalOut OUT3(PTB10);
DigitalOut OUT2(PTC12);
DigitalOut OUT1(PTC13);


DigitalIn IN7(PTE20);
DigitalIn IN6(PTE21);
DigitalIn IN5(PTE29);
DigitalIn IN4(PTC5);
DigitalIn IN3(PTC4);
DigitalIn IN2(PTC3);
DigitalIn IN0(PTC7);
DigitalIn IN1(PTC0);

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];
}
    
}