HS550/ECU_APP/user/can_user.h

157 lines
4.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;
typedef union{
unsigned int Msg_Word[4];
unsigned char Msg_Byte[8];
struct{
//BYTE 1
unsigned char LB:1; //喇叭开关
unsigned char ZZ:1; //左转向开关
unsigned char YZ:1; //右转向开关
unsigned char ZXFW:1; //转向复位开关
unsigned char JS:1; //警示开关
unsigned char YJ:1; //远近光开关
unsigned char CC:1; //超车开关
unsigned char DD:1; //大灯开关
//BYTE 2
unsigned char DFS:1; //挡风玻璃调节开关(升)
unsigned char DFJ:1; //挡风玻璃调节开关(降)
unsigned char MS:1; //仪表确认开关(模式选择)
unsigned char YBFH:1; //仪表返回开关
unsigned char YBS:1; //仪表调节开关(上)
unsigned char YBX:1; //仪表调节开关(下)
unsigned char QD:1; //启动开关
unsigned char XH:1; //熄火开关
//BYTE 3
unsigned char WBJR:1;//握把加热开关
unsigned char ZYJR:1;//座椅加热开关
unsigned char YD:1;//夜灯开关
unsigned char TCS:1;//TCS
unsigned char reverse1:4;//
//BYTE 4/5/6
unsigned char reverse2:8;//
unsigned char reverse3:8;//
unsigned char reverse4:8;//
//BYTE 7
unsigned char rolling:4;//报文计数器
unsigned char reverse5:4;//
//BYTE 8
unsigned char checksum:8;//5
}Msg_Bit;
}Can_Msg_Type_50A;
extern Can_Msg_Type_50A CAN_50A;
extern Can_Msg_Type_403 CAN_403;
extern Can_Msg_Type_26D CAN_26D;
extern unsigned int CAN_LostCount;
extern void Can_init_id(can_frame_t *TxMessage,unsigned int canid);
void TxTestMsg(void);
void ClearTxCounter(void);
#endif