159 lines
3.8 KiB
C
159 lines
3.8 KiB
C
#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_486;
|
|
|
|
typedef union{
|
|
unsigned int Msg_Word[4];
|
|
unsigned char Msg_Byte[8];
|
|
struct{
|
|
//BYTE 1
|
|
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; //
|
|
//BYTE 2
|
|
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; //
|
|
|
|
//BYTE 3
|
|
unsigned char b20:1;//
|
|
unsigned char b21:1;//
|
|
unsigned char b22:1;//
|
|
unsigned char b23:1;//
|
|
|
|
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_486 CAN_486;
|
|
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 |