Commit dc5851a6 authored by 李冠华's avatar 李冠华

feat:根据G54-A01混动通讯矩阵重做报文库和CAN相关文件,将原有的纯电相关信号改为预编译。后续添加混动相关信号

parent 95b03818
......@@ -9,6 +9,19 @@ extern st_CanMsgOp CAN_CH0_CanMsgOp;
extern st_CanMsgTxOp CAN_CH0_CanMsgTxOp;
typedef enum
{
KEY_OFF = 0,
PKEY_ON,
KEY_ACC,
READY,
CHRG_PLUGIN,
CHRGING,
CHRGEND,
POWER_CHECK_NULL,
} POWER_CHECK_STATE_t;
#if (PART_NUMBER == RMR42E_60)
typedef enum
{
CAN_CH0_ID_CAN_0x398_Msg_Count,
......@@ -32,18 +45,6 @@ typedef enum
CAN_CH0_ID_TOTAL_MAX,
} CAN_CH0_CAN_MSG_ID_t;
typedef enum
{
KEY_OFF = 0,
PKEY_ON,
KEY_ACC,
READY,
CHRG_PLUGIN,
CHRGING,
CHRGEND,
POWER_CHECK_NULL,
} POWER_CHECK_STATE_t;
typedef enum
{
......@@ -129,5 +130,169 @@ extern uint8_t System_Indicator_CANFlag;
void System_Indicator_ON_callback(canlib_uint8_t CopyData []);
void System_Indicator_OFF_callback(canlib_uint8_t CopyData []);
#else
typedef enum
{
CAN_CH0_ID_VCU_Error_Msg_Count,
CAN_CH0_ID_VCU_Status_Msg_Count,
CAN_CH0_ID_SMCU_Error_Msg_Count,
CAN_CH0_ID_SMCU_StateInfo_134h_Msg_Count,
CAN_CH0_ID_MMCU_Error_Msg_Count,
CAN_CH0_ID_MMCU_RunStatistics_339h_Msg_Count,
CAN_CH0_ID_MMCU_StateInfo_125h_Msg_Count,
CAN_CH0_ID_MMCU_DynamicParam_11Bh_Msg_Count,
CAN_CH0_ID_MBMS_DynamicParamTotal_Msg_Count,
CAN_CH0_ID_MBMS_DChgCtrl_Msg_Count,
CAN_CH0_ID_MBMS_VoltCurrSocALL_Msg_Count,
CAN_CH0_ID_MBMS_VoltCurrSoc_Msg_Count,
CAN_CH0_ID_MBMS_SignalStateInfo_Msg_Count,
CAN_CH0_ID_MBMS_SafeDataStat_Msg_Count,
CAN_CH0_ID_MBMS_DynamicParam1_Msg_Count,
CAN_CH0_ID_GCU_Error_Msg_Count,
CAN_CH0_ID_EMS_Error_Msg_Count,
CAN_CH0_ID_EMS_Status_Msg_Count,
CAN_CH0_ID_EMS_Parameter2_Msg_Count,
CAN_CH0_ID_CHG_DynamicParam0_Msg_Count,
CAN_CH0_ID_BMCU_Error_Msg_Count,
CAN_CH0_ID_BMCU_RunStatistics_389h_Msg_Count,
CAN_CH0_ID_TOTAL_MAX,
} CAN_CH0_CAN_MSG_ID_t;
typedef enum
{
CAN_CH0_ID_SEND_3A2_TOTAL,
CAN_CH0_ID_SEND_3A7_TOTAL,
CAN_CH0_ID_SEND_393_TOTAL,
CAN_CH0_ID_SEND_TOTAL,
} CAN_CH0_CAN_MSG_SEND_ID_t;
extern const st_CANMsgAttribute CAN_CH0_CAN_MSG_CONST_ARRAY[CAN_CH0_ID_TOTAL_MAX] ;
extern const st_CAN_SendAttribute CAN_CH0_CANSendAttr[CAN_CH0_ID_SEND_TOTAL] ;
#define CAN_CH0_ID_VCU_Error_Msg 0x225ul
#define CAN_CH0_ID_VCU_Status_Msg 0x220ul
#define CAN_CH0_ID_SMCU_Error_Msg 0x361ul
#define CAN_CH0_ID_SMCU_StateInfo_134h_Msg 0x134ul
#define CAN_CH0_ID_MMCU_Error_Msg 0x33Eul
#define CAN_CH0_ID_MMCU_RunStatistics_339h_Msg 0x339ul
#define CAN_CH0_ID_MMCU_StateInfo_125h_Msg 0x125ul
#define CAN_CH0_ID_MMCU_DynamicParam_11Bh_Msg 0x11Bul
#define CAN_CH0_ID_MBMS_DynamicParamTotal_Msg 0x31Aul
#define CAN_CH0_ID_MBMS_DChgCtrl_Msg 0x315ul
#define CAN_CH0_ID_MBMS_VoltCurrSocALL_Msg 0x17Aul
#define CAN_CH0_ID_MBMS_VoltCurrSoc_Msg 0x175ul
#define CAN_CH0_ID_MBMS_SignalStateInfo_Msg 0x170ul
#define CAN_CH0_ID_MBMS_SafeDataStat_Msg 0x16Bul
#define CAN_CH0_ID_MBMS_DynamicParam1_Msg 0x161ul
#define CAN_CH0_ID_GCU_Error_Msg 0x22Aul
#define CAN_CH0_ID_EMS_Error_Msg 0x234ul
#define CAN_CH0_ID_EMS_Status_Msg 0x22Ful
#define CAN_CH0_ID_EMS_Parameter2_Msg 0x18Eul
#define CAN_CH0_ID_CHG_DynamicParam0_Msg 0x3B1ul
#define CAN_CH0_ID_BMCU_Error_Msg 0x38Eul
#define CAN_CH0_ID_BMCU_RunStatistics_389h_Msg 0x389ul
#define CAN_CH0_ID_CAN_0x225_Msg CAN_CH0_ID_VCU_Error_Msg
#define CAN_CH0_ID_CAN_0x220_Msg CAN_CH0_ID_VCU_Status_Msg
#define CAN_CH0_ID_CAN_0x361_Msg CAN_CH0_ID_SMCU_Error_Msg
#define CAN_CH0_ID_CAN_0x134_Msg CAN_CH0_ID_SMCU_StateInfo_134h_Msg
#define CAN_CH0_ID_CAN_0x33E_Msg CAN_CH0_ID_MMCU_Error_Msg
#define CAN_CH0_ID_CAN_0x339_Msg CAN_CH0_ID_MMCU_RunStatistics_339h_Msg
#define CAN_CH0_ID_CAN_0x125_Msg CAN_CH0_ID_MMCU_StateInfo_125h_Msg
#define CAN_CH0_ID_CAN_0x11B_Msg CAN_CH0_ID_MMCU_DynamicParam_11Bh_Msg
#define CAN_CH0_ID_CAN_0x31A_Msg CAN_CH0_ID_MBMS_DynamicParamTotal_Msg
#define CAN_CH0_ID_CAN_0x315_Msg CAN_CH0_ID_MBMS_DChgCtrl_Msg
#define CAN_CH0_ID_CAN_0x17A_Msg CAN_CH0_ID_MBMS_VoltCurrSocALL_Msg
#define CAN_CH0_ID_CAN_0x175_Msg CAN_CH0_ID_MBMS_VoltCurrSoc_Msg
#define CAN_CH0_ID_CAN_0x170_Msg CAN_CH0_ID_MBMS_SignalStateInfo_Msg
#define CAN_CH0_ID_CAN_0x16B_Msg CAN_CH0_ID_MBMS_SafeDataStat_Msg
#define CAN_CH0_ID_CAN_0x161_Msg CAN_CH0_ID_MBMS_DynamicParam1_Msg
#define CAN_CH0_ID_CAN_0x22A_Msg CAN_CH0_ID_GCU_Error_Msg
#define CAN_CH0_ID_CAN_0x234_Msg CAN_CH0_ID_EMS_Error_Msg
#define CAN_CH0_ID_CAN_0x22F_Msg CAN_CH0_ID_EMS_Status_Msg
#define CAN_CH0_ID_CAN_0x18E_Msg CAN_CH0_ID_EMS_Parameter2_Msg
#define CAN_CH0_ID_CAN_0x3B1_Msg CAN_CH0_ID_CHG_DynamicParam0_Msg
#define CAN_CH0_ID_CAN_0x38E_Msg CAN_CH0_ID_BMCU_Error_Msg
#define CAN_CH0_ID_CAN_0x389_Msg CAN_CH0_ID_BMCU_RunStatistics_389h_Msg
extern uint8_t Get_CAN_CH0_ID_225_Sig_VCU_VoltLow(void);
extern uint16_t Get_CAN_CH0_ID_225_Sig_VCU_FaultCode(void);
extern uint8_t Get_CAN_CH0_ID_225_Sig_VCU_EmsFltLv3(void);
extern uint8_t Get_CAN_CH0_ID_225_Sig_VCU_BmsFltLv4(void);
extern uint8_t Get_CAN_CH0_ID_225_Sig_VCU_BmsFltLv3(void);
extern uint8_t Get_CAN_CH0_ID_220_Sig_VCU_SysFltLamp(void);
extern uint8_t Get_CAN_CH0_ID_220_Sig_VCU_SeatSts(void);
extern uint8_t Get_CAN_CH0_ID_220_Sig_VCU_ReadySts(void);
extern uint8_t Get_CAN_CH0_ID_220_Sig_VCU_PtoSwSts(void);
extern uint8_t Get_CAN_CH0_ID_220_Sig_VCU_KeySts(void);
extern uint8_t Get_CAN_CH0_ID_220_Sig_VCU_HvSts(void);
extern uint8_t Get_CAN_CH0_ID_220_Sig_VCU_GrassSwSts(void);
extern uint8_t Get_CAN_CH0_ID_220_Sig_VCU_DrvSpdGear(void);
extern uint8_t Get_CAN_CH0_ID_220_Sig_VCU_ChgMode(void);
extern uint8_t Get_CAN_CH0_ID_220_Sig_VCU_BladeSpdGear(void);
extern uint16_t Get_CAN_CH0_ID_361_Sig_SMCU_FaultCode(void);
extern uint8_t Get_CAN_CH0_ID_134_Sig_SMCU_WorkState(void);
extern uint8_t Get_CAN_CH0_ID_134_Sig_SMCU_ParkingGearState(void);
extern uint8_t Get_CAN_CH0_ID_134_Sig_SMCU_LockMotoState(void);
extern uint8_t Get_CAN_CH0_ID_134_Sig_SMCU_EBSState(void);
extern uint8_t Get_CAN_CH0_ID_134_Sig_SMCU_ChgProtectState(void);
extern uint16_t Get_CAN_CH0_ID_33E_Sig_MMCU_FaultCode(void);
extern uint8_t Get_CAN_CH0_ID_339_Sig_MMCU_SingleWorkingHours(void);
extern uint16_t Get_CAN_CH0_ID_339_Sig_MMCU_AccumulatedWorkHours(void);
extern uint8_t Get_CAN_CH0_ID_125_Sig_MMCU_WorkState(void);
extern uint8_t Get_CAN_CH0_ID_125_Sig_MMCU_ParkingGearState(void);
extern uint8_t Get_CAN_CH0_ID_125_Sig_MMCU_LockMotoState(void);
extern uint8_t Get_CAN_CH0_ID_125_Sig_MMCU_EBSState(void);
extern uint8_t Get_CAN_CH0_ID_125_Sig_MMCU_ChgProtectState(void);
extern uint16_t Get_CAN_CH0_ID_11B_Sig_MMCU_Speed(void);
extern uint16_t Get_CAN_CH0_ID_11B_Sig_MMCU_Rpm(void);
extern uint16_t Get_CAN_CH0_ID_11B_Sig_MMCU_MotorPower(void);
extern uint8_t Get_CAN_CH0_ID_31A_Sig_MBMS_StatBattChargeState(void);
extern uint16_t Get_CAN_CH0_ID_315_Sig_MBMS_StatRemainTime(void);
extern uint8_t Get_CAN_CH0_ID_17A_Sig_MBMS_StatSoc(void);
extern uint8_t Get_CAN_CH0_ID_175_Sig_MBMS_Soc(void);
extern uint8_t Get_CAN_CH0_ID_170_Sig_MBMS_TOTALSigDisCharge(void);
extern uint8_t Get_CAN_CH0_ID_170_Sig_MBMS_TOTALSigCharge(void);
extern uint8_t Get_CAN_CH0_ID_170_Sig_MBMS_TOTALSigAcc(void);
extern uint8_t Get_CAN_CH0_ID_16B_Sig_MBMS_SafeBattWorkState(void);
extern uint16_t Get_CAN_CH0_ID_161_Sig_MBMS_FaultNum(void);
extern uint16_t Get_CAN_CH0_ID_22A_Sig_GCU_FaultCode(void);
extern uint8_t Get_CAN_CH0_ID_234_Sig_EMS_EngineOilLow(void);
extern uint16_t Get_CAN_CH0_ID_234_Sig_EMS_FaultCode(void);
extern uint8_t Get_CAN_CH0_ID_22F_Sig_EMS_WorkSts(void);
extern uint8_t Get_CAN_CH0_ID_22F_Sig_EMS_SvsLamp(void);
extern uint8_t Get_CAN_CH0_ID_22F_Sig_EMS_MilLamp(void);
extern uint8_t Get_CAN_CH0_ID_22F_Sig_EMS_EgnOilLvLow(void);
extern uint8_t Get_CAN_CH0_ID_18E_Sig_EMS_FuelSensorVld(void);
extern uint8_t Get_CAN_CH0_ID_18E_Sig_EMS_FuelRemainLevel(void);
extern uint16_t Get_CAN_CH0_ID_3B1_Sig_CHG_TotalChargeTime(void);
extern uint8_t Get_CAN_CH0_ID_3B1_Sig_CHG_StartState(void);
extern uint8_t Get_CAN_CH0_ID_3B1_Sig_CHG_InputVoltState(void);
extern uint8_t Get_CAN_CH0_ID_3B1_Sig_CHG_HardFault(void);
extern uint8_t Get_CAN_CH0_ID_3B1_Sig_CHG_CommState(void);
extern uint8_t Get_CAN_CH0_ID_3B1_Sig_CHG_ChargeStage(void);
extern uint8_t Get_CAN_CH0_ID_38E_Sig_BMCU_Moto3_SoftOverCurrentFault(void);
extern uint8_t Get_CAN_CH0_ID_38E_Sig_BMCU_Moto3_Locked_RotorFault(void);
extern uint8_t Get_CAN_CH0_ID_38E_Sig_BMCU_Moto2HWOverCurrentFault(void);
extern uint8_t Get_CAN_CH0_ID_38E_Sig_BMCU_Moto2_SoftOverCurrentFault(void);
extern uint8_t Get_CAN_CH0_ID_38E_Sig_BMCU_Moto2_Locked_RotorFault(void);
extern uint8_t Get_CAN_CH0_ID_38E_Sig_BMCU_Moto1HWOverCurrentFault(void);
extern uint8_t Get_CAN_CH0_ID_38E_Sig_BMCU_Moto1_SoftOverCurrentFault(void);
extern uint8_t Get_CAN_CH0_ID_38E_Sig_BMCU_Moto1_Locked_RotorFault(void);
extern uint16_t Get_CAN_CH0_ID_38E_Sig_BMCU_FaultCode(void);
extern uint16_t Get_CAN_CH0_ID_389_Sig_BMCU_AccumulatedWorkHour(void);
extern uint8_t Co_Can_ConvertSubID_CAN_CH0(uint32_t MsgID);
extern uint8_t System_Indicator_CANFlag;
void System_Indicator_ON_callback(canlib_uint8_t CopyData []);
void System_Indicator_OFF_callback(canlib_uint8_t CopyData []);
#endif
#endif
......@@ -52,6 +52,7 @@ void Can_Set_Buff_3A7(canlib_uint8_t CopyData[])
p3A7 = (CANMsg3A7Union *)CopyData;
if (p3A7 != (void *)0)
{
#if (PART_NUMBER == RMR42E_60)
p3A7->Sig.ICU_MasterBMSCommunicatlost = (CAN_MSG_Status(&CAN_CH0_CanMsgOp, Co_Can_ConvertSubID_CAN_CH0(CAN_CH0_ID_CAN_0x18200A20_Msg)) == CAN_SIG_NORMAL);
p3A7->Sig.ICU_SlaveBMSCommunicatlost = (CAN_MSG_Status(&CAN_CH0_CanMsgOp, Co_Can_ConvertSubID_CAN_CH0(CAN_CH0_ID_CAN_0x18200A21_Msg)) == CAN_SIG_NORMAL);
p3A7->Sig.ICU_MCUCommunicatlost = (CAN_MSG_Status(&CAN_CH0_CanMsgOp, Co_Can_ConvertSubID_CAN_CH0(CAN_CH0_ID_CAN_0x157_Msg)) == CAN_SIG_NORMAL);
......@@ -64,6 +65,7 @@ void Can_Set_Buff_3A7(canlib_uint8_t CopyData[])
p3A7->Sig.Res5 = 0x00;
p3A7->Sig.Res6 = 0x00;
p3A7->Sig.Res7 = 0x00;
#endif
}
}
......
......@@ -38,6 +38,7 @@ static uint8_t SBMS_Soc = 0;
static uint8_t SMCU_ErrorGrage = 0;
void Set_CAN_ALL_Signal(void)
{
#if (PART_NUMBER == RMR42E_60)
if (CAN_MSG_Status(&CAN_CH0_CanMsgOp, Co_Can_ConvertSubID_CAN_CH0(CAN_CH0_ID_CAN_0x157_Msg)) == CAN_SIG_NORMAL)
{
BMCU_ErrorGrage = Get_CAN_CH0_ID_157_Sig_BMCU_ErrorGrage();
......@@ -100,6 +101,7 @@ void Set_CAN_ALL_Signal(void)
{
SMCU_ErrorGrage = Get_CAN_CH0_ID_134_Sig_SMCU_ErrorGrage();
}
#endif
}
......
......@@ -15,10 +15,17 @@ void Can_Init(void)
can_config_st_t Can_Config;
Can_Config.ch = CAN_CH_0;
Can_Config.freq = CAN_500Kbps;
#if (PART_NUMBER == RMR42E_60)
Can_Config.MASK[0] = 0x001fffffU;
Can_Config.MASK[1] = 0x000fffffU;
Can_Config.MASK[2] = 0x1fffffffU;
Can_Config.MASK[3] = 0x1fffffffU;
#else
Can_Config.MASK[0] = 0x1FFU;
Can_Config.MASK[1] = 0x2FFU;
Can_Config.MASK[2] = 0x3FFU;
Can_Config.MASK[3] = 0x7FFU;
#endif
Can_Config.rx_callback = Can_Rx_Cak;
COM_CAN_Init();
rte_can_init(&Can_Config);
......@@ -36,6 +43,18 @@ void Can_Init(void)
*/
void Can_RX_Apply_Buff(void)
{
CAN_RecvMsg.DLC = 8;
CAN_RecvMsg.Data[0] = 0;
CAN_RecvMsg.Data[1] = 0;
CAN_RecvMsg.Data[2] = 0;
CAN_RecvMsg.Data[3] = 0;
CAN_RecvMsg.Data[4] = 0;
CAN_RecvMsg.Data[5] = 0;
CAN_RecvMsg.Data[6] = 0;
CAN_RecvMsg.Data[7] = 0;
// CAN_RecvMsg.OverWriteConfig = 0;
#if (PART_NUMBER == RMR42E_60)
CAN_RecvMsg.Id = 0x125;
CAN_RecvMsg.IDE = CAN_Id_Standard;
CAN_RecvMsg.CacheType = CAN_CacheType_Rx_NoMask;
......@@ -126,6 +145,45 @@ void Can_RX_Apply_Buff(void)
CAN_MessageCache_Init(CAN0MSG09, &CAN_RecvMsg);
CAN_MessageCache_OverWriteConfig(CAN0MSG09, ENABLE);
#else
CAN_RecvMsg.Id = 0x1FF;
CAN_RecvMsg.IDE = CAN_Id_Standard;
CAN_RecvMsg.CacheType = CAN_CacheType_Rx_1Mask;
CAN_RecvMsg.RTR = CAN_RTR_Data;
CAN_RecvMsg.Interrupt = ENABLE;
CAN_MessageCache_DeInit(CAN0MSG00);
CAN_MessageCache_Init(CAN0MSG00, &CAN_RecvMsg);
CAN_MessageCache_OverWriteConfig(CAN0MSG00, ENABLE);
CAN_RecvMsg.Id = 0x2FF;
CAN_RecvMsg.IDE = CAN_Id_Standard;
CAN_RecvMsg.CacheType = CAN_CacheType_Rx_1Mask;
CAN_RecvMsg.RTR = CAN_RTR_Data;
CAN_RecvMsg.Interrupt = ENABLE;
CAN_MessageCache_DeInit(CAN0MSG01);
CAN_MessageCache_Init(CAN0MSG01, &CAN_RecvMsg);
CAN_MessageCache_OverWriteConfig(CAN0MSG01, ENABLE);
CAN_RecvMsg.Id = 0x3FF;
CAN_RecvMsg.IDE = CAN_Id_Standard;
CAN_RecvMsg.CacheType = CAN_CacheType_Rx_1Mask;
CAN_RecvMsg.RTR = CAN_RTR_Data;
CAN_RecvMsg.Interrupt = ENABLE;
CAN_MessageCache_DeInit(CAN0MSG02);
CAN_MessageCache_Init(CAN0MSG02, &CAN_RecvMsg);
CAN_MessageCache_OverWriteConfig(CAN0MSG02, ENABLE);
CAN_RecvMsg.Id = 0x7FF;
CAN_RecvMsg.IDE = CAN_Id_Standard;
CAN_RecvMsg.CacheType = CAN_CacheType_Rx_1Mask;
CAN_RecvMsg.RTR = CAN_RTR_Data;
CAN_RecvMsg.Interrupt = ENABLE;
CAN_MessageCache_DeInit(CAN0MSG03);
CAN_MessageCache_Init(CAN0MSG03, &CAN_RecvMsg);
CAN_MessageCache_OverWriteConfig(CAN0MSG03, ENABLE);
#endif
CAN_RecvMsg.Id = DIAG_ID_Rx_PHY;
CAN_RecvMsg.IDE = CAN_Id_Standard;
CAN_RecvMsg.CacheType = CAN_CacheType_Rx_NoMask;
......@@ -157,7 +215,7 @@ void Can_Tx_Apply_Buff(void)
CAN_SendMsg.IDE = CAN_Id_Standard;
CAN_SendMsg.CacheType = CAN_CacheType_Tx;
CAN_SendMsg.RTR = CAN_RTR_Data;
CAN_RecvMsg.Interrupt = DISABLE;
CAN_SendMsg.Interrupt = DISABLE;
CAN_SendMsg.DLC = 8;
for (uint8_t i = 0; i < CAN_SendMsg.DLC; i++)
{
......@@ -171,7 +229,7 @@ void Can_Tx_Apply_Buff(void)
CAN_SendMsg.IDE = CAN_Id_Standard;
CAN_SendMsg.CacheType = CAN_CacheType_Tx;
CAN_SendMsg.RTR = CAN_RTR_Data;
CAN_RecvMsg.Interrupt = DISABLE;
CAN_SendMsg.Interrupt = DISABLE;
CAN_SendMsg.DLC = 8;
for (uint8_t i = 0; i < CAN_SendMsg.DLC; i++)
{
......@@ -185,7 +243,7 @@ void Can_Tx_Apply_Buff(void)
CAN_SendMsg.IDE = CAN_Id_Standard;
CAN_SendMsg.CacheType = CAN_CacheType_Tx;
CAN_SendMsg.RTR = CAN_RTR_Data;
CAN_RecvMsg.Interrupt = DISABLE;
CAN_SendMsg.Interrupt = DISABLE;
CAN_SendMsg.DLC = 8;
for (uint8_t i = 0; i < CAN_SendMsg.DLC; i++)
{
......
......@@ -7,7 +7,7 @@
#define RMR42E_60 (0U) /*纯电动零件号*/
#define G54_A01 (1U) /*混动零件号*/
#define PART_NUMBER RMR42E_60 /*当前程序零件号*/
#define PART_NUMBER G54_A01 /*当前程序零件号*/
/*COMMON INTERFACE*/
......
......@@ -20,6 +20,17 @@ void MsgID_0x18E_Receive(void)
void Data_Fuel_Service(void)
{
uint8_t FuelRemainLevel = 0U;
if (CAN_MSG_Status(&CAN_CH0_CanMsgOp, Co_Can_ConvertSubID_CAN_CH0(CAN_CH0_ID_CAN_0x18E_Msg)) == CAN_SIG_NORMAL)
{
FuelRemainLevel = Get_CAN_CH0_ID_18E_Sig_EMS_FuelRemainLevel();
Fuel.FuelValid = 1U;
}
else
{
Fuel.FuelValid = 0U;
}
}
......
......@@ -47,6 +47,7 @@ static void Data_Soc_Battery_Level_Service(void)
{
if ((Get_CAN_Power_State() >= KEY_ACC) && (Get_CAN_Power_State() <= CHRGEND))
{
#if (PART_NUMBER == RMR42E_60)
if (CAN_MSG_Status(&CAN_CH0_CanMsgOp, Co_Can_ConvertSubID_CAN_CH0(CAN_CH0_ID_CAN_0x18200A20_Msg)) == CAN_SIG_NORMAL)
{
Soc.Value1 = Get_CAN_CH0_ID_18200A20_Sig_MBMS_Soc();
......@@ -57,6 +58,9 @@ static void Data_Soc_Battery_Level_Service(void)
Soc.Value1 = 0U;
Soc.Valid1 = 0U;
}
#else
#endif
if (Soc.Valid1 != 0U)
{
......@@ -339,7 +343,11 @@ static void Data_Soc_Battery_Icon_Service(void)
if ((Common_Get_IG_Sts() == COMMON_POWER_ON) && (System_Indicator_CANFlag != 1))
{
#if (PART_NUMBER == RMR42E_60)
if ((CAN_MSG_Status(&CAN_CH0_CanMsgOp, Co_Can_ConvertSubID_CAN_CH0(CAN_CH0_ID_CAN_0x18200A20_Msg)) == CAN_SIG_NORMAL) && (Soc.Value1 != 0U))
#else
if ((CAN_MSG_Status(&CAN_CH0_CanMsgOp, Co_Can_ConvertSubID_CAN_CH0(CAN_CH0_ID_CAN_0x17A_Msg)) == CAN_SIG_NORMAL) && (Soc.Value1 != 0U))
#endif
{
Soc.Battery1Icon = 1U;
}
......@@ -350,10 +358,15 @@ static void Data_Soc_Battery_Icon_Service(void)
}
else
{
#if (PART_NUMBER == RMR42E_60)
if ((CAN_MSG_Status(&CAN_CH0_CanMsgOp, Co_Can_ConvertSubID_CAN_CH0(CAN_CH0_ID_CAN_0x18200A20_Msg)) == CAN_SIG_NORMAL) &&
(CAN_MSG_Status(&CAN_CH0_CanMsgOp, Co_Can_ConvertSubID_CAN_CH0(CAN_CH0_ID_CAN_0x18203220_Msg)) == CAN_SIG_NORMAL))
#else
if ((CAN_MSG_Status(&CAN_CH0_CanMsgOp, Co_Can_ConvertSubID_CAN_CH0(CAN_CH0_ID_CAN_0x17A_Msg)) == CAN_SIG_NORMAL) &&
(CAN_MSG_Status(&CAN_CH0_CanMsgOp, Co_Can_ConvertSubID_CAN_CH0(CAN_CH0_ID_CAN_0x220_Msg)) == CAN_SIG_NORMAL))
#endif
{
MBMSStatBattWorkState = Get_CAN_CH0_ID_18203220_Sig_MBMS_StatBattWorkState();
// MBMSStatBattWorkState = Get_CAN_CH0_ID_18203220_Sig_MBMS_StatBattWorkState();
if ((MBMSStatBattWorkState == 0x1U) || (MBMSStatBattWorkState == 0x7U))
{
Soc.Battery1Icon = 1U;
......@@ -408,9 +421,13 @@ static void Data_Soc_All_Soc_Service(void)
{
if ((Common_Get_IG_Sts() == COMMON_POWER_ON) && (Get_CAN_Power_State() != KEY_OFF) && (Get_CAN_Power_State() != PKEY_ON) && (System_Indicator_CANFlag != 1))
{
#if (PART_NUMBER == RMR42E_60)
if (CAN_MSG_Status(&CAN_CH0_CanMsgOp, Co_Can_ConvertSubID_CAN_CH0(CAN_CH0_ID_CAN_0x18203020_Msg)) == CAN_SIG_NORMAL)
#else
if (CAN_MSG_Status(&CAN_CH0_CanMsgOp, Co_Can_ConvertSubID_CAN_CH0(CAN_CH0_ID_CAN_0x17A_Msg)) == CAN_SIG_NORMAL)
#endif
{
Soc.AllSocValue = Get_CAN_CH0_ID_18203020_Sig_MBMS_StatSoc();
// Soc.AllSocValue = Get_CAN_CH0_ID_18203020_Sig_MBMS_StatSoc();
}
else
{
......
......@@ -8,6 +8,7 @@ uint8_t Charge_OFF_Flag = 0;
void TYW_Clear_Eeprom_Service(void)
{
#if (PART_NUMBER == RMR42E_60)
uint8_t u8MBMS_StatBattChargeState = 0;
uint8_t u8MBMS_StatBattWorkState = 0;
uint8_t u8BMCU_BladeSpeedGear = 0;
......@@ -38,6 +39,9 @@ void TYW_Clear_Eeprom_Service(void)
{
g_u8TYWClearEepromFlag = 0;
}
#else
#endif
}
void Gauge_Power_SOC_pull_Display(void)
......
......@@ -566,7 +566,11 @@ _Fun_Res SEG_SET_EleDial_1SOC(uint8_t m_Flag, uint8_t m_SEG)
_Fun_Res m_Res;
uint8_t Num;
uint8_t m8;
#if (PART_NUMBER == RMR42E_60)
if (((m_Flag == 1u) && (CAN_MSG_Status(&CAN_CH0_CanMsgOp, Co_Can_ConvertSubID_CAN_CH0(CAN_CH0_ID_CAN_0x18200A20_Msg)) == CAN_SIG_NORMAL)) || (checkself_seg_Flag == 1))
#else
if (((m_Flag == 1u) && (CAN_MSG_Status(&CAN_CH0_CanMsgOp, Co_Can_ConvertSubID_CAN_CH0(CAN_CH0_ID_CAN_0x17A_Msg)) == CAN_SIG_NORMAL)) || (checkself_seg_Flag == 1))
#endif
{
IC1_SEG136 = IC_SEG_GREY;
IC1_SEG137 = IC_SEG_GREY;
......@@ -655,6 +659,7 @@ _Fun_Res SEG_SET_EleDial_1SOC(uint8_t m_Flag, uint8_t m_SEG)
*/
_Fun_Res SEG_SET_EleDial_2SOC(uint8_t m_Flag, uint8_t m_SEG)
{
#if (PART_NUMBER == RMR42E_60)
_Fun_Res m_Res;
uint8_t Num;
uint8_t m8;
......@@ -736,6 +741,9 @@ _Fun_Res SEG_SET_EleDial_2SOC(uint8_t m_Flag, uint8_t m_SEG)
}
return m_Res;
#else
return EX_OK;
#endif
}
/**@brief 电量表盘2SOC显示函数
* @param[in] m_Flag 段与数字是否显示 -1 显示 -0 不显示
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment