GaugesInterface.h 2.24 KB
Newer Older
hu's avatar
hu committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28

#ifndef GAUGES_INTERFACE_H_
#define GAUGES_INTERFACE_H_


#include "Gauges.h"

typedef enum
{
    VehGauges = 0u,
    RevGauges,
    TempGauges,
    PRIGasGauges, /*PRI气压*/
    SECGasGauges, /*SEC气压*/
    WETGasGauges, /*WET气压*/
    VoltGauges ,  /*电压计*/
    GaugesTotal,
} _GaugesNum;

extern _GaugesInfoInit GaugesInfo_Init_Table[GaugesTotal];
extern const uint16_t SeftTest_Gauges_Times[GaugesTotal];
typedef struct
{
    uint16_t Count;
    uint16_t DataBuf[15];
    uint16_t DataDisplay;
    uint8_t  Valid;
    uint16_t LostTimer;
hu's avatar
hu committed
29
    uint8_t  Status;
hu's avatar
hu committed
30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
} DataStruct;

extern DataStruct DataStrGas1;
extern DataStruct DataStrGas2;
extern DataStruct DataStrVoltage;


extern uint16_t      RealDataIn[GaugesTotal];
extern void SetGaugesPara(uint8_t GaugesID, uint16_t GaugesVal); /* 传递表头参数 */
extern void UserGaugeSchedule(void);/*在主循环中调用*/
extern void UserGaugeK30Init(void);/*30电调用*/
extern void UserGaugeK15Init(void) ;/*15电调用*/
extern uint16_t VehSpeedAmplification(uint16_t Speed);/* 车速放大函数 */
extern uint16_t RevSpeedManage(uint16_t Speed);/* 转速数据处理数据 */
extern uint16_t GetGaugesMaxOutVal(uint8_t GaugesID);/*传递表头ID获取仪表最大指示值*/
extern void SetGaugesUpVal(uint8_t GaugesID, uint16_t GaugesUpVal[]); /*调表设置参数用*/
extern void SetGaugesDownVal(uint8_t GaugesID, uint16_t GaugesDownVal[]); /*调表设置参数用*/
extern void SetGaugesOutVal(uint8_t GaugesID, uint16_t GaugesOutVal[]); /*调表设置参数用*/

/**以下为GaugesDataAnalysis.c中函数声明不同仪表不同用户自己定义**/
/*设置FreeMoveType模式仪表走动时间*/
extern void SetFreeMoveTimes(uint16_t GaugesMoveTimes);
/*通过车速目标步得到实际车速*/
extern uint16_t GetVehDisVal(uint16_t VehCurPos, _GaugesInfoInit *GParam);
/*车速频率计算初始化*/
extern void Veh_Fre_Init(uint32_t PPK);
/*计算周期*/
extern void Cal_Veh_Cycle(uint8_t VehInput);
/*计算车速频率*/
extern uint16_t Cal_Veh_Fre(void);
/*通过频率计算车速*/
extern uint16_t Cal_Veh_Val(void);

extern uint16_t Cal_Veh_Frequency(void) ;

extern void App_SortNByte(uint16_t *SortData, uint8_t len);

hu's avatar
hu committed
67 68
extern void Fre_SortShort(volatile uint32_t SortData[], uint8_t len);

hu's avatar
hu committed
69
#endif