#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 : 2; uint32 TMS_FltSta : 2; float OBC_TEMP ; float LDC_TEMP ; uint32 OBC_ACTL_CUR : 8; uint32 OBC_TRGT_CUR : 8; uint32 User_SoC : 8; 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 �߰� 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 �߰� 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; uint32 CAR_ChargingStatus : 3; uint8 CAR_BMS_HVOn_STA : 1; }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_Bms_PackVolt :16 ; uint32 CAR_Bms_PackCur :16 ; // ºÎȣó¸® uint32 CAR_Battery_Voltage : 16; uint32 CAR_LDC_ACTL_CUR : 8; uint32 CAR_LDC_ACTL_VOLT : 8; // uint32 CAR_ChargingStatus : 3; // uint8 CAR_BMS_HVOn_STA : 1; }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 Áø´Ü ¸Þ¼¼Áö 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