HS550/ECU_APP/user/can_user.h

196 lines
5.1 KiB
C
Raw Normal View History

2024-05-22 23:21:15 +08:00
#ifndef _CAN_USER_H
#define _CAN_USER_H
#include "r_rl78_can_drv.h"
typedef union{
unsigned int Msg_Word[4];
unsigned char Msg_Byte[8];
struct{
unsigned char MSW_PsdBtnReq:2;//byte1
unsigned char MSW_RotReq:2;
unsigned char MSW_TogReq:4;
unsigned char MSW_BtnFltSts:1;//byte2
unsigned char Reserve_1:7;
unsigned char MSW_RotStep:8;//byte3
unsigned char Reserve_3:8;//byte4
unsigned char Reserve_4:8;//byte5
unsigned char Reserve_5:8;//byte6
unsigned char Reserve_6:8;//byte7
unsigned char Reserve_7:8;//byte8
}Msg_Part;
}Can_Msg_Type_212;
extern can_frame_t RxCanMessage;
extern unsigned char BusOff_flag;
extern unsigned char BusOff_IGN_cycle_count;
extern unsigned int BusOff_Detect_delay_count;
extern unsigned char Engine_Temperature,Engine_Temperature_temp;
extern unsigned int Vehicle_Speed,Vehicle_Speed_temp;
extern unsigned char Engine_Temperature_already,Vehicle_Speed_already;
extern uint16_t air_req_timer;
extern unsigned char CAN_SEND_COMPLETE;
extern unsigned char Can_2F_SET_run;
extern unsigned char DiagnosticSession_Present;//1,2,3
extern unsigned char Tx_Rx_Enable;//0:none 1:Tx 2:Rx 3:Tx Rx
extern unsigned char Nw28sTxRxStatus;//0:none 1:Tx 2:Rx 3:Tx Rx
extern unsigned char App28sTxRxStatus;//0:none 1:Tx 2:Rx 3:Tx Rx
#define DCM28S_MASK_TX_DISABLE 0X01
#define DCM28S_MASK_RX_DISABLE 0X02
void TxServe(void);
void CAN_TX_MESSAGE_INIT(void);
void Copy_Array_to_Array(unsigned char *dest, unsigned char *src,unsigned char count);
/*************************VF12***********************************/
typedef union{
unsigned int Msg_Word[4];
unsigned char Msg_Byte[8];
struct{
unsigned char :8; //1 0-7
unsigned char :8; //2 8-15
unsigned char :8; //3 16-23
unsigned char :8; //4 24-31
unsigned char :3; //5 32-34
unsigned char Backlightadjust:5;//5 35-39
unsigned char :8; //6 40-47
unsigned char :8; //7 48-55
unsigned char :8; //8 56-63
}Msg_Bit;
}Can_Msg_Type_26D;
typedef union{
unsigned int Msg_Word[4];
unsigned char Msg_Byte[8];
struct{
unsigned char :8;//1
unsigned char VCU_VehSpd1:3;//2
unsigned char :5;
unsigned char VCU_VehSpd2:8;//3
unsigned char :6;//4
unsigned char VCU_VehSpd3:2;
unsigned char :8;//5
unsigned char :8;//6
unsigned char :8;//7
unsigned char :8;//8
}Msg_Bit;
}Can_Msg_Type_403;
2024-05-23 17:02:37 +08:00
2024-05-22 23:21:15 +08:00
typedef union{
unsigned int Msg_Word[4];
unsigned char Msg_Byte[8];
struct{
//BYTE 1
2024-05-23 17:02:37 +08:00
unsigned char reverse10:4;
unsigned char SwitchButton_NearOrFarLight:1; //P82远近光切换按钮
unsigned char reverse11:1;
unsigned char FogLampSwitch:1; //P125雾灯开关
unsigned char HeadLampSwitch:1; //P81自动感应大灯开关
2024-05-22 23:21:15 +08:00
//BYTE 2
2024-05-23 17:02:37 +08:00
unsigned char FAxle_2_4WD_DifLock:1; //P80前桥2/4WD、差速锁开关
unsigned char reverse20:3;
unsigned char Trumpet:1; //P63喇叭
unsigned char reverse21:3;
2024-05-22 23:21:15 +08:00
//BYTE 3
2024-05-23 17:02:37 +08:00
unsigned char LeftSteering:1;//P30左转向
unsigned char reverse30:7;//
//BYTE 4
unsigned char WarningAgainstDanger:1;//P17应急灯开关
unsigned char TurnOnTheHeater:1;//P34座椅加热
unsigned char reverse40:2;//
unsigned char MODEL_SEL:1;//P83MODE
unsigned char reverse41:3;//
//BYTE 5/6/7
unsigned char reverse5:8;//
unsigned char reverse6:8;//
unsigned char reverse7:8;//
//BYTE 8
unsigned char checksum:8;//
}Msg_Bit;
}Can_Msg_Type_220;
typedef union{
unsigned int Msg_Word[4];
unsigned char Msg_Byte[8];
struct{
//BYTE 1 bit 0
unsigned char reverse10:3; //喇叭开关
unsigned char TCS_TractionControl:1; //左转向开关
unsigned char reverse11:1; //P30预留15
unsigned char reverse12:1; //P63预留16
unsigned char reverse13:2; //
//BYTE 2 bit 8
unsigned char reverse20:2; //
unsigned char HandleHeating:1; //P83手把加热
unsigned char reverse21:3; //
unsigned char DifferentialLock:1; //P125后桥差速锁开关
unsigned char reverse22:1; //
//BYTE 3 bit 16
2024-05-22 23:21:15 +08:00
unsigned char reverse3:8;//
2024-05-23 17:02:37 +08:00
//BYTE 4 bit 24
2024-05-24 16:35:36 +08:00
unsigned char reverse40:6;//
2024-05-23 17:02:37 +08:00
unsigned char RightSteering:1;//P34右转向
2024-05-24 16:35:36 +08:00
unsigned char reverse41:1;//
2024-05-23 17:02:37 +08:00
//BYTE 5 bit 32
unsigned char reverse50:4;//
unsigned char EngineIgnitionStopControl:1;//P81熄火
unsigned char reverse1:3;//
//BYTE 6 bit 40
unsigned char CrankingMotor:1;//P80启动
unsigned char DIST_SET:1;//P17SET
unsigned char reverse60:6;//
//BYTE 7 bit 48
unsigned char reverse7:8;//
2024-05-22 23:21:15 +08:00
//BYTE 8
unsigned char checksum:8;//5
}Msg_Bit;
2024-05-23 17:02:37 +08:00
}Can_Msg_Type_101;
2024-05-22 23:21:15 +08:00
2024-05-23 17:02:37 +08:00
extern unsigned int CAN_LostCount;
2024-05-22 23:21:15 +08:00
2024-05-23 17:02:37 +08:00
extern Can_Msg_Type_101 CAN_101;
extern Can_Msg_Type_220 CAN_220;
2024-05-22 23:21:15 +08:00
extern void Can_init_id(can_frame_t *TxMessage,unsigned int canid);
void TxTestMsg(void);
void ClearTxCounter(void);
#endif