添加写三码验三码任务,实现0x20任务,完成任务插槽机制
添加文件 tran_for_broadcast.c
This commit is contained in:
@@ -353,7 +353,7 @@ void EW_Test_VerifyThreedCode(void)
|
||||
}
|
||||
if(uc_rtv > 0)
|
||||
{
|
||||
Checker_MaskResult(uc_rtv,checker_runcfg.task_info.runindex);
|
||||
Checker_MaskResult(1,checker_runcfg.task_info.runindex);
|
||||
return;
|
||||
}
|
||||
EW_ReadMTP(checker_runcfg.netid,0x20,EW_RunBuf,checker_runcfg.uid_len+1);
|
||||
@@ -367,7 +367,7 @@ void EW_Test_VerifyThreedCode(void)
|
||||
}
|
||||
if(uc_rtv > 0)
|
||||
{
|
||||
Checker_MaskResult(uc_rtv,checker_runcfg.task_info.runindex);
|
||||
Checker_MaskResult(2,checker_runcfg.task_info.runindex);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -383,7 +383,7 @@ void EW_Test_VerifyThreedCode(void)
|
||||
}
|
||||
if(uc_rtv > 0)
|
||||
{
|
||||
Checker_MaskResult(uc_rtv,checker_runcfg.task_info.runindex);
|
||||
Checker_MaskResult(3,checker_runcfg.task_info.runindex);
|
||||
return;
|
||||
}
|
||||
EW_ReadMTP(checker_runcfg.netid,0x24,EW_RunBuf,checker_runcfg.pwd_len+1);
|
||||
@@ -397,7 +397,7 @@ void EW_Test_VerifyThreedCode(void)
|
||||
}
|
||||
if(uc_rtv > 0)
|
||||
{
|
||||
Checker_MaskResult(uc_rtv,checker_runcfg.task_info.runindex);
|
||||
Checker_MaskResult(4,checker_runcfg.task_info.runindex);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -409,30 +409,34 @@ void EW_Test_VerifyThreedCode(void)
|
||||
}
|
||||
if(uc_rtv > 0)
|
||||
{
|
||||
Checker_MaskResult(uc_rtv,checker_runcfg.task_info.runindex);
|
||||
Checker_MaskResult(5,checker_runcfg.task_info.runindex);
|
||||
return;
|
||||
}
|
||||
//验证PWD
|
||||
memcpy(EW_RunBuf,EW_Test_PWD,checker_runcfg.pwd_len);
|
||||
delay_ms(200);
|
||||
uc_rtv = EW_VerfyPWD(checker_runcfg.netid,EW_RunBuf,checker_runcfg.pwd_len);
|
||||
if(uc_rtv > 0)
|
||||
{
|
||||
Checker_MaskResult(uc_rtv,checker_runcfg.task_info.runindex);
|
||||
Checker_MaskResult(6,checker_runcfg.task_info.runindex);
|
||||
return;
|
||||
}
|
||||
//读状态
|
||||
delay_ms(200);
|
||||
uc_rtv = EW_ReadState(checker_runcfg.netid,(uint8_t*)state.datas);
|
||||
if(uc_rtv > 0 || state.State_st.erprom_error >0 || state.State_st.pswd_flag == 0)
|
||||
// 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(1,checker_runcfg.task_info.runindex);
|
||||
Checker_MaskResult(7,checker_runcfg.task_info.runindex);
|
||||
return;
|
||||
}
|
||||
Checker_MaskResult(1,checker_runcfg.task_info.runindex);
|
||||
Checker_MaskResult(0,checker_runcfg.task_info.runindex);
|
||||
}
|
||||
|
||||
/*
|
||||
@brief 自检
|
||||
@param 自检模式
|
||||
@param1 自检时间ms
|
||||
@rtv 自检模式0x08的回读数据
|
||||
*/
|
||||
void EW_Test_CheckSelf()
|
||||
@@ -441,8 +445,9 @@ void EW_Test_CheckSelf()
|
||||
uint32_t ul_temp;
|
||||
uint8_t uc_mode = checker_runcfg.params[0];
|
||||
uc_rtv = EW_ChecSelf(checker_runcfg.netid,uc_mode,(uint8_t*)&ul_temp);
|
||||
delay_ms(checker_runcfg.params[1]);
|
||||
Checker_MaskResult(uc_rtv,checker_runcfg.task_info.runindex);
|
||||
|
||||
Checker_SetRtv((uint16_t*)ul_temp,checker_runcfg.rtv_count);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -702,9 +707,9 @@ void EW_Test_EnBoom(void)
|
||||
}
|
||||
/*
|
||||
@brief 起爆
|
||||
@param0 采样超时
|
||||
@param1 起爆电流AD
|
||||
@param2 延迟采样
|
||||
@param0 采样超时 0.01ms
|
||||
@param1 起爆电流AD
|
||||
@param2 延迟采样ms
|
||||
*/
|
||||
|
||||
void EW_Test_Boom()
|
||||
@@ -814,6 +819,147 @@ void EW_Test_PowerOFF(void)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/*
|
||||
@brief 写三码数据
|
||||
*/
|
||||
void EW_Test_WriteUID(void)
|
||||
{
|
||||
uint8_t uc_rtv = 0;
|
||||
if(JQXT_Test_IsNeedBind() == 0)
|
||||
{
|
||||
Checker_MaskResult(0,checker_runcfg.task_info.runindex);
|
||||
return;
|
||||
}
|
||||
|
||||
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);
|
||||
delay_os_ms(50);
|
||||
uc_rtv |= EW_WriteMTP(checker_runcfg.netid,0x20,EW_RunBuf,checker_runcfg.uid_len+1);
|
||||
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);
|
||||
delay_os_ms(50);
|
||||
uc_rtv |= EW_WriteMTP(checker_runcfg.netid,0x24,EW_RunBuf,checker_runcfg.pwd_len+1);
|
||||
|
||||
Checker_MaskResult(uc_rtv,checker_runcfg.task_info.runindex);
|
||||
}
|
||||
|
||||
/*
|
||||
@breif 验证写入的三码数据
|
||||
*/
|
||||
void EW_Test_VerifyUID(void)
|
||||
{
|
||||
uint8_t uc_rtv = 0;
|
||||
System_State_un state;
|
||||
//读UID MTP
|
||||
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))
|
||||
{
|
||||
uc_rtv = 1;
|
||||
}
|
||||
if(0 != memcmp(EW_RunBuf,checker_runcfg.writeuid,checker_runcfg.uid_len))
|
||||
{
|
||||
uc_rtv = 1;
|
||||
}
|
||||
if(uc_rtv > 0)
|
||||
{
|
||||
Checker_MaskResult(1,checker_runcfg.task_info.runindex);
|
||||
return;
|
||||
}
|
||||
memset(EW_RunBuf,0,sizeof(EW_RunBuf));
|
||||
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))
|
||||
{
|
||||
uc_rtv = 1;
|
||||
}
|
||||
if(0 != memcmp(EW_RunBuf,checker_runcfg.writeuid,checker_runcfg.uid_len))
|
||||
{
|
||||
uc_rtv = 1;
|
||||
}
|
||||
if(uc_rtv > 0)
|
||||
{
|
||||
Checker_MaskResult(2,checker_runcfg.task_info.runindex);
|
||||
return;
|
||||
}
|
||||
|
||||
//读PWD MTP
|
||||
memset(EW_RunBuf,0,sizeof(EW_RunBuf));
|
||||
EW_ReadMTP(checker_runcfg.netid,0x04,EW_RunBuf,checker_runcfg.pwd_len+1);
|
||||
if(EW_RunBuf[checker_runcfg.pwd_len] != CheckCRC_8(EW_RunBuf,checker_runcfg.pwd_len))
|
||||
{
|
||||
uc_rtv = 1;
|
||||
}
|
||||
if(0 != memcmp(EW_RunBuf,checker_runcfg.writepwd,checker_runcfg.pwd_len))
|
||||
{
|
||||
uc_rtv = 1;
|
||||
}
|
||||
if(uc_rtv > 0)
|
||||
{
|
||||
Checker_MaskResult(3,checker_runcfg.task_info.runindex);
|
||||
return;
|
||||
}
|
||||
memset(EW_RunBuf,0,sizeof(EW_RunBuf));
|
||||
EW_ReadMTP(checker_runcfg.netid,0x24,EW_RunBuf,checker_runcfg.pwd_len+1);
|
||||
if(EW_RunBuf[checker_runcfg.pwd_len] != CheckCRC_8(EW_RunBuf,checker_runcfg.pwd_len))
|
||||
{
|
||||
uc_rtv = 1;
|
||||
}
|
||||
if(0 != memcmp(EW_RunBuf,checker_runcfg.writepwd,checker_runcfg.pwd_len))
|
||||
{
|
||||
uc_rtv = 1;
|
||||
}
|
||||
if(uc_rtv > 0)
|
||||
{
|
||||
Checker_MaskResult(4,checker_runcfg.task_info.runindex);
|
||||
return;
|
||||
}
|
||||
|
||||
//读UID
|
||||
memset(EW_RunBuf,0,sizeof(EW_RunBuf));
|
||||
uc_rtv = EW_ReadUID(checker_runcfg.netid,EW_RunBuf,checker_runcfg.uid_len);
|
||||
if(0 != memcmp(EW_RunBuf,checker_runcfg.writeuid,checker_runcfg.uid_len))
|
||||
{
|
||||
uc_rtv = 1;
|
||||
}
|
||||
if(uc_rtv > 0)
|
||||
{
|
||||
Checker_MaskResult(5,checker_runcfg.task_info.runindex);
|
||||
return;
|
||||
}
|
||||
//验证PWD
|
||||
memcpy(EW_RunBuf,checker_runcfg.writepwd,checker_runcfg.pwd_len);
|
||||
delay_ms(200);
|
||||
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;
|
||||
}
|
||||
//读状态
|
||||
delay_ms(200);
|
||||
uc_rtv = EW_ReadState(checker_runcfg.netid,(uint8_t*)state.datas);
|
||||
// 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;
|
||||
}
|
||||
Checker_MaskResult(0,checker_runcfg.task_info.runindex);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
void EW_Empty(void)
|
||||
{
|
||||
Checker_RunCfg_st *cfg=&checker_runcfg;
|
||||
@@ -863,6 +1009,10 @@ EW_Updata, //27 升级
|
||||
EW_Test_ChgEnergy, //28 充能统计
|
||||
CheckerExt_CalcErr, //29 计算异常
|
||||
CheckerExt_Repeat, //30 重新执行一次指定任务
|
||||
EW_Test_WriteUID, //31 写入三码数据
|
||||
EW_Test_VerifyUID, //32 验证三码数据
|
||||
CheckerExt_SetUID, //33 配置三码数据到小板
|
||||
CheckerExt_Slot, //34 任务插槽
|
||||
(void*)0 //数组结束
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user