LYFJDB/ECU_APP/user/can_user.h

119 lines
2.8 KiB
C
Raw Normal View History

2024-07-07 16:42:04 +08:00
#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
2024-08-15 19:34:44 +08:00
unsigned char err1:1;//HorL_SwitchFault 20240815delete
2024-07-07 16:42:04 +08:00
unsigned char err2:1;//F_SwitchFault
2024-08-15 19:34:44 +08:00
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
2024-07-07 16:42:04 +08:00
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;
2024-08-15 19:34:44 +08:00
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;
2024-07-07 16:42:04 +08:00
2024-08-15 19:34:44 +08:00
extern Can_Msg_Type_188 CAN_188;
extern Can_Msg_Type_189 CAN_189;
2024-07-07 16:42:04 +08:00
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