新广播命令测试检测,注码正常,加宽了数据上报的时间片
添加异常代码9,槽任务未执行
This commit is contained in:
@@ -835,18 +835,36 @@ void EW_Test_WriteUID(void)
|
||||
return;
|
||||
}
|
||||
|
||||
delay_os_ms(50);
|
||||
memcpy(EW_RunBuf,checker_runcfg.writeuid,checker_runcfg.uid_len);
|
||||
EW_RunBuf[checker_runcfg.uid_len] = CheckCRC_8(EW_RunBuf,checker_runcfg.uid_len);
|
||||
uc_rtv |= EW_WriteMTP(checker_runcfg.netid,0x00,EW_RunBuf,checker_runcfg.uid_len+1);
|
||||
uc_rtv = EW_WriteMTP(checker_runcfg.netid,0x00,EW_RunBuf,checker_runcfg.uid_len+1);
|
||||
if(uc_rtv){
|
||||
uc_rtv=1;
|
||||
goto end;
|
||||
}
|
||||
delay_os_ms(50);
|
||||
uc_rtv |= EW_WriteMTP(checker_runcfg.netid,0x20,EW_RunBuf,checker_runcfg.uid_len+1);
|
||||
uc_rtv = EW_WriteMTP(checker_runcfg.netid,0x20,EW_RunBuf,checker_runcfg.uid_len+1);
|
||||
if(uc_rtv){
|
||||
uc_rtv=2;
|
||||
goto end;
|
||||
}
|
||||
delay_os_ms(50);
|
||||
memcpy(EW_RunBuf,checker_runcfg.writepwd,checker_runcfg.pwd_len);
|
||||
EW_RunBuf[checker_runcfg.pwd_len] = CheckCRC_8(EW_RunBuf,checker_runcfg.pwd_len);
|
||||
uc_rtv |= EW_WriteMTP(checker_runcfg.netid,0x04,EW_RunBuf,checker_runcfg.pwd_len+1);
|
||||
uc_rtv = EW_WriteMTP(checker_runcfg.netid,0x04,EW_RunBuf,checker_runcfg.pwd_len+1);
|
||||
if(uc_rtv){
|
||||
uc_rtv=3;
|
||||
goto end;
|
||||
}
|
||||
delay_os_ms(50);
|
||||
uc_rtv |= EW_WriteMTP(checker_runcfg.netid,0x24,EW_RunBuf,checker_runcfg.pwd_len+1);
|
||||
uc_rtv = EW_WriteMTP(checker_runcfg.netid,0x24,EW_RunBuf,checker_runcfg.pwd_len+1);
|
||||
if(uc_rtv){
|
||||
uc_rtv=4;
|
||||
goto end;
|
||||
}
|
||||
|
||||
end:
|
||||
Checker_MaskResult(uc_rtv,checker_runcfg.task_info.runindex);
|
||||
}
|
||||
|
||||
@@ -859,10 +877,11 @@ void EW_Test_VerifyUID(void)
|
||||
System_State_un state;
|
||||
if(JQXT_Test_IsNeedBind() == 0)
|
||||
{
|
||||
Checker_MaskResult(0,checker_runcfg.task_info.runindex);
|
||||
return;
|
||||
uc_rtv=0;
|
||||
goto end;
|
||||
}
|
||||
//读UID MTP
|
||||
delay_ms(50);
|
||||
memset(EW_RunBuf,0,sizeof(EW_RunBuf));
|
||||
EW_ReadMTP(checker_runcfg.netid,0x00,EW_RunBuf,checker_runcfg.uid_len+1);
|
||||
if(EW_RunBuf[checker_runcfg.uid_len] != CheckCRC_8(EW_RunBuf,checker_runcfg.uid_len))
|
||||
@@ -875,11 +894,11 @@ void EW_Test_VerifyUID(void)
|
||||
}
|
||||
if(uc_rtv > 0)
|
||||
{
|
||||
Checker_MaskResult(1,checker_runcfg.task_info.runindex);
|
||||
return;
|
||||
uc_rtv=1;
|
||||
goto end;
|
||||
}
|
||||
delay_ms(50);
|
||||
memset(EW_RunBuf,0,sizeof(EW_RunBuf));
|
||||
delay_ms(50);
|
||||
EW_ReadMTP(checker_runcfg.netid,0x20,EW_RunBuf,checker_runcfg.uid_len+1);
|
||||
if(EW_RunBuf[checker_runcfg.uid_len] != CheckCRC_8(EW_RunBuf,checker_runcfg.uid_len))
|
||||
{
|
||||
@@ -891,8 +910,8 @@ void EW_Test_VerifyUID(void)
|
||||
}
|
||||
if(uc_rtv > 0)
|
||||
{
|
||||
Checker_MaskResult(2,checker_runcfg.task_info.runindex);
|
||||
return;
|
||||
uc_rtv=2;
|
||||
goto end;
|
||||
}
|
||||
|
||||
//读PWD MTP
|
||||
@@ -909,8 +928,8 @@ void EW_Test_VerifyUID(void)
|
||||
}
|
||||
if(uc_rtv > 0)
|
||||
{
|
||||
Checker_MaskResult(3,checker_runcfg.task_info.runindex);
|
||||
return;
|
||||
uc_rtv=3;
|
||||
goto end;
|
||||
}
|
||||
memset(EW_RunBuf,0,sizeof(EW_RunBuf));
|
||||
delay_ms(50);
|
||||
@@ -925,8 +944,8 @@ void EW_Test_VerifyUID(void)
|
||||
}
|
||||
if(uc_rtv > 0)
|
||||
{
|
||||
Checker_MaskResult(4,checker_runcfg.task_info.runindex);
|
||||
return;
|
||||
uc_rtv=4;
|
||||
goto end;
|
||||
}
|
||||
|
||||
//读UID
|
||||
@@ -939,8 +958,8 @@ void EW_Test_VerifyUID(void)
|
||||
}
|
||||
if(uc_rtv > 0)
|
||||
{
|
||||
Checker_MaskResult(5,checker_runcfg.task_info.runindex);
|
||||
return;
|
||||
uc_rtv=5;
|
||||
goto end;
|
||||
}
|
||||
//验证PWD
|
||||
memcpy(EW_RunBuf,checker_runcfg.writepwd,checker_runcfg.pwd_len);
|
||||
@@ -948,8 +967,8 @@ void EW_Test_VerifyUID(void)
|
||||
uc_rtv = EW_VerfyPWD(checker_runcfg.netid,EW_RunBuf,checker_runcfg.pwd_len);
|
||||
if(uc_rtv > 0)
|
||||
{
|
||||
Checker_MaskResult(6,checker_runcfg.task_info.runindex);
|
||||
return;
|
||||
uc_rtv=6;
|
||||
goto end;
|
||||
}
|
||||
//读状态
|
||||
delay_ms(200);
|
||||
@@ -957,10 +976,12 @@ void EW_Test_VerifyUID(void)
|
||||
// if(uc_rtv > 0 || state.State_st.erprom_error >0 || state.State_st.pswd_flag == 0)
|
||||
if(uc_rtv > 0 || state.State_st.pswd_flag == 0)
|
||||
{
|
||||
Checker_MaskResult(7,checker_runcfg.task_info.runindex);
|
||||
return;
|
||||
uc_rtv=7;
|
||||
goto end;
|
||||
}
|
||||
Checker_MaskResult(0,checker_runcfg.task_info.runindex);
|
||||
|
||||
end:
|
||||
Checker_MaskResult(uc_rtv,checker_runcfg.task_info.runindex);
|
||||
}
|
||||
|
||||
|
||||
@@ -973,7 +994,7 @@ void EW_Test_ReadMTP(void)
|
||||
uint8_t addr=checker_runcfg.params[0];
|
||||
uint8_t len=checker_runcfg.params[1];
|
||||
delay_ms(50);
|
||||
uc_rtv|EW_ReadMTP(checker_runcfg.netid,addr,EW_RunBuf,len);
|
||||
uc_rtv|=EW_ReadMTP(checker_runcfg.netid,addr,EW_RunBuf,len);
|
||||
Checker_SetRtv((uint16_t *)EW_RunBuf,checker_runcfg.rtv_count);
|
||||
Checker_MaskResult(uc_rtv,checker_runcfg.task_info.runindex);
|
||||
}
|
||||
@@ -993,6 +1014,80 @@ void EW_Test_WriteMTP(void)
|
||||
|
||||
|
||||
|
||||
// 读流水号
|
||||
void EW_Test_ReadSN(void)
|
||||
{
|
||||
uint8_t uc_rtv=0;
|
||||
uint8_t addr=9;
|
||||
uint8_t len=4;
|
||||
typedef union{
|
||||
uint8_t arr[4];
|
||||
uint32_t data;
|
||||
}temp_def;
|
||||
temp_def temp={0};
|
||||
uint32_t sn;
|
||||
sn=checker_runcfg.params[0]|(checker_runcfg.params[1]<<16);
|
||||
if(sn>=134217728)
|
||||
{
|
||||
// 如果流水号超过了2^27 则失败
|
||||
uc_rtv=1;
|
||||
goto end;
|
||||
}
|
||||
|
||||
delay_ms(50);
|
||||
uc_rtv|=EW_ReadMTP(checker_runcfg.netid,addr,temp.arr,len);
|
||||
if(uc_rtv){
|
||||
uc_rtv=2;
|
||||
goto end;
|
||||
}
|
||||
// 流水号域如果不为要设置的流水号则失败
|
||||
temp.data>>=5;
|
||||
if((temp.data)!=sn){
|
||||
uc_rtv=3;
|
||||
}
|
||||
end:
|
||||
Checker_SetRtv((uint16_t *)&temp,checker_runcfg.rtv_count);
|
||||
Checker_MaskResult(uc_rtv,checker_runcfg.task_info.runindex);
|
||||
}
|
||||
// 写流水号,读改写
|
||||
void EW_Test_WriteSN(void)
|
||||
{
|
||||
uint8_t uc_rtv=0;
|
||||
uint8_t addr=9;
|
||||
uint8_t len=4;
|
||||
typedef union{
|
||||
uint8_t arr[4];
|
||||
uint32_t data;
|
||||
}temp_def;
|
||||
temp_def temp={0};
|
||||
uint32_t sn;
|
||||
delay_ms(50);
|
||||
uc_rtv|=EW_ReadMTP(checker_runcfg.netid,addr,temp.arr,len);
|
||||
if(uc_rtv){
|
||||
uc_rtv=1;
|
||||
goto end;
|
||||
}
|
||||
|
||||
if(sn>=134217728)
|
||||
{
|
||||
// 如果流水号超过了2^27 则失败
|
||||
uc_rtv=2;
|
||||
goto end;
|
||||
}
|
||||
temp.data=(temp.data&0x1f)|(sn<<5);
|
||||
uc_rtv |= EW_WriteMTP(checker_runcfg.netid,addr,temp.arr,len);
|
||||
if(uc_rtv){
|
||||
uc_rtv=3;
|
||||
goto end;
|
||||
}
|
||||
end:
|
||||
Checker_MaskResult(uc_rtv,checker_runcfg.task_info.runindex);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
void EW_Empty(void)
|
||||
{
|
||||
@@ -1054,6 +1149,8 @@ CheckerExt_Slot, //34 任务插槽
|
||||
EW_Test_ReadMTP, //35 读取mtp
|
||||
EW_Test_WriteMTP, //36 写入mtp
|
||||
CheckerExt_SetCbv, //37 设置电阻校准值
|
||||
EW_Test_ReadSN, //38 读取流水号
|
||||
EW_Test_WriteSN, //39 写入流水号
|
||||
(void*)0 //数组结束
|
||||
};
|
||||
|
||||
|
Reference in New Issue
Block a user