提交 b5ec882a 作者: wysheng

TCU升级

上级 e01d7680
......@@ -15,5 +15,7 @@ void TCUCompletePackageHandle(StructTCUSend * pPgnRecv);
void TCUProgramVerificationHandle(StructTCUSend * pPgnRecv);
void TCUResetHandle(StructTCUSend * pPgnRecv);
void TCUUpdateHandle(void);
void TCUUpdateHandle_B(void);
#endif /*__TCU_UPDATE_H__*/
......@@ -254,7 +254,7 @@ void ConEMSend(void)
static u32 ConEMSendTick_B = 0;
static u32 ConEMSendEcount_B = 0;
if (TCUCommuStatus.ConEMSendFlag == 1)
if (TCUCommuStatus.ErrData.Mult)
{
if (GetSystemTick() -ConEMSendTick >= 250)
{
......@@ -268,8 +268,17 @@ void ConEMSend(void)
{
ConEMSendTick = 0;
ConEMSendEcount = 0;
if(TCUCommuStatus.ErrData.Value.DCTCUInfor
|| TCUCommuStatus.ErrData.Value.DCTCUMeasu)
{
memset(&TCUCommuStatus, 0x00, sizeof(TCUCommuStatus)); //通讯初始化
}
else
{
TCUCommuStatus.ErrData.Mult = 0;
}
}
}
}
else
......@@ -278,7 +287,7 @@ void ConEMSend(void)
ConEMSendEcount = 0;
}
if (TCUCommuStatus_B.ConEMSendFlag == 1)
if (TCUCommuStatus_B.ErrData.Mult)
{
if (GetSystemTick() -ConEMSendTick_B >= 250)
{
......@@ -292,8 +301,17 @@ void ConEMSend(void)
{
ConEMSendTick_B = 0;
ConEMSendEcount_B = 0;
if(TCUCommuStatus_B.ErrData.Value.DCTCUInfor
|| TCUCommuStatus_B.ErrData.Value.DCTCUMeasu)
{
memset(&TCUCommuStatus_B, 0x00, sizeof(TCUCommuStatus)); //通讯初始化
}
else
{
TCUCommuStatus_B.ErrData.Mult = 0;
}
}
}
}
else
......@@ -587,22 +605,6 @@ void CommutionRunStage(void)
}
if ((TCUCommuStatus.CommStage == StartDownloadStage))
{
if(GetSystemTick() - sendTick >= 500)
{
sendTimes++;
sendTick = GetSystemTick();
if(sendTimes > 2000/500)
{
TCUCommuStatus.CommStage = HeartStage;
}
else
{
StartDownloadAck(1);
}
}
}
oldStage = TCUCommuStatus.CommStage;
}
......@@ -710,24 +712,6 @@ void CommutionRunStage_B(void)
}
if ((TCUCommuStatus_B.CommStage == StartDownloadStage))
{
if(GetSystemTick() - sendTick_B >= 500)
{
sendTimes_B++;
sendTick_B = GetSystemTick();
if(sendTimes_B > 2000/500)
{
TCUCommuStatus_B.CommStage = HeartStage;
}
else
{
StartDownloadAck(2);
}
}
}
oldStage_B = TCUCommuStatus_B.CommStage;
}
......@@ -1218,13 +1202,15 @@ void TCUComm(void const * argument)
DCMeasuring();//遥测
TCUCurChgRecordInterface_A();//启停逻辑处理
VehicleVerificationHandle();
TCUUpdateHandle();
}
if(TCUCommuStatus_B.CommStage < HeartStage)
{
if(TCUCommuStatus_B.ConnectFlag != CONNECT_TIMEOUT)
{
CommutionConfigurationStage_B(); //配置阶段
CommutionConfigurationStage_B();//配置阶段
}
}
......@@ -1236,6 +1222,8 @@ void TCUComm(void const * argument)
DCMeasuring_B(); //遥测
TCUCurChgRecordInterface_B();//启停逻辑处理
VehicleVerificationHandle_B();
TCUUpdateHandle_B();
}
......
......@@ -19,7 +19,16 @@ typedef enum {
ElectLockStage = 6,
PowerControlStage = 7,
ChgInfornQueryStage = 8,
StartDownloadStage = 9,
StartDownloadStage,
RequestIntervalStage,
StartPackageStage,
SendDateStage,
SendDateWaitStage,
CompletePackageStage,
ProgramVerificationStage,
ResetStage,
} EnumTCUCommStage;
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论