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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
#ifndef _TELLTALES_H_
#define _TELLTALES_H_
#include "TYW_stdint.h"
#include "string.h"
#include "RTE_BASE_TYPE.h"
typedef enum
{
em_LED_INTER_DIFF_LOCK_T,
em_LED_FOUR_MUL_FOUR_T,
em_LED_EXH_BRAKE_T,
em_LED_QOS_GLOW_T,
em_LED_HI_BEAM_T,
em_LED_Rr_FOG_LAMP_T,
em_LED_MIL_T,
em_LED_SVS_T,
em_LED_H_S_A__T,
em_LED_RETARDER_T,
em_LED_AUTO_LEVELING_T,
em_LED_ROWS_L,
em_LED_BSM_OFF_L,
em_LED_AEBS_OFF_L,
em_LED_LDWS_L,
em_LED_SRS_L,
em_LED_ENG_OIL_L,
em_LED_CHARG_L,
em_LED_SEAT_BELT_L,
em_LED_RR_DIFF_LOCK_L,
em_LED_TPMS_L,
em_LED_ASR_or_EVSC_OFF_L,
em_LED_EVSC_L,
em_LED_eco_stop_OFF_L,
em_LED_AMT_L,
em_LED_WEAR_IND_L,
em_LED_TRAILER_BRAKE_R,
em_LED_BRAKE_AIR_or_EBS_YELLOW_R,
em_LED_ACC_AIR_R,
em_LED_ABS_R,
em_LED_PARK_BRAKE_R,
em_LED_BRAKE_AIR_or_EBS_RED_R,
em_LED_BRAKE_LOCK_R,
em_LED_AIR_SUS_R,
em_LED_TRAILER_ABS_U,
em_LED_WORKING_LAMP_U,
em_LED_TRAILER_ABS_INFO_U,
em_LED_TEMP,
em_LED_FUEL,
LED_Max,
} LED_Idx_t;
typedef uint8_t (*LED_Judgment)(void);
typedef void (*LED_Execution)(uint8_t led_status);
typedef struct
{
LED_Idx_t LED_Index;
SelfCheck_t isSelfCheck;
ExtCheck_t isExCheck;
WorkStatus_t WorkSts;
uint32_t CheckStart;
uint32_t CheckEnd;
LED_Judgment LED_Judgment_Cbk;
LED_Execution LED_Execution_Cbk;
} LED_Attribute_st;
typedef struct
{
PowerStatus_t IG_Status;
Checktatus_t LED_CheckFinish;
uint32_t IG_ON_Timer;
uint32_t IG_OFF_Timer;
} ExternalPara_st;
typedef struct
{
uint8_t LastLeft;
uint8_t LastRight;
uint8_t Delay;
} TelltaleLRCtrlStruct;
extern const LED_Attribute_st LED_Attribute[LED_Max];
void Telltales_SetPara(ExternalPara_st *Para);
void Telltales_Management(void); /*50ms*/
void Telltales_Left_Right_KL30_Init(void);
void Telltales_Left_Right_Management_Service(void); /*must put into 10ms task*/
void Telltales_IG_ON_Work(void);
void Telltales_IGOFF_Work(void);
void Test_LED_AllLight(void);
void Telltales_Wakeup_Init(void);
void Telltales_KL30_Init(void);
void Telltales_KL15_Init(void);
void LED_RIGHT_G_Execution(uint8_t led_status);
void LED_LEFT_G_Execution(uint8_t led_status);
uint8_t LED_RIGHT_G_Judgement(void);
uint8_t LED_LEFT_G_Judgement(void);
void Write_LED_POSITION_G(uint8_t led_status);
uint8_t GET_LED_POSITION_G(void);
void Write_LED_READY_G_Execution(uint8_t led_status);
uint8_t GET_LED_READY_G_Execution(void);
/*LED点灯条件判别函数*/
uint8_t LED_INTER_DIFF_LOCK_T_Judgement(void);
uint8_t LED_FOUR_MUL_FOUR_T_Judgement(void);
uint8_t LED_EXH_BRAKE_T_Judgement(void);
uint8_t LED_QOS_GLOW_T_Judgement(void);
uint8_t LED_HI_BEAM_T_Judgement(void);
uint8_t LED_Rr_FOG_LAMP_T_Judgement(void);
uint8_t LED_MIL_T_Judgement(void);
uint8_t LED_SVS_T_Judgement(void);
uint8_t LED_H_S_A_T_Judgement(void);
uint8_t LED_RETARDER_T_Judgement(void);
uint8_t LED_AUTO_LEVELING_T_Judgement(void);
uint8_t LED_ROWS_L_Judgement(void);
uint8_t LED_BSM_OFF_L_Judgement(void);
uint8_t LED_AEBS_OFF_L_Judgement(void);
uint8_t LED_LDWS_L_Judgement(void);
uint8_t LED_SRS_L_Judgement(void);
uint8_t LED_ENG_OIL_L_Judgement(void);
uint8_t LED_CHARG_L_Judgement(void);
uint8_t LED_SEAT_BELT_L_Judgement(void);
uint8_t LED_RR_DIFF_LOCK_L_Judgement(void);
uint8_t LED_TPMS_L_Judgement(void);
uint8_t LED_ASR_or_EVSC_OFF_L_Judgement(void);
uint8_t LED_EVSC_L_Judgement(void);
uint8_t LED_eco_stop_OFF_L_Judgement(void);
uint8_t LED_AMT_L_Judgement(void);
uint8_t LED_WEAR_IND_L_Judgement(void);
uint8_t LED_TRAILER_BRAKE_R_Judgement(void);
uint8_t LED_BRAKE_AIR_or_EBS_YELLOW_R_Judgement(void);
uint8_t LED_ACC_AIR_R_Judgement(void);
uint8_t LED_ABS_R_Judgement(void);
uint8_t LED_PARK_BRAKE_R_Judgement(void);
uint8_t LED_BRAKE_AIR_or_EBS_RED_R_Judgement(void);
uint8_t LED_BRAKE_LOCK_R_Judgement(void);
uint8_t LED_AIR_SUS_R_Judgement(void);
uint8_t LED_TRAILER_ABS_U_Judgement(void);
uint8_t LED_WORKING_LAMP_U_Judgement(void);
uint8_t LED_TRAILER_ABS_INFO_U_Judgement(void);
uint8_t LED_Temp_Judgement(void);
uint8_t LED_Fuel_Judgement(void);
/*LED执行函数*/
void LED_Left_Right_Execution(uint8_t led_status);
void LED_INTER_DIFF_LOCK_T_Execution(uint8_t led_status);
void LED_FOUR_MUL_FOUR_T_Execution(uint8_t led_status);
void LED_EXH_BRAKE_T_Execution(uint8_t led_status);
void LED_QOS_GLOW_T_Execution(uint8_t led_status);
void LED_HI_BEAM_T_Execution(uint8_t led_status);
void LED_Rr_FOG_LAMP_T_Execution(uint8_t led_status);
void LED_MIL_T_Execution(uint8_t led_status);
void LED_SVS_T_Execution(uint8_t led_status);
void LED_H_S_A_T_Execution(uint8_t led_status);
void LED_RETARDER_T_Execution(uint8_t led_status);
void LED_AUTO_LEVELING_T_Execution(uint8_t led_status);
void LED_ROWS_L_Execution(uint8_t led_status);
void LED_BSM_OFF_L_Execution(uint8_t led_status);
void LED_AEBS_OFF_L_Execution(uint8_t led_status);
void LED_LDWS_L_Execution(uint8_t led_status);
void LED_SRS_L_Execution(uint8_t led_status);
void LED_ENG_OIL_L_Execution(uint8_t led_status);
void LED_CHARG_L_Execution(uint8_t led_status);
void LED_SEAT_BELT_L_Execution(uint8_t led_status);
void LED_RR_DIFF_LOCK_L_Execution(uint8_t led_status);
void LED_TPMS_L_Execution(uint8_t led_status);
void LED_ASR_or_EVSC_OFF_L_Execution(uint8_t led_status);
void LED_EVSC_L_Execution(uint8_t led_status);
void LED_eco_stop_OFF_L_Execution(uint8_t led_status);
void LED_AMT_L_Execution(uint8_t led_status);
void LED_WEAR_IND_L_Execution(uint8_t led_status);
void LED_TRAILER_BRAKE_R_Execution(uint8_t led_status);
void LED_BRAKE_AIR_or_EBS_YELLOW_R_Execution(uint8_t led_status);
void LED_ACC_AIR_R_Execution(uint8_t led_status);
void LED_ABS_R_Execution(uint8_t led_status);
void LED_PARK_BRAKE_R_Execution(uint8_t led_status);
void LED_BRAKE_AIR_or_EBS_RED_R_Execution(uint8_t led_status);
void LED_BRAKE_LOCK_R_Execution(uint8_t led_status);
void LED_AIR_SUS_R_Execution(uint8_t led_status);
void LED_TRAILER_ABS_U_Execution(uint8_t led_status);
void LED_WORKING_LAMP_U_Execution(uint8_t led_status);
void LED_TRAILER_ABS_INFO_U_Execution(uint8_t led_status);
void LED_Temp_Execution(uint8_t led_status);
void LED_Fuel_Execution(uint8_t led_status);
#endif