新广播命令测试检测,注码正常,加宽了数据上报的时间片
添加异常代码9,槽任务未执行
This commit is contained in:
@@ -1221,6 +1221,121 @@ void JQ_Test_Toggle(void)
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/*rc{
|
||||
写入流水号,使用读改写
|
||||
par0,par1,流水号,小端存储
|
||||
}*/
|
||||
void JQ_Test_WriteSN(void)
|
||||
{
|
||||
uint8_t uc_rtv = 0;
|
||||
uint8_t uc_ack;
|
||||
uint8_t uc_otpAddr = 20;
|
||||
uint8_t uc_writeCount = 4;
|
||||
typedef union{
|
||||
uint8_t arr[4];
|
||||
uint32_t data;
|
||||
}temp_def;
|
||||
temp_def temp={0};
|
||||
uint32_t sn=0;
|
||||
JQ_EnWOTP();
|
||||
JQ_EnWOTP();
|
||||
for(int i = 0; i < uc_writeCount;i++)
|
||||
{
|
||||
uc_ack = JQ_ReadOTP(CHECKER_NET_ID,uc_otpAddr+i,1,temp.arr+i);
|
||||
if(uc_ack < 1)
|
||||
{
|
||||
uc_rtv = 1;
|
||||
goto end;
|
||||
}
|
||||
}
|
||||
|
||||
sn=checker_runcfg.params[0]|(checker_runcfg.params[1]<<16);
|
||||
if(sn>=134217728)
|
||||
{
|
||||
// 如果流水号超过了2^27 则失败
|
||||
uc_rtv=2;
|
||||
goto end;
|
||||
}
|
||||
// 流水号域如果有值且不为要设置的流水号则失败
|
||||
if((temp.data&(~0x1f))!=0){
|
||||
if((temp.data>>5)!=sn){
|
||||
uc_rtv=3;
|
||||
}
|
||||
goto end;
|
||||
}
|
||||
temp.data=temp.data|(sn<<5);
|
||||
for(int i = 0; i < uc_writeCount;i++)
|
||||
{
|
||||
uc_ack = JQ_WriteOTP(uc_otpAddr+i,1,temp.arr+i);
|
||||
if(uc_ack != 1)
|
||||
{
|
||||
uc_rtv = 4;
|
||||
goto end;
|
||||
}
|
||||
|
||||
}
|
||||
end:
|
||||
Checker_MaskResult(uc_rtv,checker_runcfg.task_info.runindex);
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*rc{
|
||||
校验流水号
|
||||
par0,par1,流水号,小端存储
|
||||
ret,校验失败则此任务失败
|
||||
rtv,返回读取的流水号数据
|
||||
}*/
|
||||
void JQ_Test_ReadSN(void)
|
||||
{
|
||||
uint8_t uc_rtv = 0;
|
||||
uint8_t uc_ack;
|
||||
uint8_t uc_otpAddr = 20;
|
||||
uint8_t uc_writeCount = 4;
|
||||
typedef union{
|
||||
uint8_t arr[4];
|
||||
uint32_t data;
|
||||
}temp_def;
|
||||
temp_def temp={0};
|
||||
uint32_t sn=0;
|
||||
JQ_EnWOTP();
|
||||
JQ_EnWOTP();
|
||||
for(int i = 0; i < uc_writeCount;i++)
|
||||
{
|
||||
uc_ack = JQ_ReadOTP(CHECKER_NET_ID,uc_otpAddr+i,1,temp.arr+i);
|
||||
if(uc_ack < 1)
|
||||
{
|
||||
uc_rtv = 1;
|
||||
goto end;
|
||||
}
|
||||
}
|
||||
|
||||
sn=checker_runcfg.params[0]|(checker_runcfg.params[1]<<16);
|
||||
if(sn>=134217728)
|
||||
{
|
||||
// 如果流水号超过了2^27 则失败
|
||||
uc_rtv=2;
|
||||
goto end;
|
||||
}
|
||||
// 流水号域如果不为要设置的流水号则失败
|
||||
temp.data>>=5;
|
||||
if((temp.data)!=sn){
|
||||
uc_rtv=3;
|
||||
}
|
||||
|
||||
end:
|
||||
Checker_MaskResult(uc_rtv,checker_runcfg.task_info.runindex);
|
||||
Checker_SetRtv((uint16_t *)&temp,checker_runcfg.rtv_count);
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
CheckerTask jqtaskArray[CHECKER_MAXID_COUNT] ={
|
||||
Checker_PowerPrapare, //0 电源准备
|
||||
JQ_Test_PowerOn, //1 上电充能
|
||||
@@ -1266,6 +1381,8 @@ CheckerExt_Repeat ,//40 重新执行任务
|
||||
CheckerExt_SetUID ,//41 设置uid数据到小板
|
||||
CheckerExt_Slot ,//42 任务插槽
|
||||
CheckerExt_SetCbv ,//43 设置电阻校准值
|
||||
JQ_Test_WriteSN ,//44 写入流水号
|
||||
JQ_Test_ReadSN ,//45 读取流水号
|
||||
(void*)0 //数组结束
|
||||
};
|
||||
|
||||
|
Reference in New Issue
Block a user