#ifndef CAN_FUNC_H
#define CAN_FUNC_H

#include "TYW_stdint.h"

typedef struct
{
    uint32_t TripA_Fuel;
    uint32_t TripA_Average_Speed;
    uint32_t TripA_Fuel_Consume;
    uint32_t TripA_Idling;
    uint32_t TripA_Runing;
    uint32_t TripB_Fuel;
    uint32_t TripB_Average_Speed;
    uint32_t TripB_Fuel_Consume;
    uint32_t TripB_Idling;
    uint32_t TripB_Runing;
    uint32_t Engine_Surplus;

} USER_ECU;
extern USER_ECU User_ECU;

extern void Can_Set_Buff_18FEAE17(uint8_t CopyData[]);

extern void Can_Set_Buff_18FF3E17(uint8_t CopyData[]);

extern void Can_Set_Buff_18FED917(uint8_t CopyData[]);

extern void Can_Set_Buff_18FEE617(uint8_t CopyData[]);

extern void Can_Set_Buff_18EF1817(uint8_t CopyData[]);

extern void Can_Set_Buff_18FEE017(uint8_t CopyData[]);

extern void Can_Set_Buff_18FEFC17(uint8_t CopyData[]);

extern void Can_Set_Buff_18FF2517(uint8_t CopyData[]);

extern void Can_Set_Buff_18FF2A17(uint8_t CopyData[]);

extern void Can_Set_Buff_18FF9D17(uint8_t CopyData[]);

extern void Can_Set_Buff_18FFE517(uint8_t CopyData[]);

extern void Can_Set_Buff_18EF2D17(uint8_t CopyData[]);

extern void Can_Set_Buff_18033317(uint8_t CopyData[]);

extern void Can_Set_Buff_180433A2(uint8_t CopyData[]);

void Drive_Info_IC1_STATUS_Rx(void);
void Drive_Info_IC3_STATUS_Rx(void);

uint32_t Common_Data_Get_TripA_Fuel(void);
uint32_t Common_Data_Get_TripA_Average_Speed(void);
uint32_t Common_Data_Get_TripB_Fuel(void);
uint32_t Common_Data_Get_TripB_Average_Speed(void);

void Id18EF1817_Send_Service(void);
void Id18033317_Send_Service(void);

void MSG_18021733_REC_COPY(uint8_t copy[]);

#endif