diff --git a/complier_info.h b/complier_info.h index 253ffac..bb6537d 100644 --- a/complier_info.h +++ b/complier_info.h @@ -6,7 +6,7 @@ -#define BUILD_DATE "2024-01-11 17:54:49" +#define BUILD_DATE "2024-01-18 15:53:38" diff --git a/info.json b/info.json index 740e37f..13de7e3 100644 --- a/info.json +++ b/info.json @@ -1,5 +1,5 @@ { - "build_date": "2024-01-11 17:54:49", + "build_date": "2024-01-18 15:53:38", "hard_version": "MHPZ2_V1.00", "private": [ "info.json", diff --git a/prot/prot_pc.cpp b/prot/prot_pc.cpp index 73fe0ec..eaa907a 100644 --- a/prot/prot_pc.cpp +++ b/prot/prot_pc.cpp @@ -46,6 +46,7 @@ void ProtPc::init() recv_data.remove(0,pack_len); // qDebug("host recv removed:%s",recv_data.toHex(' ').data()); if(codec_->failed!=true){ + qDebug("pc cmd:%02x.",cmd); docmd(cmd,data); }else{ qWarning("host data decode failed."); diff --git a/prot_cmd/cmd_coder.cpp b/prot_cmd/cmd_coder.cpp index f2123ea..886ad00 100644 --- a/prot_cmd/cmd_coder.cpp +++ b/prot_cmd/cmd_coder.cpp @@ -488,6 +488,7 @@ myarray cmd_coder_code2::cmd_pc_to_slave(myarray data) chip_mode=elec_extract_chip(check_plan()->get_plan_id()); char year[10]={0}; delay=data[3]|(data[4]<<8); + qDebug("code delay=%d",delay); // 移除前4个字节使数据对齐 data.remove(0,4); memcpy(year,data.mid(1,4).data(),4); @@ -498,7 +499,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); @@ -507,16 +508,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); @@ -555,11 +556,11 @@ myarray cmd_coder_code2::ret_slave_to_pc(QList 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)); } @@ -580,6 +581,7 @@ myarray cmd_coder_code2::ret_slave_to_pc(QList data) // 如果延时不对,则失败 myarray sret=coder_slave_find_ret_data(sdata,3,2); uint16_t sdelay=sret[0]|(sret[1]<<8); + qDebug("index:%d,delay=%d",i,sdelay); if(sdelay!=delay){ if(err==0){ err=10; @@ -595,11 +597,11 @@ myarray cmd_coder_code2::ret_slave_to_pc(QList 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); } diff --git a/prot_cmd/cmd_pc.cpp b/prot_cmd/cmd_pc.cpp index a13dac9..0046a93 100644 --- a/prot_cmd/cmd_pc.cpp +++ b/prot_cmd/cmd_pc.cpp @@ -113,6 +113,7 @@ int selfdev_check::dolater(int cmd, myarray data) emit send_to_m4_signal(moter_cmd); }else{ qWarning("key not pressed,check will not start."); + busy=0; return 2; } return 0; diff --git a/quest_info.txt b/quest_info.txt index 6ddc361..3ff947f 100644 --- a/quest_info.txt +++ b/quest_info.txt @@ -1,2 +1 @@ - V2.05 修改赋码仪0x90,0x91指令上报格式,模块类型字段移到每个模块数据域中 - 0x90,0x91指令可以识别EJ、EQ模块类型 \ No newline at end of file + V2.05 回滚JQ芯片三码算法 \ No newline at end of file