Can_App.c 2.52 KB
Newer Older
李俭双's avatar
李俭双 committed
1
#include "Can_App.h"
2
#include "Components.h"
3
#include "Application.h"
李俭双's avatar
李俭双 committed
4 5


6
void Can_Set_Buff_220(canlib_uint8_t CopyData[])
李俭双's avatar
李俭双 committed
7
{
8
    CANMsg220Union *p220;
李俭双's avatar
李俭双 committed
9
    uint8_t i = 0;
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24

    p220 = (CANMsg220Union *)CopyData;
    if ( p220 != ( void * )0 )
    {
        for ( i = 0u; i < 8u; i++ )
        {
            p220->Msg [ i ] = 0xFFu;
        }
    }
    p220 -> Sig.TCS_TX = Get_Dis_Tcs_Val();
}
void Can_Set_Buff_6EE(canlib_uint8_t CopyData[])
{
    CANMsg6EEUnion *p6EE;
    uint8_t i = 0;
25 26
    uint16_t Vspeed_tx = 0;
    uint32_t ODO_tx = Data_ODO_Read() / 10;    
27
    Vspeed_tx = Get_DispVechileSpeed_TX()/10;
28
    p6EE = (CANMsg6EEUnion *)CopyData;
李俭双's avatar
李俭双 committed
29
    
30 31 32 33 34 35
    if ( p6EE != ( void * )0 )
    {
        for ( i = 0u; i < 8u; i++ )
        {
            p6EE->Msg [ i ] = 0xFFu;
        }
36 37 38
    } 
    p6EE -> Sig.Vsppe_H3_TX     = (Vspeed_tx >> 8) & 0x7u ;
    p6EE -> Sig.Vsppe_L8_TX     = Vspeed_tx & 0xFF ;
39 40 41
    p6EE -> Sig.ODO_TX_H        = (ODO_tx >> 16) & 0xFF ;
    p6EE -> Sig.ODO_TX_M        = (ODO_tx >> 8) & 0xFF ;
    p6EE -> Sig.ODO_TX_L        = ODO_tx & 0xFF ;
42 43 44 45 46
    p6EE -> Sig.Uint_TX         = Get_Dis_KM_Unit() ;
    p6EE -> Sig.Coolant_Seg_TX  = GET_DataCoolantTempSegDisp() ;
    if (GET_DataCollantTempWarnflg() == 2)
    {
        p6EE -> Sig.Coolant_Warn_TX = 1;
47
    }
48 49 50 51
    else
    {
        p6EE -> Sig.Coolant_Warn_TX = 0;
    }
52 53 54 55 56 57 58 59 60 61
    p6EE -> Sig.Fuel_Seg_TX  = Get_CurFuelSetp() ;
    if(Get_Fuel_RES() > 255)
    {
        p6EE -> Sig.Fuel_Res_TX  = 0xFF ; 
    }
    else
    {
        p6EE -> Sig.Fuel_Res_TX  = Get_Fuel_RES() ; 
    }
       
62
    
63 64 65 66 67
}
void Can_Set_Buff_6EF(canlib_uint8_t CopyData[])
{
    CANMsg6EFUnion *p6EF;
    uint8_t i = 0;
68
    uint16_t Espeed_tx = 0;
69
    uint16_t TripA_tx = 0;
70
    Espeed_tx = Get_DispEngineSpeed()/100;
71
    TripA_tx  = Data_Read_Trip(EM_TRIP_A);
72 73
    p6EF = (CANMsg6EFUnion *)CopyData;
    if ( p6EF != ( void * )0 )
李俭双's avatar
李俭双 committed
74
    {
75 76 77 78
        for ( i = 0u; i < 8u; i++ )
        {
            p6EF->Msg [ i ] = 0xFFu;
        }
李俭双's avatar
李俭双 committed
79
    }
80
    p6EF -> Sig.Espeed_TX  = Espeed_tx;
81 82
    p6EF -> Sig.TripA_H    = (TripA_tx >> 8) & 0xFF;
    p6EF -> Sig.TripA_L    = TripA_tx  & 0xFF;
83
    p6EF -> Sig.Coolant_TX = GET_DataCoolantTempValueDisp() + 40;
84 85 86 87 88 89 90 91
}
void Can_Set_Buff_450(canlib_uint8_t CopyData[])
{
    CANMsg450Union *p450;
    uint8_t i = 0;

    p450 = (CANMsg450Union *)CopyData;
    if ( p450 != ( void * )0 )
李俭双's avatar
李俭双 committed
92
    {
93 94 95 96
        for ( i = 0u; i < 8u; i++ )
        {
            p450->Msg [ i ] = 0xFFu;
        }
李俭双's avatar
李俭双 committed
97
    }
98 99
    p450 -> Sig.Front_Pressure_TX  = Get_Front_TPMS_TX();
    p450 -> Sig.Rear_Pressure_TX   = Get_Rear_TPMS_TX();
李俭双's avatar
李俭双 committed
100
}
101