#ifndef _CAN_USER_H #define _CAN_USER_H #include "r_rl78_can_drv.h" typedef union{ unsigned int Msg_Word[2]; unsigned char Msg_Byte[4]; struct{ //byte 0 0 unsigned char SL_Lswitch:1; unsigned char SL_Hswitch:1; unsigned char SL_Fswitch:1; unsigned char SL_Nswitch:1; unsigned char SL_Rswitch:1; unsigned char switch1:1; unsigned char switch2:1; unsigned char Reserve_1:1; //byte 1 8 unsigned char Reserve_2:8; //byte 2 16 unsigned char err1:1;//HorL_SwitchFault 20240815delete unsigned char err2:1;//F_SwitchFault unsigned char err3:1;//N_SwitchFault unsigned char err4:1;//R_SwitchFault unsigned char err5:1;//F_OperationFault unsigned char err6:1;//N_OperationFault unsigned char err7:1;//R_OperationFault unsigned char err8:1; //byte 3 24 unsigned char F_OP:1;//F_operation prompt unsigned char N_OP:1;//N_operation prompt unsigned char R_OP:1;//R_operation prompt unsigned char Reserve_3:5; //byte 4 - 6 unsigned char Reserve_4:8; unsigned char Reserve_5:8; unsigned char Reserve_6:8; //byte 7 unsigned char CRC:8; }Msg_Part; }Can_Msg_Type_188; typedef union{ unsigned int Msg_Word[2]; unsigned char Msg_Byte[4]; struct{ //byte 0 0 unsigned char P_light:2; unsigned char Reserve_0:6; //byte 1-7 unsigned char Reserve_1; unsigned char Reserve_2; unsigned char Reserve_3; unsigned char Reserve_4; unsigned char Reserve_5; unsigned char Reserve_6; unsigned char Reserve_7; }Msg_Part; }Can_Msg_Type_189; extern Can_Msg_Type_188 CAN_188; extern Can_Msg_Type_189 CAN_189; 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 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); extern unsigned int CAN_LostCount; extern void Can_init_id(can_frame_t *TxMessage,unsigned int canid); void TxTestMsg(void); #endif