ADM/GW/src/can.h
2024-12-09 18:28:21 +09:00

1946 lines
62 KiB
C
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#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 <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;
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 ; // <20><>ȣó<C8A3><C3B3>
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 <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