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,18 +52,20 @@ void Can_Set_Buff_3A7(canlib_uint8_t CopyData[])
p3A7 = (CANMsg3A7Union *)CopyData;
if (p3A7 != (void *)0)
{
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);
p3A7->Sig.ICU_VCUCommunicatlost = (CAN_MSG_Status(&CAN_CH0_CanMsgOp, Co_Can_ConvertSubID_CAN_CH0(CAN_CH0_ID_CAN_0x125_Msg)) == CAN_SIG_NORMAL);
p3A7->Sig.Res0 = 0x0;
p3A7->Sig.Res1 = 0x00;
p3A7->Sig.Res2 = 0x00;
p3A7->Sig.Res3 = 0x00;
p3A7->Sig.Res4 = 0x00;
p3A7->Sig.Res5 = 0x00;
p3A7->Sig.Res6 = 0x00;
p3A7->Sig.Res7 = 0x00;
#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);
p3A7->Sig.ICU_VCUCommunicatlost = (CAN_MSG_Status(&CAN_CH0_CanMsgOp, Co_Can_ConvertSubID_CAN_CH0(CAN_CH0_ID_CAN_0x125_Msg)) == CAN_SIG_NORMAL);
p3A7->Sig.Res0 = 0x0;
p3A7->Sig.Res1 = 0x00;
p3A7->Sig.Res2 = 0x00;
p3A7->Sig.Res3 = 0x00;
p3A7->Sig.Res4 = 0x00;
p3A7->Sig.Res5 = 0x00;
p3A7->Sig.Res6 = 0x00;
p3A7->Sig.Res7 = 0x00;
#endif
}
}
......
......@@ -38,68 +38,70 @@ static uint8_t SBMS_Soc = 0;
static uint8_t SMCU_ErrorGrage = 0;
void Set_CAN_ALL_Signal(void)
{
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();
BMCU_BladeSpeedGear = Get_CAN_CH0_ID_157_Sig_BMCU_BladeSpeedGear();
BMCU_PTOSwicthState = Get_CAN_CH0_ID_157_Sig_BMCU_PTOSwicthState();
}
if (CAN_MSG_Status(&CAN_CH0_CanMsgOp, Co_Can_ConvertSubID_CAN_CH0(CAN_CH0_ID_CAN_0x38E_Msg)) == CAN_SIG_NORMAL)
{
BMCU_Moto1_Locked_RotorFault = Get_CAN_CH0_ID_38E_Sig_BMCU_Moto1_Locked_RotorFault();
BMCU_Moto2_Locked_RotorFault = Get_CAN_CH0_ID_38E_Sig_BMCU_Moto2_Locked_RotorFault();
}
if (CAN_MSG_Status(&CAN_CH0_CanMsgOp, Co_Can_ConvertSubID_CAN_CH0(CAN_CH0_ID_CAN_0x18200A20_Msg)) == CAN_SIG_NORMAL)
{
MBMS_Soc = Get_CAN_CH0_ID_18200A20_Sig_MBMS_Soc();
}
if (CAN_MSG_Status(&CAN_CH0_CanMsgOp, Co_Can_ConvertSubID_CAN_CH0(CAN_CH0_ID_CAN_0x18202922_Msg)) == CAN_SIG_NORMAL)
{
MBMS_TOTALWorkState = Get_CAN_CH0_ID_18202922_Sig_MBMS_TOTALWorkState();
MBMS_TOTALSigOn = Get_CAN_CH0_ID_18202922_Sig_MBMS_TOTALSigOn();
MBMS_TOTALSigAcc = Get_CAN_CH0_ID_18202922_Sig_MBMS_TOTALSigAcc();
MBMS_TOTALSigCharge = Get_CAN_CH0_ID_18202922_Sig_MBMS_TOTALSigCharge();
}
if (CAN_MSG_Status(&CAN_CH0_CanMsgOp, Co_Can_ConvertSubID_CAN_CH0(CAN_CH0_ID_CAN_0x18203020_Msg)) == CAN_SIG_NORMAL)
{
MBMS_StatSoc = Get_CAN_CH0_ID_18203020_Sig_MBMS_StatSoc();
}
if (CAN_MSG_Status(&CAN_CH0_CanMsgOp, Co_Can_ConvertSubID_CAN_CH0(CAN_CH0_ID_CAN_0x18203220_Msg)) == CAN_SIG_NORMAL)
{
MBMS_StatBattChargeState = Get_CAN_CH0_ID_18203220_Sig_MBMS_StatBattChargeState();
MBMS_StatBattWorkState = Get_CAN_CH0_ID_18203220_Sig_MBMS_StatBattWorkState();
}
if (CAN_MSG_Status(&CAN_CH0_CanMsgOp, Co_Can_ConvertSubID_CAN_CH0(CAN_CH0_ID_CAN_0x125_Msg)) == CAN_SIG_NORMAL)
{
MMCU_ErrorGrage = Get_CAN_CH0_ID_125_Sig_MMCU_ErrorGrage();
MMCU_ChgProtectState = Get_CAN_CH0_ID_125_Sig_MMCU_ChgProtectState();
MMCU_DCDCEnableState = Get_CAN_CH0_ID_125_Sig_MMCU_DCDCEnableState();
MMCU_ParkingGearState = Get_CAN_CH0_ID_125_Sig_MMCU_ParkingGearState();
MMCU_SeatDetectState = Get_CAN_CH0_ID_125_Sig_MMCU_SeatDetectState(); // 掉线需要做处理
MMCU_LockMotoState = Get_CAN_CH0_ID_125_Sig_MMCU_LockMotoState();
MMCU_EBSState = Get_CAN_CH0_ID_125_Sig_MMCU_EBSState();
MMCU_TravelSpeedGear = Get_CAN_CH0_ID_125_Sig_MMCU_TravelSpeedGear();
MMCU_PowerMode = Get_CAN_CH0_ID_125_Sig_MMCU_PowerMode();
MMCU_WorkState = Get_CAN_CH0_ID_125_Sig_MMCU_WorkState();
}
else
{
MMCU_SeatDetectState = Get_CAN_CH0_ID_125_Sig_MMCU_SeatDetectState(); // 掉线需要做处理
MMCU_PowerMode = POWER_CHECK_NULL;
}
if (CAN_MSG_Status(&CAN_CH0_CanMsgOp, Co_Can_ConvertSubID_CAN_CH0(CAN_CH0_ID_CAN_0x339_Msg)) == CAN_SIG_NORMAL)
{
MMCU_AccumulatedWorkHours = Get_CAN_CH0_ID_339_Sig_MMCU_AccumulatedWorkHours();
MMCU_SingleWorkingHours = Get_CAN_CH0_ID_339_Sig_MMCU_SingleWorkingHours();
}
if (CAN_MSG_Status(&CAN_CH0_CanMsgOp, Co_Can_ConvertSubID_CAN_CH0(CAN_CH0_ID_CAN_0x18200A21_Msg)) == CAN_SIG_NORMAL)
{
SBMS_Soc = Get_CAN_CH0_ID_18200A21_Sig_SBMS_Soc();
}
if (CAN_MSG_Status(&CAN_CH0_CanMsgOp, Co_Can_ConvertSubID_CAN_CH0(CAN_CH0_ID_CAN_0x134_Msg)) == CAN_SIG_NORMAL)
{
SMCU_ErrorGrage = Get_CAN_CH0_ID_134_Sig_SMCU_ErrorGrage();
}
#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();
BMCU_BladeSpeedGear = Get_CAN_CH0_ID_157_Sig_BMCU_BladeSpeedGear();
BMCU_PTOSwicthState = Get_CAN_CH0_ID_157_Sig_BMCU_PTOSwicthState();
}
if (CAN_MSG_Status(&CAN_CH0_CanMsgOp, Co_Can_ConvertSubID_CAN_CH0(CAN_CH0_ID_CAN_0x38E_Msg)) == CAN_SIG_NORMAL)
{
BMCU_Moto1_Locked_RotorFault = Get_CAN_CH0_ID_38E_Sig_BMCU_Moto1_Locked_RotorFault();
BMCU_Moto2_Locked_RotorFault = Get_CAN_CH0_ID_38E_Sig_BMCU_Moto2_Locked_RotorFault();
}
if (CAN_MSG_Status(&CAN_CH0_CanMsgOp, Co_Can_ConvertSubID_CAN_CH0(CAN_CH0_ID_CAN_0x18200A20_Msg)) == CAN_SIG_NORMAL)
{
MBMS_Soc = Get_CAN_CH0_ID_18200A20_Sig_MBMS_Soc();
}
if (CAN_MSG_Status(&CAN_CH0_CanMsgOp, Co_Can_ConvertSubID_CAN_CH0(CAN_CH0_ID_CAN_0x18202922_Msg)) == CAN_SIG_NORMAL)
{
MBMS_TOTALWorkState = Get_CAN_CH0_ID_18202922_Sig_MBMS_TOTALWorkState();
MBMS_TOTALSigOn = Get_CAN_CH0_ID_18202922_Sig_MBMS_TOTALSigOn();
MBMS_TOTALSigAcc = Get_CAN_CH0_ID_18202922_Sig_MBMS_TOTALSigAcc();
MBMS_TOTALSigCharge = Get_CAN_CH0_ID_18202922_Sig_MBMS_TOTALSigCharge();
}
if (CAN_MSG_Status(&CAN_CH0_CanMsgOp, Co_Can_ConvertSubID_CAN_CH0(CAN_CH0_ID_CAN_0x18203020_Msg)) == CAN_SIG_NORMAL)
{
MBMS_StatSoc = Get_CAN_CH0_ID_18203020_Sig_MBMS_StatSoc();
}
if (CAN_MSG_Status(&CAN_CH0_CanMsgOp, Co_Can_ConvertSubID_CAN_CH0(CAN_CH0_ID_CAN_0x18203220_Msg)) == CAN_SIG_NORMAL)
{
MBMS_StatBattChargeState = Get_CAN_CH0_ID_18203220_Sig_MBMS_StatBattChargeState();
MBMS_StatBattWorkState = Get_CAN_CH0_ID_18203220_Sig_MBMS_StatBattWorkState();
}
if (CAN_MSG_Status(&CAN_CH0_CanMsgOp, Co_Can_ConvertSubID_CAN_CH0(CAN_CH0_ID_CAN_0x125_Msg)) == CAN_SIG_NORMAL)
{
MMCU_ErrorGrage = Get_CAN_CH0_ID_125_Sig_MMCU_ErrorGrage();
MMCU_ChgProtectState = Get_CAN_CH0_ID_125_Sig_MMCU_ChgProtectState();
MMCU_DCDCEnableState = Get_CAN_CH0_ID_125_Sig_MMCU_DCDCEnableState();
MMCU_ParkingGearState = Get_CAN_CH0_ID_125_Sig_MMCU_ParkingGearState();
MMCU_SeatDetectState = Get_CAN_CH0_ID_125_Sig_MMCU_SeatDetectState(); // 掉线需要做处理
MMCU_LockMotoState = Get_CAN_CH0_ID_125_Sig_MMCU_LockMotoState();
MMCU_EBSState = Get_CAN_CH0_ID_125_Sig_MMCU_EBSState();
MMCU_TravelSpeedGear = Get_CAN_CH0_ID_125_Sig_MMCU_TravelSpeedGear();
MMCU_PowerMode = Get_CAN_CH0_ID_125_Sig_MMCU_PowerMode();
MMCU_WorkState = Get_CAN_CH0_ID_125_Sig_MMCU_WorkState();
}
else
{
MMCU_SeatDetectState = Get_CAN_CH0_ID_125_Sig_MMCU_SeatDetectState(); // 掉线需要做处理
MMCU_PowerMode = POWER_CHECK_NULL;
}
if (CAN_MSG_Status(&CAN_CH0_CanMsgOp, Co_Can_ConvertSubID_CAN_CH0(CAN_CH0_ID_CAN_0x339_Msg)) == CAN_SIG_NORMAL)
{
MMCU_AccumulatedWorkHours = Get_CAN_CH0_ID_339_Sig_MMCU_AccumulatedWorkHours();
MMCU_SingleWorkingHours = Get_CAN_CH0_ID_339_Sig_MMCU_SingleWorkingHours();
}
if (CAN_MSG_Status(&CAN_CH0_CanMsgOp, Co_Can_ConvertSubID_CAN_CH0(CAN_CH0_ID_CAN_0x18200A21_Msg)) == CAN_SIG_NORMAL)
{
SBMS_Soc = Get_CAN_CH0_ID_18200A21_Sig_SBMS_Soc();
}
if (CAN_MSG_Status(&CAN_CH0_CanMsgOp, Co_Can_ConvertSubID_CAN_CH0(CAN_CH0_ID_CAN_0x134_Msg)) == CAN_SIG_NORMAL)
{
SMCU_ErrorGrage = Get_CAN_CH0_ID_134_Sig_SMCU_ErrorGrage();
}
#endif
}
......
......@@ -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,7 +20,18 @@ 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,16 +47,20 @@ static void Data_Soc_Battery_Level_Service(void)
{
if ((Get_CAN_Power_State() >= KEY_ACC) && (Get_CAN_Power_State() <= CHRGEND))
{
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();
Soc.Valid1 = 1U;
}
else
{
Soc.Value1 = 0U;
Soc.Valid1 = 0U;
}
#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();
Soc.Valid1 = 1U;
}
else
{
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 ((CAN_MSG_Status(&CAN_CH0_CanMsgOp, Co_Can_ConvertSubID_CAN_CH0(CAN_CH0_ID_CAN_0x18200A20_Msg)) == CAN_SIG_NORMAL) && (Soc.Value1 != 0U))
#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 ((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))
#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 (CAN_MSG_Status(&CAN_CH0_CanMsgOp, Co_Can_ConvertSubID_CAN_CH0(CAN_CH0_ID_CAN_0x18203020_Msg)) == CAN_SIG_NORMAL)
#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,21 +8,27 @@ uint8_t Charge_OFF_Flag = 0;
void TYW_Clear_Eeprom_Service(void)
{
uint8_t u8MBMS_StatBattChargeState = 0;
uint8_t u8MBMS_StatBattWorkState = 0;
uint8_t u8BMCU_BladeSpeedGear = 0;
uint16_t u16MMCU_AccumulatedWorkHours = 0;
if (Get_CAN_Power_State() == READY)
{
if ((CAN_MSG_Status(&CAN_CH0_CanMsgOp, Co_Can_ConvertSubID_CAN_CH0(CAN_CH0_ID_CAN_0x18203220_Msg)) == CAN_SIG_NORMAL) && (CAN_MSG_Status(&CAN_CH0_CanMsgOp, Co_Can_ConvertSubID_CAN_CH0(CAN_CH0_ID_CAN_0x157_Msg)) == CAN_SIG_NORMAL) && (CAN_MSG_Status(&CAN_CH0_CanMsgOp, Co_Can_ConvertSubID_CAN_CH0(CAN_CH0_ID_CAN_0x339_Msg)) == CAN_SIG_NORMAL))
#if (PART_NUMBER == RMR42E_60)
uint8_t u8MBMS_StatBattChargeState = 0;
uint8_t u8MBMS_StatBattWorkState = 0;
uint8_t u8BMCU_BladeSpeedGear = 0;
uint16_t u16MMCU_AccumulatedWorkHours = 0;
if (Get_CAN_Power_State() == READY)
{
u8MBMS_StatBattChargeState = Get_CAN_CH0_ID_18203220_Sig_MBMS_StatBattChargeState();
u8MBMS_StatBattWorkState = Get_CAN_CH0_ID_18203220_Sig_MBMS_StatBattWorkState();
u16MMCU_AccumulatedWorkHours = Get_CAN_CH0_ID_339_Sig_MMCU_AccumulatedWorkHours();
u8BMCU_BladeSpeedGear = Get_CAN_CH0_ID_157_Sig_BMCU_BladeSpeedGear();
if ((u8MBMS_StatBattChargeState == 0x7U) && (u8MBMS_StatBattWorkState == 0xfU) && (u8BMCU_BladeSpeedGear == 0x7U) && (u16MMCU_AccumulatedWorkHours >= 60000UL))
if ((CAN_MSG_Status(&CAN_CH0_CanMsgOp, Co_Can_ConvertSubID_CAN_CH0(CAN_CH0_ID_CAN_0x18203220_Msg)) == CAN_SIG_NORMAL) && (CAN_MSG_Status(&CAN_CH0_CanMsgOp, Co_Can_ConvertSubID_CAN_CH0(CAN_CH0_ID_CAN_0x157_Msg)) == CAN_SIG_NORMAL) && (CAN_MSG_Status(&CAN_CH0_CanMsgOp, Co_Can_ConvertSubID_CAN_CH0(CAN_CH0_ID_CAN_0x339_Msg)) == CAN_SIG_NORMAL))
{
g_u8TYWClearEepromFlag = 1;
u8MBMS_StatBattChargeState = Get_CAN_CH0_ID_18203220_Sig_MBMS_StatBattChargeState();
u8MBMS_StatBattWorkState = Get_CAN_CH0_ID_18203220_Sig_MBMS_StatBattWorkState();
u16MMCU_AccumulatedWorkHours = Get_CAN_CH0_ID_339_Sig_MMCU_AccumulatedWorkHours();
u8BMCU_BladeSpeedGear = Get_CAN_CH0_ID_157_Sig_BMCU_BladeSpeedGear();
if ((u8MBMS_StatBattChargeState == 0x7U) && (u8MBMS_StatBattWorkState == 0xfU) && (u8BMCU_BladeSpeedGear == 0x7U) && (u16MMCU_AccumulatedWorkHours >= 60000UL))
{
g_u8TYWClearEepromFlag = 1;
}
else
{
g_u8TYWClearEepromFlag = 0;
}
}
else
{
......@@ -33,11 +39,9 @@ void TYW_Clear_Eeprom_Service(void)
{
g_u8TYWClearEepromFlag = 0;
}
}
else
{
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,87 +659,91 @@ _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)
{
_Fun_Res m_Res;
uint8_t Num;
uint8_t m8;
if (((m_Flag == 1u) && (CAN_MSG_Status(&CAN_CH0_CanMsgOp, Co_Can_ConvertSubID_CAN_CH0(CAN_CH0_ID_CAN_0x18200A21_Msg)) == CAN_SIG_NORMAL)) || (checkself_seg_Flag == 1))
{
IC1_SEG124 = IC_SEG_ON;
IC1_SEG123 = IC_SEG_ON;
IC1_SEG134 = IC_SEG_GREY;
IC1_SEG125 = IC_SEG_GREY;
IC1_SEG126 = IC_SEG_GREY;
IC1_SEG127 = IC_SEG_GREY;
IC1_SEG128 = IC_SEG_GREY;
IC1_SEG129 = IC_SEG_GREY;
IC1_SEG130 = IC_SEG_GREY;
IC1_SEG131 = IC_SEG_GREY;
IC1_SEG132 = IC_SEG_GREY;
IC1_SEG133 = IC_SEG_GREY;
IC1_SEG134 = IC_SEG_GREY;
if ((m_SEG == 1) && (Common_GetIgnOnTime() >= 1500) && (SOC_charge_seg_Flag != 1))
#if (PART_NUMBER == RMR42E_60)
_Fun_Res m_Res;
uint8_t Num;
uint8_t m8;
if (((m_Flag == 1u) && (CAN_MSG_Status(&CAN_CH0_CanMsgOp, Co_Can_ConvertSubID_CAN_CH0(CAN_CH0_ID_CAN_0x18200A21_Msg)) == CAN_SIG_NORMAL)) || (checkself_seg_Flag == 1))
{
if (FLASH_SYNC_1Hz)
{
IC1_SEG134 = IC_SEG_ON;
}
else
{
IC1_SEG134 = IC_SEG_GREY;
IC1_SEG124 = IC_SEG_ON;
IC1_SEG123 = IC_SEG_ON;
IC1_SEG134 = IC_SEG_GREY;
IC1_SEG125 = IC_SEG_GREY;
IC1_SEG126 = IC_SEG_GREY;
IC1_SEG127 = IC_SEG_GREY;
IC1_SEG128 = IC_SEG_GREY;
IC1_SEG129 = IC_SEG_GREY;
IC1_SEG130 = IC_SEG_GREY;
IC1_SEG131 = IC_SEG_GREY;
IC1_SEG132 = IC_SEG_GREY;
IC1_SEG133 = IC_SEG_GREY;
IC1_SEG134 = IC_SEG_GREY;
if ((m_SEG == 1) && (Common_GetIgnOnTime() >= 1500) && (SOC_charge_seg_Flag != 1))
{
if (FLASH_SYNC_1Hz)
{
IC1_SEG134 = IC_SEG_ON;
}
else
{
IC1_SEG134 = IC_SEG_GREY;
}
}
else
{
switch (m_SEG)
{
case 10u:
IC1_SEG125 = IC_SEG_ON;
case 9u:
IC1_SEG126 = IC_SEG_ON;
case 8u:
IC1_SEG127 = IC_SEG_ON;
case 7u:
IC1_SEG128 = IC_SEG_ON;
case 6u:
IC1_SEG129 = IC_SEG_ON;
case 5u:
IC1_SEG130 = IC_SEG_ON;
case 4u:
IC1_SEG131 = IC_SEG_ON;
case 3u:
IC1_SEG132 = IC_SEG_ON;
case 2u:
IC1_SEG133 = IC_SEG_ON;
case 1u:
IC1_SEG134 = IC_SEG_ON;
case 0u:
break;
default:
break;
}
}
}
else
{
switch (m_SEG)
{
case 10u:
IC1_SEG125 = IC_SEG_ON;
case 9u:
IC1_SEG126 = IC_SEG_ON;
case 8u:
IC1_SEG127 = IC_SEG_ON;
case 7u:
IC1_SEG128 = IC_SEG_ON;
case 6u:
IC1_SEG129 = IC_SEG_ON;
case 5u:
IC1_SEG130 = IC_SEG_ON;
case 4u:
IC1_SEG131 = IC_SEG_ON;
case 3u:
IC1_SEG132 = IC_SEG_ON;
case 2u:
IC1_SEG133 = IC_SEG_ON;
case 1u:
IC1_SEG134 = IC_SEG_ON;
case 0u:
break;
default:
break;
}
IC1_SEG134 = IC_SEG_OFF;
IC1_SEG125 = IC_SEG_OFF;
IC1_SEG126 = IC_SEG_OFF;
IC1_SEG127 = IC_SEG_OFF;
IC1_SEG128 = IC_SEG_OFF;
IC1_SEG129 = IC_SEG_OFF;
IC1_SEG130 = IC_SEG_OFF;
IC1_SEG131 = IC_SEG_OFF;
IC1_SEG132 = IC_SEG_OFF;
IC1_SEG133 = IC_SEG_OFF;
IC1_SEG134 = IC_SEG_OFF;
// 小电池
IC1_SEG124 = IC_SEG_OFF;
IC1_SEG123 = IC_SEG_OFF;
}
}
else
{
IC1_SEG134 = IC_SEG_OFF;
IC1_SEG125 = IC_SEG_OFF;
IC1_SEG126 = IC_SEG_OFF;
IC1_SEG127 = IC_SEG_OFF;
IC1_SEG128 = IC_SEG_OFF;
IC1_SEG129 = IC_SEG_OFF;
IC1_SEG130 = IC_SEG_OFF;
IC1_SEG131 = IC_SEG_OFF;
IC1_SEG132 = IC_SEG_OFF;
IC1_SEG133 = IC_SEG_OFF;
IC1_SEG134 = IC_SEG_OFF;
// 小电池
IC1_SEG124 = IC_SEG_OFF;
IC1_SEG123 = IC_SEG_OFF;
}
return m_Res;
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