123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138 |
- #include "var.h"
- MC_RunInfo_Struct_t MC_RunInfo;
- MC_ErrorCode_Struct_t MC_ErrorCode,MC_ErrorCodeBackup;
- ControlCode_Struct_t ControlCode;
- ControlCode_Struct_t ControlCode_MC_WalkSby;
- PBU_AssitMode_Status_Struct_t PBU_AssitMode_Status;
- BMS_RunInfo_Struct_t BMS_RunInfo;
- BMS_ErrorCode_Struct_t BMS_ErrorCode;
- PBU_HMI_Menu_Process_Struct_t PBU_HMI_Menu_Process;
- PBU_TestMode_Process_Struct_t PBU_Test_Process;
- PBU_ConfigParam_Struct_t PBU_ConfigParam;
- PBU_RunLog_Struct_t PBU_RunLog;
- PBU_MacInfo_Struct_t PBU_MacInfo;
- PBU_VerInfo_Struct_t PBU_VerInfo;
- PBU_CheckInfo_Struct_t PBU_CheckInfo;
- PBU_RunMode_t PBU_RunMode;
- PBU_PowerOff_Process_Struct_t PBU_PowerOff_Process;
- PBU_PowerOn_Process_Struct_t PBU_PowerOn_Process;
- PBU_MC_CfgProcess_Struct_t PBU_MC_Cfg;
- uint32_t SysTime_5ms = 0;
- char UserString1[16];
- char UserString2[16];
- char UserString3[16];
- PBU_ErrorCode_Struct_t PBU_ErrorCode,PBU_ErrorCodeBackup;
- PBU_ErrorCode_Struct_t PBU_hardwareErrorCode;
- PBU_ErrorCode_Struct_t PBU_commErrorCode;
- PBU_ErrorCode_Struct_t PBU_TE_ErrorCode;
- TrueOrFalse_Flag_Struct_t PBU_ErrorFlag = FALSE;
- TrueOrFalse_Flag_Struct_t BMS_ChargingFlag = FALSE;
- TrueOrFalse_Flag_Struct_t PBU_TE_FaultDetectFlag= FALSE;
- _Bool BMS_Online_Flag;
- _Bool HMI_Online_Flag;
- _Bool MC_Online_Flag;
- _Bool TE_Online_Flag;
- uint32_t HMI_Online_TimeCnt=0;
- uint32_t MC_Online_TimeCnt=0;
- uint32_t BMS_Online_TimeCnt=0;
- uint32_t TE_Online_TimeCnt=0;
- uint32_t Vin_test_TimeCnt = 0;
- uint8_t Scan_Key_Start=0x00;
- uint8_t LED_Blink_Enable=0x00;
- uint32_t PBU_Error_senddata=0;
- uint32_t ErrorCodeFinal=0;
- void Var_Init(void)
- {
- //MC控制指令
- ControlCode.GearSt = 0;
- ControlCode.LightSwitch = 0xF0;
-
- //助力模式
- PBU_AssitMode_Status.GearStBak_Smart = 0;
- PBU_AssitMode_Status.GearStBak_Walk = 0;
- PBU_AssitMode_Status.PBU_AssistMode_Flag = PBU_AssistMode_Flag_Gear;
- PBU_AssitMode_Status.SendCodeTimeCnt_Ctl = 0;
- PBU_AssitMode_Status.WalkDelayTimeCnt = 0;
- PBU_AssitMode_Status.IsSmartEtrWalk_Flag = FALSE;
- PBU_AssitMode_Status.PBU_WalkSbyProcess.SendCodeTimeCnt_WalkSby = 0;
- PBU_AssitMode_Status.PBU_WalkSbyProcess.DelayTimeCnt = 0;
- PBU_AssitMode_Status.PBU_WalkSbyProcess.HMI_ACK_Flag = TRUE;
-
- //PBU按键状态
- PBU_HMI_Menu_Process.PBU_HMI_KeyStatus.Key_Add = Key_Status_NoPress;
- PBU_HMI_Menu_Process.PBU_HMI_KeyStatus.Key_Dec = Key_Status_NoPress;
- PBU_HMI_Menu_Process.PBU_HMI_KeyStatus.Key_Light = Key_Status_NoPress;
- PBU_HMI_Menu_Process.PBU_HMI_KeyStatus.Key_Power = Key_Status_NoPress;
- PBU_HMI_Menu_Process.PBU_HMI_KeyStatus.Key_Set = Key_Status_NoPress;
- PBU_HMI_Menu_Process.PBU_HMI_KeyStatus.Key_Walk = Key_Status_NoPress;
- PBU_HMI_Menu_Process.KeyTrig_Flag = 0;
- PBU_HMI_Menu_Process.HMI_ACK_Flag = FALSE;
- PBU_HMI_Menu_Process.SendCodeTimeCnt = 0;
- PBU_HMI_Menu_Process.DelayTimeCnt = 0;
-
- //按键测试状态
- PBU_Test_Process.KeyTest_Status.Status = 0x00;
- PBU_Test_Process.SendCodeTimeCnt = 0;
-
- //PBU版本信息,Mode和SN从EEPROM读取
- strcpy(PBU_VerInfo.HW_Version, (char*)"TT-YB-001A.");//长度为16bytes
- strcpy(PBU_VerInfo.FW_Version, (char*)"V4r1r0_20240403.");//长度为16bytes
- //PBU校验信息,校验码从EEPROM读取
- PBU_CheckInfo.MAC_ID[0] = *(__IO uint32_t*)(0x1FFFF7AC);
- PBU_CheckInfo.MAC_ID[1] = *(__IO uint32_t*)(0x1FFFF7B0);
- PBU_CheckInfo.MAC_ID[2] = *(__IO uint32_t*)(0x1FFFF7B4);
-
- //PBU运行模式
- PBU_RunMode = PBU_RunMode_MC_AssisitCtrl;
-
- //PBU开机处理
- PBU_PowerOn_Process.PowerOnTimeCnt=0;
- PBU_PowerOn_Process.PowerOnOKCnt=0;
- PBU_PowerOn_Process.PowerKeyStatus = 0;
- //PBU关机处理
- PBU_PowerOff_Process.DelayTimeCnt = 0;
- PBU_PowerOff_Process.SendCodeTimeCnt = 0;
- PBU_PowerOff_Process.Ready_Status.Status = 0x00;
-
- //PBU配置MC
- PBU_MC_Cfg.MC_ACK_Flag = FALSE;
- PBU_MC_Cfg.DelayTimeCnt = 0;
- PBU_MC_Cfg.SendCodeTimeCnt = 0;
-
- //PBU配置信息
- PBU_ConfigParam.GearsNum = 4;
- PBU_ConfigParam.NoHMI_Flag = 0xAA;
- PBU_ConfigParam.RatedVoltage = 1; //0-24 1-36 2-48
-
- //故障码初始化
- PBU_ErrorCode.Code = 0;
- PBU_hardwareErrorCode.Code=0;
- PBU_commErrorCode.Code=0;
- PBU_TE_ErrorCode.Code=0;
- MC_ErrorCode.Code = 0;
- BMS_ErrorCode.Code = 0;
- PBU_ErrorCodeBackup.Code = 0;
- MC_ErrorCodeBackup.Code = 0;
- MC_RunInfo.SOC = 0xFF;
- }
- void Error_Init(void)
- {
- //MC控制指令
- ControlCode.GearSt = 0;
-
- //助力模式
- PBU_AssitMode_Status.GearStBak_Smart = 0;
- PBU_AssitMode_Status.GearStBak_Walk = 0;
- PBU_AssitMode_Status.PBU_AssistMode_Flag = PBU_AssistMode_Flag_Gear;
- PBU_AssitMode_Status.IsSmartEtrWalk_Flag = FALSE;
- PBU_AssitMode_Status.PBU_WalkSbyProcess.HMI_ACK_Flag = TRUE;
-
- }
|