⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 protocol.cpp

📁 这是一个指纹识别系统的源代码
💻 CPP
📖 第 1 页 / 共 2 页
字号:
        tzd[i].direct=cmd.PkgCnt[ptr++];
        if(tzd[i].flag&0x80)
        {
            tzd[i].direct+=256;
            tzd[i].flag&=0x7f;
        }
	}
    if( !(cmd.PkgId&EndData) )
    {   
        i=*numtzd;
        if( !GetPackage(comport,&cmd) )
                return 0;
        else
        {   
            if( cmd.PkgId!=EndData )
                return 0;
        }
        goto anothertzz;
	} 
	
	return 1;
}

int  SensorUpImg(int comport,unsigned char image[128][128])   //300pix/inch,0-180 gray
{
	int  gray[8];
	int  i,j,ret;
	SCMD scmd;
	CMD cmd;

    gray[0]=0,gray[1]=18,gray[2]=45,gray[3]=72,
    gray[4]=99,gray[5]=126,gray[6]=153,gray[7]=174;

    Sleep(10);
    scmd.sPkgId=Cmd;
	scmd.sPkgLen=1;
	scmd.sPkgCnt[0]=UpImg ;
	ret=SendPackage(comport,scmd);
	if( !ret )
		return 0;
    if( ret==2 )
		return 2;

    for( i=0;i<=63;i++ )
	{
		if( !GetPackage(comport,&cmd) )
            return 0;
        for( j=0;j<=127;j++ )
        {
            image[i+i][j]=gray[ (cmd.PkgCnt[j])>>4 ];
            image[i+i+1][j]=gray[ cmd.PkgCnt[j]&0x07 ]; 
        }
	}

	return 1;
}

int  SensorLoadPage(int comport,unsigned char cc[256],int page)
{
	int i,ret;
    SCMD scmd;
	CMD cmd;

    Sleep(10);
    scmd.sPkgId=Cmd;
	scmd.sPkgLen=1;
	scmd.sPkgCnt[0]=LoadPage ;
	ret=SendPackage(comport,scmd);
	if( !ret )
		return 0;
    if( ret==2 )
		return 2;

    scmd.sPkgId=Data;
	scmd.sPkgLen=1;
	scmd.sPkgCnt[0]=page ;
	ret=SendPackage(comport,scmd);

	if( !GetPackage(comport,&cmd) )
        return 0;
    for( i=0;i<=127;i++ )
        cc[i]=cmd.PkgCnt[i];
        
    if( !GetPackage(comport,&cmd) )
        return 0;
    for( i=128;i<=255;i++ )
		cc[i]=cmd.PkgCnt[i-128];
    
	return 1;
}

int  SensorStorePage(int comport,unsigned char cc[256],int page)
{
	int i,ret;
	SCMD scmd;

    Sleep(10);
    scmd.sPkgId=Cmd;
	scmd.sPkgLen=1;
	scmd.sPkgCnt[0]=StorePage ;
	ret=SendPackage(comport,scmd);
	if( !ret )
		return 0;
    if( ret==2 )
		return 2;

    scmd.sPkgId=Data;
	scmd.sPkgLen=1;
	scmd.sPkgCnt[0]=page ;
	ret=SendPackage(comport,scmd);

	Sleep(3);
	for( i=0;i<=127;i++ )
        scmd.sPkgCnt[i]=cc[i];
    scmd.sPkgId=Data;
	scmd.sPkgLen=128;
	if( !SendPackage(comport,scmd) )
        return 0;
   
	Sleep(3);
    for( i=128;i<=255;i++ )
		scmd.sPkgCnt[i-128]=cc[i];
	scmd.sPkgId=EndData;
	scmd.sPkgLen=128;    
    if( !SendPackage(comport,scmd) )
        return 0;
    
	return 1;
}

//**************************************************************
//****************Update 2001-4-6****************************
int      SensorStore(int comport,int address)
{
    int ret;
	SCMD scmd;

	Sleep(10);
    scmd.sPkgId=Cmd;
	scmd.sPkgLen=1;
	scmd.sPkgCnt[0]=Store ;
	ret=SendPackage(comport,scmd);
	if( !ret )
		return 0;
    if( ret==2 )
		return 2;

	Sleep(3);
    scmd.sPkgCnt[0]=address/256;
    scmd.sPkgCnt[1]=address%256;
	scmd.sPkgId=EndData;
	scmd.sPkgLen=2;    
    if( !SendPackage(comport,scmd) )
        return 0;
    
	return 1;
}

int      SensorLdBuf(int comport,int address)
{
    int ret;
	SCMD scmd;

	Sleep(10);
    scmd.sPkgId=Cmd;
	scmd.sPkgLen=1;
	scmd.sPkgCnt[0]=LdBuf ;
	ret=SendPackage(comport,scmd);
	if( !ret )
		return 0;
    if( ret==2 )
		return 2;

	Sleep(3);
    scmd.sPkgCnt[0]=address/256;
    scmd.sPkgCnt[1]=address%256;
	scmd.sPkgId=EndData;
	scmd.sPkgLen=2;    
    if( !SendPackage(comport,scmd) )
        return 0;
    
	return 1;
}

int      SensorVerify(int comport)
{
	SCMD scmd;
	Sleep(10);
    scmd.sPkgId=Cmd;
	scmd.sPkgLen=1;
	scmd.sPkgCnt[0]=Verify ;
	return( SendPackage(comport,scmd) );
}

int      SensorQuickSearch(int comport)
{
	SCMD scmd;
	Sleep(10);
    scmd.sPkgId=Cmd;
	scmd.sPkgLen=1;
	scmd.sPkgCnt[0]=QuickSearch ;
	return( SendPackage(comport,scmd) );
}

