From 2a4e7f1f1e5dbafd9ee41b665eeebfc03b5b625b Mon Sep 17 00:00:00 2001 From: ranchuan Date: Tue, 23 Jan 2024 18:04:57 +0800 Subject: [PATCH] =?UTF-8?q?=20=20=E8=87=AA=E5=8A=A8=E6=A3=80=E6=B5=8B?= =?UTF-8?q?=E6=8C=87=E4=BB=A40x44=E4=B8=8D=E8=AF=BB=E5=8F=96=E6=B5=81?= =?UTF-8?q?=E6=B0=B4=E5=8F=B7=20=20=20=E8=A7=A3=E5=86=B3=E6=96=B0=E8=B5=8B?= =?UTF-8?q?=E7=A0=81=E6=8C=87=E4=BB=A4=E5=9B=9E=E5=A4=8D=E6=8C=87=E4=BB=A4?= =?UTF-8?q?=E4=B8=8D=E5=AF=B9=E7=9A=84=E9=97=AE=E9=A2=98=20=20=20=E8=A7=A3?= =?UTF-8?q?=E5=86=B3tcp=E4=B8=8D=E4=B8=8A=E6=8A=A5=E5=BF=83=E8=B7=B3?= =?UTF-8?q?=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- complier_info.h | 2 +- info.json | 2 +- prot/prot_pc.cpp | 1 + prot_cmd/cmd_coder.cpp | 40 +++++++++++++++++++++------------------- prot_cmd/cmd_pc.cpp | 1 + quest_info.txt | 3 +-- 6 files changed, 26 insertions(+), 23 deletions(-) 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