HS550/ECU_APP/user/can_user.h
2024-05-23 17:02:37 +08:00

196 lines
5.1 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_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;
typedef union{
unsigned int Msg_Word[4];
unsigned char Msg_Byte[8];
struct{
//BYTE 1
unsigned char reverse10:4;
unsigned char SwitchButton_NearOrFarLight:1; //P82远近光切换按钮
unsigned char reverse11:1;
unsigned char FogLampSwitch:1; //P125雾灯开关
unsigned char HeadLampSwitch:1; //P81自动感应大灯开关
//BYTE 2
unsigned char FAxle_2_4WD_DifLock:1; //P80前桥2/4WD、差速锁开关
unsigned char reverse20:3;
unsigned char Trumpet:1; //P63喇叭
unsigned char reverse21:3;
//BYTE 3
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
unsigned char reverse3:8;//
//BYTE 4 bit 24
unsigned char reverse40:5;//
unsigned char RightSteering:1;//P34右转向
unsigned char reverse41:2;//
//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;//
//BYTE 8
unsigned char checksum:8;//5
}Msg_Bit;
}Can_Msg_Type_101;
extern unsigned int CAN_LostCount;
extern Can_Msg_Type_101 CAN_101;
extern Can_Msg_Type_220 CAN_220;
extern void Can_init_id(can_frame_t *TxMessage,unsigned int canid);
void TxTestMsg(void);
void ClearTxCounter(void);
#endif