Exemplo n.º 1
0
unsigned char I2C_Send(const unsigned char *inbuf,unsigned char inbufsize,unsigned char *outbuf,unsigned char outbufsize)
{
  SendBuf_I2C(inbuf,inbufsize);
  Start_Time(5);
  while(g_bOverTime==0);
  ReadBuf_I2C(outbuf,outbufsize);
  Start_Time(5);
  while((g_bOverTime==0)&&(g_cI2CStatus!=I2CSTATUS_RXSUCC));
  if(g_cI2CStatus!=I2CSTATUS_RXSUCC) return 0;
  return 1;
}
Exemplo n.º 2
0
Activity_Data::Activity_Data (int traveler, int activity) : 
	Class2_Index (traveler, activity), Static_Scale ()
{
	Purpose (0);
	Priority (0);
	Start_Time (0);
	End_Time (0);
	Duration (0);
	Mode (0);
	Vehicle (0);
	Location (0);
	Passengers (0);
	Constraint (0);
}
Exemplo n.º 3
0
void Test_SL030(void)
{
  #define RCVCMD g_cRxBuf[1]
  #define RCVSTA g_cRxBuf[2]
  WAKEUP_H;
  Start_Time(5);
  while(g_bOverTime==0);
  WAKEUP_L;
  Start_Time(5);
  while(g_bOverTime==0);
  WAKEUP_H;
  g_cCardType=0xff;
  if(CARDIN!=0) return;
  Init_I2C();
  if(I2C_SelectCard(g_cRxBuf,sizeof(g_cRxBuf))==0) return;
  if((RCVCMD!=0x01)||(RCVSTA!=0)) return;
  if(g_cRxBuf[g_cRxBuf[0]]==1) g_cCardType=CARDTYPE_S50;        //Mifare 1k 4 byte UID
  else if(g_cRxBuf[g_cRxBuf[0]]==2) g_cCardType=CARDTYPE_S50;   //Mifare 1k 7 byte UID
  else if(g_cRxBuf[g_cRxBuf[0]]==3) g_cCardType=CARDTYPE_UL;    //Ultralight 7 byte UID
  else if(g_cRxBuf[g_cRxBuf[0]]==4) g_cCardType=CARDTYPE_S70;   //Mifare 4k 4 byte UID
  else if(g_cRxBuf[g_cRxBuf[0]]==5) g_cCardType=CARDTYPE_S70;   //Mifare 4k 7 byte UID
  else if(g_cRxBuf[g_cRxBuf[0]]==6) g_cCardType=CARDTYPE_DES;   //DesFire 7 byte UID
  switch(g_cCardType)
  {
    case CARDTYPE_S50:
    case CARDTYPE_S70:
      if(I2C_LoginSector0(g_cRxBuf,sizeof(g_cRxBuf))==0) return;
      if((RCVCMD!=0x02)||(RCVSTA!=0x02)) return;
      if(I2C_WriteBlock1(g_cRxBuf,sizeof(g_cRxBuf))==0) return;
      if((RCVCMD!=0x04)||(RCVSTA!=0x00)) return;
      if(I2C_ReadBlock1(g_cRxBuf,sizeof(g_cRxBuf))==0) return;
      if((RCVCMD!=0x03)||(RCVSTA!=0x00)) return;
      if(memcmp(&IIC_ComWriteBlock1[3],&g_cRxBuf[3],16)!=0) return;
      if(I2C_ComIntiPurse1(g_cRxBuf,sizeof(g_cRxBuf))==0) return;
      if((RCVCMD!=0x06)||(RCVSTA!=0x00)) return;
      if(I2C_ComIncrPurse1(g_cRxBuf,sizeof(g_cRxBuf))==0) return;
      if((RCVCMD!=0x08)||(RCVSTA!=0x00)) return;
      if(I2C_ComDecrPurse1(g_cRxBuf,sizeof(g_cRxBuf))==0) return;
      if((RCVCMD!=0x09)||(RCVSTA!=0x00)) return;
      if(I2C_ComReadPurse1(g_cRxBuf,sizeof(g_cRxBuf))==0) return;
      if((RCVCMD!=0x05)||(RCVSTA!=0x00)) return;
      //Check value	 
      lPurseValue=g_cRxBuf[6];
      lPurseValue=(lPurseValue<<8)+g_cRxBuf[5];
      lPurseValue=(lPurseValue<<8)+g_cRxBuf[4];
      lPurseValue=(lPurseValue<<8)+g_cRxBuf[3];
      if(lPurseValue!=0x12345678+0x00000002-0x00000001) return;
      if(I2C_ComCopyValue(g_cRxBuf,sizeof(g_cRxBuf))==0) return;
      if((RCVCMD!=0x0a)||(RCVSTA!=0x00)) return;
      I2C_ComHalt();
      BuzzerOn();
      break;
    case CARDTYPE_UL:
      if(I2C_ComWriteUltralightPage5(g_cRxBuf,sizeof(g_cRxBuf))==0) return;
      if((RCVCMD!=0x11)||(RCVSTA!=0x00)) return;
      if(I2C_ComReadUltralightPage5(g_cRxBuf,sizeof(g_cRxBuf))==0) return;
      if((RCVCMD!=0x10)||(RCVSTA!=0x00)) return;
      if(memcmp(&IIC_ComWriteUltralightPage5[3],&g_cRxBuf[3],4)!=0) return;
      I2C_ComHalt();
      BuzzerOn();
      break;
    default:
      break;
  }
}
Exemplo n.º 4
0
void I2C_ComHalt(void)
{
  SendBuf_I2C(IIC_ComHalt,sizeof(IIC_ComHalt));
  Start_Time(5);
  while(g_bOverTime==0);
}