V2.02 0x48,0x30指令的返回数据中添加流水号信息
0x11 注码命令所有芯片都使用16位uid 添加自动测试命令0x44
This commit is contained in:
@@ -465,7 +465,7 @@ myarray cmd_coder_code2::cmd_pc_to_slave(myarray data)
|
||||
memcpy(uid.shell,data.mid(5+i*14+1,13).data(),13);
|
||||
if(check_shell_code(uid.shell)==1){
|
||||
// 只有管壳码验证通过时才计算uid和密码
|
||||
if(chip_mode!=0){
|
||||
// if(chip_mode!=0){
|
||||
coder_shell_to_uid(year,uid.shell,uid.uid);
|
||||
// 生成存储码
|
||||
coder_uid_to_save(uid.uid,(uint8_t *)uid.uid_psw);
|
||||
@@ -474,16 +474,16 @@ myarray cmd_coder_code2::cmd_pc_to_slave(myarray data)
|
||||
// 生成密码字符串
|
||||
sprintf(uid.psw,"%02X%02X%02X%02X",uid.uid_psw[8],
|
||||
uid.uid_psw[9],uid.uid_psw[10],uid.uid_psw[11]);
|
||||
}else{
|
||||
coder_shell_to_uid_jq(year,uid.shell,uid.uid);
|
||||
// 生成存储码
|
||||
UidCode_YM2JQ((PST_JQUID_TYPEDEF)uid.uid_psw,(PST_YMUID_TYPEDEF)uid.uid);
|
||||
// 生成密码
|
||||
JQ_GetPasswordByUidCode((uint8_t *)uid.uid,(uint8_t *)&uid.uid_psw[8]);
|
||||
// 生成密码字符串
|
||||
sprintf(uid.psw,"%02X%02X%02X%02X",uid.uid_psw[11],
|
||||
uid.uid_psw[10],uid.uid_psw[9],uid.uid_psw[8]);
|
||||
}
|
||||
// }else{
|
||||
// coder_shell_to_uid_jq(year,uid.shell,uid.uid);
|
||||
// // 生成存储码
|
||||
// UidCode_YM2JQ((PST_JQUID_TYPEDEF)uid.uid_psw,(PST_YMUID_TYPEDEF)uid.uid);
|
||||
// // 生成密码
|
||||
// JQ_GetPasswordByUidCode((uint8_t *)uid.uid,(uint8_t *)&uid.uid_psw[8]);
|
||||
// // 生成密码字符串
|
||||
// sprintf(uid.psw,"%02X%02X%02X%02X",uid.uid_psw[11],
|
||||
// uid.uid_psw[10],uid.uid_psw[9],uid.uid_psw[8]);
|
||||
// }
|
||||
}
|
||||
uid_codes.append(uid);
|
||||
params[0]=(8)|(4<<8);
|
||||
@@ -521,11 +521,11 @@ myarray cmd_coder_code2::ret_slave_to_pc(QList<myarray> data)
|
||||
if(syscfg()->coder_return_mode){
|
||||
r.append(uint8_t(0));
|
||||
r.append(13);
|
||||
if(chip_mode==0){
|
||||
r.append(15);
|
||||
}else{
|
||||
// if(chip_mode==0){
|
||||
// r.append(15);
|
||||
// }else{
|
||||
r.append(16);
|
||||
}
|
||||
// }
|
||||
}else{
|
||||
r.append(uint8_t(1));
|
||||
}
|
||||
@@ -559,11 +559,11 @@ myarray cmd_coder_code2::ret_slave_to_pc(QList<myarray> data)
|
||||
if(syscfg()->coder_return_mode){
|
||||
r.append(uid_codes[i].shell,13);
|
||||
// r.append(13,i+'0');
|
||||
if(chip_mode==0){
|
||||
r.append(uid_codes[i].uid,15);
|
||||
}else{
|
||||
// if(chip_mode==0){
|
||||
// r.append(uid_codes[i].uid,15);
|
||||
// }else{
|
||||
r.append(uid_codes[i].uid,16);
|
||||
}
|
||||
// }
|
||||
}
|
||||
r.append(uid_codes[i].psw,8);
|
||||
}
|
||||
@@ -667,7 +667,7 @@ int cmd_checker_check::dolater(int cmd, myarray data)
|
||||
qWarning("moter failed.");
|
||||
return 1;
|
||||
}
|
||||
if(cmd_m4_key_pressed()!=0){
|
||||
if(key_press()!=0){
|
||||
m4->set_irq_fun(moter_down_cb_fun,"moter down");
|
||||
emit send_to_m4_signal(moter_cmd);
|
||||
}else{
|
||||
@@ -676,6 +676,9 @@ int cmd_checker_check::dolater(int cmd, myarray data)
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
int cmd_checker_check::key_press(){
|
||||
return cmd_m4_key_pressed();
|
||||
}
|
||||
|
||||
|
||||
// 批检仪检测并写入流水号
|
||||
@@ -695,8 +698,8 @@ myarray cmd_checker_check::cmd_pc_to_slave(myarray data)
|
||||
ret+=d;
|
||||
}
|
||||
|
||||
// 检测模式0,返回原始检测结果
|
||||
ret.insert(0,uint8_t(0));
|
||||
// 检测模式2,返回原始检测结果和槽数据
|
||||
ret.insert(0,uint8_t(2));
|
||||
// qDebug()<<"checker check pack data:"<<ret.toHex(' ');
|
||||
return ret;
|
||||
}
|
||||
@@ -705,13 +708,19 @@ myarray cmd_checker_check::cmd_pc_to_slave(myarray data)
|
||||
myarray cmd_checker_check::ret_slave_to_pc(QList<myarray> data)
|
||||
{
|
||||
myarray r;
|
||||
check_cfg *ccfg_=check_plan();
|
||||
r.append(char(0));
|
||||
for(int i=0;i<data.size();i++){
|
||||
myarray &sdata=data[i];
|
||||
int addr=sdata[0]-1+syscfg()->slave_addr_start;
|
||||
sdata.remove(0,1);
|
||||
qDebug()<<"checker check ret data:"<<sdata.toHex(' ');
|
||||
r.append(tran_slave_to_selfdev_check(sdata));
|
||||
// 返回值个数
|
||||
int return_num=ccfg_->get_return_num();
|
||||
myarray check_data=sdata.left(1+16+return_num*2);
|
||||
r.append(tran_slave_to_selfdev_check(check_data));
|
||||
r.append(coder_slave_find_ret_data(sdata.mid(1+16+return_num*2),2,4));
|
||||
|
||||
}
|
||||
return r;
|
||||
}
|
||||
@@ -726,6 +735,39 @@ protpc_export(0x48, get_checker_check);
|
||||
|
||||
|
||||
|
||||
// 批检仪检测并读取流水号
|
||||
myarray cmd_checker_check2::cmd_pc_to_slave(myarray data)
|
||||
{
|
||||
myarray ret;
|
||||
const task_def *table=nullptr;
|
||||
uint16_t params[10]={0};
|
||||
for(int i=0;i<addrs.size();i++){
|
||||
myarray d;
|
||||
coder_add_task(d,"读取流水号",2,2,params);
|
||||
coder_slave_pack(d,addrs[i]);
|
||||
ret+=d;
|
||||
}
|
||||
|
||||
// 检测模式2,返回原始检测结果和槽数据
|
||||
ret.insert(0,uint8_t(2));
|
||||
return ret;
|
||||
}
|
||||
static HandlePc *get_checker_check2(){
|
||||
return new cmd_checker_check2();
|
||||
}
|
||||
protpc_export(0x30, get_checker_check2);
|
||||
|
||||
|
||||
|
||||
int cmd_checker_check3::key_press(){
|
||||
return 1;
|
||||
}
|
||||
|
||||
static HandlePc *get_checker_check3(){
|
||||
return new cmd_checker_check3();
|
||||
}
|
||||
protpc_export(0x44, get_checker_check3);
|
||||
|
||||
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user