/*****************************************************************************************************************************************************************************
  文 件 名：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   b08_15 	:  8;   //    
		uint8_t   b16_23 	:  8;   //  
		uint8_t   b24_25 	:  2;   //CruiseCtrlActive 	
		uint8_t   b26_31 	:  6;   // 
		uint8_t   b32_39 	:  8;   // 	 
		uint8_t   b40_47 	:  8;   //   
		uint8_t   b48_52 	:  5;   //  
		uint8_t   b53_55 	:  3;   // CruiseCtrlActive	
		uint8_t   b56_63    :  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.b24_25      //巡航工作指示灯(大柴/锡柴/云内)
#define CruiseCtrlActive_FEIDA	CANMsg18FEF100.Sig.b53_55      //巡航工作指示灯(康明斯/潍柴/玉柴)


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};
/******************************************************************************
EMS_55E  
ID:0x18FED800
 ******************************************************************************/
typedef union
{
	uint8_t Msg[8];
	struct
	{		
		uint8_t   b00_01 	:  2;   // EMS_CNGLampStatus 
		uint8_t   b02_07 	:  6;   // 
		uint8_t   b08_15 	:  8;   //   
		uint8_t   b16_23 	:  8;   // 
		uint8_t   b24_31 	:  8;   // 

		uint8_t   b32_39 	:  8;   //	
		uint8_t   b40_47 	:  8;   //	 
		uint8_t   b48_55 	:  8;   //   
		uint8_t   b56_63 	:  8;   //  	
	}Sig; 
} CANMsg18FED800Union;

extern volatile CANMsg18FED800Union             CANMsg18FED800;
extern volatile uint8_t     CANMsg18FED800Status;

#define EMS_55E          		   	      0x18FED800
#define EMS_55E_STATUS       		      CANMsg18FED800Status
//------信号名---------------定义-----------注释-----------------起始位--长度--
#define EMS_CNGLampStatus 	(CANMsg18FED800.Sig.b00_01)

static const uint8_t  CANMsg18FED800Init[8]    = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
static const uint8_t  CANMsg18FED800Timeout[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
static const uint8_t  CANMsg18FED800Mask[8]    = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
/******************************************************************************
EMS_35D  
ID:0x18FFC800
 ******************************************************************************/
typedef union
{
	uint8_t Msg[8];
	struct
	{		
		uint8_t   b00_05 	:  6;   // EMS_GasLeakIndicator
		uint8_t   b06_07 	:  2;   // 
		uint8_t   b08_15 	:  8;   //   
		uint8_t   b16_23 	:  8;   // 
		uint8_t   b24_31 	:  8;   // 

		uint8_t   b32_39 	:  8;   //	
		uint8_t   b40_47 	:  8;   //	 
		uint8_t   b48_55 	:  8;   //   
		uint8_t   b56_63 	:  8;   //  	
	}Sig; 
} CANMsg18FFC800Union;

extern volatile CANMsg18FFC800Union             CANMsg18FFC800;
extern volatile uint8_t     CANMsg18FFC800Status;

#define EMS_35D          		   	      0x18FFC800
#define EMS_35D_STATUS       		      CANMsg18FFC800Status
//------信号名---------------定义-----------注释-----------------起始位--长度--
#define EMS_GasLeakIndicator 	(CANMsg18FFC800.Sig.b00_05)

static const uint8_t  CANMsg18FFC800Init[8]    = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
static const uint8_t  CANMsg18FFC800Timeout[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
static const uint8_t  CANMsg18FFC800Mask[8]    = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
/******************************************************************************
EMS_51C  
ID:0x18FEC600
 ******************************************************************************/
typedef union
{
	uint8_t Msg[8];
	struct
	{		
		uint8_t   b00_07 	:  8;   //   
		uint8_t   b08_15 	:  8;   //   
		uint8_t   b16_23 	:  8;   // EMS_CylinderPressure_L
		uint8_t   b24_31 	:  8;   // EMS_CylinderPressure_H

		uint8_t   b32_39 	:  8;   //	
		uint8_t   b40_47 	:  8;   //	 
		uint8_t   b48_55 	:  8;   //   
		uint8_t   b56_63 	:  8;   //  	
	}Sig; 
} CANMsg18FEC600Union;

extern volatile CANMsg18FEC600Union             CANMsg18FEC600;
extern volatile uint8_t     CANMsg18FEC600Status;

#define EMS_51C          		   	      0x18FEC600
#define EMS_51C_STATUS       		      CANMsg18FEC600Status
//------信号名---------------定义-----------注释-----------------起始位--长度--
#define EMS_CylinderPressure 	((uint16_t)CANMsg18FEC600.Sig.b24_31 << 8 | CANMsg18FEC600.Sig.b16_23)

static const uint8_t  CANMsg18FEC600Init[8]    = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
static const uint8_t  CANMsg18FEC600Timeout[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
static const uint8_t  CANMsg18FEC600Mask[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,},
	  { EMS_55E,	  	  	 CANMsg18FED800.Msg,  8,	  8,  CAN_MSG_Rx,  CAN_MSG_CYCLE,	 10000,	  0,   &CANMsg18FED800Status,	  CANMsg18FED800Init,    CANMsg18FED800Timeout,   CANMsg18FED800Mask,},
	  { EMS_35D,	  	  	 CANMsg18FFC800.Msg,  8,	  8,  CAN_MSG_Rx,  CAN_MSG_CYCLE,	 1000,	  0,   &CANMsg18FFC800Status,	  CANMsg18FFC800Init,    CANMsg18FFC800Timeout,   CANMsg18FFC800Mask,},
	  { EMS_51C,	  	  	 CANMsg18FEC600.Msg,  8,	  8,  CAN_MSG_Rx,  CAN_MSG_CYCLE,	 5000,	  0,   &CANMsg18FEC600Status,	  CANMsg18FEC600Init,    CANMsg18FEC600Timeout,   CANMsg18FEC600Mask,},
	/*==========================================================================================================================================================================*/
};
#define   CAN_TX_MSG_NUM                    8
#define   CAN_RX_MSG_NUM                    42

#endif
