V2.10 添加写入固定延时任务

EW发送数据前固定50ms延时
    can总线发送采用等待的方式
This commit is contained in:
ranchuan
2023-12-22 19:05:19 +08:00
parent 6cf5e9e720
commit 5c2648d33c
9 changed files with 131 additions and 8 deletions

View File

@@ -219,6 +219,7 @@ void EW_Test_SetRunCfg()
run_cfg.runcfg_st.pwd_len = checker_runcfg.params[5];
run_cfg.runcfg_st.version = checker_runcfg.params[6];
run_cfg.run_cfg_buf[3] = CheckCRC_8(run_cfg.run_cfg_buf,3);
delay_ms(50);
uc_rtv = EW_WriteRunCfg(checker_runcfg.netid,&run_cfg);
Checker_MaskResult(uc_rtv,checker_runcfg.task_info.runindex);
}
@@ -1027,6 +1028,7 @@ void EW_Test_ReadSN(void)
temp_def temp={0};
uint32_t sn;
sn=checker_runcfg.params[0]|(checker_runcfg.params[1]<<16);
if(sn>=134217728)
{
// 如果流水号超过了2^27 则失败
@@ -1074,6 +1076,7 @@ void EW_Test_WriteSN(void)
uc_rtv=2;
goto end;
}
delay_ms(50);
temp.data=(temp.data&0x1f)|(sn<<5);
uc_rtv |= EW_WriteMTP(checker_runcfg.netid,addr,temp.arr,len);
if(uc_rtv){
@@ -1087,6 +1090,41 @@ void EW_Test_WriteSN(void)
// 写固定延时
void EW_Test_WriteDelay(void)
{
uint8_t uc_rtv=0;
uint8_t addr[2]={0x18/4,0xa8/4};
uint8_t len=2;
typedef union{
uint8_t arr[2];
uint16_t data;
}temp_def;
temp_def temp={0};
uint16_t delay;
delay=checker_runcfg.params[0];
for(int i=0;i<2;i++)
{
// delay_ms(50);
// uc_rtv|=EW_ReadMTP(checker_runcfg.netid,addr[i],temp.arr,len);
// if(uc_rtv){
// uc_rtv=1+i;
// goto end;
// }
delay_ms(50);
temp.data=delay;
uc_rtv |= EW_WriteMTP(checker_runcfg.netid,addr[i],temp.arr,len);
if(uc_rtv){
uc_rtv=2+i;
goto end;
}
}
end:
Checker_MaskResult(uc_rtv,checker_runcfg.task_info.runindex);
}
void EW_Empty(void)
@@ -1151,6 +1189,7 @@ EW_Test_WriteMTP, //36 写入mtp
CheckerExt_SetCbv, //37 设置电阻校准值
EW_Test_ReadSN, //38 读取流水号
EW_Test_WriteSN, //39 写入流水号
EW_Test_WriteDelay, //40 写固定延时
(void*)0 //数组结束
};