提交 f7a88668 作者: 高增攀

编译通过,逻辑流程有待梳理

上级 4a89cb83
......@@ -2107,9 +2107,6 @@
<name>$PROJ_DIR$\..\Src\Drivers\Drv_Dht12.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Src\Drivers\Drv_DtuUsr.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Src\Drivers\Drv_E2rom.c</name>
</file>
<file>
......@@ -2295,18 +2292,69 @@
<group>
<name>Lcd</name>
<file>
<name>$PROJ_DIR$\..\Src\Thread\Lcd\LcdPro_AB_BmsInfor.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Src\Thread\Lcd\LcdPro_AB_BuildComm.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Src\Thread\Lcd\LcdPro_AB_CardPwd.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Src\Thread\Lcd\LcdPro_AB_CardSure.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Src\Thread\Lcd\LcdPro_AB_ChargeScreen.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Src\Thread\Lcd\LcdPro_AB_ChargeStop.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Src\Thread\Lcd\LcdPro_AB_ChargeSummary.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Src\Thread\Lcd\LcdPro_AB_CnctDetect.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Src\Thread\Lcd\LcdPro_AB_CommInfor.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Src\Thread\Lcd\LcdPro_AB_ElectLock.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Src\Thread\Lcd\LcdPro_AB_GetCard.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Src\Thread\Lcd\LcdPro_AB_LockCard.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Src\Thread\Lcd\LcdPro_AB_PillarError.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Src\Thread\Lcd\LcdPro_AB_PutBack.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Src\Thread\Lcd\LcdPro_AB_SwipeCard.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Src\Thread\Lcd\LcdPro_B_BmsInfor.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Src\Thread\Lcd\LcdPro_B_BuildComm.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Src\Thread\Lcd\LcdPro_B_CardPwd.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Src\Thread\Lcd\LcdPro_B_CardSure.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Src\Thread\Lcd\LcdPro_B_ChargeScreen.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Src\Thread\Lcd\LcdPro_B_ChargeStop.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Src\Thread\Lcd\LcdPro_B_ChargeSummary.c</name>
</file>
<file>
......@@ -2331,18 +2379,39 @@
<name>$PROJ_DIR$\..\Src\Thread\Lcd\LcdPro_B_FactoryTestTwo.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Src\Thread\Lcd\LcdPro_B_GetCard.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Src\Thread\Lcd\LcdPro_B_LockCard.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Src\Thread\Lcd\LcdPro_B_PillarError.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Src\Thread\Lcd\LcdPro_B_PutBack.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Src\Thread\Lcd\LcdPro_B_SwipeCard.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Src\Thread\Lcd\LcdPro_BmsInfor.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Src\Thread\Lcd\LcdPro_BuildComm.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Src\Thread\Lcd\LcdPro_CardPwd.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Src\Thread\Lcd\LcdPro_CardSure.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Src\Thread\Lcd\LcdPro_ChargeScreen.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Src\Thread\Lcd\LcdPro_ChargeStop.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Src\Thread\Lcd\LcdPro_ChargeSummary.c</name>
</file>
<file>
......@@ -2385,12 +2454,18 @@
<name>$PROJ_DIR$\..\Src\Thread\Lcd\LcdPro_FactoryTestTwo.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Src\Thread\Lcd\LcdPro_GetCard.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Src\Thread\Lcd\LcdPro_InforChgRecdLog.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Src\Thread\Lcd\LcdPro_InforLogClean.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Src\Thread\Lcd\LcdPro_LockCard.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Src\Thread\Lcd\LcdPro_MainMenu.c</name>
</file>
<file>
......@@ -2400,12 +2475,18 @@
<name>$PROJ_DIR$\..\Src\Thread\Lcd\LcdPro_ManageSelect.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Src\Thread\Lcd\LcdPro_PillarError.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Src\Thread\Lcd\LcdPro_PutBack.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Src\Thread\Lcd\LcdPro_SelectDCModule.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Src\Thread\Lcd\LcdPro_SetCard.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Src\Thread\Lcd\LcdPro_SetEmployRate.c</name>
</file>
<file>
......@@ -2436,6 +2517,9 @@
<name>$PROJ_DIR$\..\Src\Thread\Lcd\LcdPro_SetRatio.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Src\Thread\Lcd\LcdPro_SetReader.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Src\Thread\Lcd\LcdPro_SetReboot.c</name>
</file>
<file>
......@@ -2453,6 +2537,12 @@
<file>
<name>$PROJ_DIR$\..\Src\Thread\Lcd\LcdPro_SetTimeRate.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Src\Thread\Lcd\LcdPro_SingleChargeScreen.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Src\Thread\Lcd\LcdPro_SwipeCard.c</name>
</file>
</group>
<file>
<name>$PROJ_DIR$\..\Src\Thread\Thd_Charge.c</name>
......
......@@ -376,9 +376,6 @@
<name>$PROJ_DIR$\..\Src\Drivers\Drv_Dht12.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Src\Drivers\Drv_DtuUsr.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Src\Drivers\Drv_E2rom.c</name>
</file>
<file>
......@@ -564,18 +561,69 @@
<group>
<name>Lcd</name>
<file>
<name>$PROJ_DIR$\..\Src\Thread\Lcd\LcdPro_AB_BmsInfor.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Src\Thread\Lcd\LcdPro_AB_BuildComm.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Src\Thread\Lcd\LcdPro_AB_CardPwd.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Src\Thread\Lcd\LcdPro_AB_CardSure.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Src\Thread\Lcd\LcdPro_AB_ChargeScreen.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Src\Thread\Lcd\LcdPro_AB_ChargeStop.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Src\Thread\Lcd\LcdPro_AB_ChargeSummary.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Src\Thread\Lcd\LcdPro_AB_CnctDetect.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Src\Thread\Lcd\LcdPro_AB_CommInfor.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Src\Thread\Lcd\LcdPro_AB_ElectLock.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Src\Thread\Lcd\LcdPro_AB_GetCard.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Src\Thread\Lcd\LcdPro_AB_LockCard.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Src\Thread\Lcd\LcdPro_AB_PillarError.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Src\Thread\Lcd\LcdPro_AB_PutBack.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Src\Thread\Lcd\LcdPro_AB_SwipeCard.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Src\Thread\Lcd\LcdPro_B_BmsInfor.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Src\Thread\Lcd\LcdPro_B_BuildComm.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Src\Thread\Lcd\LcdPro_B_CardPwd.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Src\Thread\Lcd\LcdPro_B_CardSure.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Src\Thread\Lcd\LcdPro_B_ChargeScreen.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Src\Thread\Lcd\LcdPro_B_ChargeStop.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Src\Thread\Lcd\LcdPro_B_ChargeSummary.c</name>
</file>
<file>
......@@ -600,18 +648,39 @@
<name>$PROJ_DIR$\..\Src\Thread\Lcd\LcdPro_B_FactoryTestTwo.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Src\Thread\Lcd\LcdPro_B_GetCard.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Src\Thread\Lcd\LcdPro_B_LockCard.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Src\Thread\Lcd\LcdPro_B_PillarError.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Src\Thread\Lcd\LcdPro_B_PutBack.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Src\Thread\Lcd\LcdPro_B_SwipeCard.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Src\Thread\Lcd\LcdPro_BmsInfor.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Src\Thread\Lcd\LcdPro_BuildComm.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Src\Thread\Lcd\LcdPro_CardPwd.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Src\Thread\Lcd\LcdPro_CardSure.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Src\Thread\Lcd\LcdPro_ChargeScreen.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Src\Thread\Lcd\LcdPro_ChargeStop.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Src\Thread\Lcd\LcdPro_ChargeSummary.c</name>
</file>
<file>
......@@ -654,12 +723,18 @@
<name>$PROJ_DIR$\..\Src\Thread\Lcd\LcdPro_FactoryTestTwo.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Src\Thread\Lcd\LcdPro_GetCard.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Src\Thread\Lcd\LcdPro_InforChgRecdLog.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Src\Thread\Lcd\LcdPro_InforLogClean.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Src\Thread\Lcd\LcdPro_LockCard.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Src\Thread\Lcd\LcdPro_MainMenu.c</name>
</file>
<file>
......@@ -669,12 +744,18 @@
<name>$PROJ_DIR$\..\Src\Thread\Lcd\LcdPro_ManageSelect.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Src\Thread\Lcd\LcdPro_PillarError.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Src\Thread\Lcd\LcdPro_PutBack.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Src\Thread\Lcd\LcdPro_SelectDCModule.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Src\Thread\Lcd\LcdPro_SetCard.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Src\Thread\Lcd\LcdPro_SetEmployRate.c</name>
</file>
<file>
......@@ -705,6 +786,9 @@
<name>$PROJ_DIR$\..\Src\Thread\Lcd\LcdPro_SetRatio.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Src\Thread\Lcd\LcdPro_SetReader.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Src\Thread\Lcd\LcdPro_SetReboot.c</name>
</file>
<file>
......@@ -722,6 +806,12 @@
<file>
<name>$PROJ_DIR$\..\Src\Thread\Lcd\LcdPro_SetTimeRate.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Src\Thread\Lcd\LcdPro_SingleChargeScreen.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Src\Thread\Lcd\LcdPro_SwipeCard.c</name>
</file>
</group>
<file>
<name>$PROJ_DIR$\..\Src\Thread\Thd_Charge.c</name>
......
......@@ -307,6 +307,7 @@ extern void RunLedInit(void);
extern void RunLedSet(EnumSwitchStatus Set);
extern void ShortCirCheckSet(EnumSwitchStatus Set);
extern EnumSwitchStatus ACContactorGet(void);
extern EnumSwitchStatus ACContactorSta;
......
......@@ -68,6 +68,7 @@ typedef struct
}StructDcModuleCtrl;
extern StructDcModuleAbility DcModuleAbility;
extern void DcModuleCanInit_B(void);
extern StructDcModuleManage DcModuleManage;
extern StructDcModuleManage DcModuleManage_B;
......
......@@ -7,12 +7,14 @@
#include "Memory.h"
#include "Thd_TCU.h"
#include "Drv_MCP2515.h"
#include "Thd_TcuControl.h"
extern u8 TCUSendMsg(StructChargeSend *pMsg);
extern void TCUCanInit_B(void);
extern osMessageQId TCUMsg;
typedef struct
{
u8 ControlType;
......@@ -277,6 +279,8 @@ extern u8 TCUCommInit(void);
extern void StartMeg ( StructTCUSend* pPgnRecv );
extern void StartMegAck_A(void);
extern void StartMegAck_B(void);
extern void AckTCUHeartBeat(StructTCUSend* pPgnRecv);
extern void TCUParamAck(void);
extern void startCompSend_A(void);
extern void startCompSend_B(void);
......@@ -309,8 +313,9 @@ extern void measuringReporting20_B(void);
extern void ChgInfornQueryAck(void);
extern void verification(void);
extern void verificationAck(StructTCUSend* pPgnRecv);
void TcuEMMsg( UnionConEM data);
void TcuEMMsg_B( UnionConEM data);
extern void TcuEMMsg( u8 data);
extern void TcuEMMsg_B(u8 data);
extern void TCUParam(StructTCUSend* pPgnRecv);
extern StructStartMeg StartMeg_A ;
extern StructStartMeg StartMeg_B;
......
......@@ -15,6 +15,20 @@
#define AppCodeSize ((u32)250*1024)
#define McnRomSectionSize ((u32)2*1024)
#define UpdateFlagAddr ((u32)0x08002800)
typedef union
{
u8 Mult;
struct
{
u32 Idle : 1;//
u32 startCompAck :1;//
u32 stopCompAck: 1;//
u32 DCTCUInfor : 1;//
u32 DCTCUMeasu : 1;//
u32 Param : 1;//服务启停
u32 verificationAck : 1;//
}Value;
}UnionConEM;
#ifndef NULL
#define NULL ((void *)0)
......
......@@ -177,10 +177,6 @@ void Thd_Charge(void const *parameter)
osTimerDef(ChargeTimer, ChargeTimeCountCtrl);
ChargeTimer = osTimerCreate(osTimer(ChargeTimer), osTimerPeriodic, (void *)0);
osTimerStart(ChargeTimer, 1000);//һ
osThreadDef(Thd_TestQA, Thd_TestQA, osPriorityHigh, 0, configMINIMAL_STACK_SIZE);
osThreadCreate(osThread(Thd_TestQA), NULL);
osThreadDef(Thd_TestQB, Thd_TestQB, osPriorityHigh, 0, configMINIMAL_STACK_SIZE);
osThreadCreate(osThread(Thd_TestQB), NULL);
ChargeCtrl.CurProcess = eChgPro_ChgIdle;
ChargeCtrl.Param = 0;
......
......@@ -14,19 +14,26 @@
StructTCUCommuStatus TCUCommuStatus =
{
.ChgNum = 0;
.ChgNum = 0,
.CommStage= HeartStage,
.ParamVaild =0;
.ParamVaild =0,
0,
0
};
const StructTCUCommuParam TCUCommuParam =
{
.HeartPeriod = 1,
.HeartErrCntMax = 3,
.HeartTimeout = 1,
.SignInPeriod = 60,
};//后台通信参数
void TCURecvProcess(void)
{
StructTCUSend pPgnRecv;
if(pdTRUE != xQueueReceive(TCUMsg, pPgnRecv, 0))
if(pdTRUE != xQueueReceive(TCUMsg, &pPgnRecv, 0))
return;
switch(pPgnRecv.Pgn)
{
......@@ -55,12 +62,12 @@ void TCURecvProcess(void)
PowerControlAnalysis(&pPgnRecv);
break;
case eCmd_Query:// 充电桩配置信息查询帧
TCUCommuStatus.ChgNum = pPgnRecv->Data[0];
TCUCommuStatus.ChgNum = pPgnRecv.Data[0];
TCUCommuStatus.CommStage =ChgInfornQueryStage;
TCUCommuStatus.ChgInfornQueryRecvTime=GetSystemTick();
TCUCommuStatus.ChgInfornQuerySentTime = 0;
break;
case eCmd_verificationAck:,//车辆验证应答帧
case eCmd_verificationAck://车辆验证应答帧
verificationAck(&pPgnRecv);
break;
////////////状态帧/////////////////
......@@ -73,8 +80,6 @@ void TCURecvProcess(void)
///////////数据帧/直流////////////
case eCmd_DCTCUMeasu:// 计费单元遥测帧
break;
eCmd_DCTCUInfor:// 计费单元遥信帧
break;
///////////心跳帧///////////
case eCmd_TcuHeart: // 计费单元心跳
AckTCUHeartBeat(&pPgnRecv);//心跳解析
......@@ -119,12 +124,12 @@ void DCMeasuring_A(void)
{
if(0 == TCUCommuStatus.DCMeasuRecvTime)//遥测
{
if((GetSystemTick() - TCUCommuStatus.DCMeasuSendTime) > 1000))
if((GetSystemTick() - TCUCommuStatus.DCMeasuSendTime) > 1000)
{
TCUCommuStatus.DCMeasuErrCnt++;
if(TCUCommuStatus.DCMeasuErrCnt > 5)
{
memsect(TCUCommuStatus,0x00,sizeof(TCUCommuStatus));//通讯初始化
memset(&TCUCommuStatus,0x00,sizeof(TCUCommuStatus));//通讯初始化
TCUCommuStatus.ConnectFlag = 0;
TCUCommuStatus.HeartBeatErrCnt = 0;
TCUCommuStatus.HeartBeatVaild =0;//心跳失效
......@@ -152,12 +157,12 @@ void DCMeasuring_B(void)
{
if(0 == TCUCommuStatus.DCMeasuRecvTime_B)//遥测
{
if((GetSystemTick() - TCUCommuStatus.DCMeasuSendTime_B) > 1000))
if((GetSystemTick() - TCUCommuStatus.DCMeasuSendTime_B) > 1000)
{
TCUCommuStatus.DCMeasuErrCnt_B++;
if(TCUCommuStatus.DCMeasuErrCnt_B > 5)
{
memsect(TCUCommuStatus,0x00,sizeof(TCUCommuStatus));//通讯初始化
memset(&TCUCommuStatus,0x00,sizeof(TCUCommuStatus));//通讯初始化
TCUCommuStatus.ConnectFlag = 0;
TCUCommuStatus.HeartBeatErrCnt = 0;
TCUCommuStatus.HeartBeatVaild =0;//心跳失效
......@@ -191,7 +196,7 @@ void ConEMSend(void)
static u32 ConEMSendEcount_B = 0;
if(TCUCommuStatus.ConEMSendFlag ==1)
{
TcuEMMsg(TCUCommuStatus.ErrData.Value);//帧超时
TcuEMMsg(TCUCommuStatus.ErrData.Mult);//帧超时
ConEMSendTick =GetSystemTick();
TCUCommuStatus.ConEMSendFlag =2;
}
......@@ -202,7 +207,7 @@ void ConEMSend(void)
if(ConEMSendEcount < 20)
{
ConEMSendEcount++;
TcuEMMsg(TCUCommuStatus.ErrData.Value);
TcuEMMsg(TCUCommuStatus.ErrData.Mult);
}
else
{
......@@ -223,7 +228,7 @@ void ConEMSend(void)
}
if(TCUCommuStatus.ConEMSendFlag_B==1)
{
TcuEMMsg_B(TCUCommuStatus.ErrData_B.Value);//帧超时
TcuEMMsg_B(TCUCommuStatus.ErrData_B.Mult);//帧超时
ConEMSendTick_B = GetSystemTick();
TCUCommuStatus.ConEMSendFlag_B= 2;
}
......@@ -234,7 +239,7 @@ void ConEMSend(void)
if(ConEMSendEcount_B< 20)
{
ConEMSendEcount_B++;
TcuEMMsg_B(TCUCommuStatus.ErrData_B.Value);
TcuEMMsg_B(TCUCommuStatus.ErrData_B.Mult);
}
else
{
......@@ -301,7 +306,7 @@ void TCUPillarHeartBeat(void)
TCUCommuStatus.HeartBeatErrCnt++;
if(TCUCommuStatus.HeartBeatErrCnt > TCUCommuParam.HeartErrCntMax)
{
memsect(TCUCommuStatus,0x00,sizeof(TCUCommuStatus));//通讯初始化
memset(&TCUCommuStatus,0x00,sizeof(TCUCommuStatus));//通讯初始化
TCUCommuStatus.ConnectFlag = 0;
TCUCommuStatus.HeartBeatErrCnt = 0;
TCUCommuStatus.HeartBeatVaild =0;//心跳失效
......@@ -317,7 +322,7 @@ void TCUPillarHeartBeat(void)
}
else
{//心跳周期
SendTick = ((u32)CommuParam.HeartPeriod*1000);
SendTick = ((u32)TCUCommuParam.HeartPeriod*1000);
if((GetSystemTick() - TCUCommuStatus.HeartBeatSendTime) > SendTick)
{
......@@ -355,7 +360,7 @@ void TCUPillarHeartBeat_B(void)
}
else
{//心跳周期
SendTick = ((u32)CommuParam.HeartPeriod*1000);
SendTick = ((u32)TCUCommuParam.HeartPeriod*1000);
if((GetSystemTick() - TCUCommuStatus.HeartBeatSendTime_B) > SendTick)
{
......@@ -519,7 +524,7 @@ void TCUCurChgRecordInterface_A(void)
{
ChgStartSendTick = 0;
TCUCurChgRecd.TCUChgStartNotetrl =0;//停止发送
ChgStartSendEcount = 0
ChgStartSendEcount = 0;
}
}
}
......@@ -576,7 +581,7 @@ void TCUCurChgRecordInterface_A(void)
{
ChgStopSendTick = 0;
TCUCurChgRecd.TCUChgStopNotetrl =0;//停止发送
ChgStopSendEcount = 0
ChgStopSendEcount = 0;
}
}
}
......@@ -609,8 +614,9 @@ void TCUCurChgRecordInterface_A(void)
else if((TCUCurChgRecd.TCUChgStopCompNotetrl == 3)&&(0 != TCUCurChgRecd.TCUChargeEnable))
{
TCUCurChgRecd.TCUChgStopCompNotetrl = 0;//超时触发
TCUCommuStatus.TCUChargeEnable = 0;//归零
TCUCurChgRecd.TCUChargeEnable = 0;//归零
TCUCurChgRecd.TCUChgStopType = 0;
ChgRecordSendErr = 0;
}
}
......@@ -643,7 +649,7 @@ void TCUCurChgRecordInterface_B(void)
{
ChgStartSendTick = 0;
TCUCurChgRecd_B.TCUChgStartNotetrl =0;//停止发送
ChgStartSendEcount = 0
ChgStartSendEcount = 0;
}
}
}
......@@ -699,7 +705,7 @@ void TCUCurChgRecordInterface_B(void)
{
ChgStopSendTick = 0;
TCUCurChgRecd_B.TCUChgStopNotetrl =0;//停止发送
ChgStopSendEcount = 0
ChgStopSendEcount = 0;
}
}
}
......
......@@ -6,20 +6,6 @@
#include "Thd_TcuControl.h"
typedef union
{
u32 Mult;
struct
{
u32 Idle : 1;//
u32 startCompAck :1;//
u32 stopCompAck: 1;//
u32 DCTCUInfor : 1;//
u32 DCTCUMeasu : 1;//
u32 Param : 1;//服务启停
u32 verificationAck : 1;//
}Value;
}UnionConEM;
typedef enum
{
......@@ -107,13 +93,7 @@ typedef struct
}StructTCUCommuParam;
const StructTCUCommuParam TCUCommuParam =
{
.HeartPeriod = 1,
.HeartErrCntMax = 3,
.HeartTimeout = 1,
.SignInPeriod = 60,
};//后台通信参数
extern StructTCUCommuStatus TCUCommuStatus;
......
......@@ -8,39 +8,39 @@ StructTCUCtrl TCUCtrl;
StructTCUChgRecd TCUCurChgRecd = {0};
StructTCUChgRecd TCUCurChgRecd_B = {0};
EnumLcdProcess GetTCUProcess(EnumLcdProcess LcdPro)
EnumTCUProcess GetTCUProcess(EnumTCUProcess LcdPro)
{
static EnumLcdProcess historyLcdPro = eLcdPro_TCUMainMenu;
static EnumLcdProcess historyLcdPro_B = eLcdPro_TCUMainMenu;
EnumLcdProcess tempLcdProcess = eLcdPro_TCUMainMenu;
static EnumTCUProcess historyLcdPro = eLcdPro_TCUMainMenu;
static EnumTCUProcess historyLcdPro_B = eLcdPro_TCUMainMenu;
EnumTCUProcess tempLcdProcess = eLcdPro_TCUMainMenu;
tempLcdProcess = LcdPro;
switch(LcdPro)
{
case eLcdPro_TCUMainMenu:
if(eLcdPro_ChargeSummary == historyLcdPro)
if(eLcdPro_TCUChargeSummary == historyLcdPro)
{
historyLcdPro_B = eLcdPro_MainMenu;
tempLcdProcess = eLcdPro_ChargeSummary;
historyLcdPro_B = eLcdPro_TCUMainMenu;
tempLcdProcess = eLcdPro_TCUChargeSummary;
}
else if(eLcdPro_B_ChargeSummary == historyLcdPro_B)
else if(eLcdPro_TCUChargeSummary_B == historyLcdPro_B)
{
historyLcdPro = eLcdPro_MainMenu;
tempLcdProcess = eLcdPro_B_ChargeSummary;
historyLcdPro = eLcdPro_TCUMainMenu;
tempLcdProcess = eLcdPro_TCUChargeSummary_B;
}
else
{
historyLcdPro = eLcdPro_MainMenu;
historyLcdPro_B = eLcdPro_MainMenu;
tempLcdProcess = eLcdPro_MainMenu;
historyLcdPro = eLcdPro_TCUMainMenu;
historyLcdPro_B = eLcdPro_TCUMainMenu;
tempLcdProcess = eLcdPro_TCUMainMenu;
}
break;
case eLcdPro_ChargeSummary:
if(eLcdPro_B_ChargeSummary == historyLcdPro_B)
tempLcdProcess = eLcdPro_AB_ChargeSummary;
if(eLcdPro_TCUChargeSummary_B == historyLcdPro_B)
tempLcdProcess = eLcdPro_TCUChargeSummary_AB;
else
tempLcdProcess = eLcdPro_ChargeSummary;
tempLcdProcess = eLcdPro_TCUChargeSummary;
case eLcdPro_PutBack:
......@@ -48,10 +48,10 @@ EnumLcdProcess GetTCUProcess(EnumLcdProcess LcdPro)
break;
case eLcdPro_B_ChargeSummary:
if(eLcdPro_ChargeSummary == historyLcdPro)
tempLcdProcess = eLcdPro_AB_ChargeSummary;
if(eLcdPro_TCUChargeSummary == historyLcdPro)
tempLcdProcess = eLcdPro_TCUChargeSummary_AB;
else
tempLcdProcess = eLcdPro_B_ChargeSummary;
tempLcdProcess = eLcdPro_TCUChargeSummary_B;
case eLcdPro_B_PutBack:
......@@ -83,13 +83,13 @@ void TCUProPrstart(StructTCUCtrl *pLcdCtrl)
if(TCUCurChgRecd.StarChgResult== 1)//允许启动
{
TCUCurChgRecd.TCUChargeEnable = 1;
pLcdCtrl->CurScreen =eLcdPro_TCUBuildComm ;
TCUCurChgRecd.StarChgResult== 0;
pLcdCtrl->CurScreen =eLcdPro_TCUBuildComm;
TCUCurChgRecd.StarChgResult= 0;
}
else (TCUCurChgRecd.StarChgResult== 2)//启动失败
else if(TCUCurChgRecd.StarChgResult== 2)//启动失败
{
pLcdCtrl->CurScreen = GetTCUProcess(eLcdPro_TCUMainMenu);
TCUCurChgRecd.StarChgResult== 0;
TCUCurChgRecd.StarChgResult= 0;
}
if(eLcdPro_TCUPrstart!= pLcdCtrl->CurScreen)
return;
......@@ -104,12 +104,12 @@ void TCUProPrstart_B(StructTCUCtrl *pLcdCtrl)
{
TCUCurChgRecd_B.TCUChargeEnable = 1;
pLcdCtrl->CurScreen = eLcdPro_TCUBuildComm_B;
TCUCurChgRecd_B.StarChgResult== 0;
TCUCurChgRecd_B.StarChgResult= 0;
}
else if(TCUCurChgRecd_B.StarChgResult== 2)//启动失败
{
pLcdCtrl->CurScreen = GetTCUProcess(eLcdPro_TCUMainMenu);
TCUCurChgRecd_B.StarChgResult== 0;
TCUCurChgRecd_B.StarChgResult= 0;
}
if(eLcdPro_TCUPrstart_B!= pLcdCtrl->CurScreen)
return;
......@@ -118,8 +118,6 @@ void TCUProPrstart_B(StructTCUCtrl *pLcdCtrl)
}
void TCUBuildComm(StructTCUCtrl *pLcdCtrl)
{
u32 StarMegSendAcktime = 0;
u32 FirstStarMegSendAcktime =0;
while(1)
{
if(eLcdPro_TCUBuildComm!= pLcdCtrl->CurScreen)
......@@ -491,8 +489,8 @@ void Thd_TCUControl(void const *parameter)
TCUCtrl.Param = 0;
while(1)
{
if(TCUCtrl.CurScreen < eLcdPro_Max)
TCUCtrlHandle[TCUCtrl.CurScreen](&LcdCtrl);
if(TCUCtrl.CurScreen < eLcdPro_TCUMax)
TCUCtrl Handle[TCUCtrl.CurScreen](&TCUCtrl);
else
{
TCUCtrl.CurScreen = eLcdPro_TCUMainMenu;
......
......@@ -50,7 +50,7 @@ typedef void (*pTCUCtrlHandle)(StructTCUCtrl *pTCUCtrl);
#include "Drv_CommuUSART3.h"
typedef struct{
u8 TCUChgStarNotetrl ;//开机标识
u8 TCUChgStartNotetrl ;//开机标识
u8 StarValid;//启动参数是否有效
u8 StarChgType;//开始充电类型//即插即充标识 00非 01 即插即充other:invalid
u8 StarChgResult;//开启充电结果
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论