HWBS/ECU_APP/user/can_user.h

159 lines
3.8 KiB
C
Raw Normal View History

2023-08-21 16:48:00 +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;
2023-08-22 14:04:32 +08:00
}Can_Msg_Type_486;
2023-08-21 16:48:00 +08:00
typedef union{
unsigned int Msg_Word[4];
unsigned char Msg_Byte[8];
struct{
//BYTE 1
2023-08-22 14:04:32 +08:00
unsigned char b00:1; //
unsigned char b01:1; //
unsigned char b02:1; //
unsigned char b03:1; //
unsigned char b04:1; //
unsigned char b05:1; //
unsigned char b06:1; //
unsigned char b07:1; //
2023-08-21 16:48:00 +08:00
//BYTE 2
2023-08-22 14:04:32 +08:00
unsigned char b10:1; //
unsigned char b11:1; //
unsigned char b12:1; //
unsigned char b13:1; //
unsigned char b14:1; //
unsigned char b15:1; //
unsigned char b16:1; //
unsigned char b17:1; //
2023-08-21 16:48:00 +08:00
//BYTE 3
2023-08-22 14:04:32 +08:00
unsigned char b20:1;//
unsigned char b21:1;//
unsigned char b22:1;//
unsigned char b23:1;//
2023-08-21 16:48:00 +08:00
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;
2023-08-22 14:04:32 +08:00
extern Can_Msg_Type_486 CAN_486;
2023-08-21 16:48:00 +08:00
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