ADM/GW/src/can.h
2024-11-04 10:27:49 +09:00

1933 lines
62 KiB
C
Raw Blame History

#ifndef __CAN_H__
#define __CAN_H__
#include "stdint.h"
#include "define.h"
#include "main.h"
#include "Global_Variable.h"
#ifdef __CAN_C__
#define EXT_CAN_C
#else
#define EXT_CAN_C extern
#endif
typedef enum{
ECU3_CH0_TX_RWA_VCU_RC_Signal1_10ms = 0,
ECU3_CH0_TX_RWA_VCU_RC_Signal2_10ms,
ECU3_CH0_TX_RWS_VCU_RC_Signal1_10ms,
ECU3_CH0_TX_RWS_VCU_RC_Signal2_10ms,
ECU3_CH0_TX_VCU_BCM_Signal_1_10ms,
ECU3_CH0_TX_VCU_MCU_Signals1_10ms,
ECU3_CH0_TX_VCU_RC_Signals1_10ms,
ECU3_CH0_TX_VCU_RC_Signals2_10ms,
ECU3_CH0_TX_VCU_BCM_Signal_2_10ms,
ECU3_CH0_TX_VCU_EPAM_10ms,
ECU3_CH0_TX_SW_VER_10ms,
ECU3_CH0_TX_CAR_STAT_10ms,
NUMBER_OF_ECU3_CH0_TX_MESSAGE,
}ECU3_CH0_TX;
typedef enum{
ECU3_CH0_RX_BCM_VCU_Signal1_10ms = 0,
ECU3_CH0_RX_BCM_VCU_Signal2_10ms,
ECU3_CH0_RX_BCM_VCU_Signal3_10ms,
ECU3_CH0_RX_BCM_VCU_Signal4_10ms,
ECU3_CH0_RX_BCM_VCU_Signal5_10ms,
ECU3_CH0_RX_IMU_VCU_Signal_10ms,
ECU3_CH0_RX_MCU_VCU_Signals1_10ms,
ECU3_CH0_RX_MCU_VCU_Signals2_10ms,
ECU3_CH0_RX_RC_VCU_Signal1_10ms,
ECU3_CH0_RX_RC_VCU_Signal2_10ms,
ECU3_CH0_RX_IMU_TX1_10ms,
ECU3_CH0_RX_IMU_TX2_10ms,
ECU3_CH0_RX_IMU_TX3_10ms,
ECU3_RC_VCU_BCM_Signal_1_10ms,
ECU3_CH0_RX_EPAM_VCU_10ms,
Debugging_10ms,
NUMBER_OF_ECU3_CH0_RX_MESSAGE,
}ECU3_CH0_RX;
typedef enum{
ECU3_CH1_TX_BCM_VCU_ACU_Signal1_10ms = 0,
ECU3_CH1_TX_BCM_VCU_ACU_Signal2_10ms,
ECU3_CH1_TX_BCM_VCU_ACU_Signal3_10ms,
ECU3_CH1_TX_BCM_VCU_ACU_Signal4_10ms,
ECU3_CH1_TX_BCM_VCU_ACU_Signal5_10ms,
ECU3_CH1_TX_RWA_VCU_ACU_Signal1_10ms,
ECU3_CH1_TX_RWA_VCU_ACU_Signal2_10ms,
ECU3_CH1_TX_RWS_VCU_ACU_Signal1_10ms,
ECU3_CH1_TX_RWS_VCU_ACU_Signal2_10ms,
ECU3_CH1_TX_VCU_ACU_Signal1_10ms,
ECU3_CH1_TX_VCU_ACU_Signal2_10ms,
ECU3_CH1_TX_VCU_ACU_Signal3_10ms,
ECU3_CH1_TX_IMU_TX1_10ms,
ECU3_CH1_TX_IMU_TX2_10ms,
ECU3_CH1_TX_IMU_TX3_10ms,
ECU3_CH1_TX_ACU_CAR_STAT_10ms,
NUMBER_OF_ECU3_CH1_TX_MESSAGE,
}ECU3_CH1_TX;
typedef enum{
ECU3_CH1_RX_ACU_VCU_Signal1_10ms = 0,
ECU3_CH1_RX_ACU_VCU_Signal2_10ms,
ECU3_CH1_RX_ACU_VCU_Signal3_10ms,
ECU3_CH0_RX_ACU_BCM_Signal_1_10ms,
NUMBER_OF_ECU3_CH1_RX_MESSAGE,
}ECU3_CH1_RX;
typedef enum{
ECU3_CH2_TX_BSC_IDB_BrakeCommand_5ms,
ECU3_CH2_TX_BSC_IMU_10ms,
ECU3_CH2_TX_BSC_IDB_StartupCommand_5ms,
ECU3_CH2_TX_BSC_IDB_UdsRequest_10ms,
ECU3_CH2_TX_BSC_RegenCommand_5ms,
ECU3_CH2_TX_BSC_RWA_RackCommand_5ms,
ECU3_CH2_TX_BSC_RWA_Sister_5ms,
ECU3_CH2_TX_BSC_RWA_StartupCommand_5ms,
ECU3_CH2_TX_BSC_VehicleEnvironment_1000ms,
ECU3_CH2_TX_IDB_WheelSpeedStatus_5ms,
NUMBER_OF_ECU3_CH2_TX_MESSAGE,
}ECU3_CH2_TX;
typedef enum{
ECU3_CH2_RX_IDB_BrakeStatus1_10ms = 0,
ECU3_CH2_RX_IDB_BrakeStatus2_1000ms,
ECU3_CH2_RX_IDB_PressureStatus_10ms,
ECU3_CH2_RX_IDB_RegenTcsRequest_5ms,
ECU3_CH2_RX_IDB_Status_5ms,
ECU3_CH2_RX_IDB_TireSlipStatus_10ms,
ECU3_CH2_RX_IDB_UdsResponse_10ms,
ECU3_CH2_RX_IDB_WheelSpeedStatus_5ms,
ECU3_CH2_RX_RWA_Status1_5ms,
ECU3_CH2_RX_RWA_Status2_5ms,
ECU3_CH2_RX_RWA_Status3_100ms,
NUMBER_OF_ECU3_CH2_RX_MESSAGE,
}ECU3_CH2_RX;
typedef enum{
ECU3_CH3_TX_BSC_IMU_10ms = 0,
ECU3_CH3_TX_BSC_RCU_BrakeCommand_5ms,
ECU3_CH3_TX_BSC_RWA_RackCommand_5ms,
ECU3_CH3_TX_BSC_RWA_Sister_5ms,
ECU3_CH3_TX_BSC_RWA_StartupCommand_5ms,
ECU3_CH3_TX_BSC_RCU_StartupCommand_5ms,
ECU3_CH3_TX_BSC_RCU_UdsRequest_10ms,
ECU3_CH3_TX_BSC_VehicleEnvironment_1000ms,
ECU3_CH3_TX_RCU_WheelSpeedStatus_5ms,
NUMBER_OF_ECU3_CH3_TX_MESSAGE,
}ECU3_CH3_TX;
typedef enum{
ECU3_CH3_RX_RCU_BrakeStatus1_10ms = 0,
ECU3_CH3_RX_RCU_BrakeStatus2_1000ms,
ECU3_CH3_RX_RCU_PressureStatus_10ms,
ECU3_CH3_RX_RWA_Status1_5ms,
ECU3_CH3_RX_RWA_Status2_5ms,
ECU3_CH3_RX_RWA_Status3_100ms,
ECU3_CH3_RX_RCU_TireSlipStatus_10ms,
ECU3_CH3_RX_RCU_WheelStatus_5ms,
ECU3_CH3_RX_RCU_Status_5ms,
ECU3_CH3_RX_RCU_UdsResponse_10ms,
NUMBER_OF_ECU3_CH3_RX_MESSAGE,
}ECU3_CH3_RX;
typedef enum{
ECU3_CH4_TX_VCU_RWS_Rack_Cmd_5ms = 0,
ECU3_CH4_TX_VCU_RWS_StartupCommand_5ms,
ECU3_CH4_TX_VCU_RWS_Sister_5ms,
NUMBER_OF_ECU3_CH4_TX_MESSAGE,
}ECU3_CH4_TX;
typedef enum{
ECU3_CH4_RX_RWS_VCU_Rack_AngleFbk_5ms = 0,
ECU3_CH4_RX_RWS_VCU_stat_Signal_5ms,
NUMBER_OF_ECU3_CH4_RX_MESSAGE,
}ECU3_CH4_RX;
typedef enum{
ECU3_CH5_TX_VCU_RWS_Rack_Cmd_5ms = 0,
ECU3_CH5_TX_VCU_RWS_StartupCommand_5ms,
ECU3_CH5_TX_VCU_RWS_Sister_5ms,
NUMBER_OF_ECU3_CH5_TX_MESSAGE,
}ECU3_CH5_TX;
typedef enum{
ECU3_CH5_RX_RWS_VCU_Rack_AngleFbk_5ms = 0,
ECU3_CH5_RX_RWS_VCU_stat_Signal_5ms,
NUMBER_OF_ECU3_CH5_RX_MESSAGE,
}ECU3_CH5_RX;
/*
=======DATA TYPE======
DATA_0 -> buf[0] ~ buf[3]
DATA_1 -> buf[4] ~ buf[7]
...
DATA_7 -> buf[28] ~ buf[31]
canX = buf[X] (ex; CAN_ch[].rx.buf[X], CAN_ch[].tx.buf[X])
can0 can1 can2 can3 can4 can5 can6 can7
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
| DATA_0 | DATA_1 |
can15 can14 can13 can12 can11 can10 can9 can8
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
| DATA_2 | DATA_3 |
can3 can2 can1 can0
DATA_0 = 0x00 0x00 0x00 0x00
*/
#define DATA_0 0
#define DATA_1 1
#define DATA_2 2
#define DATA_3 3
#define DATA_4 4
#define DATA_5 5
#define DATA_6 6
#define DATA_7 7
#define uint8 uint8_t
#define uint16 uint16_t
#define uint32 uint32_t
#define uint64 uint64_t
#define sint16 int16_t
#define sint32 int32_t
#define sint64 int64_t
typedef struct
{
uint32 messageId : 29; /* Define the standard or extended message ID */
uint8_t extendedFrame : 1; /* Define frame mode to be used */
uint16_t messageLen : 6; /* Define length of the transmitted data (number of bytes) */
uint8_t fastBitRate : 1; /* Define usage of bit rate switching */
} canMessageObjectConfigType;
typedef enum{
DataLengthCode_1 = 1,
DataLengthCode_2,
DataLengthCode_3,
DataLengthCode_4,
DataLengthCode_5,
DataLengthCode_6,
DataLengthCode_7,
DataLengthCode_8,
DataLengthCode_9,
DataLengthCode_10,
DataLengthCode_11,
DataLengthCode_12,
DataLengthCode_13,
DataLengthCode_14,
DataLengthCode_15,
DataLengthCode_16,
DataLengthCode_17,
DataLengthCode_18,
DataLengthCode_19,
DataLengthCode_20,
DataLengthCode_24 = 24,
DataLengthCode_32 = 32,
DataLengthCode_64 = 64,
}DataLengthCode;
typedef enum{
shift0 = 0,
shift1 = 1,
shift2 = 2,
shift3 = 3,
shift4 = 4,
shift5 = 5,
shift6 = 6,
shift7 = 7,
shift8 = 8,
shift9 = 9,
shift10 = 10,
shift11 = 11,
shift12 = 12,
shift13 = 13,
shift14 = 14,
shift15 = 15,
shift16 = 16,
shift17 = 17,
shift18 = 18,
shift19 = 19,
shift20 = 20,
shift21 = 21,
shift22 = 22,
shift23 = 23,
shift24 = 24,
shift25 = 25,
shift26 = 26,
shift27 = 27,
shift28 = 28,
shift29 = 29,
shift30 = 30,
shift31 = 31,
shift32 = 32,
shift40 = 40,
shift48 = 48,
shift56 = 56,
}SHIFT_MSG;
typedef enum{
_1bit = 0x1,
_2bit = 0x3,
_3bit = 0x7,
_4bit = 0xF,
_5bit = 0x1F,
_6bit = 0x3F,
_7bit = 0x7F,
_8bit = 0xFF,
_9bit = 0x1FF,
_10bit = 0x3FF,
_11bit = 0x7FF,
_12bit = 0xFFF,
_13bit = 0x1FFF,
_14bit = 0x3FFF,
_15bit = 0x7FFF,
_16bit = 0xFFFF,
_20bit = 0xFFFFF,
_32bit = 0xFFFFFFFF,
// _48bit = 0xFFFFFFFFFFFF,
// _64bit = 0xFFFFFFFFFFFFFFFF,
}CAN_BIT;
typedef struct
{
/*============================ RX ============================*/
struct
{
struct
{
uint32 Lamp_RTRN : 2;
uint32 Lamp_Reverse : 2;
uint32 Lamp_LTRN : 2;
uint32 Lamp_Head : 2;
uint32 Lamp_HBEAM : 2;
uint32 Lamp_Hazard : 2;
uint32 Lamp_BRAKE : 2;
uint32 Status_Wiper : 2;
uint32 BCM_CE1_STA : 2;
uint32 BCM_CE2_STA : 2;
uint32 BCM_CE3_STA : 2;
uint32 BCM_CE4_STA : 2;
uint32 BCM_CE5_STA : 2;
uint32 BCM_MAINSW_STA : 2;
float Battery_Voltage ;
uint32 Lamp_DRL : 2;
uint32 Lamp_Position : 2;
uint32 BCM_VCU_counter1 : 4;
uint32 BCM_VCU_CRC1 : 4;
uint32 BCM_Sys_Status : 4;
uint32 LDC_STA : 2;
}CH0_BCM_VCU_Signal1_0x570;
struct
{
uint32 ChargingStatus : 3;
uint32 BCM_ChgeCon_DTD : 1;
uint32 BMS_HVOn_STA : 1;
uint32 IntLckSta_OBC : 1;
uint32 IntLckSta_BMS : 1;
uint32 BMS_SOC : 8;
uint32 BMS_SOH : 8;
uint32 CommSta_OBC : 2;
uint32 CommSta_VCU : 2;
uint32 CommSta_BMS : 2;
uint32 CommSta_LDC : 2;
uint32 CommSta_TMS : 2;
uint32 BMS_SOH_INV : 1;
uint32 BMS_SOC_INV : 1;
uint32 Bms_Soc_Wrng : 1;
uint32 Bms_SoH_Wrng : 1;
uint32 BCM_VCU_counter2 : 4;
uint32 BCM_VCU_CRC2 : 4;
}CH0_BCM_VCU_Signal2_0x580;
struct
{
float Bms_PackVolt ;
float Bms_PackCur ;
float Bms_PackPwr ;
uint32 BCM_VCU_counter3 : 4;
uint32 BCM_VCU_CRC3 : 4;
}CH0_BCM_VCU_Signal3_0x590;
struct
{
uint32 LDC_ACTL_CUR : 8;
uint32 LDC_INP_VOLT : 10;
uint32 LDC_ACTL_VOLT : 8;
}CH0_BCM_VCU_Signal4_0x595;
struct
{
uint32 OBC_FltSta : 2;
uint32 BMS_FltSta : 2;
uint32 LDC_FltSta : 2;
uint32 BCM_FltSta : 2;
uint32 BMS_TEMP_FAULT : 2;
uint32 LDC_TEMP_FAULT : 2;
uint32 OBC_TEMP_FAULT : 4;
uint32 BCM_VCU_counter5 : 4;
uint32 BCM_VCU_CRC5 : 4;
}CH0_BCM_VCU_Signal5_0x585;
struct
{
float LatAccelVal ;
float LongAccelVal ;
float YawRate ;
uint32 IMU_VCU_counter : 4;
}CH0_IMU_VCU_Signal_0x020;
struct
{
uint32 MCU_Ready : 1;
uint32 MCU_Controlable : 1;
uint32 MCU_Flt : 1;
uint32 MCU_Interlock : 1;
float MCU_CurGearSta ;
uint32 MCU_GearStaInv : 1;
uint32 MCU_Derating : 4;
uint32 MCU_SvrFlt : 1;
float MCU_MtrTemp ;
float MCU_InvTemp ;
float MCU_EstSpd ;
float MCU_EstTrq ;
}CH0_MCU_VCU_Signals1_0x300;
struct
{
uint32 FaultMessage1 : 32;
uint32 FaultMessage2 : 32;
}CH0_MCU_VCU_Signals2_0x301;
struct
{
float RC_BrakeTorqueCommand ;
float RC_RWA_RackAngleCommand ;
float RC_Drive_ACC_Cmd ;
uint32 RC_Vx_Command : 8;
uint32 RC_VCU_counter1 : 4;
uint32 RC_VCU_CRC1 : 4;
}CH0_RC_VCU_Signal1_0x040;
struct
{
float Logic_BrakeTorqueCommand;
}CH0_Receive_Debugging_0x777;
struct
{
uint32 RC_Drive_Mode : 2;
uint32 RC_GearSelStat : 4;
uint32 RC_ParkBrake_Cmd : 2;
uint32 RC_Emergency_Stop : 1;
uint32 RC_VCU_long_Ctl_mode : 2;
uint32 RC_VX_Limit : 8;
uint32 RC_VCU_ARC : 8;
// uint32 RC_VCU_CRC2 : 4;
}CH0_RC_VCU_Signal2_0x041;
// ---------- IMU
struct
{
float IMU_YawRtVal ;
uint32 IMU_CLU_STAT : 4;
uint32 IMU_YAW_RATE_STAT : 4;
uint32 IMU_TEMP_RATE : 8;
float IMU_AY_Val ;
uint32 IMU_MSG_TX1_CNT : 4;
uint32 IMU_AY_STAT : 4;
uint32 IMU_TX1_CRC : 8;
}CH0_IMU_TX1_CH0_0x174;
struct
{
float IMU_RollRtVal ;
uint32 IMU_CLU_STAT5 : 4;
uint32 IMU_ROLL_RATE_STAT : 4;
uint32 IMU_CLU_DIAG : 8;
float IMU_AX_Val ;
uint32 IMU_MSG_TX2_CNT : 4;
uint32 IMU_AX_STAT : 4;
uint32 IMU_TX2_CRC : 8;
}CH0_IMU_TX2_CH0_0x178;
struct
{
float IMU_PitchRtVal ;
uint32 IMU_HW_Index : 4;
uint32 IMU_PITCH_RATE_STAT : 4;
float IMU_AZ_Val ;
uint32 IMU_MSG_TX3_CNT : 4;
uint32 IMU_AZ_STAT : 4;
uint32 IMU_TX3_CRC : 8;
}CH0_IMU_TX3_CH0_0x17C;
struct
{
uint32 Lamp_BRAKE_CMD : 2;
uint32 Lamp_Hazard_CMD : 2;
uint32 Lamp_HBEAM_CMD : 2;
uint32 Lamp_Head_CMD : 2;
uint32 Lamp_LTRN_CMD : 2;
uint32 Lamp_Reverse_CMD : 2;
uint32 Lamp_RTRN_CMD : 2;
uint32 Lamp_Position_CMD : 2;
uint32 Lamp_DRL_CMD : 2;
uint32 Wiper_CMD : 2;
}CH0_RC_VCU_BCM_Signal_1_CH0_0x155;//240227 <20>߰<EFBFBD>
struct
{
uint32 EPAM_driveSensor : 1;
uint32 EPAM_parkSensor : 1;
uint32 EPAM_parkLock : 3;
uint32 EPAM_ParkRequestStatus : 2;
uint32 EPAM_Voltage : 8;
uint32 EPAM_Current : 8;
uint32 EPAM_Temperature : 8;
uint32 EPAM_HallPosition : 8;
uint32 ErrEPAM_MotStallMiddle : 1;
uint32 ErrEPAM_MotStallUnPark : 1;
uint32 ErrEPAM_MotStallPark : 1;
uint32 ErrEPAM_MotOpen : 1;
uint32 ErrEPAM_MotFail : 1;
uint32 EPAM_State : 1;
uint32 ErrEPAM_CommErr : 1;
uint32 ErrEPAM_HallSenErr : 1;
uint32 ErrEPAM_OT_ECU : 1;
uint32 ErrEPAM_CANErr : 1;
uint32 ErrEPAM_HallPaternError : 1;
uint32 ErrEPAM_HallTimeOut : 1;
uint32 ErrEPAM_DCBusUnderVoltage : 1;
uint32 ErrEPAM_DCBusOverVoltage : 1;
uint32 ErrEPAM_DCBusOverCurrent : 1;
}CH0_RX_EPAM_VCU_0x155;
struct
{
uint32 CAR_MCU_MtrTemp :8 ;
uint32 CAR_MCU_InvTemp :8 ;
uint32 CAR_EPAM_Temperature : 8;
uint32 CAR_Battery_Voltage : 8;
uint32 CAR_LDC_ACTL_VOLT : 8;
uint32 CAR_ChargingStatus : 3;
uint32 CAR_BMS_HVOn_STA : 1;
// uint8 CAR_ARC : 8;
}CH0_CAR_STAT_CH0_0x012;
//-----------
struct
{
uint32 ACU_Vx_Command : 8;
float ACU_Drive_ACC_Cmd ;
uint32 ACU_BrakeTorqueCommand : 16;
uint32 ACU_VCU_counter1 : 4;
uint32 ACU_VCU_CRC1 : 4;
}CH1_ACU_VCU_Signal1_0x091;
struct
{
float ACU_RWA_cmd_deg ;
float ACU_RWS_cmd_deg ;
uint32 ACU_VCU_counter2 : 4;
uint32 ACU_VCU_CRC2 : 4;
}CH1_ACU_VCU_Signal2_0x092;
struct
{
uint32 ACU_Drive_mode : 2;
uint32 ACU_long_Ctl_mode : 2;
uint32 ACU_EPAM_req : 2;
uint32 ACU_VCU_GearPos : 2;
uint32 ACU_Emergency_Stop : 1;
uint32 ACU_VCU_counter3 : 4;
uint32 ACU_VCU_CRC3 : 4;
}CH1_ACU_VCU_Signal3_0x093;
struct
{
uint32 Lamp_BRAKE_CMD : 2;
uint32 Lamp_Hazard_CMD : 2;
uint32 Lamp_HBEAM_CMD : 2;
uint32 Lamp_Head_CMD : 2;
uint32 Lamp_LTRN_CMD : 2;
uint32 Lamp_Reverse_CMD : 2;
uint32 Lamp_RTRN_CMD : 2;
uint32 Lamp_Position_CMD : 2;
uint32 Lamp_DRL_CMD : 2;
uint32 Wiper_CMD : 2;
uint32 LDC_ACT_CMD : 2;
uint32 HV_ON_CMD : 2;
uint32 CE_ON_CMD : 2;
uint32 LDC_TRGT_CUR : 8;
uint32 Vcu_OperMode : 3;
uint32 Vcu_SysMode : 3;
uint32 ACU_VCU_counter : 4;
uint32 ACU_VCU_CRC : 4;
}CH1_ACU_BCM_Signal_1_0x150;//240227 <20>߰<EFBFBD>
struct
{
uint32 Arc : 8;
uint32 Crc : 8;
uint32 EcuRole : 2;
uint32 EcuStatus : 4;
float EstimatedVehicleSpeed ;
uint32 IsControllingEcu : 1;
float MasterCylinderPressure ;
float RoadFrictionCoefficient ;
uint32 RoadFrictionCoefficientValid : 2;
uint32 VehicleSpeedValidity : 1;
}CH2_IDB_BrakeStatus1_0x09A;
struct
{
uint32 Arc : 8;
uint32 BrakeFluidState : 2;
uint32 Crc : 8;
uint32 MotorTemperatureWarning : 1;
uint32 RearLeftBrakePadState : 1;
uint32 RearRightBrakePadState : 1;
uint32 Reserved3 : 4;
uint32 Reserved4 : 4;
uint32 Reserved5 : 4;
uint32 Reserved6 : 4;
}CH2_IDB_BrakeStatus2_0x0C8;
struct
{
uint32 Arc : 8;
uint32 Crc : 8;
float FrontLeftEstimatedPressure ;
uint32 FrontLeftEstimatedPressureValid : 1;
float FrontRightEstimatedPressure ;
uint32 FrontRightEstimatedPressureValid : 1;
float RearLeftEstimatedPressure ;
uint32 RearLeftEstimatedPressureValid : 1;
float RearRightEstimatedPressure ;
uint32 RearRightEstimatedPressureValid : 1;
}CH2_IDB_PressureStatus_0x0A0;
struct
{
uint32 Arc : 8;
uint32 Crc : 8;
float RbcTargetRegenTorque ;
float TcsTorqueCmd ;
}CH2_IDB_RegenTcsRequest_0x082;
struct
{
uint32 AbsFault : 1;
uint32 AbsState : 1;
uint32 Arc : 8;
uint32 BbsFault : 1;
uint32 BbsState : 1;
uint32 CanCommunicationFault : 1;
uint32 Crc : 8;
uint32 EbdFault : 1;
uint32 EbdState : 1;
uint32 EpbFault : 1;
uint32 EpbState : 3;
uint32 EpbTransition : 2;
uint32 EscFault : 1;
uint32 EscState : 1;
float EscYawRateThreshold ;
uint32 InternalCanCommunicationFault : 1;
uint32 RbcFault : 1;
uint32 RbcState : 1;
uint32 RopFault : 1;
uint32 RopState : 1;
uint32 SplitMuDetection : 2;
uint32 SsmFault : 1;
uint32 SsmState : 2;
uint32 TcsFault : 1;
uint32 TcsState : 1;
}CH2_IDB_Status_0x092;
struct
{
uint32 Arc : 8;
uint32 Crc : 8;
float FrontLeftTireSlipRatio ;
uint32 FrontLeftWheelSlipStatus : 2;
float FrontRightTireSlipRatio ;
uint32 FrontRightWheelSlipStatus : 2;
float RearLeftTireSlipRatio ;
uint32 RearLeftWheelSlipStatus : 2;
float RearRightTireSlipRatio ;
uint32 RearRightWheelSlipStatus : 2;
}CH2_IDB_TireSlipStatus_0x096;
struct
{
uint64 UdsResponse : 64;
uint32 UdsResponse_MSB : 32;
uint32 UdsResponse_LSB : 32;
}CH2_IDB_UdsResponse_0x798;
struct
{
uint32 Arc : 8;
uint32 Crc : 8;
uint32 FrontLeftWheelDirection : 2;
uint32 FrontLeftWheelPulse : 8;
uint32 FrontLeftWheelPulseValidity : 1;
uint32 FrontLeftWssFault : 1;
uint32 FrontRightWheelDirection : 2;
uint32 FrontRightWheelPulse : 8;
uint32 FrontRightWheelPulseValidity : 1;
uint32 FrontRightWssFault : 1;
uint32 RearLeftWheelDirection : 2;
uint32 RearLeftWheelPulse : 8;
uint32 RearLeftWheelPulseValidity : 1;
uint32 RearLeftWssFault : 1;
uint32 RearRightWheelDirection : 2;
uint32 RearRightWheelPulse : 8;
uint32 RearRightWheelPulseValidity : 1;
uint32 RearRightWssFault : 1;
}CH2_IDB_WheelStatus_0x08C;
struct
{
uint32 Arc : 8;
uint32 Crc : 8;
uint32 EcuPowerMode : 2;
uint32 EcuRole : 2;
uint32 EcuStatus : 4;
float MaxMotorOutput ;
uint32 MaxMotorOutputValid : 1;
float RackAngleSpeedFbk ;
uint32 RackAngleSpeedFbkValid : 1;
uint32 SysInfo : 4;
uint32 WarningLamp : 2;
}CH2_RWA_Status1_0x072;
struct
{
uint32 Arc : 8;
uint32 Crc : 8;
float RackAngleFbk ;
uint32 RackAngleFbkValid : 1;
float RackForceFbk ;
uint32 RackForceFbkValid : 1;
}CH2_RWA_Status2_0x073;
struct
{
uint32 Arc : 8;
uint32 Crc : 8;
uint32 PolFault : 1;
uint32 PolLimiterFlag : 1;
uint32 PolStatus : 1;
float PolValue ;
float SysBatteryVoltage ;
float SysIqCurrent ;
}CH2_RWA_Status3_0x0AA;
struct
{
uint32 Arc : 8;
uint32 Crc : 8;
uint32 EcuRole : 2;
uint32 EcuStatus : 4;
float EstimatedVehicleSpeed ;
uint32 IsControllingEcu : 1;
float MasterCylinderPressure ;
float RoadFrictionCoefficient ;
uint32 RoadFrictionCoefficientValid : 2;
uint32 VehicleSpeedValidity : 1;
}CH3_RCU_BrakeStatus1_0x09B;
struct
{
uint32 Arc : 8;
uint32 BrakeFluidState : 2;
uint32 Crc : 8;
uint32 FrontLeftBrakePadState : 1;
uint32 FrontRightBrakePadState : 1;
uint32 MotorTemperatureWarning : 1;
uint32 Reserved3 : 4;
uint32 Reserved4 : 4;
uint32 Reserved5 : 4;
uint32 Reserved6 : 4;
}CH3_RCU_BrakeStatus2_0x0CA;
struct
{
uint32 Arc : 8;
uint32 Crc : 8;
float FrontLeftEstimatedPressure ;
uint32 FrontLeftEstimatedPressureValid : 1;
float FrontRightEstimatedPressure ;
uint32 FrontRightEstimatedPressureValid : 1;
}CH3_RCU_PressureStatus_0x0A1;
struct
{
uint32 Arc : 8;
uint32 Crc : 8;
uint32 EcuPowerMode : 2;
uint32 EcuRole : 2;
uint32 EcuStatus : 4;
float MaxMotorOutput ;
uint32 MaxMotorOutputValid : 1;
float RackAngleSpeedFbk ;
uint32 RackAngleSpeedFbkValid : 1;
uint32 SysInfo : 4;
uint32 WarningLamp : 2;
}CH3_RWA_Status1_0x072;
struct
{
uint32 Arc : 8;
uint32 Crc : 8;
float RackAngleFbk ;
uint32 RackAngleFbkValid : 1;
float RackForceFbk ;
uint32 RackForceFbkValid : 1;
}CH3_RWA_Status2_0x073;
struct
{
uint32 Arc : 8;
uint32 Crc : 8;
uint32 PolFault : 1;
uint32 PolLimiterFlag : 1;
uint32 PolStatus : 1;
float PolValue ;
float SysBatteryVoltage ;
float SysIqCurrent ;
}CH3_RWA_Status3_0x0AA;
struct
{
uint32 Arc : 8;
uint32 Crc : 8;
float FrontLeftTireSlipRatio ;
uint32 FrontLeftWheelSlipStatus : 2;
float FrontRightTireSlipRatio ;
uint32 FrontRightWheelSlipStatus : 2;
float RearLeftTireSlipRatio ;
uint32 RearLeftWheelSlipStatus : 2;
float RearRightTireSlipRatio ;
uint32 RearRightWheelSlipStatus : 2;
}CH3_RCU_TireSlipStatus_0x097;
struct
{
uint32 Arc : 8;
uint32 Crc : 8;
uint32 FrontLeftWheelDirection : 2;
uint32 FrontLeftWheelPulse : 8;
uint32 FrontLeftWheelPulseValidity : 1;
uint32 FrontLeftWssFault : 1;
uint32 FrontRightWheelDirection : 2;
uint32 FrontRightWheelPulse : 8;
uint32 FrontRightWheelPulseValidity : 1;
uint32 FrontRightWssFault : 1;
uint32 RearLeftWheelDirection : 2;
uint32 RearLeftWheelPulse : 8;
uint32 RearLeftWheelPulseValidity : 1;
uint32 RearLeftWssFault : 1;
uint32 RearRightWheelDirection : 2;
uint32 RearRightWheelPulse : 8;
uint32 RearRightWheelPulseValidity : 1;
uint32 RearRightWssFault : 1;
}CH3_RCU_WheelStatus_0x08D;
struct
{
uint32 AbsFault : 1;
uint32 AbsState : 1;
uint32 Arc : 8;
uint32 BbsFault : 1;
uint32 BbsState : 1;
uint32 CanCommunicationFault : 1;
uint32 Crc : 8;
uint32 EpbFault : 1;
uint32 EpbState : 3;
uint32 EpbTransition : 2;
uint32 EscFault : 1;
uint32 EscState : 1;
float EscYawRateThreshold ;
uint32 InternalCanCommunicationFault : 1;
uint32 SplitMuDetSsmFaultection : 2;
uint32 SsmFault : 1;
uint32 SsmState : 2;
}CH3_RCU_Status_0x093;
struct
{
uint64 UdsResponse : 64;
uint32 UdsResponse_MSB : 32;
uint32 UdsResponse_LSB : 32;
}CH3_RCU_UdsResponse_0x799;
struct
{
float RWS_RackAngleFbk1;
}CH4_RWS_VCU_Rack_AngleFbk_0x073;
struct
{
uint32 RWS_EcuStatus1 : 4;
float RWS_RackAngleSpeedFbk1 ;
}CH4_RWS_VCU_stat_Signal_0x072;
struct
{
float RWS_RackAngleFbk2;
}CH5_RWS_VCU_Rack_AngleFbk_0x073;
struct
{
uint32 RWS_EcuStatus2 : 4;
float RWS_RackAngleSpeedFbk2 ;
}CH5_RWS_VCU_stat_Signal_0x072;
}RX;
/*============================ TX ============================*/
struct
{
struct
{
uint32 RWA_RackAngleFbk1 : 16;
uint32 RWA_RackAngleSpeedFbk1 : 16;
uint32 CAR_ARC : 8;
uint32 RWA_VCU_RC_counter1 : 4;
uint32 RWA_VCU_RC_CRC1 : 4;
}CH0_RWA_RackAngleFbk1_0x050;
struct
{
uint32 RWA_RackAngleFbk2 : 16;
uint32 RWA_RackAngleSpeedFbk2 : 16;
uint32 RWA_VCU_RC_counter2 : 4;
uint32 RWA_VCU_RC_CRC2 : 4;
}CH0_RWA_VCU_RC_Signal2_0x051;
struct
{
uint32 RWS_RackAngleFbk1 : 16;
uint32 RWS_RackAngleSpeedFbk1 : 16;
uint32 RWS_VCU_RC_counter1 : 4;
uint32 RWS_VCU_RC_CRC1 : 4;
}CH0_RWS_VCU_RC_Signal1_0x060;
struct
{
uint32 RWS_RackAngleFbk2 : 16;
uint32 RWS_RackAngleSpeedFbk2 : 16;
uint32 RWS_VCU_RC_counter2 : 4;
uint32 RWS_VCU_RC_CRC2 : 4;
}CH0_RWA_VCU_RC_Signal2_0x061;
struct
{
uint32 Lamp_BRAKE_CMD : 2;
uint32 Lamp_Hazard_CMD : 2;
uint32 Lamp_HBEAM_CMD : 2;
uint32 Lamp_Head_CMD : 2;
uint32 Lamp_LTRN_CMD : 2;
uint32 Lamp_Reverse_CMD : 2;
uint32 Lamp_RTRN_CMD : 2;
uint32 Lamp_Position_CMD : 2;
uint32 Lamp_DRL_CMD : 2;
uint32 Wiper_CMD : 2;
uint32 LDC_ACT_CMD : 2;
uint32 HV_ON_CMD : 2;
uint32 CE_ON_CMD : 2;
uint32 LDC_TRGT_CUR : 8;
uint32 Vcu_OperMode : 3;
uint32 Vcu_SysMode : 3;
uint32 VCU_BCM_counter : 4;
uint32 VCU_BCM_CRC : 4;
}CH0_VCU_BCM_Signal_1_0x150;
struct
{
uint32 Lamp_HMI1_CMD : 2;
uint32 Lamp_HMI2_CMD : 2;
uint32 Lamp_HMI3_CMD : 2;
uint32 Lamp_HMI4_CMD : 2;
uint32 Lamp_HMI5_CMD : 2;
}CH0_VCU_BCM_Signal_2_0x180;
struct
{
uint32 VCU_TorqueContol : 1;
uint32 VCU_Ready : 1;
uint32 VCU_ControlMode : 1;
uint32 VCU_PwrEnable : 1;
uint32 VCU_GearCmd : 4;
uint32 VCU_MtrDir : 2;
uint32 VCU_BmsFlt : 3;
uint32 VCU_BmsHvSt : 2;
uint32 VCU_PosTrqLimit : 16;
uint32 VCU_NegTrqLimit : 16;
uint32 VCU_TrqCmd : 16;
}CH0_VCU_MCU_Signals1_0x250;
struct
{
uint32 VCU_MCU_EstTrq : 16;
uint32 VCU_RWA_Rack_Fbk : 16;
uint32 VCU_Brk_Pressure_Fbk : 16;
uint32 VCU_Vx_Fbk : 8;
uint32 VCU_Vx_Limit : 8;
uint32 VCU_RC_counter1 : 4;
uint32 VCU_RC_CRC1 : 4;
}CH0_VCU_RC_Signals1_0x010;
struct
{
uint32 VCU_RC_BMS_SOC : 8;
uint32 VCU_RC_long_Ctl_mode : 2;
uint32 VCU_RC_Emergency_Stop : 1;
uint32 VCU_GearSelStat : 2;
uint32 VCU_Drive_Mode : 2;
uint32 VCU_ParkBrake_Fbk : 2;
uint32 VCU_Acc_Fbk : 16;
uint32 VCU_Acc_Limit : 16;
}CH0_VCU_RC_Signals1_0x011;
struct
{
uint32 Park_Request_to_EPC : 2;
uint32 EPAM_ErrClear_State : 1;
}CH0_VCU_EPAM_0x220;
struct
{
uint32 YEAR : 8;
uint32 Month : 8;
uint32 Day : 8;
uint32 Ver : 8;
uint32 CAR_NUM : 32;
}CH0_SW_VER_0x100;
struct
{
uint32 CAR_MCU_MtrTemp :8 ;
uint32 CAR_MCU_InvTemp :8 ;
uint32 CAR_Bms_PackCur :16 ;
uint32 CAR_Battery_Voltage : 8;
uint32 CAR_LDC_ACTL_VOLT : 8;
uint32 CAR_ChargingStatus : 3;
uint32 CAR_BMS_HVOn_STA : 1;
uint8 CAR_ARC : 8;
}CH0_CAR_STAT_CH0_0x012;
struct
{
uint32 Lamp_RTRN : 2;
uint32 Lamp_Reverse : 2;
uint32 Lamp_LTRN : 2;
uint32 Lamp_Head : 2;
uint32 Lamp_HBEAM : 2;
uint32 Lamp_Hazard : 2;
uint32 Lamp_BRAKE : 2;
uint32 Status_Wiper : 2;
uint32 BCM_CE1_STA : 2;
uint32 BCM_CE2_STA : 2;
uint32 BCM_CE3_STA : 2;
uint32 BCM_CE4_STA : 2;
uint32 BCM_CE5_STA : 2;
uint32 BCM_MAINSW_STA : 2;
uint32 Battery_Voltage : 8;
uint32 Lamp_DRL : 2;
uint32 Lamp_Position : 2;
uint32 BCM_VCU_counter1 : 4;
uint32 BCM_VCU_CRC1 : 4;
}CH1_BCM_VCU_ACU_Signal1_0x570;
struct
{
uint32 ChargingStatus : 3;
uint32 BCM_ChgeCon_DTD : 1;
uint32 BMS_HVOn_STA : 1;
uint32 IntLckSta_OBC : 1;
uint32 IntLckSta_BMS : 1;
uint32 BMS_SOC : 8;
uint32 BMS_SOH : 8;
uint32 CommSta_OBC : 2;
uint32 CommSta_VCU : 2;
uint32 CommSta_BMS : 2;
uint32 CommSta_LDC : 2;
uint32 CommSta_TMS : 2;
uint32 BMS_SOH_INV : 1;
uint32 BMS_SOC_INV : 1;
uint32 Bms_Soc_Wrng : 1;
uint32 Bms_SoH_Wrng : 1;
uint32 BCM_VCU_counter2 : 4;
uint32 BCM_VCU_CRC2 : 4;
}CH1_BCM_VCU_ACU_Signal2_0x580;
struct
{
uint32 Bms_PackVolt : 16;
uint32 Bms_PackCur : 16;
uint32 Bms_PackPwr : 16;
uint32 BCM_VCU_counter3 : 4;
uint32 BCM_VCU_CRC3 : 4;
}CH1_BCM_VCU_ACU_Signal3_0x590;
struct
{
uint32 LDC_ACTL_CUR : 8;
uint32 LDC_INP_VOLT : 10;
uint32 LDC_ACTL_VOLT : 8;
uint32 BCM_VCU_counter4 : 4;
uint32 BCM_VCU_CRC4 : 4;
}CH1_BCM_VCU_ACU_Signal4_0x595;
struct
{
uint32 OBC_FltSta : 2;
uint32 BMS_FltSta : 2;
uint32 LDC_FltSta : 2;
uint32 BCM_FltSta : 2;
uint32 BMS_TEMP_FAULT : 2;
uint32 LDC_TEMP_FAULT : 2;
uint32 OBC_TEMP_FAULT : 2;
uint32 BCM_VCU_counter5 : 4;
uint32 BCM_VCU_CRC5 : 4;
}CH1_BCM_VCU_ACU_Signal5_0x585;
struct
{
uint32 RWA_RackAngleFbk : 16;
uint32 RWA_RackAngleSpeedFbk : 16;
uint32 RWA_VCU_ACU_counter1 : 4;
uint32 RWA_VCU_ACU_CRC1 : 4;
}CH1_RWA_VCU_ACU_Signal1_0x050;
struct
{
uint32 RWA_RackAngleFbk : 16;
uint32 RWA_RackAngleSpeedFbk : 16;
uint32 RWA_VCU_ACU_counter2 : 4;
uint32 RWA_VCU_ACU_CRC2 : 4;
}CH1_RWA_VCU_ACU_Signal2_0x051;
struct
{
uint32 RWS_RackAngleFbk : 16;
uint32 RWS_RackAngleSpeedFbk : 16;
uint32 RWS_VCU_ACU_counter1 : 4;
uint32 RWS_VCU_ACU_CRC1 : 4;
}CH1_RWS_VCU_ACU_Signal1_0x060;
struct
{
uint32 RWS_RackAngleFbk : 16;
uint32 RWS_RackAngleSpeedFbk : 16;
uint32 RWS_VCU_ACU_counter2 : 4;
uint32 RWS_VCU_ACU_CRC2 : 4;
}CH1_RWS_VCU_ACU_Signal2_0x061;
struct
{
uint32 VCU_ACU_MCU_EstTrq : 16;
uint32 VCU_ACU_RWA_Rack_Fbk : 16;
uint32 VCU_ACU_Brk_Pressure_Fbk : 16;
uint32 VCU_ACU_long_Ctl_mode : 1;
uint32 VCU_ACU_GearPos : 2;
uint32 VCU_ACU_ParkBrake_Fbk : 2;
uint32 VCU_ACU_Emergency_Stop : 1 ;
uint32 VCU_ACU_ARC1 : 4;
uint32 VCU_ACU_CRC1 : 4;
}CH1_VCU_ACU_Signal1_0x013;
struct
{
uint32 RWA_Flt : 4;
uint32 RWS_Flt : 4;
uint32 IDB_Flt : 4;
uint32 MCU_Flt : 1;
uint32 Drive_Mode : 2;
uint32 VCU_IGN_SIG : 2;
uint32 VCU_ACU_RC_BMS_SOC : 8;
uint32 VCU_ACU_MCU_EstSpd : 16;
uint32 VCU_ACU_counter2 : 4;
uint32 VCU_ACU_CRC2 : 4;
}CH1_VCU_ACU_Signal2_0x014;
struct
{
uint32 VCU_Vx_Fbk : 8;
uint32 VCU_Vx_Limit : 8;
uint32 VCU_Acc_Fbk : 16;
uint32 VCU_Acc_Limit : 16;
uint32 VCU_ACU_counter3 : 4;
uint32 VCU_ACU_CRC3 : 4;
}CH1_VCU_ACU_Signal3_0x015;
// ---------- IMU
struct
{
uint32 IMU_YawRtVal ;
uint32 IMU_CLU_STAT : 4;
uint32 IMU_YAW_RATE_STAT : 4;
uint32 IMU_TEMP_RATE : 8;
uint32 IMU_AY_Val ;
uint32 IMU_MSG_TX1_CNT : 4;
uint32 IMU_AY_STAT : 4;
uint32 IMU_TX1_CRC : 8;
}CH1_IMU_TX1_CH1_0x174;
struct
{
uint32 IMU_RollRtVal ;
uint32 IMU_CLU_STAT5 : 4;
uint32 IMU_ROLL_RATE_STAT : 4;
uint32 IMU_CLU_DIAG : 8;
uint32 IMU_AX_Val ;
uint32 IMU_MSG_TX2_CNT : 4;
uint32 IMU_AX_STAT : 4;
uint32 IMU_TX2_CRC : 8;
}CH1_IMU_TX2_CH1_0x178;
struct
{
uint32 IMU_PitchRtVal ;
uint32 IMU_HW_Index : 4;
uint32 IMU_PITCH_RATE_STAT : 4;
uint32 IMU_AZ_Val ;
uint32 IMU_MSG_TX3_CNT : 4;
uint32 IMU_AZ_STAT : 4;
uint32 IMU_TX3_CRC : 8;
}CH1_IMU_TX3_CH1_0x17C;
// ACU <20><><EFBFBD><EFBFBD> <20>޼<EFBFBD><DEBC><EFBFBD>
struct
{
uint32 ACU_CAR_MCU_MtrTemp :8 ;
uint32 ACU_CAR_MCU_InvTemp :8 ;
uint32 ACU_CAR_EPAM_Temperature : 8;
uint32 ACU_CAR_Battery_Voltage : 8;
uint32 ACU_CAR_Bms_SoH_Wrng : 1;
uint32 ACU_CAR_ChargingStatus : 3;
uint32 ACU_CAR_BMS_HVOn_STA : 1;
uint32 ACU_CAR_ARC : 4;
uint32 ACU_CAR_CRC : 4;
}CH1_ACU_CAR_STAT_CH1_0x016;
struct
{
uint32 Arc : 8;
uint32 BrakeHoldRequest : 1;
uint32 BrakeTorqueCommand : 16;
uint32 Crc : 8;
uint32 DriveTorqueCommand : 14;
uint32 DriveTorqueCommandValid : 1;
uint32 EscActivation : 1;
uint32 GearPosition : 2;
uint32 ParkBrakeRequest : 2;
uint32 PowertrainMode : 1;
uint32 RbcActivation : 1;
uint32 Reserved1 : 1;
uint32 Reserved2 : 2;
uint32 RopActivation : 1;
uint32 TcsActivation : 1;
}CH2_BSC_IDB_BrakeCommand_0x064;
struct
{
uint32 Arc : 8;
uint32 Crc : 8;
uint32 LateralAcceleration : 10;
uint32 LateralAccelerationValid : 1;
uint32 LongitudinalAcceleration : 10;
uint32 LongitudinalAccelerationValid : 1;
uint32 VehicleSpeed : 12;
uint32 VehicleSpeedValid : 1;
uint32 VehicleYawRate : 12;
uint32 VehicleYawRateValid : 1;
}CH2_BSC_IMU_0x070;
struct
{
uint32 Arc : 8;
uint32 Crc : 8;
uint32 WakeUpCommand : 1;
}CH2_BSC_IDB_StartupCommand_0x032;
struct
{
uint64 UdsRequest : 64;
uint64 UdsRequest_MSB : 32;
uint64 UdsRequest_LSB : 32;
}CH2_BSC_IDB_UdsRequest_0x796;
struct
{
uint32 ActualMotorTorque : 14;
uint32 ActualMotorTorqueValid : 1;
uint32 Arc : 8;
uint32 Crc : 8;
uint32 MaxAvailableRegenTorque : 14;
uint32 MaxAvailableRegenTorqueValid : 1;
uint32 TractionMotorFault : 1;
}CH2_BSC_RegenCommand_0x06A;
struct
{
uint32 Arc : 8;
uint32 Crc : 8;
uint32 RackAngleCmd : 16;
uint32 RackAngleCmdValid : 1;
}CH2_BSC_RWA_RackCommand_0x040;
struct
{
uint32 Arc : 8;
uint32 Crc : 8;
uint32 EcuPowerMode : 2;
uint32 EcuRole : 2;
uint32 EcuStatus : 4;
}CH2_BSC_RWA_Sister_0x350;
struct
{
uint32 Arc : 8;
uint32 Crc : 8;
uint32 ModeCommand : 1;
uint32 WakeUpCommand : 1;
}CH2_BSC_RWA_StartupCommand_0x310;
struct
{
uint32 Arc : 8;
uint32 Crc : 8;
uint32 EnvironmentTemperature : 8;
uint32 EnvironmentTemperatureValid : 1;
uint32 TimestampDay : 5;
uint32 TimestampHour : 5;
uint32 TimestampMinute : 6;
uint32 TimestampMonth : 4;
uint32 TimestampSecond : 6;
uint32 TimestampYear : 6;
}CH2_BSC_VehicleEnvironment_0x384;
struct
{
uint32 Arc : 8;
uint32 Crc : 8;
uint32 FrontLeftWheelSpeed : 10;
uint32 FrontLeftWheelSpeedValid : 1;
uint32 FrontRightWheelSpeed : 10;
uint32 FrontRightWheelSpeedValid : 1;
uint32 RearLeftWheelSpeed : 10;
uint32 RearLeftWheelSpeedValid : 1;
uint32 RearRightWheelSpeed : 10;
uint32 RearRightWheelSpeedValid : 1;
}CH2_IDB_WheelSpeedStatus_0x088;
struct
{
uint32 Arc : 8;
uint32 Crc : 8;
uint32 LateralAcceleration : 10;
uint32 LateralAccelerationValid : 1;
uint32 LongitudinalAcceleration : 10;
uint32 LongitudinalAccelerationValid : 1;
uint32 VehicleSpeed : 12;
uint32 VehicleSpeedValid : 1;
uint32 VehicleYawRate : 12;
uint32 VehicleYawRateValid : 1;
}CH3_BSC_IMU_0x071;
struct
{
uint32 Arc : 8;
uint32 BrakeHoldRequest : 1;
uint32 BrakeTorqueCommand : 16;
uint32 Crc : 8;
uint32 EscActivation : 1;
uint32 GearPosition : 2;
uint32 ParkBrakeRequest : 2;
uint32 PowertrainMode : 1;
uint32 Reserved1 : 1;
uint32 Reserved2 : 2;
}CH3_BSC_RCU_BrakeCommand_0x065;
struct
{
uint32 Arc : 8;
uint32 Crc : 8;
uint32 RackAngleCmd : 16;
uint32 RackAngleCmdValid : 1;
}CH3_BSC_RWA_RackCommand_0x040;
struct
{
uint32 Arc : 8;
uint32 Crc : 8;
uint32 EcuPowerMode : 2;
uint32 EcuRole : 2;
uint32 EcuStatus : 4;
}CH3_BSC_RWA_Sister_0x350;
struct
{
uint32 Arc : 8;
uint32 Crc : 8;
uint32 ModeCommand : 1;
uint32 WakeUpCommand : 1;
}CH3_BSC_RWA_StartupCommand_0x310;
struct
{
uint32 Arc : 8;
uint32 Crc : 8;
uint32 WakeUpCommand : 1;
}CH3_BSC_RCU_StartupCommand_0x033;
struct
{
uint64 UdsRequest : 64;
uint64 UdsRequest_MSB : 32;
uint64 UdsRequest_LSB : 32;
}CH3_BSC_RCU_UdsRequest_0x797;
struct
{
uint32 Arc : 8;
uint32 Crc : 8;
uint32 EnvironmentTemperature : 8;
uint32 EnvironmentTemperatureValid : 1;
uint32 TimestampDay : 5;
uint32 TimestampHour : 5;
uint32 TimestampMinute : 6;
uint32 TimestampMonth : 4;
uint32 TimestampSecond : 6;
uint32 TimestampYear : 6;
}CH3_BSC_VehicleEnvironment_0x385;
struct
{
uint32 Arc : 8;
uint32 Crc : 8;
uint32 FrontLeftWheelSpeed : 10;
uint32 FrontLeftWheelSpeedValid : 1;
uint32 FrontRightWheelSpeed : 10;
uint32 FrontRightWheelSpeedValid : 1;
uint32 RearLeftWheelSpeed : 10;
uint32 RearLeftWheelSpeedValid : 1;
uint32 RearRightWheelSpeed : 10;
uint32 RearRightWheelSpeedValid : 1;
}CH3_RCU_WheelSpeedStatus_0x089;
struct
{
uint32 Arc : 8;
uint32 Crc : 8;
uint32 RackAngleCmd1 : 16;
uint32 RackAngleCmdValid1 : 1;
}CH4_VCU_RWS_Rack_Cmd_0x040;
struct
{
uint32 Arc : 8;
uint32 Crc : 8;
uint32 EcuPowerMode1 : 2;
uint32 EcuRole1 : 2;
uint32 EcuStatus1 : 4;
}CH4_VCU_RWS_Sister_0x350;
struct
{
uint32 Arc : 8;
uint32 Crc : 8;
uint32 RWS_ModeCommand1 : 1;
uint32 RWS_WakeUpCommand1 : 1;
}CH4_VCU_RWS_StartupCommand_0x310;
struct
{
uint32 Arc : 8;
uint32 Crc : 8;
uint32 RackAngleCmd2 : 16;
uint32 RackAngleCmdValid2 : 1;
}CH5_VCU_RWS_Rack_Cmd_0x040;
struct
{
uint32 Arc : 8;
uint32 Crc : 8;
uint32 RWS_ModeCommand2 : 1;
uint32 RWS_WakeUpCommand2 : 1;
}CH5_VCU_RWS_StartupCommand_0x310;
struct
{
uint32 Arc : 8;
uint32 Crc : 8;
uint32 EcuPowerMode2 : 2;
uint32 EcuRole2 : 2;
uint32 EcuStatus2 : 4;
}CH5_VCU_RWS_Sister_0x350;
}TX;
}ECU3_CAN;
/*==================== global variables ====================*/
typedef struct
{
uint32 CLU_AlvCnt1Val;
uint32 CLU_Crc1Val;
}Variable;
typedef struct _user_can {
uint8_t buf[MAX_CAN_BUFFER];
uint8_t len;
uint8_t xreq;
uint32_t id;
} user_can_;
typedef struct _Dev_can {
user_can_ rx;
user_can_ tx;
user_can_ tx_ring[MAX_TX_RING];
uint16_t p_wr;
uint16_t p_rd;
uint8_t tx_mb_idx;
}Dev_can_;
#ifdef __CAN_C__
#define EXT_CAN_C
#else
#define EXT_CAN_C extern
#endif
EXT_CAN_C Variable Var;
EXT_CAN_C const canMessageObjectConfigType g_messageObjectConf_ECU3_0ch_TX[NUMBER_OF_ECU3_CH0_TX_MESSAGE];
EXT_CAN_C const canMessageObjectConfigType g_messageObjectConf_ECU3_0ch_RX[NUMBER_OF_ECU3_CH0_RX_MESSAGE];
EXT_CAN_C const canMessageObjectConfigType g_messageObjectConf_ECU3_1ch_TX[NUMBER_OF_ECU3_CH1_TX_MESSAGE];
EXT_CAN_C const canMessageObjectConfigType g_messageObjectConf_ECU3_1ch_RX[NUMBER_OF_ECU3_CH1_RX_MESSAGE];
EXT_CAN_C const canMessageObjectConfigType g_messageObjectConf_ECU3_2ch_TX[NUMBER_OF_ECU3_CH2_TX_MESSAGE];
EXT_CAN_C const canMessageObjectConfigType g_messageObjectConf_ECU3_2ch_RX[NUMBER_OF_ECU3_CH2_RX_MESSAGE];
EXT_CAN_C const canMessageObjectConfigType g_messageObjectConf_ECU3_3ch_TX[NUMBER_OF_ECU3_CH3_TX_MESSAGE];
EXT_CAN_C const canMessageObjectConfigType g_messageObjectConf_ECU3_3ch_RX[NUMBER_OF_ECU3_CH3_RX_MESSAGE];
EXT_CAN_C const canMessageObjectConfigType g_messageObjectConf_ECU3_4ch_TX[NUMBER_OF_ECU3_CH4_TX_MESSAGE];
EXT_CAN_C const canMessageObjectConfigType g_messageObjectConf_ECU3_4ch_RX[NUMBER_OF_ECU3_CH4_RX_MESSAGE];
EXT_CAN_C const canMessageObjectConfigType g_messageObjectConf_ECU3_5ch_TX[NUMBER_OF_ECU3_CH5_TX_MESSAGE];
EXT_CAN_C const canMessageObjectConfigType g_messageObjectConf_ECU3_5ch_RX[NUMBER_OF_ECU3_CH5_RX_MESSAGE];
EXT_CAN_C ECU3_CAN ECU3;
EXT_CAN_C Dev_can_ CAN_ch[6];
EXT_CAN_C uint32_t can_data_set_rx(uint8_t ch, uint8_t data_type);
EXT_CAN_C void can_data_set_tx(uint8_t ch, uint8_t data_type, uint32_t data);
EXT_CAN_C void can_send_config(uint8_t ch, canMessageObjectConfigType config);
EXT_CAN_C void CAN_Task_5ms(void);
EXT_CAN_C void CAN_Task_10ms(void);
EXT_CAN_C void CAN_Task_20ms(void);
EXT_CAN_C void CAN_Task_100ms(void);
EXT_CAN_C void CAN_Task_200ms(void);
EXT_CAN_C void CAN_Task_1000ms(void);
EXT_CAN_C void ECU3_InputData_Set_for_Logic_5ms(void);
EXT_CAN_C void ECU3_InputData_Set_for_Logic_10ms(void);
EXT_CAN_C void ECU3_InputData_Set_for_Logic_20ms(void);
EXT_CAN_C void ECU3_InputData_Set_for_Logic_100ms(void);
EXT_CAN_C void ECU3_InputData_Set_for_Logic_200ms(void);
EXT_CAN_C void ECU3_InputData_Set_for_Logic_1000ms(void);
EXT_CAN_C void ECU3_CAN_Data_Set_5ms(void);
EXT_CAN_C void ECU3_CAN_Data_Set_10ms(void);
EXT_CAN_C void ECU3_CAN_Data_Set_20ms(void);
EXT_CAN_C void ECU3_CAN_Data_Set_100ms(void);
EXT_CAN_C void ECU3_CAN_Data_Set_200ms(void);
EXT_CAN_C void ECU3_CAN_Data_Set_1000ms(void);
EXT_CAN_C void ECU3_CAN_Bypass_5ms(void);
EXT_CAN_C void ECU3_CAN_Bypass_10ms(void);
EXT_CAN_C void ECU3_CAN_Bypass_20ms(void);
EXT_CAN_C void ECU3_CAN_Bypass_100ms(void);
EXT_CAN_C void ECU3_CAN_Bypass_200ms(void);
EXT_CAN_C void ECU3_CAN_Bypass_1000ms(void);
EXT_CAN_C void ECU3_CAN_Transmit_5ms(void);
EXT_CAN_C void ECU3_CAN_Transmit_10ms(void);
EXT_CAN_C void ECU3_CAN_Transmit_20ms(void);
EXT_CAN_C void ECU3_CAN_Transmit_100ms(void);
EXT_CAN_C void ECU3_CAN_Transmit_200ms(void);
EXT_CAN_C void ECU3_CAN_Transmit_1000ms(void);
/*ECU3 CH0 RX*/
EXT_CAN_C void Receive_BCM_VCU_Signal1_CH0_0x570(void);
EXT_CAN_C void Receive_BCM_VCU_Signal2_CH0_0x580(void);
EXT_CAN_C void Receive_BCM_VCU_Signal3_CH0_0x590(void);
EXT_CAN_C void Receive_BCM_VCU_Signal4_CH0_0x595(void);
EXT_CAN_C void Receive_BCM_VCU_Signal5_CH0_0x585(void);
EXT_CAN_C void Receive_IMU_VCU_Signal_CH0_0x020(void);
EXT_CAN_C void Receive_MCU_VCU_Signals1_CH0_0x300(void);
EXT_CAN_C void Receive_MCU_VCU_Signals2_CH0_0x301(void);
EXT_CAN_C void Receive_RC_VCU_Signal1_CH0_0x040(void);
EXT_CAN_C void Receive_RC_VCU_Signal2_CH0_0x041(void);
EXT_CAN_C void Receive_IMU_TX1_CH0_0x174(void);
EXT_CAN_C void Receive_IMU_TX1_CH0_0x178(void);
EXT_CAN_C void Receive_IMU_TX1_CH0_0x17C(void);
EXT_CAN_C void Receive_RC_VCU_BCM_Signal_1_CH0_0x155(void);
EXT_CAN_C void Receive_EPAM_VCU_CH0_0x221(void);
EXT_CAN_C void Receive_CH0_CAR_STAT_CH0_0x012(void);
EXT_CAN_C void Receive_Debugging_CH0_0x777(void);
EXT_CAN_C void Input_Data_Set_BCM_VCU_Signal1_CH0_0x570(void);
EXT_CAN_C void Input_Data_Set_BCM_VCU_Signal2_CH0_0x580(void);
EXT_CAN_C void Input_Data_Set_BCM_VCU_Signal3_CH0_0x590(void);
EXT_CAN_C void Input_Data_Set_BCM_VCU_Signal4_CH0_0x595(void);
EXT_CAN_C void Input_Data_Set_BCM_VCU_Signal5_CH0_0x585(void);
EXT_CAN_C void Input_Data_Set_IMU_VCU_Signal_CH0_0x020(void);
EXT_CAN_C void Input_Data_Set_MCU_VCU_Signals1_CH0_0x300(void);
EXT_CAN_C void Input_Data_Set_MCU_VCU_Signals2_CH0_0x301(void);
EXT_CAN_C void Input_Data_Set_RC_VCU_Signal1_CH0_0x040(void);
EXT_CAN_C void Input_Data_Set_RC_VCU_Signal2_CH0_0x041(void);
EXT_CAN_C void Input_Data_Set_RC_VCU_BCM_Signal_1_CH0_0x155(void);
EXT_CAN_C void Input_Data_Set_IMU_TX1_CH0_0x174(void);
EXT_CAN_C void Input_Data_Set_IMU_TX1_CH0_0x178(void);
EXT_CAN_C void Input_Data_Set_IMU_TX1_CH0_0x17C(void);
EXT_CAN_C void Input_Data_Set_EPAM_VCU_CH0_0x221(void);
EXT_CAN_C void Input_Data_Set_CH0_CAR_STAT_CH0_0x012(void);
/*ECU3 CH1 RX*/
EXT_CAN_C void Receive_ACU_VCU_Signal1_CH1_0x091(void);
EXT_CAN_C void Receive_ACU_VCU_Signal2_CH1_0x092(void);
EXT_CAN_C void Receive_ACU_VCU_Signal3_CH1_0x093(void);
EXT_CAN_C void Receive_ACU_BCM_Signal_1_CH1_0x150(void);
EXT_CAN_C void Input_Data_Set_ACU_VCU_Signal1_CH1_0x091(void);
EXT_CAN_C void Input_Data_Set_ACU_VCU_Signal2_CH1_0x092(void);
EXT_CAN_C void Input_Data_Set_ACU_VCU_Signal3_CH1_0x093(void);
EXT_CAN_C void Input_Data_Set_ACU_BCM_Signal_1_CH1_0x150(void);
/*ECU3 CH2 RX*/
EXT_CAN_C void Receive_IDB_BrakeStatus1_CH2_0x09A(void);
EXT_CAN_C void Receive_IDB_BrakeStatus2_CH2_0x0C8(void);
EXT_CAN_C void Receive_IDB_PressureStatus_CH2_0x0A0(void);
EXT_CAN_C void Receive_IDB_RegenTcsRequest_CH2_0x082(void);
EXT_CAN_C void Receive_IDB_Status_CH2_0x092(void);
EXT_CAN_C void Receive_IDB_TireSlipStatus_CH2_0x096(void);
EXT_CAN_C void Receive_IDB_UdsResponse_CH2_0x798(void);
EXT_CAN_C void Receive_IDB_WheelStatus_CH2_0x08C(void);
EXT_CAN_C void Receive_RWA_Status1_CH2_0x072(void);
EXT_CAN_C void Receive_RWA_Status2_CH2_0x073(void);
EXT_CAN_C void Receive_RWA_Status3_CH2_0x0AA(void);
EXT_CAN_C void Input_Data_Set_IDB_BrakeStatus1_CH2_0x09A(void);
EXT_CAN_C void Input_Data_Set_IDB_BrakeStatus2_CH2_0x0C8(void);
EXT_CAN_C void Input_Data_Set_IDB_PressureStatus_CH2_0x0A0(void);
EXT_CAN_C void Input_Data_Set_IDB_RegenTcsRequest_CH2_0x082(void);
EXT_CAN_C void Input_Data_Set_IDB_Status_CH2_0x092(void);
EXT_CAN_C void Input_Data_Set_IDB_TireSlipStatus_CH2_0x096(void);
EXT_CAN_C void Input_Data_Set_IDB_UdsResponse_CH2_0x798(void);
EXT_CAN_C void Input_Data_Set_IDB_WheelStatus_CH2_0x08C(void);
EXT_CAN_C void Input_Data_Set_RWA_Status1_CH2_0x072(void);
EXT_CAN_C void Input_Data_Set_RWA_Status2_CH2_0x073(void);
EXT_CAN_C void Input_Data_Set_RWA_Status3_CH2_0x0AA(void);
/*ECU3 CH3 RX*/
EXT_CAN_C void Receive_RCU_BrakeStatus1_CH3_0x09B(void);
EXT_CAN_C void Receive_RCU_BrakeStatus2_CH3_0x0C9(void);
EXT_CAN_C void Receive_RCU_PressureStatus_CH3_0x0A1(void);
EXT_CAN_C void Receive_RWA_Status1_CH3_0x072(void);
EXT_CAN_C void Receive_RWA_Status2_CH3_0x073(void);
EXT_CAN_C void Receive_RWA_Status3_CH3_0x0AA(void);
EXT_CAN_C void Receive_RCU_TireSlipStatus_CH3_0x097(void);
EXT_CAN_C void Receive_RCU_WheelStatus_CH3_0x08D(void);
EXT_CAN_C void Receive_RCU_Status_CH3_0x093(void);
EXT_CAN_C void Receive_RCU_UdsResponse_CH3_0x799(void);
EXT_CAN_C void Input_Data_Set_RCU_BrakeStatus1_CH3_0x09B(void);
EXT_CAN_C void Input_Data_Set_RCU_BrakeStatus2_CH3_0x0C9(void);
EXT_CAN_C void Input_Data_Set_RCU_PressureStatus_CH3_0x0A1(void);
EXT_CAN_C void Input_Data_Set_RWA_Status1_CH3_0x072(void);
EXT_CAN_C void Input_Data_Set_RWA_Status2_CH3_0x073(void);
EXT_CAN_C void Input_Data_Set_RWA_Status3_CH3_0x0AA(void);
EXT_CAN_C void Input_Data_Set_RCU_TireSlipStatus_CH3_0x097(void);
EXT_CAN_C void Input_Data_Set_RCU_WheelStatus_CH3_0x08D(void);
EXT_CAN_C void Input_Data_Set_RCU_Status_CH3_0x093(void);
EXT_CAN_C void Input_Data_Set_RCU_UdsResponse_CH3_0x799(void);
/*ECU3 CH4 RX*/
EXT_CAN_C void Receive_RWS_VCU_Rack_AngleFbk_CH4_0x073(void);
EXT_CAN_C void Receive_RWS_VCU_stat_Signal_CH4_0x072(void);
EXT_CAN_C void Input_Data_Set_RWS_VCU_Rack_AngleFbk_CH4_0x073(void);
EXT_CAN_C void Input_Data_Set_RWS_VCU_stat_Signal_CH4_0x072(void);
/*ECU3 CH5 RX*/
EXT_CAN_C void Receive_RWS_VCU_Rack_AngleFbk_CH5_0x073(void);
EXT_CAN_C void Receive_RWS_VCU_stat_Signal_CH5_0x072(void);
EXT_CAN_C void Input_Data_Set_RWS_VCU_Rack_AngleFbk_CH5_0x073(void);
EXT_CAN_C void Input_Data_Set_RWS_VCU_stat_Signal_CH5_0x072(void);
/*ECU3 CH0 TX*/
EXT_CAN_C void Output_Data_Set_RWA_VCU_RC_Signal1_CH0_0x050(void);
EXT_CAN_C void Output_Data_Set_RWA_VCU_RC_Signal2_CH0_0x051(void);
EXT_CAN_C void Output_Data_Set_RWS_VCU_RC_Signal1_CH0_0x060(void);
EXT_CAN_C void Output_Data_Set_RWS_VCU_RC_Signal2_CH0_0x061(void);
EXT_CAN_C void Output_Data_Set_VCU_BCM_Signal_1_CH0_0x150(void);
EXT_CAN_C void Output_Data_Set_VCU_BCM_Signal_2_CH0_0x180(void);
EXT_CAN_C void Output_Data_Set_VCU_MCU_Signals1_CH0_0x250(void);
EXT_CAN_C void Output_Data_Set_VCU_RC_Signals1_CH0_0x010(void);
EXT_CAN_C void Output_Data_Set_VCU_RC_Signals2_CH0_0x011(void);
EXT_CAN_C void Output_Data_Set_VCU_EPAM_CH0_0x220(void);
EXT_CAN_C void Output_Data_Set_SW_VER_CH0_0x100(void);
EXT_CAN_C void Output_Data_Set_CAR_STAT_CH0_0x012(void);
EXT_CAN_C void Bypass_Data_Set_RWA_VCU_RC_Signal1_0x050(void);
EXT_CAN_C void Bypass_Data_Set_RWA_VCU_RC_Signal2_0x051(void);
EXT_CAN_C void Bypass_Data_Set_RWS_VCU_RC_Signal1_0x060(void);
EXT_CAN_C void Bypass_Data_Set_RWS_VCU_RC_Signal2_0x061(void);
EXT_CAN_C void Bypass_Data_Set_ACU_BCM_Signal_1_CH1_to_CH0_0x150(void);
EXT_CAN_C void Transmit_RWA_VCU_RC_Signal1_CH0_0x050(void);
EXT_CAN_C void Transmit_RWA_VCU_RC_Signal2_CH0_0x051(void);
EXT_CAN_C void Transmit_RWS_VCU_RC_Signal1_CH0_0x060(void);
EXT_CAN_C void Transmit_RWS_VCU_RC_Signal2_CH0_0x061(void);
EXT_CAN_C void Transmit_VCU_BCM_Signal_1_CH0_0x150(void);
EXT_CAN_C void Transmit_VCU_BCM_Signal_2_CH0_0x180(void);
EXT_CAN_C void Transmit_VCU_MCU_Signals1_CH0_0x250(void);
EXT_CAN_C void Transmit_VCU_RC_Signals1_CH0_0x010(void);
EXT_CAN_C void Transmit_VCU_RC_Signals2_CH0_0x011(void);
EXT_CAN_C void Transmit_VCU_EPAM_CH0_0x220(void);
EXT_CAN_C void Transmit_SW_VER_CH0_0x100(void);
EXT_CAN_C void Transmit_CH0_CAR_STAT_CH0_0x012(void);
/*ECU3 CH1 TX*/
EXT_CAN_C void Output_Data_Set_BCM_VCU_ACU_Signal1_CH1_0x570(void);
EXT_CAN_C void Output_Data_Set_BCM_VCU_ACU_Signal2_CH1_0x580(void);
EXT_CAN_C void Output_Data_Set_BCM_VCU_ACU_Signal3_CH1_0x590(void);
EXT_CAN_C void Output_Data_Set_BCM_VCU_ACU_Signal4_CH1_0x595(void);
EXT_CAN_C void Output_Data_Set_BCM_VCU_ACU_Signal5_CH1_0x585(void);
EXT_CAN_C void Output_Data_Set_RWA_VCU_ACU_Signal1_CH1_0x050(void);
EXT_CAN_C void Output_Data_Set_RWA_VCU_ACU_Signal2_CH1_0x051(void);
EXT_CAN_C void Output_Data_Set_RWS_VCU_ACU_Signal1_CH1_0x060(void);
EXT_CAN_C void Output_Data_Set_RWS_VCU_ACU_Signal2_CH1_0x061(void);
EXT_CAN_C void Output_Data_Set_VCU_ACU_Signal1_CH1_0x013(void);
EXT_CAN_C void Output_Data_Set_VCU_ACU_Signal2_CH1_0x014(void);
EXT_CAN_C void Output_Data_Set_VCU_ACU_Signal3_CH1_0x015(void);
EXT_CAN_C void Output_Data_Set_CH1_IMU_TX1_CH1_0x174(void);
EXT_CAN_C void Output_Data_Set_CH1_IMU_TX2_CH1_0x178(void);
EXT_CAN_C void Output_Data_Set_CH1_IMU_TX3_CH1_0x17C(void);
EXT_CAN_C void Output_Data_Set_CH1_ACU_CAR_STAT_CH1_0x016(void);
EXT_CAN_C void Bypass_Data_Set_BCM_VCU_Signal1_0x570_CH0_to_CH1(void);
EXT_CAN_C void Bypass_Data_Set_BCM_VCU_Signal2_0x580_CH0_to_CH1(void);
EXT_CAN_C void Bypass_Data_Set_BCM_VCU_Signal3_0x590_CH0_to_CH1(void);
EXT_CAN_C void Bypass_Data_Set_BCM_VCU_Signal4_0x595_CH0_to_CH1(void);
EXT_CAN_C void Bypass_Data_Set_BCM_VCU_Signal5_0x585_CH0_to_CH1(void);
EXT_CAN_C void Bypass_Data_Set_RWA_VCU_ACU_Signal1_CH3_to_CH1_0x050(void);
EXT_CAN_C void Bypass_Data_Set_RWA_VCU_ACU_Signal2_CH2_to_CH1_0x051(void);
EXT_CAN_C void Bypass_Data_Set_RWS_VCU_ACU_Signal1_CH4_to_CH1_0x060(void);
EXT_CAN_C void Bypass_Data_Set_RWS_VCU_ACU_Signal2_CH5_to_CH1_0x061(void);
EXT_CAN_C void Transmit_BCM_VCU_ACU_Signal1_CH1_0x570(void);
EXT_CAN_C void Transmit_BCM_VCU_ACU_Signal2_CH1_0x580(void);
EXT_CAN_C void Transmit_BCM_VCU_ACU_Signal3_CH1_0x590(void);
EXT_CAN_C void Transmit_BCM_VCU_ACU_Signal4_CH1_0x595(void);
EXT_CAN_C void Transmit_BCM_VCU_ACU_Signal5_CH1_0x585(void);
EXT_CAN_C void Transmit_RWA_VCU_ACU_Signal1_CH1_0x050(void);
EXT_CAN_C void Transmit_RWA_VCU_ACU_Signal2_CH1_0x051(void);
EXT_CAN_C void Transmit_RWS_VCU_ACU_Signal1_CH1_0x060(void);
EXT_CAN_C void Transmit_RWS_VCU_ACU_Signal2_CH1_0x061(void);
EXT_CAN_C void Transmit_VCU_ACU_Signal1_CH1_0x013(void);
EXT_CAN_C void Transmit_VCU_ACU_Signal2_CH1_0x014(void);
EXT_CAN_C void Transmit_VCU_ACU_Signal3_CH1_0x015(void);
EXT_CAN_C void Transmit_CH1_IMU_TX1_CH1_0x174(void);
EXT_CAN_C void Transmit_CH1_IMU_TX2_CH1_0x178(void);
EXT_CAN_C void Transmit_CH1_IMU_TX3_CH1_0x17C(void);
EXT_CAN_C void Transmit_CH1_ACU_CAR_STAT_CH1_0x016(void);
/*ECU3 CH2 TX*/
EXT_CAN_C void Output_Data_Set_BSC_IDB_BrakeCommand_CH2_0x064(void);
EXT_CAN_C void Output_Data_Set_BSC_IMU_CH2_0x070(void);
EXT_CAN_C void Output_Data_Set_BSC_IDB_StartupCommand_CH2_0x032(void);
EXT_CAN_C void Output_Data_Set_BSC_IDB_UdsRequest_CH2_0x796(void);
EXT_CAN_C void Output_Data_Set_BSC_RegenCommand_CH2_0x06A(void);
EXT_CAN_C void Output_Data_Set_BSC_RWA_RackCommand_CH2_0x040(void);
EXT_CAN_C void Output_Data_Set_BSC_RWA_Sister_CH2_0x350(void);
EXT_CAN_C void Output_Data_Set_BSC_RWA_StartupCommand_CH2_0x310(void);
EXT_CAN_C void Output_Data_Set_BSC_VehicleEnvironment_CH2_0x384(void);
EXT_CAN_C void Output_Data_Set_IDB_WheelSpeedStatus_CH2_0x088(void);
EXT_CAN_C void Bypass_Data_Set_BSC_RWA_RackCommand_CH2_0x040(void);
EXT_CAN_C void Transmit_BSC_IDB_BrakeCommand_CH2_0x064(void);
EXT_CAN_C void Transmit_BSC_IMU_CH2_0x070(void);
EXT_CAN_C void Transmit_BSC_IDB_StartupCommand_CH2_0x032(void);
EXT_CAN_C void Transmit_BSC_IDB_UdsRequest_CH2_0x796(void);
EXT_CAN_C void Transmit_BSC_RegenCommand_CH2_0x06A(void);
EXT_CAN_C void Transmit_BSC_RWA_RackCommand_CH2_0x040(void);
EXT_CAN_C void Transmit_BSC_RWA_Sister_CH2_0x350(void);
EXT_CAN_C void Transmit_BSC_RWA_StartupCommand_CH2_0x310(void);
EXT_CAN_C void Transmit_BSC_VehicleEnvironment_CH2_0x384(void);
EXT_CAN_C void Transmit_IDB_WheelSpeedStatus_CH2_0x088(void);
/*ECU3 CH3 TX*/
EXT_CAN_C void Output_Data_Set_BSC_IMU_CH3_0x071(void);
EXT_CAN_C void Output_Data_Set_BSC_RCU_BrakeCommand_CH3_0x065(void);
EXT_CAN_C void Output_Data_Set_BSC_RWA_RackCommand_CH3_0x040(void);
EXT_CAN_C void Output_Data_Set_BSC_RWA_Sister_CH3_0x350(void);
EXT_CAN_C void Output_Data_Set_BSC_RWA_StartupCommand_CH3_0x310(void);
EXT_CAN_C void Output_Data_Set_BSC_RCU_StartupCommand_CH3_0x033(void);
EXT_CAN_C void Output_Data_Set_BSC_RCU_UdsRequest_CH3_0x797(void);
EXT_CAN_C void Output_Data_Set_BSC_VehicleEnvironment_CH3_0x385(void);
EXT_CAN_C void Output_Data_Set_RCU_WheelSpeedStatus_CH3_0x089(void);
//EXT_CAN_C void Output_Data_Set_VCU_RWA_Sister_CH3_0x350(void);
EXT_CAN_C void Bypass_Data_Set_BSC_RWA_RackCommand_CH3_0x040(void);
EXT_CAN_C void Transmit_BSC_IMU_CH3_0x071(void);
EXT_CAN_C void Transmit_BSC_RCU_BrakeCommand_CH3_0x065(void);
EXT_CAN_C void Transmit_BSC_RWA_RackCommand_CH3_0x040(void);
EXT_CAN_C void Transmit_BSC_RWA_Sister_CH3_0x350(void);
EXT_CAN_C void Transmit_BSC_RWA_StartupCommand_CH3_0x310(void);
EXT_CAN_C void Transmit_BSC_RCU_StartupCommand_CH3_0x033(void);
EXT_CAN_C void Transmit_BSC_RCU_UdsRequest_CH3_0x797(void);
EXT_CAN_C void Transmit_BSC_VehicleEnvironment_CH3_0x385(void);
EXT_CAN_C void Transmit_RCU_WheelSpeedStatus_CH3_0x089(void);
/*ECU3 CH4 TX*/
EXT_CAN_C void Output_Data_Set_VCU_RWS_Rack_Cmd_CH4_0x040(void);
EXT_CAN_C void Output_Data_Set_VCU_RWS_StartupCommand_CH4_0x310(void);
EXT_CAN_C void Output_Data_Set_VCU_RWS_Sister_CH4_0x350(void);
EXT_CAN_C void Bypass_Data_Set_VCU_RWS_Rack_Cmd_CH4_0x040(void);
EXT_CAN_C void Transmit_VCU_RWS_Rack_Cmd_CH4_0x040(void);
EXT_CAN_C void Transmit_VCU_RWS_StartupCommand_CH4_0x310(void);
EXT_CAN_C void Transmit_VCU_RWS_Sister_CH4_0x350(void);
/*ECU3 CH5 TX*/
EXT_CAN_C void Output_Data_Set_VCU_RWS_Rack_Cmd_CH5_0x040(void);
EXT_CAN_C void Output_Data_Set_VCU_RWS_StartupCommand_CH5_0x310(void);
EXT_CAN_C void Output_Data_Set_VCU_RWS_Sister_CH5_0x350(void);
EXT_CAN_C void Bypass_Data_Set_VCU_RWS_Rack_Cmd_CH5_0x040(void);
EXT_CAN_C void Transmit_VCU_RWS_Rack_Cmd_CH5_0x040(void);
EXT_CAN_C void Transmit_VCU_RWS_StartupCommand_CH5_0x310(void);
EXT_CAN_C void Transmit_VCU_RWS_Sister_CH5_0x350(void);
#endif