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
29
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
67
68
69
70
71
72
#ifndef LINE_IN_H
#define LINE_IN_H
#include "TYW_stdint.h"
#include "string.h"
/*所有硬线输入的索引*/
typedef enum
{
/*ZH修改:2021.6.25*/
/*指示灯相关*/
LINE_IN_ABS = 0U, /*A22 ABS*/
LINE_IN_PARK_BRAKE, /*A23 PARK BRAKE*/
LINE_IN_HI_BEAM, /*A25 HI BEAM*/
LINE_IN_BRAKE_AIR_EBS, /*A28 BRAKE AIR/EBS*/
LINE_IN_SEAT_BELT, /*A30 SEAT BELT*/
LINE_IN_MIL, /*A31 MIL*/
LINE_IN_ENG_OIL, /*A32 ENG OIL*/
LINE_IN_CHARGE, /*A34 CHARGE*/
LINE_IN_TRAILER_ABS_INFO, /*B03 TRAILER ABS INFO*/
LINE_IN_Rr_FOG_LAMP, /*B14 Rr FOG LAMP*/
LINE_IN_ACC_AIR, /*B15 ACC AIR*/
LINE_IN_AIR_SUS, /*B30 AIR SUS*/
LINE_IN_TRAILER_BRAKE, /*B31 TRAILER BRAKE*/
LINE_IN_TRAILER_ABS, /*B33 TRAILER ABS*/
LINE_IN_RR_DIFF_LOCK, /*B36 RR DIFF LOCK*/
LINE_IN_WEAR_IND, /*B38 WEAR IND*/
/*ZH新增:2021.6.29*/
/*非指示灯相关*/
LINE_IN_ILLUMINATION, /*A06 ILLUMINATION*/
LINE_IN_RET_BLENDING, /*A10 RET_BLENDING*/
LINE_IN_BRAKE, /*A21 BRAKE*/
LINE_IN_TURN_R, /*A26 TURN_R*/
LINE_IN_TURN_L, /*A27 TURN_L*/
LINE_IN_ABS_DETECT, /*A33 ABS_DETECT*/
LINE_IN_PTO, /*B01 PTO*/
LINE_IN_GLOW, /*B05 GLOW*/
LINE_IN_TRAILER_CONNECT, /*B06 TRAILER_CONNECT*/
LINE_IN_LOW_COOLANT, /*B32 LOW_COOLANT*/
LINE_IN_ACC, /*B39 ACC*/
LINE_IN_WEAR2, /*B40 WEAR2*/
LINE_IN_MAX,
} Line_In_Channel_en_t;
/*获取实时硬线电平函数指针*/
typedef LINE_IN_TriggerLevel_en_t (*LineIn_Read_Level)(void);
typedef struct
{
LINE_IN_TriggerLevel_en_t enValidLevel; /*有效电平*/
uint16_t u16ValidTime; /*从无效到有效的消抖时间 ms*/
uint16_t u16InvalidTime; /*从有效到无效的消抖时间*/
LINE_IN_WorkSt_en_t enPowerStatus; /*硬线工作的电源状态*/
LineIn_Read_Level pfnLineIn_Read_Cbk; /*获取实时电平的回调函数*/
} Line_In_Attribute_st_t;
/*属性表与硬线索引号Line_In_Channel_en_t一一对应*/
extern const Line_In_Attribute_st_t g_stLineInAttribute[LINE_IN_MAX];
extern void Line_In_SetPowerSt(LINE_IN_WorkSt_en_t u8PowerSt);
/*10ms调用*/
extern void Line_In_Debounce_Service(void);
extern LineIn_LogicLevel_en_t Line_In_Get_Status(uint8_t Channel);
extern void Line_In_KL30_Init(void);
extern void Line_In_KL15_ON_Init(void);
extern void Line_In_KL15_OFF_Init(void);
#endif