Can_App.h 3 KB
#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[]);


#endif