提交 82cd08b5 作者: wysheng

修改文件名便于查找;拆分AB枪TCU页面处理

上级 b8ca5a7c
......@@ -2153,19 +2153,19 @@
<group>
<name>SmartAllocation</name>
<file>
<name>$PROJ_DIR$\..\Src\SmartAllocation\Drv_SmartAllocation.c</name>
<name>$PROJ_DIR$\..\Src\SmartAllocation\ChgPro_B_ChgRun_SmartAllocation.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Src\SmartAllocation\Drv_SmartAllocation.h</name>
<name>$PROJ_DIR$\..\Src\SmartAllocation\ChgPro_ChgRun_SmartAllocation.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Src\SmartAllocation\Drv_SmartAllocation_DcModule.c</name>
<name>$PROJ_DIR$\..\Src\SmartAllocation\Drv_DcModule_SmartAllocation.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Src\SmartAllocation\SmartAllocation_B_ChgRun.c</name>
<name>$PROJ_DIR$\..\Src\SmartAllocation\Drv_SmartAllocation.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Src\SmartAllocation\SmartAllocation_ChgRun.c</name>
<name>$PROJ_DIR$\..\Src\SmartAllocation\Drv_SmartAllocation.h</name>
</file>
</group>
<group>
......
......@@ -418,19 +418,19 @@
<group>
<name>SmartAllocation</name>
<file>
<name>$PROJ_DIR$\..\Src\SmartAllocation\Drv_SmartAllocation.c</name>
<name>$PROJ_DIR$\..\Src\SmartAllocation\ChgPro_B_ChgRun_SmartAllocation.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Src\SmartAllocation\Drv_SmartAllocation.h</name>
<name>$PROJ_DIR$\..\Src\SmartAllocation\ChgPro_ChgRun_SmartAllocation.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Src\SmartAllocation\Drv_SmartAllocation_DcModule.c</name>
<name>$PROJ_DIR$\..\Src\SmartAllocation\Drv_DcModule_SmartAllocation.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Src\SmartAllocation\SmartAllocation_B_ChgRun.c</name>
<name>$PROJ_DIR$\..\Src\SmartAllocation\Drv_SmartAllocation.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Src\SmartAllocation\SmartAllocation_ChgRun.c</name>
<name>$PROJ_DIR$\..\Src\SmartAllocation\Drv_SmartAllocation.h</name>
</file>
</group>
<group>
......
......@@ -610,7 +610,7 @@ void StartMeg(StructTCUSend * pPgnRecv)
if (pPgnRecv->DA == ChargerCont1939Addr)
{
if ((TCUCurChgRecd.TCUChgStartNotetrl == 0) && (TCUCurChgRecd.TCUChargeEnable == 0) &&
((eLcdPro_TCUMainMenu == TCUCtrl.CurScreen) || (eLcdPro_TCUChargeSummary_B == TCUCtrl.CurScreen)))
(eLcdPro_TCUMainMenu == TCUCtrl.CurScreen))
{
ChargeStopType = eChgStop_None;
......@@ -664,7 +664,7 @@ void StartMeg(StructTCUSend * pPgnRecv)
else if (pPgnRecv->DA == ChargerCont1939Addr_B)
{
if ((TCUCurChgRecd_B.TCUChgStartNotetrl == 0) && (TCUCurChgRecd_B.TCUChargeEnable == 0) &&
((eLcdPro_TCUMainMenu == TCUCtrl.CurScreen) || (eLcdPro_TCUChargeSummary == TCUCtrl.CurScreen)))
(eLcdPro_TCUMainMenu == TCUCtrl_B.CurScreen))
{
ChargeStopType_B = eChgStop_None;
StartMeg_B.LoadSswitch = pPgnRecv->Data[1];
......@@ -677,8 +677,8 @@ void StartMeg(StructTCUSend * pPgnRecv)
{
TCUCurChgRecd_B.StarValid = 1;
TCUCurChgRecd_B.StarChgType = pPgnRecv->Data[2];
TCUCtrl.CurScreen = eLcdPro_TCUPrstart_B;
TCUCtrl.Param = 0;
TCUCtrl_B.CurScreen = eLcdPro_TCUPrstart;
TCUCtrl_B.Param = 0;
TCUCurChgRecd_B.TCUChgStartNotetrl = 1; //回复充电开始发送标志位
if (StartMeg_B.AuxiliaryPower == 0x00)
......
......@@ -16,6 +16,8 @@
#define ImdCheckCount (3)
#define BleederCheckTimeOut (3500)//ms
extern void SendDataToDcModule_A(EnumSwitchStatus Set, u16 Volt, u16 Currt);
typedef enum
{
eImdStep_Start= 0,
......
......@@ -8,6 +8,8 @@
#include "Drv_ImdJyc.h"
#include "Memory.h"
extern void SendDataToDcModule_A(EnumSwitchStatus Set, u16 Volt, u16 Currt);
/**************************************************************************************************
** 函数名: GetBatVoltWaitPillarReady
** 输 入: 无
......
......@@ -16,6 +16,8 @@
#define ImdCheckCount (3)
#define BleederCheckTimeOut (3500)//ms
extern void SendDataToDcModule_B(EnumSwitchStatus Set, u16 Volt, u16 Currt);
typedef enum
{
eImdStep_Start= 0,
......
......@@ -8,6 +8,8 @@
#include "Drv_ImdJyc.h"
#include "Memory.h"
extern void SendDataToDcModule_B(EnumSwitchStatus Set, u16 Volt, u16 Currt);
/**************************************************************************************************
** 函数名: GetBatVoltWaitPillarReady
** 输 入: 无
......
......@@ -761,6 +761,13 @@ void TCUCurChgRecordInterface_A(void)
ChgStopSendTick = 0;
TCUCurChgRecd.TCUChgStopNotetrl = 0; //停止发送
ChgStopSendEcount = 0;
if(TCUCurChgRecd.TCUChgStopCompNotetrl == 0
&& ChargeCtrl.CurProcess == eChgPro_ChgIdle
&& TCUCtrl.CurScreen == eLcdPro_TCUMainMenu)
{
TCUCurChgRecd.TCUChgStopCompNotetrl = 1;
}
}
}
}
......@@ -835,6 +842,13 @@ void TCUCurChgRecordInterface_B(void)
ChgStartSendTick = 0;
TCUCurChgRecd_B.TCUChgStartNotetrl = 0; //停止发送
ChgStartSendEcount = 0;
if(TCUCurChgRecd_B.TCUChgStopCompNotetrl == 0
&& ChargeCtrl_B.CurProcess == eChgPro_ChgIdle
&& TCUCtrl_B.CurScreen == eLcdPro_TCUMainMenu)
{
TCUCurChgRecd_B.TCUChgStopCompNotetrl = 1;
}
}
}
}
......
......@@ -4,11 +4,15 @@
#include "Thd_TcuControl.h"
StructTCUCtrl TCUCtrl;
StructTCUCtrl TCUCtrl_B;
u32 PlugToChgTick = 0;
u32 PlugToChgTick_B = 0;
StructTCUChgRecd TCUCurChgRecd = {0};
StructTCUChgRecd TCUCurChgRecd_B = {0};
#if 0
EnumTCUProcess GetTCUProcess(EnumTCUProcess LcdPro)
{
static EnumTCUProcess historyLcdPro = eLcdPro_TCUMainMenu;
......@@ -64,11 +68,21 @@ EnumTCUProcess GetTCUProcess(EnumTCUProcess LcdPro)
}
return tempLcdProcess;
}
#endif
void TCUProMainMenu(StructTCUCtrl *pLcdCtrl)
{
LockSet(eSwSta_Off);
while(1)
{
if(eLcdPro_TCUMainMenu != pLcdCtrl->CurScreen)
return;
osDelay(100);
}
}
void TCUProMainMenu_B(StructTCUCtrl *pLcdCtrl)
{
LockSet_B(eSwSta_Off);
while(1)
{
......@@ -77,6 +91,7 @@ void TCUProMainMenu(StructTCUCtrl *pLcdCtrl)
osDelay(100);
}
}
void TCUProPrstart(StructTCUCtrl *pLcdCtrl)
{
while(1)
......@@ -94,7 +109,7 @@ void TCUProPrstart(StructTCUCtrl *pLcdCtrl)
}
else if(TCUCurChgRecd.StarChgResult== 2)//启动失败
{
pLcdCtrl->CurScreen = GetTCUProcess(eLcdPro_TCUMainMenu);
pLcdCtrl->CurScreen = eLcdPro_TCUMainMenu;//GetTCUProcess(eLcdPro_TCUMainMenu);
TCUCurChgRecd.StarChgResult= 0;
}
if(eLcdPro_TCUPrstart!= pLcdCtrl->CurScreen)
......@@ -102,6 +117,7 @@ void TCUProPrstart(StructTCUCtrl *pLcdCtrl)
osDelay(100);
}
}
void TCUProPrstart_B(StructTCUCtrl *pLcdCtrl)
{
while(1)
......@@ -114,19 +130,20 @@ void TCUProPrstart_B(StructTCUCtrl *pLcdCtrl)
TCUCurChgRecd_B.TCUChargeEnable = 2;
PlugToChgTick_B = GetSystemTick();
}
pLcdCtrl->CurScreen = eLcdPro_TCUBuildComm_B;
pLcdCtrl->CurScreen = eLcdPro_TCUBuildComm;
TCUCurChgRecd_B.StarChgResult= 0;
}
else if(TCUCurChgRecd_B.StarChgResult== 2)//启动失败
{
pLcdCtrl->CurScreen = GetTCUProcess(eLcdPro_TCUMainMenu);
pLcdCtrl->CurScreen = eLcdPro_TCUMainMenu;//GetTCUProcess(eLcdPro_TCUMainMenu);
TCUCurChgRecd_B.StarChgResult= 0;
}
if(eLcdPro_TCUPrstart_B!= pLcdCtrl->CurScreen)
if(eLcdPro_TCUPrstart!= pLcdCtrl->CurScreen)
return;
osDelay(100);
}
}
void TCUBuildComm(StructTCUCtrl *pLcdCtrl)
{
while(1)
......@@ -137,7 +154,7 @@ void TCUBuildComm(StructTCUCtrl *pLcdCtrl)
{
case eChgPro_ChgRun:
case eChgPro_WaitVoltChgRun:
pLcdCtrl->CurScreen = GetTCUProcess(eLcdPro_TCUChargeSummary);
pLcdCtrl->CurScreen = eLcdPro_TCUChargeSummary;//GetTCUProcess(eLcdPro_TCUChargeSummary);
pLcdCtrl->Param = 0;
TCUCurChgRecd.TCUStartCompresult = 1;//成功
TCUCurChgRecd.TCUChgStarCompNotetrl =1;//开始完成帧发送标志
......@@ -147,7 +164,7 @@ void TCUBuildComm(StructTCUCtrl *pLcdCtrl)
case eChgPro_ChgBreak://硬件异常
TCUCurChgRecd.TCUStartCompresult = 2;//失败
TCUCurChgRecd.TCUChgStarCompNotetrl =1;//开始完成帧发送标志
pLcdCtrl->CurScreen = GetTCUProcess(eLcdPro_TCUMainMenu);
pLcdCtrl->CurScreen = eLcdPro_TCUMainMenu;//GetTCUProcess(eLcdPro_TCUMainMenu);
pLcdCtrl->Param = 0;
TCUCurChgRecd.TCUChargeEnable = 0;
break;
......@@ -174,14 +191,14 @@ void TCUBuildComm_B(StructTCUCtrl *pLcdCtrl)
{
while(1)
{
if(eLcdPro_TCUBuildComm_B!= pLcdCtrl->CurScreen)
if(eLcdPro_TCUBuildComm!= pLcdCtrl->CurScreen)
return;
switch(ChargeCtrl_B.CurProcess)
{
case eChgPro_ChgRun:
case eChgPro_WaitVoltChgRun:
pLcdCtrl->CurScreen = GetTCUProcess(eLcdPro_TCUChargeSummary_B);
pLcdCtrl->CurScreen = eLcdPro_TCUChargeSummary;//GetTCUProcess(eLcdPro_TCUChargeSummary_B);
pLcdCtrl->Param = 0;
TCUCurChgRecd_B.TCUStartCompresult = 1;//成功
TCUCurChgRecd_B.TCUChgStarCompNotetrl =1;//开始完成帧发送标志
......@@ -191,7 +208,7 @@ void TCUBuildComm_B(StructTCUCtrl *pLcdCtrl)
case eChgPro_ChgBreak://硬件异常
TCUCurChgRecd_B.TCUStartCompresult = 2;//失败
TCUCurChgRecd_B.TCUChgStarCompNotetrl =1;//开始完成帧发送标志
pLcdCtrl->CurScreen = GetTCUProcess(eLcdPro_TCUMainMenu);
pLcdCtrl->CurScreen = eLcdPro_TCUMainMenu;//GetTCUProcess(eLcdPro_TCUMainMenu);
pLcdCtrl->Param = 0;
TCUCurChgRecd_B.TCUChargeEnable = 0;
break;
......@@ -225,7 +242,7 @@ void TCUChargeSummary(StructTCUCtrl *pLcdCtrl)
case eChgPro_CommError://通讯失败
case eChgPro_ChgBreak://硬件异常
TCUCurChgRecd.TCUChgStopCompNotetrl= 1;//停止完成帧命令发送
pLcdCtrl->CurScreen = GetTCUProcess(eLcdPro_TCUMainMenu);
pLcdCtrl->CurScreen = eLcdPro_TCUMainMenu;//GetTCUProcess(eLcdPro_TCUMainMenu);
pLcdCtrl->Param = 0;
break;
default:
......@@ -237,7 +254,7 @@ void TCUChargeSummary_B(StructTCUCtrl *pLcdCtrl)
{
while(1)
{
if(eLcdPro_TCUChargeSummary_B!= pLcdCtrl->CurScreen)
if(eLcdPro_TCUChargeSummary!= pLcdCtrl->CurScreen)
return;
switch(ChargeCtrl_B.CurProcess)
{
......@@ -245,7 +262,7 @@ void TCUChargeSummary_B(StructTCUCtrl *pLcdCtrl)
case eChgPro_CommError://通讯失败
case eChgPro_ChgBreak://硬件异常
TCUCurChgRecd_B.TCUChgStopCompNotetrl= 1;//停止完成帧命令发送
pLcdCtrl->CurScreen = GetTCUProcess(eLcdPro_TCUMainMenu);
pLcdCtrl->CurScreen = eLcdPro_TCUMainMenu;//GetTCUProcess(eLcdPro_TCUMainMenu);
pLcdCtrl->Param = 0;
break;
......@@ -255,6 +272,8 @@ void TCUChargeSummary_B(StructTCUCtrl *pLcdCtrl)
}
}
#if 0
void TCUChargeSummary_AB(StructTCUCtrl *pLcdCtrl)
{
while(1)
......@@ -287,6 +306,7 @@ void TCUChargeSummary_AB(StructTCUCtrl *pLcdCtrl)
}
}
}
#endif
#if 0
void TCUChargeStop(StructTCUCtrl *pLcdCtrl)
{
......@@ -313,16 +333,21 @@ const pTCUCtrlHandle TCUCtrlHandle[] =
{
TCUProMainMenu,
TCUProPrstart,
TCUProPrstart_B,
TCUBuildComm,
TCUBuildComm_B,
TCUChargeSummary,
TCUChargeSummary_B,
TCUChargeSummary_AB,
//TCUChargeSummary_AB,
TCUProMainMenu,
};
const pTCUCtrlHandle TCUCtrlHandle_B[] =
{
TCUProMainMenu_B,
TCUProPrstart_B,
TCUBuildComm_B,
TCUChargeSummary_B,
TCUProMainMenu_B,
};
#if 0
......@@ -538,3 +563,22 @@ void Thd_TCUControl(void const *parameter)
}
}
void Thd_TCUControl_B(void const *parameter)
{
osDelay(1500);
TCUCtrl_B.CurScreen = eLcdPro_TCUMainMenu;
TCUCtrl_B.Param = 0;
while(1)
{
if(TCUCtrl_B.CurScreen < eLcdPro_TCUMax)
TCUCtrlHandle_B[TCUCtrl_B.CurScreen](&TCUCtrl_B);
else
{
TCUCtrl_B.CurScreen = eLcdPro_TCUMainMenu;
TCUCtrl_B.Param = 0;
}
osDelay(100);
}
}
......@@ -13,12 +13,12 @@ typedef enum
{
eLcdPro_TCUMainMenu = 0,
eLcdPro_TCUPrstart,
eLcdPro_TCUPrstart_B,
//eLcdPro_TCUPrstart_B,
eLcdPro_TCUBuildComm,
eLcdPro_TCUBuildComm_B,
//eLcdPro_TCUBuildComm_B,
eLcdPro_TCUChargeSummary,
eLcdPro_TCUChargeSummary_B,
eLcdPro_TCUChargeSummary_AB,
//eLcdPro_TCUChargeSummary_B,
//eLcdPro_TCUChargeSummary_AB,
// eLcdPro_TCUChargeStop,
// eLcdPro_TCUChargeStopComp,
// eLcdPro_TCUChargeStop_B,
......@@ -71,6 +71,7 @@ typedef struct{
extern StructTCUCtrl TCUCtrl;
extern StructTCUCtrl TCUCtrl_B;
extern StructTCUChgRecd TCUCurChgRecd;
extern StructTCUChgRecd TCUCurChgRecd_B;
......@@ -81,7 +82,7 @@ extern void StampToTime(u32 TimeStamp, StructTime *pTimeBlock);
extern u32 TimeToStamp(StructTime *pTimeBlock);
extern u32 GetExtOrLcdStamp(StructTime *pTime);*/
extern void Thd_TCUControl(void const *parameter);
extern void Thd_TCUControl_B(void const *parameter);
#endif
......
......@@ -127,6 +127,8 @@ int main(void)
osThreadCreate(osThread(Thd_Lcd), NULL);
osThreadDef(Thd_TCUControl, Thd_TCUControl, osPriorityNormal, 0, 2*configMINIMAL_STACK_SIZE);
osThreadCreate(osThread(Thd_TCUControl), NULL);
osThreadDef(Thd_TCUControl_B, Thd_TCUControl_B, osPriorityNormal, 0, 2*configMINIMAL_STACK_SIZE);
osThreadCreate(osThread(Thd_TCUControl_B), NULL);
//osThreadDef(Internet, Internet, osPriorityNormal, 0, 2*configMINIMAL_STACK_SIZE);
//osThreadCreate(osThread(Internet), NULL);
osThreadDef(TCUComm, TCUComm, osPriorityNormal, 0, 2*configMINIMAL_STACK_SIZE);
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论