#ifndef _CAN_APP_H_
#define _CAN_APP_H_
#include "RTE.h"
#include "Application.h"
#include "Components.h"
extern uint16_t AliveCountTimer;
typedef union
{
uint8_t Msg [ 8 ];
struct
{
uint8_t Res0 : 3;
uint8_t TCS_TX : 1;
uint8_t Res1: 4;
uint8_t Res2: 8;
uint8_t Res3: 8;
uint8_t Res6 : 8;
uint8_t Res4: 8;
uint8_t Res7 : 8;
uint8_t Res5: 8;
uint8_t CheckSum: 5;
uint8_t AliveCounter: 3;
} Sig;
} CANMsg220Union;
typedef union
{
uint8_t Msg [ 8 ];
struct
{
uint8_t Coolant_Seg_TX : 4;
uint8_t Fuel_Seg_TX : 4;
uint8_t Res0 : 8;
uint8_t Fuel_Res_TX : 8;
uint8_t Vsppe_H3_TX : 3;
uint8_t Res1 : 1;
uint8_t Coolant_Warn_TX : 1;
uint8_t Res2 : 2;
uint8_t Uint_TX : 1;
uint8_t Vsppe_L8_TX : 8;
uint8_t ODO_TX_H : 8;
uint8_t ODO_TX_M : 8;
uint8_t ODO_TX_L : 8;
} Sig;
} CANMsg6EEUnion;
typedef union
{
uint8_t Msg [ 8 ];
struct
{
uint8_t Espeed_TX : 8;
uint8_t Coolant_TX : 8;
uint8_t TripA_H : 8;
uint8_t TripA_L : 8;
uint8_t TripB : 8;
uint8_t Res2 : 8;
uint8_t Res1 : 8;
uint8_t Res3 : 8;
} Sig;
} CANMsg6EFUnion;
typedef union
{
uint8_t Msg [ 8 ];
struct
{
uint8_t Front_Pressure_TX_H : 8;
uint8_t Front_Pressure_TX_L : 8;
uint8_t Rear_Pressure_TX_H : 8;
uint8_t Rear_Pressure_TX_L : 8;
//uint32_t Front_Air_Leakage_TX : 1;
//uint32_t Rear_Air_Leakage_TX : 1;
//uint32_t Front_Low_Voltage_TX : 1;
//uint32_t Rear_Low_Voltage_TX : 1;
//uint32_t Front_High_Temp_TX : 1;
//uint32_t Rear_High_Temp_TX : 1;
//uint32_t Res0 : 2;
uint8_t Res1 : 8;
uint8_t Res2 : 8;
uint8_t Res3 : 8;
uint8_t Res4 : 8;
} Sig;
} CANMsg450Union;
typedef union
{
uint8_t Msg [ 8 ];
struct
{
uint8_t TPMS_LEARN_CND_BYTE0 : 8;
uint8_t TPMS_LEARN_CND_BYTE1 : 8;
uint8_t TPMS_LEARN_CND_BYTE2 : 8;
uint8_t TPMS_LEARN_CND_BYTE3 : 8;
uint8_t TPMS_LEARN_CND_BYTE4 : 8;
uint8_t Res1 : 8;
uint8_t Res2 : 8;
uint8_t Res13 : 8;
} Sig;
} CANMsg580Union;
void Can_Set_Buff_220(canlib_uint8_t CopyData[]);
void Can_Set_Buff_6EE(canlib_uint8_t CopyData[]);
void Can_Set_Buff_6EF(canlib_uint8_t CopyData[]);
void Can_Set_Buff_450(canlib_uint8_t CopyData[]);
void Can_Set_Buff_580(canlib_uint8_t CopyData[]);
extern void CAN_TX_Count_Init(void);
#endif