Service_TPMS.h 3.23 KB
Newer Older
hu's avatar
hu committed
1 2 3 4 5
#ifndef _SERVICE_TPMS_H_
#define _SERVICE_TPMS_H_

#include "TYW_stdint.h"

hu's avatar
hu committed
6 7 8 9 10 11 12 13 14 15 16 17 18 19
#define FirstLOutID 0x12u
#define FirstROutID 0x13u
#define SecondLInID 0x22u
#define SecondRInID 0x23u
#define ThirdLOutID 0x31u
#define ThirdLInID 0x32u
#define ThirdRInID 0x33u
#define ThirdROutID 0x34u
#define FourthLOutID 0x41u
#define FourthLInID 0x42u
#define FourthRInID 0x43u
#define FourthROutID 0x44u

#define TYRETEMP_OFFSET_VALUE (128u) /*胎温数据偏移量*/
hu's avatar
hu committed
20
#define TPMSDataInvaliTimeNUM   600u
hu's avatar
hu committed
21 22 23

typedef enum
{
hu's avatar
hu committed
24 25 26 27 28 29 30 31 32 33 34 35 36 37
    FirstLOut = 0,
    FirstROut,
    SecondLIn,
    SecondRIn,
    ThirdLOut,
    ThirdLIn,
    ThirdRIn,
    ThirdROut,
    FourthLOut,
    FourthLIn,
    FourthRIn,
    FourthROut,

    TPMSNumMax,
hu's avatar
hu committed
38 39 40 41
} TPMSNUM_t;

typedef struct
{
hu's avatar
hu committed
42 43 44 45 46 47 48 49 50 51 52 53 54 55
    uint8_t TPMSTyreID;                     /*轮胎位置*/
    uint16_t TPMSPressure;                  /*轮胎气压*/
    uint8_t TPMSTempSign;                   /*轮胎温度正负*/
    uint8_t TPMSTemp;                       /*轮胎温度*/
    uint8_t TPMSLowpressure;                /*低气压报警*/
    uint8_t TPMSHighpressure;               /*高气压报警*/
    uint8_t TPMSHightemperature;            /*高温报警*/
    uint8_t TPMSRapidleakage;               /*快速漏气报警*/
    uint8_t TPMSLowvoltage;                 /*低电压报警*/
    uint8_t TPMSNosignal;                   /*无信号报警*/
    uint8_t TPMSDataupdating;               /*数据更新*/
    uint8_t TPMSDatainvalid;                /*数据无效*/
    uint8_t TPMSSensorfault;                /*传感器故障信息*/
    uint16_t TPMSDataInvalidTime;           /*数据无效计时器*/
hu's avatar
hu committed
56 57 58 59 60 61 62 63 64 65 66
} _USER_TPMS;

extern _USER_TPMS TPMS_Out[TPMSNumMax];

void Data_TPMS_KL30_Init(void);
void Data_TPMS_KL15_ON_Init(void);

void Get_Data_TPMS_Value(TPMSNUM_t TPMSTyreID);
void Get_Data_TPMS_Status(TPMSNUM_t TPMSTyreID);
void Get_Data_TPMS_Pair(TPMSNUM_t TPMSTyreID);

hu's avatar
hu committed
67
void Data_TPMS_Value_Processing(void);
hu's avatar
hu committed
68 69 70 71 72 73 74 75 76 77 78

uint16_t Get_DataTPMS_Pressure_Value(TPMSNUM_t TPMSTyreID);
uint16_t Get_DataTPMS_Pressure_Sta(TPMSNUM_t TPMSTyreID);
uint8_t Get_DataTPMS_Pressure_FLashSta(TPMSNUM_t TPMSTyreID);

uint16_t Get_DataTPMS_Temp_Value(TPMSNUM_t TPMSTyreID);
uint16_t Get_DataTPMS_Temp_Sta(TPMSNUM_t TPMSTyreID);
uint8_t Get_DataTPMS_Temp_FLashSta(TPMSNUM_t TPMSTyreID);

uint16_t Get_DataTPMS_Leakrate_Value(TPMSNUM_t TPMSTyreID);
uint8_t Get_DataTPMS_SensorErrorWarningSig_Value(TPMSNUM_t TPMSTyreID);
hu's avatar
hu committed
79

hu's avatar
hu committed
80 81
uint8_t Get_DataTPMS_TireStandarPressureSettingSts_Value(TPMSNUM_t TPMSTyreID);
uint8_t Get_DataTPMS_RapidLeakWarningSig_Value(TPMSNUM_t TPMSTyreID);
hu's avatar
hu committed
82 83
uint8_t Get_TPMSLowvoltage_Sta(TPMSNUM_t TPMSTyreID);
uint8_t Get_TPMSHigTemp_Sta(TPMSNUM_t TPMSTyreID);
hu's avatar
hu committed
84

hu's avatar
hu committed
85 86 87 88
uint8_t Get_TPMSLowpressure_Sta(TPMSNUM_t TPMSTyreID);
uint8_t Get_TPMSHighpressure_Sta(TPMSNUM_t TPMSTyreID);
uint8_t Get_TPMSNosignal_Sta(TPMSNUM_t TPMSTyreID);
uint8_t Get_TPMSPresure_Alarm(TPMSNUM_t TPMSTyreID);
hu's avatar
hu committed
89 90 91 92

uint8_t Get_DataTPMS_Tyre_Red_Sta(TPMSNUM_t TPMSTyreID);
uint8_t Get_DataTPMS_Tyre_FLASH_Sta(TPMSNUM_t TPMSTyreID);

hu's avatar
hu committed
93 94 95 96 97 98 99 100

uint8_t Get_TPMSLow_Presure_Sta(void);
uint8_t Get_TPMSHigh_Presure_Sta(void);
uint8_t Get_TPMSHigh_Temperature_Sta(void);
uint8_t Get_TPMSFast_air_leakage (void);
uint8_t Get_TPMSLow_Voltage_Sta(void);
uint8_t Get_TPMSNo_signal_Sta(void);
uint8_t Get_TPMSSensor_fault_Sta(void);
hu's avatar
hu committed
101 102

#endif