📄 protocol.cpp
字号:
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 + -