/***************************************************************************************************************************************************************************** 文 件 名:CAN_Communication_Matrix.h 功能描述:BZ3组合仪表CAN通信矩阵 作 者:张暄 版 本:V1.0 日 期:2016.11.8 *****************************************************************************************************************************************************************************/ #ifndef CAN_COMMUNICATION_MATRIX_H_ #define CAN_COMMUNICATION_MATRIX_H_ #include "stdint.h" //#include "Non_volatile_Memorys.h" //----fhl--20190510---------------------------------------------------------------- //#define Power_Version_24 1 //#define Power_Version_12 2 #define Test 1 #define Normal 2 //#define CODEMODE Test #define CODEMODE Normal //#if (NVM_CONFIG_POWER==1) //#define Power_Mod Power_Version_24 //#define Power_Mod Power_Version_12 //#define Version_WEI 1 // 潍柴 //#define Version_KANG 2 // 康明斯 //#define Version_YU 3 // 玉柴 //#define Version_DA 4 // 大柴 //#if (NVM_CONFIG_WEI!=0) //#define ModVersion Version_WEI //#elif (NVM_CONFIG_KANG!=0) //#define ModVersion Version_KANG //#elif (NVM_CONFIG_YU!=0) //#define ModVersion Version_YU //#elif (NVM_CONFIG_DA!=0) //#define ModVersion Version_DA #pragma MESSAGE DISABLE C1106 /*****************************************************************************************************************************************************************************/ /*报文及信号定义 Intel *****************************************************************************************************************************************************************************/ /*****************************************10FF1021***************************************************************************************************************************** ID : 0x10FF1021 报文: BCM_ExternalLight 信号: |-Rx |- ******************************************10FF1021***************************************************************************************************************************/ typedef union { uint8_t Msg[8]; struct { uint8_t : 1; //0 uint8_t S09 : 1; //1 uint8_t S01 : 2; //2-3 uint8_t S02 : 2; //4-5 uint8_t : 2; //6-7 uint8_t : 8; //8-15 uint8_t : 8; //16-23 uint8_t : 2; //24-25 uint8_t S03 : 2; //26-27 uint8_t S04 : 2; //28-29 uint8_t S05 : 2; //30-31 uint8_t : 8; //32-39 uint8_t : 7; //40-46 uint8_t S06 : 1; //47-47 uint8_t : 4; //48-51 uint8_t S07 : 1; //52-52 uint8_t : 3; //53-55 uint8_t : 8; //56-63 } Sig; } CANMsg10FF1021Union; extern volatile CANMsg10FF1021Union CANMsg10FF1021; extern volatile uint8_t CANMsg10FF1021Status; #define BCM_ExternalLight 0x10FF1021 #define BCM_ExternalLight_STATUS CANMsg10FF1021Status //-------------------10FF1021--------------------- //------信号名------------------------------定义------------------注释------------------------------------起始位--长度-- #define BCM_ICM_Alarm CANMsg10FF1021.Sig.S09 //仪表报警提示 1 1 #define RearFogSts CANMsg10FF1021.Sig.S01 //后雾灯 2 2 #define FrontFogSts CANMsg10FF1021.Sig.S02 //前雾灯 4 2 #define RHTurnSignalSts CANMsg10FF1021.Sig.S03 //右转向灯 26 2 #define LHTurnSignalSts CANMsg10FF1021.Sig.S04 //左转向灯 28 2 #define HazardLightSts CANMsg10FF1021.Sig.S05 //警示灯 #define BreakLightWarning CANMsg10FF1021.Sig.S06 //制动灯断丝报警 #define Auxiliary_sign_LaneChange CANMsg10FF1021.Sig.S07 //变道辅助标志位 static const uint8_t CANMsg10FF1021Init[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; static const uint8_t CANMsg10FF1021Timeout[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; static const uint8_t CANMsg10FF1021Mask[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; /****************************************************************************** ID名称:BCM_StatusNBC ID:0x10FF7521 报文:BCM_StatusNBC 信号: |- PsngrDoorSts 副驾驶侧车门状态 |- DriveDoorSts 驾驶侧车门状态 |- RearviewMirrorDefSts 后视镜除霜状态 ******************************************************************************/ typedef union { uint8_t Msg[8]; struct { uint8_t : 8; // b00_07 uint8_t : 8; // b10_17 uint8_t : 4; // b20_23 uint8_t S01 : 2; // DriveDoorSts uint8_t S02 : 2; // PsngrDoorSts uint8_t : 8; // b30_37 uint8_t : 6; // b40_45 uint8_t S03 : 2; // RearviewMirrorDefSts uint8_t : 8; // b50_57 uint8_t : 8; // b60_67 uint8_t : 8; // b70_77 }Sig; } CANMsg10FF7521Union; extern volatile CANMsg10FF7521Union CANMsg10FF7521; extern volatile uint8_t CANMsg10FF7521Status; #define BCM_StatusNBC 0x10FF7521 #define BCM_StatusNBC_STATUS CANMsg10FF7521Status //------信号名------------------------------定义------------------注释------------------------------------起始位--长度-- #define DriveDoorSts_can CANMsg10FF7521.Sig.S01 // 副驾驶侧车门状态 #define PsngrDoorSts_can CANMsg10FF7521.Sig.S02 // 驾驶侧车门状态 #define RearviewMirrorDefSts CANMsg10FF7521.Sig.S03 // 后视镜除霜状态 static const uint8_t CANMsg10FF7521Init[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; static const uint8_t CANMsg10FF7521Timeout[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; static const uint8_t CANMsg10FF7521Mask[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; /***********************************10FF1017******************************************* ID名称:BCM_Msg2 ID:0x10FF1017 报文:BCM_Msg2 信号: |- PositionLightSts 位置灯 |- HighBeamSts 远光灯 |- LowBeamSts 近光灯 ***********************************10FF1017*******************************************/ typedef union { uint8_t Msg[8]; struct { uint8_t S04 : 2; // b00_01 uint8_t : 6; // b02_07 uint8_t S01 : 2; // LowBeamSts uint8_t S02 : 2; // HighBeamSts uint8_t S03 : 2; // PositionLightSts uint8_t : 2; // b16_17 uint8_t : 8; // b20_27 uint8_t : 8; // b30_37 uint8_t : 8; //b40_47 uint8_t : 8; // b50_57 uint8_t : 8; // b60_67 uint8_t : 8; //b70_77 }Sig; } CANMsg10FF1017Union; extern volatile CANMsg10FF1017Union CANMsg10FF1017; extern volatile uint8_t CANMsg10FF1017Status; #define BCM_Msg2 0x10FF1017 #define BCM_Msg2_STATUS CANMsg10FF1017Status //------信号名------------------------------定义------------------注释------------------------------------起始位--长度-- #define Brake_Switch CANMsg10FF1017.Sig.S04 // 刹车制动 #define LowBeamSts CANMsg10FF1017.Sig.S01 // 近光灯 #define HighBeamSts CANMsg10FF1017.Sig.S02 // 远光灯 #define PositionLightSts_can CANMsg10FF1017.Sig.S03 // 位置灯 static const uint8_t CANMsg10FF1017Init[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; static const uint8_t CANMsg10FF1017Timeout[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; static const uint8_t CANMsg10FF1017Mask[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; /****************************************************************************** ID名称:BCM_TPMS ID:0x18FEF433 报文:BCM_TPMS 信号: |- TireLocation Tire Location |- TirePressure Tire Pressure |- TireTemp Tire Temperature |- CTIWheelSensSts CTI Wheel Sensor Status |- TireLeakSts Tire Leakage Status |- TireHighTempWarning Tire High Temperature Warning |- TirePressureState The State of Tire Pressure |- TirePressureThresholdDet The Pressure Threshold Detection ******************************************************************************/ typedef union { uint8_t Msg[8]; struct { uint8_t S01 : 2; // TireLocation uint8_t S10 : 2; // TireIDStudy uint8_t : 4; // uint8_t S02 : 8; // TirePressure uint8_t S03L : 8; // TireTempL uint8_t S03H : 8; // TireTempH uint8_t S04 : 2; // CTIWheelSensSts uint8_t S05 : 2; // TireLeakSts uint8_t S06 : 2; // TireHighTempWarning uint8_t S07 : 2; // TirePressureState uint8_t : 8; // uint8_t : 8; // uint8_t : 4; // uint8_t S09 : 3; // TirePressureThresholdDet uint8_t : 1; // }Sig; } CANMsg18FEF433Union; extern volatile CANMsg18FEF433Union CANMsg18FEF433 ; extern volatile uint8_t CANMsg18FEF433Status; #define BCM_TPMS 0x18FEF433 #define BCM_TPMS_STATUS CANMsg18FEF433Status //------信号名------------------------------定义------------------注释------------------------------------起始位--长度-- #define TireLocation CANMsg18FEF433.Sig.S01 // Tire Location #define TirePressure CANMsg18FEF433.Sig.S02 // Tire Pressure #define TireTempL CANMsg18FEF433.Sig.S03L // Tire Temperature #define TireTempH CANMsg18FEF433.Sig.S03H // Tire Temperature #define CTIWheelSensSts CANMsg18FEF433.Sig.S04 // CTI Wheel Sensor Status #define TireLeakSts CANMsg18FEF433.Sig.S05 // Tire Leakage Status #define TireHighTempWarning CANMsg18FEF433.Sig.S06 // Tire High Temperature Warning #define TirePressureState CANMsg18FEF433.Sig.S07 // The State of Tire Pressure #define TirePressureThresholdDet CANMsg18FEF433.Sig.S09 // The Pressure Threshold Detection #define TireIDStudy CANMsg18FEF433.Sig.S10 // TireIDStudy static const uint8_t CANMsg18FEF433Init[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; static const uint8_t CANMsg18FEF433Timeout[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; static const uint8_t CANMsg18FEF433Mask[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; /****************************************************************************** ID名称:BCM_PEPS_MSG1 ID:0x08FF00DD 报文:BCM_PEPS_MSG1 信号: |- PepslcuAlarm PEPS仪表报警提示 ******************************************************************************/ typedef union { uint8_t Msg[8]; struct { uint8_t : 8; // uint8_t : 4; // uint8_t S01 : 4; // PepslcuAlarm uint8_t : 8; // uint8_t : 8; // uint8_t : 8; // uint8_t : 8; // uint8_t : 8; // uint8_t : 8; // }Sig; } CANMsg08FF00DDUnion; extern volatile CANMsg08FF00DDUnion CANMsg08FF00DD; extern volatile uint8_t CANMsg08FF00DDStatus; #define BCM_PEPS_MSG1 0x08FF00DD #define BCM_PEPS_MSG1_STATUS CANMsg08FF00DDStatus //------信号名------------------------------定义------------------注释------------------------------------起始位--长度-- #define PepslcuAlarm CANMsg08FF00DD.Sig.S01 // PEPS仪表报警提示 static const uint8_t CANMsg08FF00DDInit[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; static const uint8_t CANMsg08FF00DDTimeout[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; static const uint8_t CANMsg08FF00DDMask[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; /****************************************************************************** ID名称:NWM_BCM ID:0x18FFA021 报文:NWM_BCM 信号: |- BCM_Sleep_Indicator BCM网络管理报文 ******************************************************************************/ typedef union { uint8_t Msg[8]; struct { uint8_t S01 : 3; // BCM_Sleep_Indicator uint8_t : 5; // uint8_t : 8; // uint8_t : 8; // uint8_t : 8; // uint8_t : 8; // uint8_t : 8; // uint8_t : 8; // uint8_t : 8; // }Sig; } CANMsg18FFA021Union; extern volatile CANMsg18FFA021Union CANMsg18FFA021; extern volatile uint8_t CANMsg18FFA021Status; #define NWM_BCM 0x18FFA021 #define NWM_BCM_STATUS CANMsg18FFA021Status //------信号名------------------------------定义------------------注释------------------------------------起始位--长度-- #define BCM_Sleep_Indicator CANMsg18FFA021.Sig.S01 // BCM网络管理报文 static const uint8_t CANMsg18FFA021Init[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; static const uint8_t CANMsg18FFA021Timeout[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; static const uint8_t CANMsg18FFA021Mask[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; /****************************************************************************** ID名称:TCO1 ID:0x18FE6CEE 报文:TCO1 信号: |- Tachograph_Vehicle_Speed 车速 ******************************************************************************/ typedef union { uint8_t Msg[8]; struct { uint8_t : 8; // uint8_t : 8; // uint8_t : 8; // uint8_t : 8; // uint8_t : 8; // uint8_t : 8; // uint8_t S01L : 8; // Tachograph_Vehicle_SpeedL uint8_t S01H : 8; // Tachograph_Vehicle_SpeedH }Sig; } CANMsg18FE6CEEUnion; extern volatile CANMsg18FE6CEEUnion CANMsg18FE6CEE; extern volatile uint8_t CANMsg18FE6CEEStatus; #define TCO1 0x18FE6CEE #define TCO1_STATUS CANMsg18FE6CEEStatus //------信号名------------------------------定义------------------注释------------------------------------起始位--长度-- #define Tachograph_Vehicle_SpeedL CANMsg18FE6CEE.Sig.S01L //车速 #define Tachograph_Vehicle_SpeedH CANMsg18FE6CEE.Sig.S01H //车速 static const uint8_t CANMsg18FE6CEEInit[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; static const uint8_t CANMsg18FE6CEETimeout[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; static const uint8_t CANMsg18FE6CEEMask[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; /****************************************************************************** ID名称:VDHR ID:0x18FEC117 报文:VDHR 信号: |- High_Resolution_Total_Vehicle_Distance 总里程 ******************************************************************************/ typedef union { uint8_t Msg[8]; struct { uint8_t S01 : 8; // High_Resolution_Total_Vehicle_Distance_LL uint8_t S02 : 8; // High_Resolution_Total_Vehicle_Distance_LH uint8_t S03 : 8; // High_Resolution_Total_Vehicle_Distance_HL uint8_t S04 : 8; // High_Resolution_Total_Vehicle_Distance_HH uint8_t : 8; // uint8_t : 8; // uint8_t : 8; // uint8_t : 8; // }Sig; } CANMsg18FEC117Union; extern volatile CANMsg18FEC117Union CANMsg18FEC117; extern volatile uint8_t CANMsg18FEC117Status; #define VDHR 0x18FEC117 #define VDHR_STATUS CANMsg18FEC117Status //------信号名------------------------------定义------------------注释------------------------------------起始位--长度-- #define High_Resolution_Total_Vehicle_Distance_LL CANMsg18FEC117.Sig.S01 // 总里程 #define High_Resolution_Total_Vehicle_Distance_LH CANMsg18FEC117.Sig.S02 // 总里程 #define High_Resolution_Total_Vehicle_Distance_HL CANMsg18FEC117.Sig.S03 // 总里程 #define High_Resolution_Total_Vehicle_Distance_HH CANMsg18FEC117.Sig.S04 // 总里程 static const uint8_t CANMsg18FEC117Init[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; static const uint8_t CANMsg18FEC117Timeout[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; static const uint8_t CANMsg18FEC117Mask[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; /****************************************************************************** ID名称:AIR1 ID:0x18FEAE17 报文:AIR1 信号: |- FrontBarometricPress 前桥气压 |- RearBarometricPress 后桥气压 ******************************************************************************/ typedef union { uint8_t Msg[8]; struct { uint8_t : 8; // uint8_t : 8; // uint8_t S01 : 8; // FrontBarometricPress uint8_t S02 : 8; // RearBarometricPress uint8_t : 8; // uint8_t : 8; // uint8_t : 8; // uint8_t : 8; // }Sig; } CANMsg18FEAE17Union; extern volatile CANMsg18FEAE17Union CANMsg18FEAE17; extern volatile uint8_t CANMsg18FEAE17Status; #define AIR1 0x18FEAE17 #define AIR1_STATUS CANMsg18FEAE17Status //------信号名---------------定义-----------注释-----------------起始位--长度-- #define FrontBarometricPress CANMsg18FEAE17.Sig.S01 // 前桥气压 #define RearBarometricPress CANMsg18FEAE17.Sig.S02 // 后桥气压 static const uint8_t CANMsg18FEAE17Init[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; static const uint8_t CANMsg18FEAE17Timeout[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; static const uint8_t CANMsg18FEAE17Mask[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; /****************************************************************************** ID名称:PGNRQ ID:0x18EA0021 报文:PGNRQ 信号: |- LeastSignificantBytePGN PNG低字节 |- MidbytePGN PNG中字节 |- MostSignificantBytePGN PNG高字节 ******************************************************************************/ typedef union { uint8_t Msg[8]; struct { uint8_t b00_07 : 8; // LeastSignificantBytePGN uint8_t b10_17 : 8; // MidbytePGN uint8_t b20_27 : 8; // MostSignificantBytePGN uint8_t b30_37 : 8; // uint8_t b40_47 : 8; // uint8_t b50_57 : 8; // uint8_t b60_67 : 8; // uint8_t b70_77 : 8; // }Sig; } CANMsg18EA0021Union; extern volatile CANMsg18EA0021Union CANMsg18EA0021; extern volatile uint8_t CANMsg18EA0021Status; #define PGNRQ 0x18EA0021 #define PGNRQ_STATUS CANMsg18EA0021Status //------信号名---------------定义-----------注释-----------------起始位--长度-- #define LeastSignificantBytePGN CANMsg18EA0021.Sig.b00_07 // PNG低字节 #define MidbytePGN CANMsg18EA0021.Sig.b10_17 // PNG中字节 #define MostSignificantBytePGN CANMsg18EA0021.Sig.b20_27 // PNG高字节 static const uint8_t CANMsg18EA0021Init[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; static const uint8_t CANMsg18EA0021Timeout[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; static const uint8_t CANMsg18EA0021Mask[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; /****************************************************************************** ID名称:NWM_ICM ID:0x18FEF717 报文:NWM_ICM 信号: |- ICM_Sleep_Indicator ICM网络管理报文 ******************************************************************************/ typedef union { uint8_t Msg[8]; struct { uint8_t b00_02 : 3; // ICM_Sleep_Indicator uint8_t b03_07 : 5; // uint8_t b10_17 : 8; // uint8_t b20_27 : 8; // uint8_t b30_37 : 8; // uint8_t b40_47 : 8; // uint8_t b50_57 : 8; // uint8_t b60_67 : 8; // uint8_t b70_77 : 8; // }Sig; } CANMsg18FEF717Union; extern volatile CANMsg18FEF717Union CANMsg18FEF717; extern volatile uint8_t CANMsg18FEF717Status; #define NWM_ICM 0x18FEF717 #define NWM_ICM_STATUS CANMsg18FEF717Status //------信号名---------------定义-----------注释-----------------起始位--长度-- #define ICM_Sleep_Indicator CANMsg18FEF717.Sig.b00_02 //ICM网络管理报文 static const uint8_t CANMsg18FEF717Init[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; static const uint8_t CANMsg18FEF717Timeout[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; static const uint8_t CANMsg18FEF717Mask[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; /****************************************************************************** ID名称:ETCS ID:0x18FEC317 报文:ETCS 信号: |- ReverseGear 倒挡信号(康明斯接收) ******************************************************************************/ typedef union { uint8_t Msg[8]; struct { uint8_t b00_07 : 8; // uint8_t b10_10 : 1; // ReverseGear uint8_t b11_17 : 7; // uint8_t b20_27 : 8; // uint8_t b30_37 : 8; // uint8_t b40_47 : 8; // uint8_t b50_57 : 8; // uint8_t b60_67 : 8; // uint8_t b70_77 : 8; // }Sig; } CANMsg18FEC317Union; extern volatile CANMsg18FEC317Union CANMsg18FEC317; extern volatile uint8_t CANMsg18FEC317Status; #define ETCS 0x18FEC317 #define ETCS_STATUS CANMsg18FEC317Status //------信号名---------------定义-----------注释-----------------起始位--长度-- #define ReverseGear CANMsg18FEC317.Sig.b10_10 // 倒挡信号(康明斯接收) static const uint8_t CANMsg18FEC317Init[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; static const uint8_t CANMsg18FEC317Timeout[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; static const uint8_t CANMsg18FEC317Mask[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; /****************************************************************************** ID名称:ICM_1 ID:0x18FE8E17 报文:ICM_1 信号: |- LowBrakeLuidLevel 制动液位低 |- SafetyBeltSt 主驾安全带状态 |- TankLevel 油箱液位 |- MaintainSignal 保养信号 |- AverageFuelConsumption 平均油耗 ******************************************************************************/ typedef union { uint8_t Msg[8]; struct { uint8_t b00_00 : 1; // LowBrakeLuidLevel uint8_t b01_01 : 1; // SafetyBeltSt uint8_t b02_04 : 3; // TankLevel uint8_t b05_05 : 1; // MaintainSignal uint8_t b06_07 : 2; // uint8_t b10_17 : 8; // AverageFuelConsumption_LL uint8_t b20_27 : 8; // AverageFuelConsumption_LH uint8_t b30_37 : 8; // AverageFuelConsumption_HL uint8_t b40_47 : 8; // AverageFuelConsumption_HH uint8_t b50_57 : 8; // uint8_t b60_67 : 8; // uint8_t b70_77 : 8; // }Sig; } CANMsg18FE8E17Union; extern volatile CANMsg18FE8E17Union CANMsg18FE8E17; extern volatile uint8_t CANMsg18FE8E17Status; #define ICM_1 0x18FE8E17 #define ICM_1_STATUS CANMsg18FE8E17Status //------信号名---------------定义-----------注释-----------------起始位--长度-- #define LowBrakeLuidLevel CANMsg18FE8E17.Sig.b00_00 // 制动液位低 #define SafetyBeltSt CANMsg18FE8E17.Sig.b01_01 // 主驾安全带状态 #define TankLevel CANMsg18FE8E17.Sig.b50_57 // 油箱液位 #define MaintainSignal CANMsg18FE8E17.Sig.b05_05 // 保养信号 #define AverageFuelConsumption_LL CANMsg18FE8E17.Sig.b10_17 // 平均油耗 #define AverageFuelConsumption_LH CANMsg18FE8E17.Sig.b20_27 // 平均油耗 #define AverageFuelConsumption_HL CANMsg18FE8E17.Sig.b30_37 // 平均油耗 #define AverageFuelConsumption_HH CANMsg18FE8E17.Sig.b40_47 // 平均油耗 static const uint8_t CANMsg18FE8E17Init[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; static const uint8_t CANMsg18FE8E17Timeout[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; static const uint8_t CANMsg18FE8E17Mask[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; /****************************************************************************** ID名称:ICM_2 ID:0x18FEF117 报文:ICM_2 信号: |- ParkingBrakeSwitch 驻车制动开关(康明斯接收) ******************************************************************************/ typedef union { uint8_t Msg[8]; struct { uint8_t b00_01 : 2; // uint8_t b02_03 : 2; // ParkingBrakeSwitch uint8_t b04_07 : 4; // uint8_t b10_17 : 8; // uint8_t b20_27 : 8; // uint8_t b30_37 : 8; // uint8_t b40_47 : 8; // uint8_t b50_57 : 8; // uint8_t b60_67 : 8; // uint8_t b70_77 : 8; // }Sig; } CANMsg18FEF117Union; extern volatile CANMsg18FEF117Union CANMsg18FEF117; extern volatile uint8_t CANMsg18FEF117Status; #define ICM_2 0x18FEF117 #define ICM_2_STATUS CANMsg18FEF117Status //------信号名---------------定义-----------注释-----------------起始位--长度-- #define ParkingBrakeSwitch CANMsg18FEF117.Sig.b02_03 // 驻车制动开关(康明斯接收) static const uint8_t CANMsg18FEF117Init[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; static const uint8_t CANMsg18FEF117Timeout[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; static const uint8_t CANMsg18FEF117Mask[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; /****************************************************************************** ID名称:ICM_3 ID:0x18FF0A17 报文:ICM_3 信号: |- CabLockSt 驾驶室锁止(康明斯接收) ******************************************************************************/ typedef union { uint8_t Msg[8]; struct { uint8_t b00_05 : 6; // uint8_t b06_07 : 2; // CabLockSt uint8_t b10_17 : 8; // uint8_t b20_27 : 8; // uint8_t b30_37 : 8; // uint8_t b40_47 : 8; // uint8_t b50_57 : 8; // uint8_t b60_67 : 8; // uint8_t b70_77 : 8; // }Sig; } CANMsg18FF0A17Union; extern volatile CANMsg18FF0A17Union CANMsg18FF0A17; extern volatile uint8_t CANMsg18FF0A17Status; #define ICM_3 0x18FF0A17 #define ICM_3_STATUS CANMsg18FF0A17Status //------信号名---------------定义-----------注释-----------------起始位--长度-- #define CabLockSt CANMsg18FF0A17.Sig.b06_07 //驾驶室锁止(康明斯接收) static const uint8_t CANMsg18FF0A17Init[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; static const uint8_t CANMsg18FF0A17Timeout[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; static const uint8_t CANMsg18FF0A17Mask[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; /****************************************************************************** ID名称:NWM_TBOX ID:0x18EFCD27 报文:NWM_TBOX 信号: |- TBOX_Sleep_Indicator TBOX网络管理报文 ******************************************************************************/ typedef union { uint8_t Msg[8]; struct { uint8_t b00_02 : 3; // TBOX_Sleep_Indicator uint8_t b03_07 : 5; // uint8_t b10_17 : 8; // uint8_t b20_27 : 8; // uint8_t b30_37 : 8; // uint8_t b40_47 : 8; // uint8_t b50_57 : 8; // uint8_t b60_67 : 8; // uint8_t b70_77 : 8; // }Sig; } CANMsg18EFCD27Union; extern volatile CANMsg18EFCD27Union CANMsg18EFCD27; extern volatile uint8_t CANMsg18EFCD27Status; #define NWM_TBOX 0x18EFCD27 #define NWM_TBOX_STATUS CANMsg18EFCD27Status //------信号名---------------定义-----------注释-----------------起始位--长度-- #define TBOX_Sleep_Indicator CANMsg18EFCD27.Sig.b00_02 // TBOX网络管理报文 static const uint8_t CANMsg18EFCD27Init[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; static const uint8_t CANMsg18EFCD27Timeout[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; static const uint8_t CANMsg18EFCD27Mask[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; /****************************************************************************** ID名称:ADAS_1 ID:0x10F007E8 报文:ADAS_1 信号: |- Right_LDW 右侧车道偏离 |- Left_LDW 左侧车道偏离 |- FCW 前碰预警 ******************************************************************************/ typedef union { uint8_t Msg[8]; struct { uint8_t b00_03 : 4; // uint8_t b04_04 : 1; // Right_LDW uint8_t b05_05 : 1; // uint8_t b06_06 : 1; // Left_LDW uint8_t b07_07 : 1; // uint8_t b10_10 : 1; // FCW uint8_t b11_17 : 7; // uint8_t b20_27 : 8; // uint8_t b30_37 : 8; // uint8_t b40_47 : 8; // uint8_t b50_57 : 8; // uint8_t b60_67 : 8; // uint8_t b70_77 : 8; // }Sig; } CANMsg10F007E8Union; extern volatile CANMsg10F007E8Union CANMsg10F007E8; extern volatile uint8_t CANMsg10F007E8Status; #define ADAS_1 0x10F007E8 #define ADAS_1_STATUS CANMsg10F007E8Status //------信号名---------------定义-----------注释-----------------起始位--长度-- #define Right_LDW CANMsg10F007E8.Sig.b04_04 // 右侧车道偏离 #define Left_LDW CANMsg10F007E8.Sig.b06_06 // 左侧车道偏离 #define FCW CANMsg10F007E8.Sig.b10_10 // 前碰预警 static const uint8_t CANMsg10F007E8Init[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; static const uint8_t CANMsg10F007E8Timeout[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; static const uint8_t CANMsg10F007E8Mask[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; /****************************************************************************** ID名称:ADAS_2 ID:0x18FE5BE8 报文:ADAS_2 信号: |- Right_Lane_Tracking 右车道跟踪 |- Leftt_Lane_Tracking 左车道跟踪 |- LDW_Disable 车道偏离预警未启用 |- Headway_Warning 车距监测报警 |- PCW 行人碰撞 |- Headway_Measurement 车距监测时间数值 |- ADAS_Error_Active Error Active ******************************************************************************/ typedef union { uint8_t Msg[8]; struct { uint8_t b00_01 : 2; // uint8_t b02_03 : 2; // Right_Lane_Tracking uint8_t b04_05 : 2; // Leftt_Lane_Tracking uint8_t b06_06 : 1; // LDW_Disable uint8_t b07_07 : 1; // uint8_t b10_14 : 5; // uint8_t b15_16 : 2; // Headway_Warning uint8_t b17_17 : 1; // uint8_t b20_20 : 1; // PCW uint8_t b21_21 : 1; // Ped_In_Zone uint8_t b21_25 : 4; // uint8_t b26_26 : 1; // ADAS_Maintenance uint8_t b27_27 : 1; // ADAS_Failsafe uint8_t b30_30 : 1; // uint8_t b31_37 : 7; // Headway_Measurement uint8_t b40_40 : 1; // ADAS_Error_Active uint8_t b41_47 : 7; // ADAS_Error_Code uint8_t b50_57 : 8; // uint8_t b60_67 : 8; // uint8_t b70_77 : 8; // }Sig; } CANMsg18FE5BE8Union; extern volatile CANMsg18FE5BE8Union CANMsg18FE5BE8; extern volatile uint8_t CANMsg18FE5BE8Status; #define ADAS_2 0x18FE5BE8 #define ADAS_2_STATUS CANMsg18FE5BE8Status //------信号名---------------定义-----------注释-----------------起始位--长度-- #define Right_Lane_Tracking CANMsg18FE5BE8.Sig.b02_03 // 右车道跟踪 #define Leftt_Lane_Tracking CANMsg18FE5BE8.Sig.b04_05 // 左车道跟踪 #define LDW_Disable CANMsg18FE5BE8.Sig.b06_06 // 车道偏离预警未启用 #define Headway_Warning CANMsg18FE5BE8.Sig.b15_16 // 车距监测报警 #define PCW CANMsg18FE5BE8.Sig.b20_20 // 行人碰撞 #define Ped_In_Zone CANMsg18FE5BE8.Sig.b21_21 // Ped in zone #define ADAS_Maintenance CANMsg18FE5BE8.Sig.b26_26 // 维修信息 #define ADAS_Failsafe CANMsg18FE5BE8.Sig.b27_27 // Failsafe #define Headway_Measurement CANMsg18FE5BE8.Sig.b31_37 // 车距监测时间数值 #define ADAS_Error_Active CANMsg18FE5BE8.Sig.b40_40 // Error Active #define ADAS_Error_Code CANMsg18FE5BE8.Sig.b41_47 // ADAS_Error_Code static const uint8_t CANMsg18FE5BE8Init[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; static const uint8_t CANMsg18FE5BE8Timeout[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; static const uint8_t CANMsg18FE5BE8Mask[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; /****************************************************************************** ID名称:EEC1 ID:0x0CF00400 报文:EEC1 信号: |- Engine_Speed 发送机转速 (玉柴、潍柴、大柴、锡柴、云内) ******************************************************************************/ typedef union { uint8_t Msg[8]; struct { uint8_t b00_07 : 8; // uint8_t b10_17 : 8; // uint8_t b20_27 : 8; // uint8_t b30_37 : 8; // Engine_SpeedL uint8_t b40_47 : 8; // Engine_SpeedH uint8_t b50_57 : 8; // uint8_t b60_67 : 8; // uint8_t b70_77 : 8; // }Sig; } CANMsg0CF00400Union; extern volatile CANMsg0CF00400Union CANMsg0CF00400; extern volatile uint8_t CANMsg0CF00400Status; #define EEC1 0x0CF00400 #define EEC1_STATUS CANMsg0CF00400Status //------信号名---------------定义-----------注释-----------------起始位--长度-- #define Engine_SpeedL CANMsg0CF00400.Sig.b30_37 // 发送机转速 #define Engine_SpeedH CANMsg0CF00400.Sig.b40_47 // 发送机转速 (玉柴、潍柴、大柴、锡柴、云内) static const uint8_t CANMsg0CF00400Init[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; static const uint8_t CANMsg0CF00400Timeout[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; static const uint8_t CANMsg0CF00400Mask[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; /****************************************************************************** ID名称:ET1 ID:0x18FEEE00 报文:ET1 信号: |- Engine_Coolant_Temp 冷却液温度 ******************************************************************************/ typedef union { uint8_t Msg[8]; struct { uint8_t b00_07 : 8; // Engine_Coolant_Temp uint8_t b10_17 : 8; // uint8_t b20_27 : 8; // uint8_t b30_37 : 8; // uint8_t b40_47 : 8; // uint8_t b50_57 : 8; // uint8_t b60_67 : 8; // uint8_t b70_77 : 8; // }Sig; } CANMsg18FEEE00Union; extern volatile CANMsg18FEEE00Union CANMsg18FEEE00; extern volatile uint8_t CANMsg18FEEE00Status; #define ET1 0x18FEEE00 #define ET1_STATUS CANMsg18FEEE00Status //------信号名---------------定义-----------注释-----------------起始位--长度-- #define Engine_Coolant_Temp CANMsg18FEEE00.Sig.b00_07 //冷却液温度 static const uint8_t CANMsg18FEEE00Init[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; static const uint8_t CANMsg18FEEE00Timeout[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; static const uint8_t CANMsg18FEEE00Mask[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; /****************************************************************************** ID名称:EFLP1 ID:0x18FEEF00 报文:EFLP1 信号: |- EngOilPress 机油压力(玉柴、潍柴、大柴、锡柴、云内) ******************************************************************************/ typedef union { uint8_t Msg[8]; struct { uint8_t b00_07 : 8; // uint8_t b10_17 : 8; // uint8_t b20_27 : 8; // uint8_t b30_37 : 8; // EngOilPress uint8_t b40_47 : 8; // uint8_t b50_57 : 8; // uint8_t b60_67 : 8; // uint8_t b70_77 : 8; // }Sig; } CANMsg18FEEF00Union; extern volatile CANMsg18FEEF00Union CANMsg18FEEF00; extern volatile uint8_t CANMsg18FEEF00Status; #define EFLP1 0x18FEEF00 #define EFLP1_STATUS CANMsg18FEEF00Status //------信号名---------------定义-----------注释-----------------起始位--长度-- #define EngOilPress CANMsg18FEEF00.Sig.b30_37 //机油压力(玉柴/潍柴/大柴/锡柴/云内) static const uint8_t CANMsg18FEEF00Init[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; static const uint8_t CANMsg18FEEF00Timeout[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; static const uint8_t CANMsg18FEEF00Mask[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; /****************************************************************************** ID名称:AT1T1L ID:0x18FE5600 报文:AT1T1L 信号: |- Aftrtrtmnt1SCRCatalystTankLevel 尿素液位值/反应剂余量 |- Urealevelalarm_Kang 尿素液位报警(康明斯) ******************************************************************************/ typedef union { uint8_t Msg[8]; struct { uint8_t b00_07 : 8; // Aftrtrtmnt1SCRCatalystTankLevel uint8_t b10_17 : 8; // uint8_t b20_27 : 8; // uint8_t b30_37 : 8; // uint8_t b40_44 : 5; // uint8_t b45_47 : 3; // Urealevelalarm_Kang uint8_t b50_57 : 8; // uint8_t b60_67 : 8; // uint8_t b70_77 : 8; // }Sig; } CANMsg18FE5600Union; extern volatile CANMsg18FE5600Union CANMsg18FE5600; extern volatile uint8_t CANMsg18FE5600Status; #define AT1T1L 0x18FE5600 #define AT1T1L_STATUS CANMsg18FE5600Status //------信号名---------------定义-----------注释-----------------起始位--长度-- #define Aftrtrtmnt1SCRCatalystTankLevel CANMsg18FE5600.Sig.b00_07 // 尿素液位值/反应剂余量 //#if ModVersion == Version_KANG #define Urealevelalarm_KANG CANMsg18FE5600.Sig.b45_47 // 尿素液位报警(康明斯) static const uint8_t CANMsg18FE5600Init[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; static const uint8_t CANMsg18FE5600Timeout[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; static const uint8_t CANMsg18FE5600Mask[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; /****************************************************************************** ID名称:OI ID:0x18FEFF00 报文:OI 信号: |- Urealevelalarm_Yu 尿素液位报警(玉柴) |- DriverAlarmSystem 驾驶员报警系统(潍柴) |- DrivabilityRestrictionsystem 驾驶性能限制系统(潍柴) ******************************************************************************/ /*typedef union { uint8_t Msg[8]; struct { uint8_t b00_07 : 8; // uint8_t b10_12 : 3; // Urealevelalarm_Yu //uint8_t b10_12 : 3; // DriverAlarmSystem 此信号需与五征确认 uint8_t b13_15 : 3; // DrivabilityRestrictionsystem uint8_t b16_17 : 2; // uint8_t b20_27 : 8; // uint8_t b30_37 : 8; // uint8_t b40_44 : 5; // uint8_t b45_47 : 3; // uint8_t b50_57 : 8; // uint8_t b60_67 : 8; // uint8_t b70_77 : 8; // }Sig; } CANMsg18FEFF00Union; extern volatile CANMsg18FEFF00Union CANMsg18FEFF00; extern volatile uint8_t CANMsg18FEFF00Status; #define OI 0x18FEFF00 #define OI_STATUS CANMsg18FEFF00Status //------信号名---------------定义-----------注释-----------------起始位--长度-- static const uint8_t CANMsg18FEFF00Init[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; static const uint8_t CANMsg18FEFF00Timeout[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; static const uint8_t CANMsg18FEFF00Mask[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; */ /****************************************************************************** ID名称:WFI ID:0x18FEFF17 报文: 信号: |- WaterInFuelIndicator 燃料中有水指示(锡柴) |- ******************************************************************************/ /*typedef union { uint8_t Msg[8]; struct { uint8_t b00_01 : 2; // WaterInFuelIndicator uint8_t b02_07 : 6; // uint8_t b10_12 : 3; // uint8_t b13_15 : 3; // uint8_t b16_17 : 2; // uint8_t b20_27 : 8; // uint8_t b30_37 : 8; // uint8_t b40_47 : 5; // uint8_t b50_57 : 8; // uint8_t b60_67 : 8; // uint8_t b70_77 : 8; // }Sig; } CANMsg18FEFF17Union; extern volatile CANMsg18FEFF17Union CANMsg18FEFF17; extern volatile uint8_t CANMsg18FEFF17Status; #define WFI_XI 0x18FEFF17 #define WFI_XI_STATUS CANMsg18FEFF17Status //------信号名---------------定义-----------注释-----------------起始位--长度-- #define WaterInFuelIndicator_XI CANMsg18FEFF17.Sig.b00_01 // 燃料中有水指示(锡柴) */ static const uint8_t CANMsg18FEFF17Init[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; static const uint8_t CANMsg18FEFF17Timeout[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; static const uint8_t CANMsg18FEFF17Mask[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; /****************************************************************************** ID名称:SHUTDN ID:0x18FEE400 报文:SHUTDN 信号: |- EngWaitToStartLamp 发动机预热指示灯 ******************************************************************************/ typedef union { uint8_t Msg[8]; struct { uint8_t b00_07 : 8; // uint8_t b10_17 : 8; // uint8_t b20_27 : 8; // uint8_t b30_31 : 2; // EngWaitToStartLamp uint8_t b32_37 : 6; // uint8_t b40_44 : 5; // uint8_t b45_47 : 3; // uint8_t b50_57 : 8; // uint8_t b60_67 : 8; // uint8_t b70_77 : 8; // }Sig; } CANMsg18FEE400Union; extern volatile CANMsg18FEE400Union CANMsg18FEE400; extern volatile uint8_t CANMsg18FEE400Status; #define SHUTDN 0x18FEE400 #define SHUTDN_STATUS CANMsg18FEE400Status //------信号名---------------定义-----------注释-----------------起始位--长度-- #define EngWaitToStartLamp CANMsg18FEE400.Sig.b30_31 //发动机预热指示灯 static const uint8_t CANMsg18FEE400Init[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; static const uint8_t CANMsg18FEE400Timeout[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; static const uint8_t CANMsg18FEE400Mask[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; /****************************************************************************** ID名称:WFI_DA ID:0x18FF7400 报文: 信号: |- DriverAlarmSystem 驾驶员报警系统(大柴、锡柴) ******************************************************************************/ typedef union { uint8_t Msg[8]; struct { uint8_t b00_02 : 3; // DriverAlarmSystem uint8_t b03_07 : 5; // uint8_t b10_17 : 8; // uint8_t b20_27 : 8; // uint8_t b30_37 : 8; // uint8_t b40_47 : 8; // uint8_t b50_57 : 8; // uint8_t b60_67 : 8; // uint8_t b70_77 : 8; // }Sig; } CANMsg18FF7400Union; extern volatile CANMsg18FF7400Union CANMsg18FF7400; extern volatile uint8_t CANMsg18FF7400Status; #define WFI_DA 0x18FF7400 #define WFI_DA_STATUS CANMsg18FF7400Status //------信号名---------------定义-----------注释-----------------起始位--长度-- #define DriverAlarmSystem_DA CANMsg18FF7400.Sig.b00_02 // 驾驶员报警系统(大柴、锡柴) static const uint8_t CANMsg18FF7400Init[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; static const uint8_t CANMsg18FF7400Timeout[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; static const uint8_t CANMsg18FF7400Mask[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; /****************************************************************************** ID名称:WFI 此ID与前面的OI的ID相同,需要修改 ID:0x18FEFF00 报文: 信号: |- WaterInFuelIndicator 燃料中有水指示 (康明斯、玉柴、潍柴、云内) |- DriverAlarmSystem 驾驶员报警系统(康明斯) ******************************************************************************/ typedef union { uint8_t Msg[8]; struct { uint8_t b00_01 : 2; // WaterInFuelIndicator uint8_t b02_07 : 6; // uint8_t b10_12 : 3; // DriverAlarmSystem uint8_t b13_15 : 3; // uint8_t b16_17 : 2; // uint8_t b20_27 : 8; // uint8_t b30_37 : 8; // uint8_t b40_47 : 5; // uint8_t b50_57 : 8; // uint8_t b60_67 : 8; // uint8_t b70_77 : 8; // }Sig; } CANMsg18FEFF00Union; extern volatile CANMsg18FEFF00Union CANMsg18FEFF00; extern volatile uint8_t CANMsg18FEFF00Status; #define WFI 0x18FEFF00 #define WFI_STATUS CANMsg18FEFF00Status //------信号名---------------定义-----------注释-----------------起始位--长度-- #define WaterInFuelIndicator CANMsg18FEFF00.Sig.b00_01 // 燃料中有水指示(康明斯、玉柴、潍柴、云内) #define DriverAlarmSystem_KANGWEI CANMsg18FEFF00.Sig.b10_12 // 驾驶员报警系统(康明斯、潍柴) #define Urealevelalarm_YU CANMsg18FEFF00.Sig.b10_12 // 尿素液位报警(玉柴) #define DrivabilityRestrictionsystem CANMsg18FEFF00.Sig.b13_15 // 驾驶性能限制系统(潍柴) #define DriverAlarmSystem_YUN CANMsg18FEFF00.Sig.b13_15 // 驾驶员报警系统(云内) static const uint8_t CANMsg18FEFF00Init[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; static const uint8_t CANMsg18FEFF00Timeout[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; static const uint8_t CANMsg18FEFF00Mask[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; /****************************************************************************** ID名称:MFD1 ID:0x18FF0800 报文:MFD1 信号: |- OBDMalfunctionindLamp OBD灯状态(MIL灯)(潍柴) |- EngineMalfunctionLamp 发动机系统一般故障(潍柴) ******************************************************************************/ typedef union { uint8_t Msg[8]; struct { uint8_t b00_07 : 8; // uint8_t b10_17 : 8; // uint8_t b20_27 : 8; // uint8_t b30_31 : 2; // OBDMalfunctionindLamp uint8_t b32_33 : 2; // EngineMalfunctionLamp uint8_t b34_37 : 4; // uint8_t b40_47 : 8; // uint8_t b50_57 : 8; // uint8_t b60_67 : 8; // uint8_t b70_77 : 8; // }Sig; } CANMsg18FF0800Union; extern volatile CANMsg18FF0800Union CANMsg18FF0800; extern volatile uint8_t CANMsg18FF0800Status; #define MFD1 0x18FF0800 #define MFD1_STATUS CANMsg18FF0800Status //------信号名---------------定义-----------注释-----------------起始位--长度-- #define EngineMalfunctionLamp_WEI CANMsg18FF0800.Sig.b32_33 // 发动机系统一般故障(潍柴) #define OBDMalfunctionindLamp_WEI CANMsg18FF0800.Sig.b30_31 // OBD灯状态(MIL灯)(潍柴) static const uint8_t CANMsg18FF0800Init[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; static const uint8_t CANMsg18FF0800Timeout[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; static const uint8_t CANMsg18FF0800Mask[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; /****************************************************************************** ID名称:DPFC1 ID:0x18FD7C00 报文:DPFC1 信号: |- DPF_Lamp_Status DPF再生指示灯状态(康明斯/玉柴、锡柴) //|- DPF_Lamp_Status DPF再生指示灯状态(潍柴) |- DPF_Forbidden_Lamp DPF禁止主动再生(玉柴/潍柴) |- ExhaustHighTempLamp 高排气温度报警灯(康明斯) ******************************************************************************/ typedef union { uint8_t Msg[8]; struct { uint8_t b00_02 : 3; // DPF_Lamp_Status uint8_t b03_07 : 5; // uint8_t b10_13 : 4; // uint8_t b14_17 : 4; // DPF_Need_Status uint8_t b20_21 : 2; // DPF_Forbidden_Lamp uint8_t b22_23 : 2; // uint8_t b24_27 : 4; // uint8_t b30_37 : 8; // uint8_t b40_47 : 8; // uint8_t b50_57 : 8; // uint8_t b60_61 : 2; // uint8_t b62_64 : 3; // ExhaustHighTempLamp uint8_t b65_67 : 3; // uint8_t b70_77 : 8; // }Sig; } CANMsg18FD7C00Union; extern volatile CANMsg18FD7C00Union CANMsg18FD7C00; extern volatile uint8_t CANMsg18FD7C00Status; #define DPFC1 0x18FD7C00 #define DPFC1_STATUS CANMsg18FD7C00Status //------信号名---------------定义-----------注释-----------------起始位--长度-- #define DPF_Lamp_Status CANMsg18FD7C00.Sig.b00_02 // DPF再生指示灯状态 #define DPF_Need_Status CANMsg18FD7C00.Sig.b14_17 // DPF需要再生状态(大柴/锡柴) #define DPF_Forbidden_Lamp_YUWEI CANMsg18FD7C00.Sig.b20_21 // DPF禁止主动再生(玉柴/潍柴) #define DPF_Forbidden_Lamp_YUN CANMsg18FD7C00.Sig.b22_23 // DPF禁止主动再生(云内) #define ExhaustHighTempLamp CANMsg18FD7C00.Sig.b62_64 // 高排气温度报警灯(康明斯、云内) static const uint8_t CANMsg18FD7C00Init[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; static const uint8_t CANMsg18FD7C00Timeout[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; static const uint8_t CANMsg18FD7C00Mask[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; /****************************************************************************** ID名称:DPFC1_DA ID:0x18E0FF00 信号: |- DPF_Forbidden_Lamp DPF禁止主动再生(大柴、锡柴) ******************************************************************************/ typedef union { uint8_t Msg[8]; struct { uint8_t b00_07 : 8; // uint8_t b10_17 : 8; // uint8_t b20_27 : 8; // uint8_t b30_37 : 8; // uint8_t b40_47 : 8; // uint8_t b50_51 : 2; // DPF_Forbidden_Lamp uint8_t b52_57 : 6; // uint8_t b60_67 : 8; // uint8_t b70_77 : 8; // }Sig; } CANMsg18E0FF00Union; extern volatile CANMsg18E0FF00Union CANMsg18E0FF00; extern volatile uint8_t CANMsg18E0FF00Status; #define DPFC1_DA 0x18E0FF00 #define DPFC1_DA_STATUS CANMsg18E0FF00Status //------信号名---------------定义-----------注释-----------------起始位--长度-- #define DPF_Forbidden_Lamp_DA CANMsg18E0FF00.Sig.b50_51 // DPF禁止主动再生(大柴、锡柴) static const uint8_t CANMsg18E0FF00Init[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; static const uint8_t CANMsg18E0FF00Timeout[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; static const uint8_t CANMsg18E0FF00Mask[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; /****************************************************************************** ID名称:ERC1_WEI ID:0x18F0000F 报文:ERC1_WEI 信号: |- Retarder_Request_BreakLight_WEI 排气制动灯(潍柴) ******************************************************************************/ typedef union { uint8_t Msg[8]; struct { uint8_t b00_07 : 8; // uint8_t b10_17 : 8; // uint8_t b20_27 : 8; // uint8_t b30_31 : 2; // uint8_t b32_33 : 2; // Retarder_Request_BreakLight_WEI uint8_t b34_37 : 4; // uint8_t b40_47 : 8; // uint8_t b50_57 : 8; // uint8_t b60_67 : 8; // uint8_t b70_77 : 8; // }Sig; } CANMsg18F0000FUnion; extern volatile CANMsg18F0000FUnion CANMsg18F0000F; extern volatile uint8_t CANMsg18F0000FStatus; #define ERC1_WEI 0x18F0000F #define ERC1_WEI_STATUS CANMsg18F0000FStatus //------信号名---------------定义-----------注释-----------------起始位--长度-- #define Retarder_Request_BreakLight_WEI CANMsg18F0000F.Sig.b32_33 //排气制动灯(潍柴) static const uint8_t CANMsg18F0000FInit[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; static const uint8_t CANMsg18F0000FTimeout[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; static const uint8_t CANMsg18F0000FMask[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; /****************************************************************************** ID名称:ERC1_YU ID:0x18FD070F 报文:ERC1_YU 信号: |- Retarder_Request_BreakLight_YU 排气制动灯(玉柴) ******************************************************************************/ typedef union { uint8_t Msg[8]; struct { uint8_t b00_07 : 8; // uint8_t b10_11 : 2; // Retarder_Request_BreakLight_YU uint8_t b12_17 : 6; // uint8_t b20_27 : 8; // uint8_t b30_37 : 8; // uint8_t b40_47 : 8; // uint8_t b50_57 : 8; // uint8_t b60_67 : 8; // uint8_t b70_77 : 8; // }Sig; } CANMsg18FD070FUnion; extern volatile CANMsg18FD070FUnion CANMsg18FD070F; extern volatile uint8_t CANMsg18FD070FStatus; #define ERC1_YU 0x18FD070F #define ERC1_YU_STATUS CANMsg18FD070FStatus //------信号名---------------定义-----------注释-----------------起始位--长度-- #define Retarder_Request_BreakLight_YU CANMsg18FD070F.Sig.b10_11 //排气制动灯(玉柴) static const uint8_t CANMsg18FD070FInit[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; static const uint8_t CANMsg18FD070FTimeout[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; static const uint8_t CANMsg18FD070FMask[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; /****************************************************************************** ID名称:ERC1_EXR ID:0x18F00029 报文:ERC1_YU 信号: |- Retarder_Request_BreakLight_YU 排气制动灯(大柴、云内、锡柴) ******************************************************************************/ typedef union { uint8_t Msg[8]; struct { uint8_t b00_07 : 8; // uint8_t b10_17 : 8; // Retarder_Request_BreakLight_YU uint8_t b20_27 : 8; // uint8_t b30_37 : 8; // uint8_t b40_47 : 8; // uint8_t b50_57 : 8; // uint8_t b60_67 : 8; // uint8_t b70_77 : 8; // }Sig; } CANMsg18F00029Union; extern volatile CANMsg18F00029Union CANMsg18F00029; extern volatile uint8_t CANMsg18F00029Status; #define ERC1_EXR 0x18F00029 #define ERC1_EXR_STATUS CANMsg18F00029Status //------信号名---------------定义-----------注释-----------------起始位--长度-- #define Retarder_Request_BrakeLight CANMsg18F00029.Sig.b10_17 //排气制动灯(大柴、云内、锡柴) static const uint8_t CANMsg18F00029Init[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; static const uint8_t CANMsg18F00029Timeout[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; static const uint8_t CANMsg18F00029Mask[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; /****************************************************************************** ID名称:ERC1_KANG ID:0x18FD0700 报文:ERC1_KANG 信号: |- Retarder_Request_BreakLight_KANG 排气制动灯(康明斯) ******************************************************************************/ /*typedef union { uint8_t Msg[8]; struct { uint8_t b00_07 : 8; // uint8_t b10_11 : 2; // Retarder_Request_BreakLight_KANG uint8_t b12_17 : 6; // uint8_t b20_27 : 8; // uint8_t b30_37 : 8; // uint8_t b40_47 : 8; // uint8_t b50_57 : 8; // uint8_t b60_67 : 8; // uint8_t b70_77 : 8; // }Sig; } CANMsg18FD0700Union; extern volatile CANMsg18FD0700Union CANMsg18FD0700; extern volatile uint8_t CANMsg18FD0700Status; #define ERC1_KANG 0x18FD0700 #define ERC1_KANG_STATUS CANMsg18FD0700Status //------信号名---------------定义-----------注释-----------------起始位--长度-- static const uint8_t CANMsg18FD0700Init[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; static const uint8_t CANMsg18FD0700Timeout[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; static const uint8_t CANMsg18FD0700Mask[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; */ /****************************************************************************** ID名称:DLCC1 ID冲突 ID:0x18FD0700 报文:DLCC1 信号: |- EngineMalfunctionLamp 发动机系统一般故障(康明斯,大柴) |- DriverAlarmSystem 驾驶员报警系统(玉柴) |- EngineSeriousFailure 发动机系统严重故障(康明斯) |- OBDMalfunctionindLamp OBD灯状态(MIL灯)(康明斯/玉柴/大柴) |- EngOilPressWaringLamp 机油压力低报警灯(玉柴) |- EngCoolantTempWarningLamp 发动机水温报警灯 ******************************************************************************/ typedef union { uint8_t Msg[8]; struct { uint8_t b00_01 : 2; // EngineMalfunctionLamp 发动机系统一般故障(云内) uint8_t b02_03 : 2; // EngineMalfunctionLamp/DriverAlarmSystem uint8_t b04_05 : 2; // EngineSeriousFailure uint8_t b06_07 : 2; // OBDMalfunctionindLamp uint8_t b10_11 : 2; // uint8_t b12_13 : 2; // uint8_t b14_15 : 2; // EngOilPressWaringLamp uint8_t b16_17 : 2; // EngCoolantTempWarningLamp uint8_t b20_27 : 8; // uint8_t b30_37 : 8; // uint8_t b40_47 : 8; // uint8_t b50_57 : 8; // uint8_t b60_67 : 8; // uint8_t b70_77 : 8; // }Sig; } CANMsg18FD0700Union; extern volatile CANMsg18FD0700Union CANMsg18FD0700; extern volatile uint8_t CANMsg18FD0700Status; #define DLCC1 0x18FD0700 #define DLCC1_STATUS CANMsg18FD0700Status //------信号名---------------定义-----------注释-----------------起始位--长度-- #define EngineMalfunctionLamp_YUN CANMsg18FD0700.Sig.b00_01 // 发动机系统一般故障(云内/潍柴) #define EngineMalfunctionLamp_DAKANG CANMsg18FD0700.Sig.b02_03 // 发动机系统一般故障(大柴、锡柴、康明斯) #define DriverAlarmSystem_YU CANMsg18FD0700.Sig.b02_03 // 驾驶员报警系统(玉柴) #define EngineSeriousFailure CANMsg18FD0700.Sig.b04_05 // 发动机系统严重故障(康明斯) #define OBDMalfunctionindLamp_KANGYU CANMsg18FD0700.Sig.b06_07 // OBD灯状态(MIL灯)(康明斯、玉柴、大柴、锡柴、云内) #define Retarder_Request_BreakLight_KANG CANMsg18FD0700.Sig.b10_11 //排气制动灯(康明斯) #define EngOilPressWaringLamp CANMsg18FD0700.Sig.b14_15 // 机油压力低报警灯(玉柴、锡柴) #define EngCoolantTempWarningLamp CANMsg18FD0700.Sig.b16_17 // 发动机水温报警灯(康明斯/玉柴/潍柴) static const uint8_t CANMsg18FD0700Init[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; static const uint8_t CANMsg18FD0700Timeout[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; static const uint8_t CANMsg18FD0700Mask[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; /****************************************************************************** ID名称:EIMI ID:0x18FB8500 报文? 信号: |- Stop_Start_System_Public 起停系统状态指示灯命令(康明斯) ******************************************************************************/ typedef union { uint8_t Msg[8]; struct { uint8_t b00_03 : 4; // Stop_Start_System_Public uint8_t b04_07 : 4; // uint8_t b10_11 : 2; // uint8_t b12_17 : 6; // uint8_t b20_27 : 8; // uint8_t b30_37 : 8; // uint8_t b40_47 : 8; // uint8_t b50_57 : 8; // uint8_t b60_67 : 8; // uint8_t b70_77 : 8; // }Sig; } CANMsg18FB8500Union; extern volatile CANMsg18FB8500Union CANMsg18FB8500; extern volatile uint8_t CANMsg18FB8500Status; #define EIMI 0x18FB8500 #define EIMI_STATUS CANMsg18FB8500Status //------信号名---------------定义-----------注释-----------------起始位--长度-- #define Stop_Start_System_Public CANMsg18FB8500.Sig.b00_03 //起停系统状态指示灯命令(康明斯) static const uint8_t CANMsg18FB8500Init[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; static const uint8_t CANMsg18FB8500Timeout[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; static const uint8_t CANMsg18FB8500Mask[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; /****************************************************************************** ID名称:LFC ID:0x18FEE900 报文? 信号: |- CumulativeOilConsumOneway CumulativeOilConsumption ******************************************************************************/ typedef union { uint8_t Msg[8]; struct { uint8_t b00_07 : 8; //CumulativeOilConsumOneway uint8_t b10_17 : 8; //CumulativeOilConsumOneway uint8_t b20_27 : 8; //CumulativeOilConsumOneway uint8_t b30_37 : 8; //CumulativeOilConsumOneway uint8_t b40_47 : 8; //CumulativeOilConsumption uint8_t b50_57 : 8; //CumulativeOilConsumption uint8_t b60_67 : 8; //CumulativeOilConsumption uint8_t b70_77 : 8; //CumulativeOilConsumption }Sig; } CANMsg18FEE900Union; extern volatile CANMsg18FEE900Union CANMsg18FEE900; extern volatile uint8_t CANMsg18FEE900Status; #define LFC 0x18FEE900 #define LFC_STATUS CANMsg18FEE900Status //------信号名---------------定义-----------注释-----------------起始位--长度-- #define CumulativeOilConsumOnewayLL CANMsg18FEE900.Sig.b00_07 //CumulativeOilConsumOneway 累计油耗单程 (康明斯) (玉柴/潍柴) #define CumulativeOilConsumOnewayLH CANMsg18FEE900.Sig.b10_17 //CumulativeOilConsumOneway #define CumulativeOilConsumOnewayHL CANMsg18FEE900.Sig.b20_27 //CumulativeOilConsumOneway #define CumulativeOilConsumOnewayHH CANMsg18FEE900.Sig.b30_37 //CumulativeOilConsumOneway #define CumulativeOilConsumptionLL CANMsg18FEE900.Sig.b40_47 //CumulativeOilConsumption 累计油耗 (康明斯) (玉柴/潍柴/大柴) #define CumulativeOilConsumptionLH CANMsg18FEE900.Sig.b50_57 //CumulativeOilConsumption #define CumulativeOilConsumptionHL CANMsg18FEE900.Sig.b60_67 //CumulativeOilConsumption #define CumulativeOilConsumptionHH CANMsg18FEE900.Sig.b70_77 //CumulativeOilConsumption static const uint8_t CANMsg18FEE900Init[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; static const uint8_t CANMsg18FEE900Timeout[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; static const uint8_t CANMsg18FEE900Mask[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; /****************************************************************************** ID名称:LFE ID:0x18FEF200 报文? 信号: |- FuelConsumptionRate 瞬时油耗-燃油消耗率 FuelEconomy 瞬时油耗-燃油经济性 ******************************************************************************/ typedef union { uint8_t Msg[8]; struct { uint8_t b00_07 : 8; // FuelConsumptionRate uint8_t b10_17 : 8; // FuelConsumptionRate uint8_t b20_27 : 8; // FuelEconomy uint8_t b30_37 : 8; // FuelEconomy uint8_t b40_47 : 8; // uint8_t b50_57 : 8; // uint8_t b60_67 : 8; // uint8_t b70_77 : 8; // }Sig; } CANMsg18FEF200Union; extern volatile CANMsg18FEF200Union CANMsg18FEF200; extern volatile uint8_t CANMsg18FEF200Status; #define LFE 0x18FEF200 #define LFE_STATUS CANMsg18FEF200Status //------信号名---------------定义-----------注释-----------------起始位--长度-- #define FuelConsumptionRateL CANMsg18FEF200.Sig.b00_07 //瞬时油耗-燃油消耗率 #define FuelConsumptionRateH CANMsg18FEF200.Sig.b10_17 #define FuelEconomyL CANMsg18FEF200.Sig.b20_27 // 瞬时油耗-燃油经济性 //20200229 #define FuelEconomyH CANMsg18FEF200.Sig.b30_37 static const uint8_t CANMsg18FEF200Init[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; static const uint8_t CANMsg18FEF200Timeout[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; static const uint8_t CANMsg18FEF200Mask[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; /****************************************************************************** ID名称:DM1 ID:0x18FECA00 报文? 信号: |-EngineMalfunctionLamp1 |-EngineMalfunctionLamp2 发动机系统故障灯 ******************************************************************************/ typedef union { uint8_t Msg[8]; struct { uint8_t b00_03 : 4; // uint8_t b04_05 : 2; // EngineMalfunctionLamp1 uint8_t b06_07 : 2; // uint8_t b10_13 : 4; // uint8_t b14_15 : 2; // EngineMalfunctionLamp2 uint8_t b16_17 : 2; // uint8_t b20_27 : 8; // uint8_t b30_37 : 8; // uint8_t b40_47 : 8; // uint8_t b50_57 : 8; // uint8_t b60_67 : 8; // uint8_t b70_77 : 8; // }Sig; } CANMsg18FECA00Union; extern volatile CANMsg18FECA00Union CANMsg18FECA00; extern volatile uint8_t CANMsg18FECA00Status; #define DM1 0x18FECA00 #define DM1_STATUS CANMsg18FECA00Status //------信号名---------------定义-----------注释-----------------起始位--长度-- #define EngineMalfunctionLamp1 CANMsg18FECA00.Sig.b04_05 //发动机系统故障灯1 #define EngineMalfunctionLamp2 CANMsg18FECA00.Sig.b14_15 //发动机系统故障灯2 static const uint8_t CANMsg18FECA00Init[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; static const uint8_t CANMsg18FECA00Timeout[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; static const uint8_t CANMsg18FECA00Mask[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; /****************************************************************************** ID名称:TCU_ICM_Display1 ID:0x1801D003 报文? 信号: |-Gear_Display 档位显示 ******************************************************************************/ typedef union { uint8_t Msg[8]; struct { uint8_t b00_07 : 8; // Gear_Display uint8_t b10_11 : 2; // AMT_Warning_Lamp uint8_t b12_13 : 2; // uint8_t b14_15 : 2; // uint8_t b16_17 : 2; // uint8_t b20_27 : 8; // uint8_t b30_37 : 8; // uint8_t b40_47 : 8; // uint8_t b50_57 : 8; // uint8_t b60_67 : 8; // uint8_t b70_77 : 8; // }Sig; } CANMsg1801D003Union; extern volatile CANMsg1801D003Union CANMsg1801D003; extern volatile uint8_t CANMsg1801D003Status; #define TCU_ICM_Display1 0x1801D003 #define TCU_ICM_Display1_STATUS CANMsg1801D003Status //------信号名---------------定义-----------注释-----------------起始位--长度-- #define Gear_Display CANMsg1801D003.Sig.b00_07 //档位显示 #define AMT_Warning_Lamp CANMsg1801D003.Sig.b10_11 //AMT故障灯 static const uint8_t CANMsg1801D003Init[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; static const uint8_t CANMsg1801D003Timeout[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; static const uint8_t CANMsg1801D003Mask[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; /****************************************************************************** ID名称:CCVS ID:0x18FEF100 报文? 信号: |- CruiseCtrlActive巡航工作指示灯 ******************************************************************************/ typedef union { uint8_t Msg[8]; struct { uint8_t b00_07 : 8; // uint8_t b10_17 : 8; // uint8_t b20_27 : 8; // uint8_t b30_31 : 2; //CruiseCtrlActive uint8_t b32_37 : 6; // uint8_t b40_47 : 8; // uint8_t b50_57 : 8; // uint8_t b60_64 : 5; // uint8_t b65_67 : 3; // CruiseCtrlActive uint8_t b70_77 : 8; // 56 }Sig; } CANMsg18FEF100Union; extern volatile CANMsg18FEF100Union CANMsg18FEF100; extern volatile uint8_t CANMsg18FEF100Status; #define CCVS 0x18FEF100 #define CCVS_STATUS CANMsg18FEF100Status //------信号名---------------定义-----------注释-----------------起始位--长度-- #define CruiseCtrlActive_DA CANMsg18FEF100.Sig.b30_31 //巡航工作指示灯(大柴/锡柴/云内) #define CruiseCtrlActive_FEIDA CANMsg18FEF100.Sig.b65_67 //巡航工作指示灯(康明斯/潍柴/玉柴) static const uint8_t CANMsg18FEF100Init[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; static const uint8_t CANMsg18FEF100Timeout[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; static const uint8_t CANMsg18FEF100Mask[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; /****************************************************************************** ID名称:EBC1 ID:0x18F0010B 报文? 信号: |- ASR_OffRoad_Switch ASR开关 ABS_FullyOperation ABS完全工作模式 EBSRedWarningSignal EBS红灯警告 ABS_EBS_AmberWarningSignal ABS/EBS黄灯警告 ASR_Driver_Info_Signal 发给驾驶员的信号,发到仪表盘驱动灯 ******************************************************************************/ typedef union { uint8_t Msg[8]; struct { uint8_t b00_01 : 2; // ASR_Engine_Control_Active uint8_t b02_03 : 2; // ASR_BrakeControl_Active uint8_t b04_05 : 2; // ABS_Active uint8_t b06_07 : 2; // uint8_t b10_17 : 8; // uint8_t b20_21 : 2; // uint8_t b22_23 : 2; // ASR_OffRoad_Switch uint8_t b24_27 : 4; // uint8_t b30_37 : 8; // uint8_t b40_47 : 8; // uint8_t b50_51 : 2; // ABS_FullyOperation uint8_t b52_53 : 2; // EBSRedWarningSignal uint8_t b54_55 : 2; // ABS_EBS_AmberWarningSignal uint8_t b56_57 : 2; // ASR_Driver_Info_Signal uint8_t b60_67 : 8; // uint8_t b70_77 : 8; // }Sig; } CANMsg18F0010BUnion; extern volatile CANMsg18F0010BUnion CANMsg18F0010B; extern volatile uint8_t CANMsg18F0010BStatus; #define EBC1 0x18F0010B #define EBC1_STATUS CANMsg18F0010BStatus //------信号名---------------定义-----------注释-----------------起始位--长度-- #define ASR_Engine_Control_Active CANMsg18F0010B.Sig.b00_01 // ASR 发动机控制激活 #define ASR_BrakeControl_Active CANMsg18F0010B.Sig.b02_03 // ASR工作状态 #define ABS_Active CANMsg18F0010B.Sig.b04_05 // ABS激活 #define ASR_OffRoad_Switch CANMsg18F0010B.Sig.b22_23 // ASR开关 #define ABS_FullyOperation CANMsg18F0010B.Sig.b50_51 // ABS完全工作模式 #define EBSRedWarningSignal CANMsg18F0010B.Sig.b52_53 // EBS红灯警告 #define ABS_EBS_AmberWarningSignal CANMsg18F0010B.Sig.b54_55 // ABS/EBS黄灯警告 #define ASR_Driver_Info_Signal CANMsg18F0010B.Sig.b56_57 // ATC/ASR指示灯状态 static const uint8_t CANMsg18F0010BInit[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; static const uint8_t CANMsg18F0010BTimeout[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; static const uint8_t CANMsg18F0010BMask[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; /****************************************************************************** ID名称:EBC2 ID:0x18FEBF0B 报文? 信号: |- FA_Speed 车速 ******************************************************************************/ typedef union { uint8_t Msg[8]; struct { uint8_t b00_07 : 8; // FA_Speed uint8_t b10_17 : 8; // FA_Speed uint8_t b20_27 : 8; // uint8_t b30_37 : 8; // uint8_t b40_47 : 8; // uint8_t b50_57 : 8; // uint8_t b60_67 : 8; // uint8_t b70_77 : 8; // }Sig; } CANMsg18FEBF0BUnion; extern volatile CANMsg18FEBF0BUnion CANMsg18FEBF0B; extern volatile uint8_t CANMsg18FEBF0BStatus; #define EBC2 0x18FEBF0B #define EBC2_STATUS CANMsg18FEBF0BStatus //------信号名---------------定义-----------注释-----------------起始位--长度-- #define FA_SpeedL CANMsg18FEBF0B.Sig.b00_07 //车速 #define FA_SpeedH CANMsg18FEBF0B.Sig.b10_17 //车速 static const uint8_t CANMsg18FEBF0BInit[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; static const uint8_t CANMsg18FEBF0BTimeout[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; static const uint8_t CANMsg18FEBF0BMask[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; /****************************************************************************** ID名称:EBC3 ID:0x18FE4F0B 报文? 信号: |- VDC_Information_Signal VDC信息 VDC_Fully_Operational VDC全部工作 ******************************************************************************/ typedef union { uint8_t Msg[8]; struct { uint8_t b00_01 : 2; // VDC_Information_Signal uint8_t b02_03 : 2; // VDC_Fully_Operational uint8_t b04_07 : 4; // uint8_t b10_17 : 8; // uint8_t b20_27 : 8; // uint8_t b30_37 : 8; // uint8_t b40_47 : 8; // uint8_t b50_57 : 8; // uint8_t b60_67 : 8; // uint8_t b70_77 : 8; // }Sig; } CANMsg18FE4F0BUnion; extern volatile CANMsg18FE4F0BUnion CANMsg18FE4F0B; extern volatile uint8_t CANMsg18FE4F0BStatus; #define EBC3 0x18FE4F0B #define EBC3_STATUS CANMsg18FE4F0BStatus //------信号名---------------定义-----------注释-----------------起始位--长度-- #define VDC_Information_Signal CANMsg18FE4F0B.Sig.b00_01 // VDC信息 #define VDC_Fully_Operational CANMsg18FE4F0B.Sig.b02_03 // VDC全部工作 static const uint8_t CANMsg18FE4F0BInit[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; static const uint8_t CANMsg18FE4F0BTimeout[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; static const uint8_t CANMsg18FE4F0BMask[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; /****************************************************************************** ID名称:AEBS1 ID:0x0CF02F2A 报文? 信号: |- AEB_State AEB状态 ******************************************************************************/ typedef union { uint8_t Msg[8]; struct { uint8_t b00_03 : 4; // AEB_State uint8_t b04_07 : 4; // uint8_t b10_17 : 8; // uint8_t b20_27 : 8; // uint8_t b30_37 : 8; // uint8_t b40_47 : 8; // uint8_t b50_57 : 8; // uint8_t b60_67 : 8; // uint8_t b70_77 : 8; // }Sig; } CANMsg0CF02F2AUnion; extern volatile CANMsg0CF02F2AUnion CANMsg0CF02F2A; extern volatile uint8_t CANMsg0CF02F2AStatus; #define AEBS1 0x0CF02F2A #define AEBS1_STATUS CANMsg0CF02F2AStatus //------信号名---------------定义-----------注释-----------------起始位--长度-- #define AEB_State CANMsg0CF02F2A.Sig.b00_03 // AEB状态 static const uint8_t CANMsg0CF02F2AInit[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; static const uint8_t CANMsg0CF02F2ATimeout[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; static const uint8_t CANMsg0CF02F2AMask[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; /****************************************************************************** ID名称?EEPBS1 ID:0x18FE1264 报文? 信号: |- EPB_State电子驻车状态 AutoHold 临时停车工作状态指示灯 ******************************************************************************/ typedef union { uint8_t Msg[8]; struct { uint8_t b00_01 : 2; // EPB_State uint8_t b02_05 : 4; // AutoHold uint8_t b06_07 : 2; // uint8_t b10_17 : 8; // uint8_t b20_21 : 2; // uint8_t b22_23 : 2; // uint8_t b24_27 : 4; // uint8_t b30_37 : 8; // uint8_t b40_47 : 8; // uint8_t b50_57 : 8; // uint8_t b60_67 : 8; // uint8_t b70_77 : 8; // }Sig; } CANMsg18FE1264Union; extern volatile CANMsg18FE1264Union CANMsg18FE1264; extern volatile uint8_t CANMsg18FE1264Status; #define EEPBS1 0x18FE1264 #define EEPBS1_STATUS CANMsg18FE1264Status //------信号名---------------定义-----------注释-----------------起始位--长度-- #define EPB_State CANMsg18FE1264.Sig.b00_01 //电子驻车状态 #define AutoHold CANMsg18FE1264.Sig.b02_05 //临时停车工作状态指示灯 #define EPB_Lamp_State CANMsg18FE1264.Sig.b10_17 //EPB故障指示灯 #define Child_Loca_State CANMsg18FE1264.Sig.b20_21 //童锁状态 #define LowPress_ReleaseLimit CANMsg18FE1264.Sig.b22_23 //低压释放限制状态 static const uint8_t CANMsg18FE1264Init[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; static const uint8_t CANMsg18FE1264Timeout[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; static const uint8_t CANMsg18FE1264Mask[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; /****************************************************************************** ID名称?EEPB_DM1 ID:0x18FECA64 报文? 信号: |- Amber_Warning_Lamp_St EPB故障灯 ******************************************************************************/ typedef union { uint8_t Msg[8]; struct { uint8_t b00_01 : 2; // uint8_t b02_03 : 2; // Amber_Warning_Lamp_St uint8_t b04_07 : 4; // uint8_t b10_17 : 8; // uint8_t b20_27 : 8; // uint8_t b30_37 : 8; // uint8_t b40_47 : 8; // uint8_t b50_57 : 8; // uint8_t b60_67 : 8; // uint8_t b70_77 : 8; // }Sig; } CANMsg18FECA64Union; extern volatile CANMsg18FECA64Union CANMsg18FECA64; extern volatile uint8_t CANMsg18FECA64Status; #define EEPB_DM1 0x18FECA64 #define EEPB_DM1_STATUS CANMsg18FECA64Status //------信号名---------------定义-----------注释-----------------起始位--长度-- #define Amber_Warning_Lamp_St CANMsg18FECA64.Sig.b02_03 // EPB故障灯 static const uint8_t CANMsg18FECA64Init[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; static const uint8_t CANMsg18FECA64Timeout[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; static const uint8_t CANMsg18FECA64Mask[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; /****************************************************************************** ID名称?EEPS_Status ID:0x18FF0113 报文? 信号: |- EPS_Status EEPS状态 ******************************************************************************/ typedef union { uint8_t Msg[8]; struct { uint8_t b00_00 : 1; // uint8_t b01_02 : 2; // uint8_t b03_07 : 5; // uint8_t b10_17 : 8; // uint8_t b20_20 : 1; // uint8_t b21_22 : 2; // EPS_Status uint8_t b23_27 : 5; // uint8_t b30_37 : 8; // uint8_t b40_47 : 8; // uint8_t b50_57 : 8; // uint8_t b60_67 : 8; // uint8_t b70_77 : 8; // }Sig; } CANMsg18FF0113Union; extern volatile CANMsg18FF0113Union CANMsg18FF0113; extern volatile uint8_t CANMsg18FF0113Status; #define EPS_Status 0x18FF0113 #define EPS_Status_STATUS CANMsg18FF0113Status //------信号名---------------定义-----------注释-----------------起始位--长度-- #define EPS_Status_signal CANMsg18FF0113.Sig.b01_02 //EEPS状态 static const uint8_t CANMsg18FF0113Init[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; static const uint8_t CANMsg18FF0113Timeout[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; static const uint8_t CANMsg18FF0113Mask[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; /****************************************************************************** ID名称:EGSM_1 ID:0x1802BFD0 报文? 信号: |- ActualGearPosition 实际档位 EGSMFaultSt EGSM错误状态 ******************************************************************************/ typedef union { uint8_t Msg[8]; struct { uint8_t b00_03 : 4; // ActualGearPosition uint8_t b04_04 : 1; // uint8_t b05_05 : 1; // EGSMFaultSt uint8_t b06_07 : 2; // uint8_t b10_17 : 8; // uint8_t b20_27 : 8; // uint8_t b30_37 : 8; // uint8_t b40_47 : 8; // uint8_t b50_51 : 2; // EGSM_ShiftGearTip uint8_t b52_53 : 2; // uint8_t b54_57 : 4; // EGSM_NearShiftGearTip uint8_t b60_67 : 8; // uint8_t b70_77 : 8; // }Sig; } CANMsg1802BFD0Union; extern volatile CANMsg1802BFD0Union CANMsg1802BFD0; extern volatile uint8_t CANMsg1802BFD0Status; #define EGSM_1 0x1802BFD0 #define EGSM_1_STATUS CANMsg1802BFD0Status //------信号名---------------定义-----------注释-----------------起始位--长度-- #define ActualGearPosition CANMsg1802BFD0.Sig.b00_03 //实际档位 #define EGSMFaultSt CANMsg1802BFD0.Sig.b05_05 // EGSM错误状态 #define EGSM_ShiftGearTip CANMsg1802BFD0.Sig.b50_51 // 换挡提示 #define EGSM_NearShiftGearTip CANMsg1802BFD0.Sig.b54_57 // 邻近档位提示 static const uint8_t CANMsg1802BFD0Init[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; static const uint8_t CANMsg1802BFD0Timeout[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; static const uint8_t CANMsg1802BFD0Mask[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; /****************************************************************************** ID名称?AAMB ID:0x18FEF500 报文 信号: |- ******************************************************************************/ typedef union { uint8_t Msg[8]; struct { uint8_t b00_07 : 8; // uint8_t b10_17 : 8; // uint8_t b20_27 : 8; // uint8_t b30_37 : 8; //Ambient_Air_TemperatureL uint8_t b40_47 : 8; //Ambient_Air_TemperatureH uint8_t b50_57 : 8; // uint8_t b60_67 : 8; // uint8_t b70_77 : 8; // }Sig; } CANMsg18FEF500Union; extern volatile CANMsg18FEF500Union CANMsg18FEF500; extern volatile uint8_t CANMsg18FEF500Status; #define AMB 0x18FEF500 #define AMB_STATUS CANMsg18FEF500Status //------信号名---------------定义-----------注释-----------------起始位--长度-- #define Ambient_Air_TemperatureL CANMsg18FEF500.Sig.b30_37 // #define Ambient_Air_TemperatureH CANMsg18FEF500.Sig.b40_47 // static const uint8_t CANMsg18FEF500Init[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; static const uint8_t CANMsg18FEF500Timeout[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; static const uint8_t CANMsg18FEF500Mask[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; /****************************************************************************** ID名称?AGPS_SYSTime ID:0x18FEE6EE 报文 信号: |- ******************************************************************************/ typedef union { uint8_t Msg[8]; struct { uint8_t b00_07 : 8; // uint8_t b10_17 : 8; //GPS_SYSTime_Min uint8_t b20_27 : 8; //GPS_SYSTime_Hour uint8_t b30_37 : 8; // uint8_t b40_47 : 8; // uint8_t b50_57 : 8; // uint8_t b60_67 : 8; // uint8_t b70_77 : 8; // }Sig; } CANMsg18FEE6EEUnion; extern volatile CANMsg18FEE6EEUnion CANMsg18FEE6EE; extern volatile uint8_t CANMsg18FEE6EEStatus; #define GPS_SYSTime 0x18FEE6EE #define GPS_SYSTime_STATUS CANMsg18FEE6EEStatus //------信号名---------------定义-----------注释-----------------起始位--长度-- #define GPS_SYSTime_Min CANMsg18FEE6EE.Sig.b10_17 // #define GPS_SYSTime_Hour CANMsg18FEE6EE.Sig.b20_27 // static const uint8_t CANMsg18FEE6EEInit[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; static const uint8_t CANMsg18FEE6EETimeout[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; static const uint8_t CANMsg18FEE6EEMask[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; /****************************************************************************** ID名称:T-BOX ID:0x1CFFBE18 报文 信号: |- ******************************************************************************/ typedef union { uint8_t Msg[8]; struct { uint8_t b00_07 : 8; // uint8_t b10_17 : 8; // uint8_t b20_23 : 4; // RMS_Fault uint8_t b24_27 : 4; // uint8_t b30_37 : 8; // uint8_t b40_47 : 8; // uint8_t b50_57 : 8; // uint8_t b60_67 : 8; // uint8_t b70_77 : 8; // }Sig; } CANMsg1CFFBE18Union; extern volatile CANMsg1CFFBE18Union CANMsg1CFFBE18; extern volatile uint8_t CANMsg1CFFBE18Status; #define T_BOX_RVM 0x1CFFBE18 #define T_BOX_RVM_STATUS CANMsg1CFFBE18Status //------信号名---------------定义-----------注释-----------------起始位--长度-- #define RMS_Fault CANMsg1CFFBE18.Sig.b20_23 // static const uint8_t CANMsg1CFFBE18Init[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; static const uint8_t CANMsg1CFFBE18Timeout[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; static const uint8_t CANMsg1CFFBE18Mask[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; /***************************************************************************************************************************************************************************** 报文属性预定义 *****************************************************************************************************************************************************************************/ /*** 属性表结构 ***/ typedef struct { uint32_t ID; //报文ID volatile uint8_t *pMsg; //报文名称(报文存储地址) uint8_t DLCMax; //报文最大允许报文长度 uint8_t DLCMin; //报文最小允许报文长度 uint8_t Dir; //报文方向(收/发) uint8_t Type; //报文类型(周期/事件) uint32_t Cycle; //报文超时周期(收),报文发送周期(发) uint16_t Offset; //报文时间偏移量 volatile uint8_t *pStatus; //报文状态 const uint8_t *pInit; //报文初始化值 const uint8_t *pTimeOut; //报文掉线值 const uint8_t *pMask; //报文屏蔽位(决定某一位在掉线时是否更新为掉线值) }CANMsgAttrStruct; /*** 报文方向预定义 ***/ #define CAN_MSG_Rx 0x00 #define CAN_MSG_Tx (!CAN_MSG_Rx) /*** 报文类型预定义 ***/ #define CAN_MSG_CYCLE 0x00 #define CAN_MSG_EVENT 0x01 /*** 报文状态预定义 ***/ /* ==================================================================================== Bit 7 | Bit 6 ~ Bit 2 | Bit 1 | Bit 0 ----------------------------------------------------------------------------------- CAN_TX_EN | Rsvd | CAN_UPDATE | CAN_MSG_LOST | | | 报文丢失 发送使能 | 保留 | 报文更新标志 | (报文接收超时) =================================================================================== */ #define CAN_TX_EN 0x80 #define CAN_UPDATE 0x02 #define CAN_MSG_LOST 0x01 /*** 其他 ***/ #ifndef NULL #define NULL 0x00 #endif /***************************************************************************************************************************************************************************** 报文属性列表 *****************************************************************************************************************************************************************************/ static const CANMsgAttrStruct CANMsgAttrTable[] = { /*============================================================================================================================================================================ 报文名称 | | 最大 | 最小 | | | 周期 | 偏移 | | | | 报文掉线默 (ID) | 报文缓存 | 长度 | 长度 | 方向 | 类型 | (ms) | (ms) | 报文状态 | 报文初始化值 | 报文掉线默认值 | 认值屏蔽位 ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/ //网络管理报文必须放在这个位置,与诊断的28服务关联 { NWM_BCM, CANMsg18FFA021.Msg, 8, 8, CAN_MSG_Rx, CAN_MSG_CYCLE, 10000, 0, &CANMsg18FFA021Status, CANMsg18FFA021Init, CANMsg18FFA021Timeout, CANMsg18FFA021Mask,}, { BCM_ExternalLight, CANMsg10FF1021.Msg, 8, 8, CAN_MSG_Rx, CAN_MSG_CYCLE, 500, 0, &CANMsg10FF1021Status, CANMsg10FF1021Init, CANMsg10FF1021Timeout, CANMsg10FF1021Mask,}, { BCM_StatusNBC, CANMsg10FF7521.Msg, 8, 8, CAN_MSG_Rx, CAN_MSG_CYCLE, 2000, 0, &CANMsg10FF7521Status, CANMsg10FF7521Init, CANMsg10FF7521Timeout, CANMsg10FF7521Mask,}, { BCM_Msg2, CANMsg10FF1017.Msg, 8, 8, CAN_MSG_Rx, CAN_MSG_CYCLE, 2000, 0, &CANMsg10FF1017Status, CANMsg10FF1017Init, CANMsg10FF1017Timeout, CANMsg10FF1017Mask,}, { BCM_TPMS, CANMsg18FEF433.Msg, 8, 8, CAN_MSG_Rx, CAN_MSG_CYCLE, 10000, 0, &CANMsg18FEF433Status, CANMsg18FEF433Init, CANMsg18FEF433Timeout, CANMsg18FEF433Mask,}, { BCM_PEPS_MSG1, CANMsg08FF00DD.Msg, 8, 8, CAN_MSG_Rx, CAN_MSG_CYCLE, 2000, 0, &CANMsg08FF00DDStatus, CANMsg08FF00DDInit, CANMsg08FF00DDTimeout, CANMsg08FF00DDMask,}, //网络管理报文必须放在这个位置,与诊断的28服务关联 { NWM_ICM, CANMsg18FEF717.Msg, 8, 8, CAN_MSG_Tx, CAN_MSG_CYCLE, 1000, 0, &CANMsg18FEF717Status, CANMsg18FEF717Init, CANMsg18FEF717Timeout, CANMsg18FEF717Mask,}, { TCO1, CANMsg18FE6CEE.Msg, 8, 8, CAN_MSG_Tx, CAN_MSG_CYCLE, 50, 3, &CANMsg18FE6CEEStatus, CANMsg18FE6CEEInit, CANMsg18FE6CEETimeout, CANMsg18FE6CEEMask,}, { VDHR, CANMsg18FEC117.Msg, 8, 8, CAN_MSG_Tx, CAN_MSG_CYCLE, 1000, 11, &CANMsg18FEC117Status, CANMsg18FEC117Init, CANMsg18FEC117Timeout, CANMsg18FEC117Mask,}, { AIR1, CANMsg18FEAE17.Msg, 8, 8, CAN_MSG_Tx, CAN_MSG_CYCLE, 1000, 13, &CANMsg18FEAE17Status, CANMsg18FEAE17Init, CANMsg18FEAE17Timeout, CANMsg18FEAE17Mask,}, //{ PGNRQ, CANMsg18EA0021.Msg, 8, 8, CAN_MSG_Tx, CAN_MSG_CYCLE, 3000, 0, &CANMsg18EA0021Status, CANMsg18EA0021Init, CANMsg18EA0021Timeout, CANMsg18EA0021Mask,}, //{ NWM_ICM, CANMsg18FEF717.Msg, 8, 8, CAN_MSG_Tx, CAN_MSG_CYCLE, 1000, 0, &CANMsg18FEF717Status, CANMsg18FEF717Init, CANMsg18FEF717Timeout, CANMsg18FEF717Mask,}, { ETCS, CANMsg18FEC317.Msg, 8, 8, CAN_MSG_Tx, CAN_MSG_CYCLE, 100, 7, &CANMsg18FEC317Status, CANMsg18FEC317Init, CANMsg18FEC317Timeout, CANMsg18FEC317Mask,}, { ICM_1, CANMsg18FE8E17.Msg, 8, 8, CAN_MSG_Tx, CAN_MSG_CYCLE, 1000, 17, &CANMsg18FE8E17Status, CANMsg18FE8E17Init, CANMsg18FE8E17Timeout, CANMsg18FE8E17Mask,}, { ICM_2, CANMsg18FEF117.Msg, 8, 8, CAN_MSG_Tx, CAN_MSG_CYCLE, 100, 3, &CANMsg18FEF117Status, CANMsg18FEF117Init, CANMsg18FEF117Timeout, CANMsg18FEF117Mask,}, { ICM_3, CANMsg18FF0A17.Msg, 8, 8, CAN_MSG_Tx, CAN_MSG_CYCLE, 100, 11, &CANMsg18FF0A17Status, CANMsg18FF0A17Init, CANMsg18FF0A17Timeout, CANMsg18FF0A17Mask,}, { NWM_TBOX, CANMsg18EFCD27.Msg, 8, 8, CAN_MSG_Rx, CAN_MSG_CYCLE, 10000, 0, &CANMsg18EFCD27Status, CANMsg18EFCD27Init, CANMsg18EFCD27Timeout, CANMsg18EFCD27Mask,}, { ADAS_1, CANMsg10F007E8.Msg, 8, 8, CAN_MSG_Rx, CAN_MSG_CYCLE, 2000, 0, &CANMsg10F007E8Status, CANMsg10F007E8Init, CANMsg10F007E8Timeout, CANMsg10F007E8Mask,}, { ADAS_2, CANMsg18FE5BE8.Msg, 8, 8, CAN_MSG_Rx, CAN_MSG_CYCLE, 2000, 0, &CANMsg18FE5BE8Status, CANMsg18FE5BE8Init, CANMsg18FE5BE8Timeout, CANMsg18FE5BE8Mask,}, { EEC1, CANMsg0CF00400.Msg, 8, 8, CAN_MSG_Rx, CAN_MSG_CYCLE, 100, 0, &CANMsg0CF00400Status, CANMsg0CF00400Init, CANMsg0CF00400Timeout, CANMsg0CF00400Mask,}, { ET1, CANMsg18FEEE00.Msg, 8, 8, CAN_MSG_Rx, CAN_MSG_CYCLE, 10000, 0, &CANMsg18FEEE00Status, CANMsg18FEEE00Init, CANMsg18FEEE00Timeout, CANMsg18FEEE00Mask,}, { EFLP1, CANMsg18FEEF00.Msg, 8, 8, CAN_MSG_Rx, CAN_MSG_CYCLE, 5000, 0, &CANMsg18FEEF00Status, CANMsg18FEEF00Init, CANMsg18FEEF00Timeout, CANMsg18FEEF00Mask,}, { AT1T1L, CANMsg18FE5600.Msg, 8, 8, CAN_MSG_Rx, CAN_MSG_CYCLE, 10000, 0, &CANMsg18FE5600Status, CANMsg18FE5600Init, CANMsg18FE5600Timeout, CANMsg18FE5600Mask,}, //{ OI, CANMsg18FEFF00.Msg, 8, 8, CAN_MSG_Rx, CAN_MSG_CYCLE, 100000, 0, &CANMsg18FEFF00Status, CANMsg18FEFF00Init, CANMsg18FEFF00Timeout, CANMsg18FEFF00Mask,}, //{ WFI_XI, CANMsg18FEFF17.Msg, 8, 8, CAN_MSG_Rx, CAN_MSG_CYCLE, 20000, 0, &CANMsg18FEFF17Status, CANMsg18FEFF17Init, CANMsg18FEFF17Timeout, CANMsg18FEFF17Mask,}, { SHUTDN, CANMsg18FEE400.Msg, 8, 8, CAN_MSG_Rx, CAN_MSG_CYCLE, 10000, 0, &CANMsg18FEE400Status, CANMsg18FEE400Init, CANMsg18FEE400Timeout, CANMsg18FEE400Mask,}, { WFI_DA, CANMsg18FF7400.Msg, 8, 8, CAN_MSG_Rx, CAN_MSG_CYCLE, 10000, 0, &CANMsg18FF7400Status, CANMsg18FF7400Init, CANMsg18FF7400Timeout, CANMsg18FF7400Mask,}, { WFI, CANMsg18FEFF00.Msg, 8, 8, CAN_MSG_Rx, CAN_MSG_CYCLE, 30000, 0, &CANMsg18FEFF00Status, CANMsg18FEFF00Init, CANMsg18FEFF00Timeout, CANMsg18FEFF00Mask,}, { MFD1, CANMsg18FF0800.Msg, 8, 8, CAN_MSG_Rx, CAN_MSG_CYCLE, 2000, 0, &CANMsg18FF0800Status, CANMsg18FF0800Init, CANMsg18FF0800Timeout, CANMsg18FF0800Mask,}, { DPFC1, CANMsg18FD7C00.Msg, 8, 8, CAN_MSG_Rx, CAN_MSG_CYCLE, 10000, 0, &CANMsg18FD7C00Status, CANMsg18FD7C00Init, CANMsg18FD7C00Timeout, CANMsg18FD7C00Mask,}, { DPFC1_DA, CANMsg18E0FF00.Msg, 8, 8, CAN_MSG_Rx, CAN_MSG_CYCLE, 10000, 0, &CANMsg18E0FF00Status, CANMsg18E0FF00Init, CANMsg18E0FF00Timeout, CANMsg18E0FF00Mask,}, { ERC1_WEI, CANMsg18F0000F.Msg, 8, 8, CAN_MSG_Rx, CAN_MSG_CYCLE, 2000, 0, &CANMsg18F0000FStatus, CANMsg18F0000FInit, CANMsg18F0000FTimeout, CANMsg18F0000FMask,}, { ERC1_YU, CANMsg18FD070F.Msg, 8, 8, CAN_MSG_Rx, CAN_MSG_CYCLE, 10000, 0, &CANMsg18FD070FStatus, CANMsg18FD070FInit, CANMsg18FD070FTimeout, CANMsg18FD070FMask,}, { ERC1_EXR, CANMsg18F00029.Msg, 8, 8, CAN_MSG_Rx, CAN_MSG_CYCLE, 2000, 0, &CANMsg18F00029Status, CANMsg18F00029Init, CANMsg18F00029Timeout, CANMsg18F00029Mask,}, //{ ERC1_KANG, CANMsg18FD0700.Msg, 8, 8, CAN_MSG_Rx, CAN_MSG_CYCLE, 1000, 0, &CANMsg18FD0700Status, CANMsg18FD0700Init, CANMsg18FD0700Timeout, CANMsg18FD0700Mask,}, { DLCC1, CANMsg18FD0700.Msg, 8, 8, CAN_MSG_Rx, CAN_MSG_CYCLE, 10000, 0, &CANMsg18FD0700Status, CANMsg18FD0700Init, CANMsg18FD0700Timeout, CANMsg18FD0700Mask,}, { EIMI, CANMsg18FB8500.Msg, 8, 8, CAN_MSG_Rx, CAN_MSG_CYCLE, 10000, 0, &CANMsg18FB8500Status, CANMsg18FB8500Init, CANMsg18FB8500Timeout, CANMsg18FB8500Mask,}, { LFC, CANMsg18FEE900.Msg, 8, 8, CAN_MSG_Rx, CAN_MSG_CYCLE, 2000, 0, &CANMsg18FEE900Status, CANMsg18FEE900Init, CANMsg18FEE900Timeout, CANMsg18FEE900Mask,}, { LFE, CANMsg18FEF200.Msg, 8, 8, CAN_MSG_Rx, CAN_MSG_CYCLE, 2000, 0, &CANMsg18FEF200Status, CANMsg18FEF200Init, CANMsg18FEF200Timeout, CANMsg18FEF200Mask,}, { DM1, CANMsg18FECA00.Msg, 8, 8, CAN_MSG_Rx, CAN_MSG_CYCLE, 10000, 0, &CANMsg18FECA00Status, CANMsg18FECA00Init, CANMsg18FECA00Timeout, CANMsg18FECA00Mask,}, { TCU_ICM_Display1, CANMsg1801D003.Msg, 8, 8, CAN_MSG_Rx, CAN_MSG_CYCLE, 1000, 0, &CANMsg1801D003Status, CANMsg1801D003Init, CANMsg1801D003Timeout, CANMsg1801D003Mask,}, { CCVS, CANMsg18FEF100.Msg, 8, 8, CAN_MSG_Rx, CAN_MSG_CYCLE, 2000, 0, &CANMsg18FEF100Status, CANMsg18FEF100Init, CANMsg18FEF100Timeout, CANMsg18FEF100Mask,}, { EBC1, CANMsg18F0010B.Msg, 8, 8, CAN_MSG_Rx, CAN_MSG_CYCLE, 2000, 0, &CANMsg18F0010BStatus, CANMsg18F0010BInit, CANMsg18F0010BTimeout, CANMsg18F0010BMask,}, { EBC2, CANMsg18FEBF0B.Msg, 8, 8, CAN_MSG_Rx, CAN_MSG_CYCLE, 2000, 0, &CANMsg18FEBF0BStatus, CANMsg18FEBF0BInit, CANMsg18FEBF0BTimeout, CANMsg18FEBF0BMask,}, { EBC3, CANMsg18FE4F0B.Msg, 8, 8, CAN_MSG_Rx, CAN_MSG_CYCLE, 2000, 0, &CANMsg18FE4F0BStatus, CANMsg18FE4F0BInit, CANMsg18FE4F0BTimeout, CANMsg18FE4F0BMask,}, { AEBS1, CANMsg0CF02F2A.Msg, 8, 8, CAN_MSG_Rx, CAN_MSG_CYCLE, 500, 0, &CANMsg0CF02F2AStatus, CANMsg0CF02F2AInit, CANMsg0CF02F2ATimeout, CANMsg0CF02F2AMask,}, { EEPBS1, CANMsg18FE1264.Msg, 8, 8, CAN_MSG_Rx, CAN_MSG_CYCLE, 1000, 0, &CANMsg18FE1264Status, CANMsg18FE1264Init, CANMsg18FE1264Timeout, CANMsg18FE1264Mask,}, //{ EEPB_DM1, CANMsg18FECA64.Msg, 8, 8, CAN_MSG_Rx, CAN_MSG_CYCLE, 10000, 0, &CANMsg18FECA64Status, CANMsg18FECA64Init, CANMsg18FECA64Timeout, CANMsg18FECA64Mask,}, { EPS_Status, CANMsg18FF0113.Msg, 8, 8, CAN_MSG_Rx, CAN_MSG_CYCLE, 2000, 0, &CANMsg18FF0113Status, CANMsg18FF0113Init, CANMsg18FF0113Timeout, CANMsg18FF0113Mask,}, { EGSM_1, CANMsg1802BFD0.Msg, 8, 8, CAN_MSG_Rx, CAN_MSG_CYCLE, 2000, 0, &CANMsg1802BFD0Status, CANMsg1802BFD0Init, CANMsg1802BFD0Timeout, CANMsg1802BFD0Mask,}, { AMB, CANMsg18FEF500.Msg, 8, 8, CAN_MSG_Rx, CAN_MSG_CYCLE, 10000, 0, &CANMsg18FEF500Status, CANMsg18FEF500Init, CANMsg18FEF500Timeout, CANMsg18FEF500Mask,}, { GPS_SYSTime, CANMsg18FEE6EE.Msg, 8, 8, CAN_MSG_Rx, CAN_MSG_CYCLE, 3000, 0, &CANMsg18FEE6EEStatus, CANMsg18FEE6EEInit, CANMsg18FEE6EETimeout, CANMsg18FEE6EEMask,}, { T_BOX_RVM, CANMsg1CFFBE18.Msg, 8, 8, CAN_MSG_Rx, CAN_MSG_CYCLE, 10000, 0, &CANMsg1CFFBE18Status, CANMsg1CFFBE18Init, CANMsg1CFFBE18Timeout, CANMsg1CFFBE18Mask,}, /*==========================================================================================================================================================================*/ }; #define CAN_TX_MSG_NUM 8 #define CAN_RX_MSG_NUM 39 #endif