管壳码全0判断
This commit is contained in:
@@ -75,7 +75,6 @@ static void write_uid_upmit(write_uid_def *w)
|
||||
}
|
||||
}
|
||||
emit tran_send_signal(w->u.p,0x82,arr_temp(a));
|
||||
tran_set_busy(w->u.p,0);
|
||||
g_self.step=0;
|
||||
// 把命令字改为0x82用于接收主机应答
|
||||
w->u.cmd=0x82;
|
||||
@@ -83,6 +82,25 @@ static void write_uid_upmit(write_uid_def *w)
|
||||
|
||||
|
||||
|
||||
// 填充注码结果
|
||||
static void write_uid_fillret(write_uid_def *w,int addr,int ack)
|
||||
{
|
||||
addr-=1;
|
||||
uint8_t *d=&w->ack[(addr)*39];
|
||||
w->ack_num++;
|
||||
d[0]=addr+slave_addr_off();
|
||||
d[1]=ack;
|
||||
memcpy(&d[2],w->item[addr].shell_code,13);
|
||||
memcpy(&d[2+13],w->item[addr].uid_code,16);
|
||||
memcpy(&d[2+13+16],w->item[addr].password,8);
|
||||
if(w->ack_num>=10)
|
||||
{
|
||||
write_uid_upmit(w);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
// 注码完成
|
||||
static void write_uid_end(ucport_def *u,port_mcu *src,void *data,int ack,char *err_str)
|
||||
{
|
||||
@@ -92,19 +110,7 @@ static void write_uid_end(ucport_def *u,port_mcu *src,void *data,int ack,char *e
|
||||
DBG_WARN("addr err:%d",addr);
|
||||
return;
|
||||
}
|
||||
addr-=1;
|
||||
|
||||
uint8_t *d=&w->ack[(addr)*39];
|
||||
w->ack_num++;
|
||||
d[0]=addr+slave_addr_off();
|
||||
d[1]=ack;
|
||||
memcpy(&d[2],w->item[addr].shell_code,13);
|
||||
memcpy(&d[2+13],w->item[addr].uid_code,16);
|
||||
memcpy(&d[2+13+16],w->item[addr].password,8);
|
||||
if(w->ack_num>=10)
|
||||
{
|
||||
write_uid_upmit(w);
|
||||
}
|
||||
write_uid_fillret(w,addr,ack);
|
||||
}
|
||||
|
||||
|
||||
@@ -137,6 +143,7 @@ static void write_del(ucport_def *u)
|
||||
static int write_uid_dolater(ucport_def *u,uint8_t cmd,array_def *data,char *err_str)
|
||||
{
|
||||
DBG_LOG("recv write_uid end signal.");
|
||||
tran_set_busy(u->p,0);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -191,11 +198,7 @@ static ucport_def *write_uid(tran_def *t, uint8_t cmd,array_def *data)
|
||||
port_start(mcu,code_creat(8,4,u->item[i].uid_pw_hex));
|
||||
}else{
|
||||
// 管壳码无效,不注码,此时默认已ack
|
||||
u->ack_num++;
|
||||
if(u->ack_num>=10)
|
||||
{
|
||||
write_uid_upmit(u);
|
||||
}
|
||||
write_uid_fillret(u,i+1,0xff);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -372,7 +375,7 @@ static void check_end(ucport_def *u,port_mcu *src,void *data,int ack,char *err_s
|
||||
arr_append(a,w->type);
|
||||
arr_appends(a,w->ack,(6)*10);
|
||||
emit tran_send_signal(w->u.p,0x81,arr_temp(a));
|
||||
tran_set_busy(w->u.p,0);
|
||||
//tran_set_busy(w->u.p,0);
|
||||
// 把命令字改为0x81用于接收主机应答
|
||||
w->u.cmd=0x81;
|
||||
g_self.step=1;
|
||||
@@ -408,6 +411,7 @@ static void check_del(ucport_def *u)
|
||||
static int check_dolater(ucport_def *u,uint8_t cmd,array_def *data,char *err_str)
|
||||
{
|
||||
DBG_LOG("recv check end signal.");
|
||||
tran_set_busy(u->p,0);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user