管壳码全0判断
This commit is contained in:
@@ -138,4 +138,6 @@
|
||||
添加错误判断,未完成
|
||||
2023.7.6
|
||||
赋码仪添加错误判断,管壳码有0字节则不注码,直接返回失败
|
||||
|
||||
2023.7.7
|
||||
boot没有同步app编译,升级app会导致之后添加的配置参数丢失
|
||||
添加管壳码全'0'判断
|
@@ -159,20 +159,20 @@ uint8_t coder_judge(const uint8_t *data)
|
||||
}
|
||||
|
||||
// 检测电流
|
||||
TASK_FIND_NEXT(4);
|
||||
TASK_FIND_NEXT(3);
|
||||
temp=TASK_DATA(0);
|
||||
temp2=TASK_DATA(1);
|
||||
if((temp<10)&&(temp2<10))
|
||||
if((temp<100)&&(temp2<100))
|
||||
{
|
||||
// 接触异常
|
||||
return 3;
|
||||
}
|
||||
else if(((temp>task->range[0].max)&&(temp<1500))||
|
||||
((temp2>task->range[0].max)&&(temp2<1500)))
|
||||
else if(((temp>task->range[0].max)&&(temp<800))||
|
||||
((temp2>task->range[0].max)&&(temp2<800)))
|
||||
{
|
||||
// 过流
|
||||
return 7;
|
||||
}else if((temp>1500)&&(temp2>1500))
|
||||
}else if((temp>800)&&(temp2>800))
|
||||
{
|
||||
// 短路
|
||||
return 8;
|
||||
@@ -180,7 +180,7 @@ uint8_t coder_judge(const uint8_t *data)
|
||||
|
||||
|
||||
// 检测uid
|
||||
TASK_FIND_NEXT(5);
|
||||
TASK_FIND_NEXT(4);
|
||||
if(get_ack(data,task->taskindex))
|
||||
{
|
||||
// 芯片错误
|
||||
@@ -188,7 +188,7 @@ uint8_t coder_judge(const uint8_t *data)
|
||||
}
|
||||
|
||||
// 检测桥丝
|
||||
TASK_FIND_NEXT(6);
|
||||
TASK_FIND_NEXT(11);
|
||||
temp=TASK_DATA(0);
|
||||
if((temp<task->range[0].min)||(temp>task->range[0].max))
|
||||
{
|
||||
|
@@ -87,6 +87,8 @@ int check_shell_code(const char *shell_code)
|
||||
if(shell_code[i]==0)
|
||||
return 0;
|
||||
}
|
||||
if(strncmp("0000000000000",shell_code,13)==0)
|
||||
return 0;
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
@@ -6,7 +6,7 @@
|
||||
|
||||
|
||||
|
||||
#define BUILD_DATE "2023-07-06 22:57:16"
|
||||
#define BUILD_DATE "2023-07-07 11:16:27"
|
||||
#define SOFT_VERSION "0.10"
|
||||
|
||||
|
||||
|
@@ -113,7 +113,7 @@ static int scheme_info(list_def *argv)
|
||||
for(int i=0;i<s->task_num;i++)
|
||||
{
|
||||
t=&s->task[i];
|
||||
cmd_print(" task:%02d err:%02x",i,t->err);
|
||||
cmd_print(" task:%02d id:%02d err:%02x",t->taskindex,t->taskid,t->err);
|
||||
for(int j=0;j<t->item_num;j++)
|
||||
{
|
||||
cmd_print(" max:%5d, min:%5d err:%02x %s",t->range[j].max,t->range[j].min,
|
||||
|
@@ -68,6 +68,7 @@ static void request_check(void *p)
|
||||
{
|
||||
const sys_param_def *par=sys_param();
|
||||
array_def *d=arr_creat();
|
||||
arr_append(d,0);
|
||||
emit key_send_signal(p,0x37,arr_temp(d));
|
||||
//DBG_LOG("tcp liver:%s",str_temp(arr_string(d)));
|
||||
}
|
||||
|
@@ -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