提交 396d6c6b 作者: wysheng

简化超时检测

上级 b053e7c3
......@@ -414,7 +414,7 @@ StructTCUEM TCUChgContralTCUEM_B;
StructTCUCControl TCUControlInfo =
{
.ChargingServiceFlag = 1,
.ChargingServiceFlag = 2,
.version = 0x0230,
.ChargeNum =
{
......@@ -1468,13 +1468,15 @@ void AckTCUHeartBeat(StructTCUSend * pPgnRecv)
if (pPgnRecv->DA == ChargerCont1939Addr)
{
TCUCommuStatus.HeartBeatErrCnt = 0;
TCUCommuStatus.HeartBeatRecvTime = GetSystemTick();
}
if (pPgnRecv->DA == ChargerCont1939Addr_B)
{
TCUCommuStatus.HeartBeatErrCnt_B = 0;
}
TCUCommuStatus.ConnectFlag = CONNECT_NORMAL; //tcu检测控制器心跳状态
TCUCommuStatus.HeartBeatVaild = 1; //控制器检测tcu心跳状态
TCUCommuStatus.ConnectFlag = CONNECT_NORMAL; //tcu检测控制器心跳状态
TCUCommuStatus.HeartBeatVaild = 1; //控制器检测tcu心跳状态
}
......@@ -1485,7 +1487,6 @@ void TCUtimeSet(StructTCUSend * pPgnRecv)
cp56time2a * time = NULL;
//TCUCommuStatus.ChgNum = pPgnRecv->Data[0];
if(pPgnRecv->DA == ChargerCont1939Addr)
{
TCUCommuStatus.ChgNum = 1;
......@@ -1495,7 +1496,7 @@ void TCUtimeSet(StructTCUSend * pPgnRecv)
TCUCommuStatus.ChgNum = 2;
}
TCUCommuStatus.TimeRecvTime = GetSystemTick();
TCUCommuStatus.CommStage = TimeStage;
memcpy(time, &pPgnRecv->Data[1], 7);
......@@ -1562,8 +1563,7 @@ void TCUVersionCheck(StructTCUSend * pPgnRecv)
{
TCUCommuStatus.VerChkVaild = 1; //版本校验成功
TCUCommuStatus.CommStage = VersionStage;
TCUCommuStatus.VersionRecvTime = GetSystemTick();
TCUCommuStatus.VersionSentTime = 0; //版本发送初始话
}
else
TCUCommuStatus.VerChkVaild = 0; //版本校验失败
......@@ -1580,7 +1580,7 @@ void TCUVersionCheckSent(void)
0
};
Data[0] = 0;//TCUCommuStatus.ChgNum;
Data[0] = 0;
Data[1] = TCUControlInfo.version;
Data[2] = (u8) (TCUControlInfo.version >> 8);
if(TCUCommuStatus.ChgNum == 1)
......@@ -1597,7 +1597,6 @@ void TCUVersionCheckSent(void)
void TCUParam(StructTCUSend * pPgnRecv)
{
//TCUCommuStatus.ChgNum = pPgnRecv->Data[0];
if(pPgnRecv->DA == ChargerCont1939Addr)
{
TCUCommuStatus.ChgNum = 1;
......@@ -1608,8 +1607,7 @@ void TCUParam(StructTCUSend * pPgnRecv)
}
TCUCommuStatus.CommStage = ChageParamStage;
memcpy(TCUControlInfo.ChargeNum, &pPgnRecv->Data[0], 8);
TCUCommuStatus.ParamRecvTime = GetSystemTick();
TCUCommuStatus.ParamSentTime = 0; //参数发送初始化
}
......@@ -1659,8 +1657,7 @@ void SerConAckAnalysis(StructTCUSend * pPgnRecv)
TCUCommuStatus.ChgNum = 2;
}
TCUCommuStatus.CommStage = ServiceContralStage;
TCUCommuStatus.ServiceContralRecvTime = GetSystemTick();
TCUCommuStatus.ServiceContralSentTime = 0;
if ((pPgnRecv->Data[1] != 0x01) && (pPgnRecv->Data[1] != 0x02))
TCUCommuStatus.ServiceContralVaildValue = 1; //数据合法性校验失败
......@@ -1725,9 +1722,9 @@ void ElectControlAnalysis(StructTCUSend * pPgnRecv)
{
TCUCommuStatus.ChgNum = 2;
}
TCUCommuStatus.ElectLockRecvTime = GetSystemTick();
TCUCommuStatus.CommStage = ElectLockStage;
TCUCommuStatus.ElectLockSentTime = 0;
TCUCommuStatus.ElectLockSetValue = pPgnRecv->Data[2];
if (((pPgnRecv->Data[1] != 0x01) && (pPgnRecv->Data[1] != 0x02)) || ((pPgnRecv->Data[2] != 0x01) &&
......@@ -1815,8 +1812,7 @@ void PowerControlAnalysis(StructTCUSend * pPgnRecv)
TCUCommuStatus.ChgNum = 2;
}
TCUCommuStatus.CommStage = PowerControlStage;
TCUCommuStatus.PowerControlRecvTime = GetSystemTick();
TCUCommuStatus.PowerControlSentTime = 0;
TCUCommuStatus.PowerControltype = pPgnRecv->Data[1];
TCUCommuStatus.PowerControlParam = pPgnRecv->Data[2] + (u16)
pPgnRecv->Data[3] << 8;
......@@ -2395,11 +2391,11 @@ void TCUMeasuRecv(StructTCUSend * pPgnRecv)
{
if(pPgnRecv->DA == ChargerCont1939Addr)
{
TCUCommuStatus.DCMeasuRecvTime = GetSystemTick();
TCUCommuStatus.DCMeasuErrCnt = 0;
}
else if(pPgnRecv->DA == ChargerCont1939Addr_B)
{
TCUCommuStatus.DCMeasuRecvTime_B = GetSystemTick();
TCUCommuStatus.DCMeasuErrCnt_B = 0;
}
}
......
......@@ -44,36 +44,20 @@ typedef struct
{
EnumTCUCommStage CommStage;
u8 ChgNum;
u32 VersionRecvTime;
u32 VersionSentTime;
u8 VerChkVaild;
u32 ParamRecvTime;
u32 ParamSentTime;
u8 ParamVaild;
u32 TimeRecvTime;
u32 TimeSentTime;
u32 ServiceContralRecvTime;
u32 ServiceContralSentTime;
u8 ChargingServiceSetValue;//保留下发设置值
u8 ServiceContralVaildValue;//服务控制下发失败原因 0成功
u32 ElectLockRecvTime;
u32 ElectLockSentTime;
u8 ElectLockSetValue;//保留下发设置值
u8 ElectLockVaildValue;//电子锁控制下发失败原因 0成功
u32 PowerControlRecvTime;
u32 PowerControlSentTime;
u8 PowerControltype;
u16 PowerControlParam;
u8 PowerControlVaildValue;//功率调节失败原因
u32 ChgInfornQueryRecvTime;
u32 ChgInfornQuerySentTime;
u8 ConnectFlag;//0 未连接 其他已连接
u8 HeartBeatVaild;//接收心跳有效标志位
u8 HeartBeatErrCnt;
......@@ -81,18 +65,6 @@ typedef struct
u16 HeartBeatNumCnt;
u16 HeartBeatLoseCnt;
u32 HeartBeatSendTime;
u32 HeartBeatSendTime_B;
u32 HeartBeatRecvTime;
u32 HeartBeatRecvTime_B;
u32 DCConInforSendTime;
u32 DCConInforSendTime_B;
u32 DCMeasuSendTime;
u32 DCMeasuSendTime_B;
u32 DCMeasuRecvTime;
u32 DCMeasuRecvTime_B;
u32 DCMeasuErrCnt;
u32 DCMeasuErrCnt_B;
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论