int      SensorSearch(int comport)
{
	SCMD scmd;	
    Sleep(10);
    scmd.sPkgId=Cmd;
	scmd.sPkgLen=1;
	scmd.sPkgCnt[0]=Search ;
	return( SendPackage(comport,scmd) );
}

int      SensorEraseOne(int comport,int address)
{
	int ret;
	SCMD scmd;

	Sleep(10);
    scmd.sPkgId=Cmd;
	scmd.sPkgLen=1;
	scmd.sPkgCnt[0]=EraseOne ;
	ret=SendPackage(comport,scmd);
	if( !ret )
		return 0;
    if( ret==2 )
		return 2;

	Sleep(3);
    scmd.sPkgCnt[0]=address/256;
    scmd.sPkgCnt[1]=address%256;
	scmd.sPkgId=EndData;
	scmd.sPkgLen=2;    
    if( !SendPackage(comport,scmd) )
        return 0;
    
	return 1;
}

int      SensorEraseAll(int comport)
{
	int ret;
	SCMD scmd;

	Sleep(10);
    scmd.sPkgId=Cmd;
	scmd.sPkgLen=1;
	scmd.sPkgCnt[0]=EraseAll ;
	ret=SendPackage(comport,scmd);
	if( !ret )
		return 0;
    if( ret==2 )
		return 2;
	return 1;
}

int      SensorSetAddr(int comport,unsigned char Addr0,unsigned char Addr1)
{
	int ret;
	SCMD scmd;

	Sleep(10);
    scmd.sPkgId=Cmd;
	scmd.sPkgLen=1;
	scmd.sPkgCnt[0]=SetAddr ;
	ret=SendPackage(comport,scmd);
	if( !ret )
		return 0;
    if( ret==2 )
		return 2;

	Sleep(3);
    scmd.sPkgCnt[0]=Addr0;
	scmd.sPkgCnt[1]=Addr1;
	scmd.sPkgId=EndData;
	scmd.sPkgLen=2;    
    if( !SendPackage(comport,scmd) )
        return 0;
    
	return 1;
}

int  SensorSignature(int comport,unsigned char Sign[128])
{
	int i,ret;
	SCMD scmd;
	CMD cmd;

    Sleep(10);
    scmd.sPkgId=Cmd;
	scmd.sPkgLen=1;
	scmd.sPkgCnt[0]=Signature ;
	ret=SendPackage(comport,scmd);
	if( !ret )
		return 0;
    if( ret==2 )
		return 2;

	if( !GetPackage(comport,&cmd) )
        return 0;
    if( cmd.PkgId!=EndData )
        return 0;
    
    for( i=0;i<=127;i++ )
		Sign[i]=cmd.PkgCnt[i];
      
    return 1;
}

int      SensorSecuLevel(int comport,unsigned char Level)
{
	int ret;
	SCMD scmd;

	Sleep(10);
    scmd.sPkgId=Cmd;
	scmd.sPkgLen=1;
	scmd.sPkgCnt[0]=SecuLevel ;
	ret=SendPackage(comport,scmd);
	if( !ret )
		return 0;
    if( ret==2 )
		return 2;

	Sleep(3);
    scmd.sPkgCnt[0]=Level;
	scmd.sPkgId=EndData;
	scmd.sPkgLen=1;    
    if( !SendPackage(comport,scmd) )
        return 0;
    
	return 1;
}

int      SensorDeviceKey(int comport,unsigned char OldPwd[8],unsigned char NewPwd[8])
{
	int ret,i;
	SCMD scmd;

	Sleep(10);
    scmd.sPkgId=Cmd;
	scmd.sPkgLen=1;
	scmd.sPkgCnt[0]=DeviceKey ;
	ret=SendPackage(comport,scmd);
	if( !ret )
		return 0;
    if( ret==2 )
		return 2;

	Sleep(3);
	for( i=0;i<=7;i++ )
	{
		scmd.sPkgCnt[i]=OldPwd[i];
		scmd.sPkgCnt[8+i]=NewPwd[i];
	}
	scmd.sPkgId=EndData;
	scmd.sPkgLen=16;    
	return( SendPackage(comport,scmd) );
}
int DenL(int comport,int id,bool *cont)
{
	CMD cmd;
	ReleaseCom(comport);
	if(!InitCom(comport)) 
		return 0;
	if(SensorFree(comport)!=1)
		return 0;
	if(SensorEnroll(comport)==1)
	{
		while((!GetPackage(comport,&cmd)) && (*cont));
		if( !(*cont) )
			return 0;

		if(cmd.PkgCnt[0]&0x03==0) return 0;//fail
		if(SensorStore(comport,id)!=1) return 0;
		return 1;
	}
   else return 0;
}
int YanZ(int comport,bool *cont)
{	
	CMD cmd;
	ReleaseCom(comport);
	if(!InitCom(comport))  return 0; 
	if(SensorFree(comport)!=1) return 0;
	if(SensorGenTzz(comport)==1)
	{
		while((!GetPackage(comport,&cmd)) && (*cont));
		if( !(*cont) )
			return 0;

		if(cmd.PkgCnt[0]&0x03==0) return 0;//fail

		if(SensorSearch(comport)!=1) return 0;
		while((!GetPackage(comport,&cmd)) && (*cont));

		if( !(*cont) )
			return 0;

        if ((cmd.PkgCnt[1]==255)&&(cmd.PkgCnt[0]==255)) return 0xffff;
		return (cmd.PkgCnt[1]+cmd.PkgCnt[0]*256);
	}
    else return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -