提交 b5ec882a 作者: wysheng

TCU升级

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