Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
TianYing_ty100
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
baizhengyuan
TianYing_ty100
Commits
c19632df
Commit
c19632df
authored
May 06, 2024
by
李俭双
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'lijianshuang' into 'dev'
Lijianshuang See merge request
ty/tianying_ty100!8
parents
c8beb033
b21e326f
Changes
7
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
199 additions
and
91 deletions
+199
-91
TianYing200.BAT
Firmware/Project/Cmsemicon/BAT32A239/MDK_ARM/TianYing200.BAT
+0
-3
BackLight.c
Firmware/Source/Application/BackLight/BackLight.c
+10
-26
CAN_CH0_CAN_Communication_Matrix.c
...ce/Application/CAN_APP/CAN_CH0_CAN_Communication_Matrix.c
+3
-3
LED_Driver_Interface.h
Firmware/Source/Component/LED_Driver/LED_Driver_Interface.h
+3
-3
PowerManag_user.c
Firmware/Source/Component/PowerManagement/PowerManag_user.c
+6
-6
Telltales_user.c
Firmware/Source/Component/Telltales/Telltales_user.c
+175
-49
Telltales_user.h
Firmware/Source/Component/Telltales/Telltales_user.h
+2
-1
No files found.
Firmware/Project/Cmsemicon/BAT32A239/MDK_ARM/TianYing200.BAT
View file @
c19632df
SET PATH=C:\Keil_v5\ARM\ARMCC\Bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Users\tyw05\AppData\Local\Microsoft\WindowsApps;
SET ARMCC5_ASMOPT=--diag_suppress=9931
SET ARMCC5_CCOPT=--diag_suppress=9931
SET ARMCC5_LINKOPT=--diag_suppress=9931
SET CPU_TYPE=BAT32G139GK64FB
SET CPU_VENDOR=Cmsemicon
SET UV2_TARGET=TianYing200
...
...
Firmware/Source/Application/BackLight/BackLight.c
View file @
c19632df
...
...
@@ -6,7 +6,7 @@
#define BACK_LIGHT_DAY 600
#define BACK_LIGHT_NIGHT
20
0
#define BACK_LIGHT_NIGHT
42
0
_Light
g_Light
;
void
BackLight_Init
(
void
)
...
...
@@ -19,32 +19,16 @@ void BackLight_Process(void)
{
if
(
SYS_OPR_STAT_IGN_ON
)
{
// if(ALS_Get_Data1() > 200)//data1 500以内,data0 3000以内
// {
// if (g_Light.Light_Day < 15)//1.5s 1500ms
// {
// g_Light.Light_Day++;//100ms
// }
// else
// {
// g_Light.Light_Night = 0;
// TimerM_PWM_set_duty(TIMERM_COUNTER1, TIMERM_CHB, BACK_LIGHT_DAY);
// }
// }
// else
// {
// if (g_Light.Light_Night < 15)
// {
// g_Light.Light_Night++;
// }
// else
// {
// g_Light.Light_Day = 0;
// TimerM_PWM_set_duty(TIMERM_COUNTER1, TIMERM_CHB, BACK_LIGHT_NIGHT);
// }
// }
if
(
HighBeam_Timer
.
LED_Turnon
==
5
)
{
TimerM_PWM_set_duty
(
TIMERM_COUNTER1
,
TIMERM_CHB
,
BACK_LIGHT_NIGHT
);
}
else
{
TimerM_PWM_set_duty
(
TIMERM_COUNTER1
,
TIMERM_CHB
,
BACK_LIGHT_DAY
);
}
}
else
{
g_Light
.
Light_Day
=
0
;
...
...
Firmware/Source/Application/CAN_APP/CAN_CH0_CAN_Communication_Matrix.c
View file @
c19632df
...
...
@@ -30,7 +30,7 @@ const st_CANMsgAttribute CAN_CH0_CAN_MSG_CONST_ARRAY[CAN_CH0_ID_TOTAL_MAX] =
{
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
},
{
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
},
{
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
},
5
000ul
,
1
000ul
,
0x341ul
,
((
void
*
)
0
),
((
void
*
)
0
),
...
...
@@ -40,7 +40,7 @@ const st_CANMsgAttribute CAN_CH0_CAN_MSG_CONST_ARRAY[CAN_CH0_ID_TOTAL_MAX] =
{
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
},
{
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
},
{
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
},
5
000ul
,
1
000ul
,
0x111ul
,
((
void
*
)
0
),
((
void
*
)
0
),
...
...
@@ -50,7 +50,7 @@ const st_CANMsgAttribute CAN_CH0_CAN_MSG_CONST_ARRAY[CAN_CH0_ID_TOTAL_MAX] =
{
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
},
{
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
},
{
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
},
5
000ul
,
1
000ul
,
0x401ul
,
((
void
*
)
0
),
((
void
*
)
0
),
...
...
Firmware/Source/Component/LED_Driver/LED_Driver_Interface.h
View file @
c19632df
...
...
@@ -47,10 +47,10 @@ typedef enum
LampCh0_26_Tire_PressureW
,
LampCh0_27_Tire_PressureY
,
LampCh0_28_Auto_Star_Stop
,
LampCh0_29_
MPH
,
LampCh0_29_
High_Beam
,
LampCh0_30_
High_Beam
,
LampCh0_31_L
ateral_Support
,
LampCh0_30_
Lateral_Support
,
LampCh0_31_L
ow_Voltage
,
LampCh0_32_Fault_Diagnosis
,
LampCh0_33_Upkeep
,
LampCh0_34_TRIP
,
...
...
Firmware/Source/Component/PowerManagement/PowerManag_user.c
View file @
c19632df
...
...
@@ -50,7 +50,6 @@ static void Power_KL30_Init(void)
DFlash_init
();
Analog_Signal_Conv_Init
();
BU98R10_Init
();
BackLight_Init
();
Sys_KL30_Init
();
Checkself_Init
();
Data_Vehicle_Speed_KL30_Init
();
...
...
@@ -71,6 +70,7 @@ static void Power_KL30_Init(void)
TimerM_PWM_CH_Output_init
(
TIMERM_COUNTER1
,
TIMERM_CHB
,
ActiveLevel_High
);
Telltales_Init
();
Telltales_UserInit
();
MenuData_Unit_Init
();
g_stRTCInformation
.
u8RTCSecond
=
0
;
g_stRTCInformation
.
u8RTCMinute
=
0
;
...
...
@@ -93,7 +93,6 @@ static void Power_Wakeup_Init(void)
Analog_Signal_Conv_Init
();
Data_User_Mileage_WakeupInit
();
BU98R10_Init
();
BackLight_Init
();
Sys_WakeUp_Init
();
Data_Vehicle_Speed_KL30_Init
();
Data_Vehicle_Speed_Wakeup_Init
();
...
...
@@ -113,6 +112,7 @@ static void Power_Wakeup_Init(void)
TimerM_PWM_CH_Output_init
(
TIMERM_COUNTER0
,
TIMERM_CHD
,
ActiveLevel_High
);
TimerM_PWM_CH_Output_init
(
TIMERM_COUNTER1
,
TIMERM_CHB
,
ActiveLevel_High
);
Telltales_Init
();
Telltales_UserInit
();
RTE_DEEPSLEEP_GPIO_Interrupt_Enable
(
WAKEUP_KL15_In
,
Trigger_Rising
);
}
...
...
@@ -134,10 +134,10 @@ static void Power_IG_OFF_Init(void)
static
void
Power_IG_ON_Init
(
void
)
{
ClearODO_Flag
=
0
;
BackLight_Init
();
Checkself_Init
();
Line_In_KL15_ON_Init
();
Telltales_KL15_Init
();
Telltales_UserInit
();
Fuel_KL15_Init
();
}
...
...
Firmware/Source/Component/Telltales/Telltales_user.c
View file @
c19632df
...
...
@@ -27,8 +27,8 @@ static Tellib_uint16_t LED_TCS_Judgement(void);
static
void
LED_TCS_Execution
(
Tellib_uint16_t
led_status
);
static
Tellib_uint16_t
LED_Auto_Start_Judgement
(
void
);
static
void
LED_Auto_Start_Execution
(
Tellib_uint16_t
led_status
);
static
Tellib_uint16_t
LED_Keys_Judgement
(
void
);
static
void
LED_Keys_Execution
(
Tellib_uint16_t
led_status
);
//
static Tellib_uint16_t LED_Keys_Judgement(void);
//
static void LED_Keys_Execution(Tellib_uint16_t led_status);
static
Tellib_uint16_t
LED_Maintain_Judgement
(
void
);
static
void
LED_Maintain_Execution
(
Tellib_uint16_t
led_status
);
static
Tellib_uint16_t
LED_Low_Batt_Judgement
(
void
);
...
...
@@ -42,6 +42,7 @@ static void LED_Navigato_Execution(Tellib_uint16_t led_status);
Led_HighBeam_Count
HighBeam_Timer
;
Tellib_uint16_t
LED_Battery_Voltage
=
0
;
const
LED_Attribute_st
LED_Attribute
[
LED_Max
]
=
{
/* 指示灯索引 是否自检 外部信号自检 工作电源状态 自检开始时间 自检持续时间 指示灯点亮条件 指示灯执行函数 */
...
...
@@ -54,7 +55,7 @@ const LED_Attribute_st LED_Attribute [ LED_Max ] = {
{
em_LED_Bluetooth
,
SelfCheck
,
NoExterNalCheck
,
LED_IGN_ON
,
0u
,
3000ul
,
LED_Bluetooth_Judgement
,
LED_Bluetooth_Execution
},
{
em_LED_TCS
,
SelfCheck
,
NoExterNalCheck
,
LED_IGN_ON
,
0u
,
3000ul
,
LED_TCS_Judgement
,
LED_TCS_Execution
},
{
em_LED_Auto_Start_Stop
,
SelfCheck
,
NoExterNalCheck
,
LED_IGN_ON
,
0u
,
3000ul
,
LED_Auto_Start_Judgement
,
LED_Auto_Start_Execution
},
{
em_LED_Keys
,
SelfCheck
,
NoExterNalCheck
,
LED_IGN_ON
,
0u
,
3000ul
,
LED_Keys_Judgement
,
LED_Keys_Execution
},
//
{em_LED_Keys, SelfCheck, NoExterNalCheck, LED_IGN_ON, 0u, 3000ul, LED_Keys_Judgement, LED_Keys_Execution},
{
em_LED_Maintain
,
SelfCheck
,
NoExterNalCheck
,
LED_IGN_ON
,
0u
,
3000ul
,
LED_Maintain_Judgement
,
LED_Maintain_Execution
},
{
em_LED_Low_Batt_Vol
,
SelfCheck
,
NoExterNalCheck
,
LED_IGN_ON
,
0u
,
3000ul
,
LED_Low_Batt_Judgement
,
LED_Low_Batt_Execution
},
{
em_LED_Lateral_Strut
,
SelfCheck
,
NoExterNalCheck
,
LED_IGN_ON
,
0u
,
3000ul
,
LED_Lateral_Strut_Judgement
,
LED_Lateral_Strut_Execution
},
...
...
@@ -74,8 +75,13 @@ void Telltales_Init(void)
m_ExtPara
.
LED_PowerON_TimerCbk
=
Common_GetIgnOnTime
;
m_ExtPara
.
LED_PowerCbk
=
Common_Get_IG_Sts
;
Telltales_KL30_Wakeup_Init
(
Tel_Mem
,
LED_Attribute
,
&
m_ExtPara
);
}
void
Telltales_UserInit
(
void
)
{
HighBeam_Timer
.
LED_Turnon
=
0
;
HighBeam_Timer
.
LED_Turnoff
=
0
;
LED_Battery_Voltage
=
0
;
}
static
Tellib_uint16_t
LED_High_Beam_Judgement
(
void
)
...
...
@@ -115,11 +121,11 @@ static void LED_High_Beam_Execution(Tellib_uint16_t led_status)
{
if
(
led_status
==
1u
)
{
LED_Driver_Channel_Set
(
LampChannel_0
,
LampCh0_
30
_High_Beam
,
LED_ON
);
LED_Driver_Channel_Set
(
LampChannel_0
,
LampCh0_
29
_High_Beam
,
LED_ON
);
}
else
{
LED_Driver_Channel_Set
(
LampChannel_0
,
LampCh0_
30
_High_Beam
,
LED_OFF
);
LED_Driver_Channel_Set
(
LampChannel_0
,
LampCh0_
29
_High_Beam
,
LED_OFF
);
}
}
static
Tellib_uint16_t
LED_FAULT_ELECTROSPRAY_Judgement
(
void
)
...
...
@@ -154,24 +160,9 @@ static Tellib_uint16_t LED_ABS_Judgement(void)
LED_STATE
=
0
;
}
else
{
if
((
CAN_MSG_Status
(
&
CAN_CH0_CanMsgOp
,
CAN_CH0_ID_CAN_0x120_Msg_Count
)
==
CAN_SIG_LOST
)
||
(
Get_CAN_CH0_ID_120_Sig_ABS_Warning_lamp
()
==
1
)
||
(
Get_CAN_CH0_ID_120_Sig_ABS_Warning_lamp
()
==
3
))
{
LED_STATE
=
1
;
}
else
if
(
Get_CAN_CH0_ID_120_Sig_ABS_Warning_lamp
()
==
2
)
{
LED_STATE
=
2
;
}
else
if
(
Get_CAN_CH0_ID_120_Sig_ABS_Warning_lamp
()
==
0
)
{
LED_STATE
=
0
;
}
else
{
;
}
}
return
LED_STATE
;
}
static
void
LED_ABS_Execution
(
Tellib_uint16_t
led_status
)
...
...
@@ -180,17 +171,6 @@ static void LED_ABS_Execution(Tellib_uint16_t led_status)
{
LED_Driver_Channel_Set
(
LampChannel_0
,
LampCh0_12_ABS_Alarm
,
LED_ON
);
}
else
if
(
led_status
==
2u
)
{
if
(
FLASH_SYNC_1Hz
)
{
LED_Driver_Channel_Set
(
LampChannel_0
,
LampCh0_12_ABS_Alarm
,
LED_ON
);
}
else
{
LED_Driver_Channel_Set
(
LampChannel_0
,
LampCh0_12_ABS_Alarm
,
LED_OFF
);
}
}
else
{
LED_Driver_Channel_Set
(
LampChannel_0
,
LampCh0_12_ABS_Alarm
,
LED_OFF
);
...
...
@@ -238,12 +218,12 @@ static Tellib_uint16_t LED_Fuel_Judgement(void)
}
else
{
LED_STATE
=
2
;
//开路
LED_STATE
=
2
;
//开路
,黄灯闪
}
}
else
{
LED_STATE
=
1
;
//黄灯
LED_STATE
=
1
;
//黄灯
常亮
}
return
LED_STATE
;
}
...
...
@@ -295,39 +275,130 @@ static void LED_Coolant_Execution(Tellib_uint16_t led_status)
static
Tellib_uint16_t
LED_Bluetooth_Judgement
(
void
)
{
Tellib_uint16_t
LED_STATE
=
0u
;
if
(
0
)
{
LED_STATE
=
1u
;
}
else
{
LED_STATE
=
0u
;
}
return
LED_STATE
;
}
static
void
LED_Bluetooth_Execution
(
Tellib_uint16_t
led_status
)
{
;
if
(
led_status
==
1u
)
{
LED_Driver_Channel_Set
(
LampChannel_0
,
LampCh0_23_Bluetooth
,
LED_ON
);
}
else
{
LED_Driver_Channel_Set
(
LampChannel_0
,
LampCh0_23_Bluetooth
,
LED_OFF
);
}
}
static
Tellib_uint16_t
LED_TCS_Judgement
(
void
)
{
Tellib_uint16_t
LED_STATE
=
0u
;
if
((
CAN_MSG_Status
(
&
CAN_CH0_CanMsgOp
,
CAN_CH0_ID_CAN_0x120_Msg_Count
)
==
CAN_SIG_LOST
)
)
{
LED_STATE
=
1
;
}
else
{
if
(
Get_Dis_Tcs_Val
()
==
1
)
{
if
((
Get_CAN_CH0_ID_120_Sig_TCSStatus
()
==
1
)
||
(
Get_CAN_CH0_ID_120_Sig_TCSStatus
()
==
2
)
||
(
Get_CAN_CH0_ID_120_Sig_TCSStatus
()
==
3
)
||
(
Get_CAN_CH0_ID_120_Sig_TCSStatus
()
==
5
))
{
LED_STATE
=
1
;
}
else
if
(
Get_CAN_CH0_ID_120_Sig_TCSStatus
()
==
4
)
{
LED_STATE
=
2
;
//1HZ闪烁
}
else
if
(
Get_CAN_CH0_ID_120_Sig_TCSStatus
()
==
6
)
{
LED_STATE
=
3
;
//2HZ闪烁
}
else
if
((
Get_CAN_CH0_ID_120_Sig_TCSStatus
()
==
0
)
||
(
Get_CAN_CH0_ID_120_Sig_TCSStatus
()
==
7
))
{
LED_STATE
=
0
;
}
}
else
{
LED_STATE
=
0
;
}
}
return
LED_STATE
;
}
static
void
LED_TCS_Execution
(
Tellib_uint16_t
led_status
)
{
;
if
(
led_status
==
1u
)
{
LED_Driver_Channel_Set
(
LampChannel_0
,
LampCh0_25_TCS_Alarm
,
LED_ON
);
}
else
if
(
led_status
==
2u
)
{
if
(
FLASH_SYNC_1Hz
)
{
LED_Driver_Channel_Set
(
LampChannel_0
,
LampCh0_25_TCS_Alarm
,
LED_ON
);
}
else
{
LED_Driver_Channel_Set
(
LampChannel_0
,
LampCh0_25_TCS_Alarm
,
LED_OFF
);
}
}
else
if
(
led_status
==
3u
)
{
if
(
FLASH_SYNC_2Hz
)
{
LED_Driver_Channel_Set
(
LampChannel_0
,
LampCh0_25_TCS_Alarm
,
LED_ON
);
}
else
{
LED_Driver_Channel_Set
(
LampChannel_0
,
LampCh0_25_TCS_Alarm
,
LED_OFF
);
}
}
else
{
LED_Driver_Channel_Set
(
LampChannel_0
,
LampCh0_25_TCS_Alarm
,
LED_OFF
);
}
}
static
Tellib_uint16_t
LED_Auto_Start_Judgement
(
void
)
{
Tellib_uint16_t
LED_STATE
=
0u
;
if
(
Line_In_Get_Status
(
LINE_IN_Auto_Start_Stop
))
{
LED_STATE
=
1
;
}
else
{
LED_STATE
=
0
;
}
return
LED_STATE
;
}
static
void
LED_Auto_Start_Execution
(
Tellib_uint16_t
led_status
)
{
;
}
static
Tellib_uint16_t
LED_Keys_Judgement
(
void
)
{
Tellib_uint16_t
LED_STATE
=
0u
;
return
LED_STATE
;
}
static
void
LED_Keys_Execution
(
Tellib_uint16_t
led_status
)
{
;
if
(
led_status
==
1u
)
{
LED_Driver_Channel_Set
(
LampChannel_0
,
LampCh0_28_Auto_Star_Stop
,
LED_ON
);
}
else
{
LED_Driver_Channel_Set
(
LampChannel_0
,
LampCh0_28_Auto_Star_Stop
,
LED_OFF
);
}
}
//static Tellib_uint16_t LED_Keys_Judgement(void)
//{
// Tellib_uint16_t LED_STATE = 0u;
// return LED_STATE;
//}
//static void LED_Keys_Execution(Tellib_uint16_t led_status)
//{
// ;
//}
static
Tellib_uint16_t
LED_Maintain_Judgement
(
void
)
{
Tellib_uint16_t
LED_STATE
=
0u
;
...
...
@@ -340,20 +411,75 @@ static void LED_Maintain_Execution(Tellib_uint16_t led_status)
static
Tellib_uint16_t
LED_Low_Batt_Judgement
(
void
)
{
Tellib_uint16_t
LED_STATE
=
0u
;
Tellib_uint16_t
Battery_Voltage
=
0u
;
Battery_Voltage
=
Get_CAN_CH0_ID_401_Sig_ECU_Battery_Voltage
();
if
((
CAN_MSG_Status
(
&
CAN_CH0_CanMsgOp
,
CAN_CH0_ID_CAN_0x401_Msg_Count
)
==
CAN_SIG_LOST
)
)
{
LED_Battery_Voltage
=
1
;
}
else
{
if
(
Battery_Voltage
<
118
)
{
LED_Battery_Voltage
=
1
;
}
else
if
(
Battery_Voltage
>=
120
)
{
LED_Battery_Voltage
=
0
;
}
else
{
;
}
}
LED_STATE
=
LED_Battery_Voltage
;
return
LED_STATE
;
}
static
void
LED_Low_Batt_Execution
(
Tellib_uint16_t
led_status
)
{
;
if
(
led_status
==
1u
)
{
LED_Driver_Channel_Set
(
LampChannel_0
,
LampCh0_31_Low_Voltage
,
LED_ON
);
}
else
{
LED_Driver_Channel_Set
(
LampChannel_0
,
LampCh0_31_Low_Voltage
,
LED_OFF
);
}
}
static
Tellib_uint16_t
LED_Lateral_Strut_Judgement
(
void
)
{
Tellib_uint16_t
LED_STATE
=
0u
;
Tellib_uint16_t
SideStand
=
0u
;
Tellib_uint16_t
SideStand_State
=
0u
;
SideStand
=
Get_CAN_CH0_ID_111_Sig_ISG_SideStand
();
SideStand_State
=
Get_CAN_CH0_ID_111_Sig_ISG_SideStand_State
();
if
((
CAN_MSG_Status
(
&
CAN_CH0_CanMsgOp
,
CAN_CH0_ID_CAN_0x111_Msg_Count
)
==
CAN_SIG_LOST
)
)
{
LED_STATE
=
0
;
}
else
{
if
(
SideStand_State
==
1
)
{
LED_STATE
=
0
;
}
else
{
if
(
SideStand
==
1
)
{
LED_STATE
=
1
;
}
else
{
LED_STATE
=
0
;
}
}
}
return
LED_STATE
;
}
static
void
LED_Lateral_Strut_Execution
(
Tellib_uint16_t
led_status
)
{
;
}
static
Tellib_uint16_t
LED_Tire_Pressure_Judgement
(
void
)
{
...
...
Firmware/Source/Component/Telltales/Telltales_user.h
View file @
c19632df
...
...
@@ -13,7 +13,7 @@ typedef enum
em_LED_Bluetooth
,
em_LED_TCS
,
em_LED_Auto_Start_Stop
,
em_LED_Keys
,
//
em_LED_Keys,
em_LED_Maintain
,
em_LED_Low_Batt_Vol
,
em_LED_Lateral_Strut
,
...
...
@@ -32,6 +32,7 @@ extern Led_HighBeam_Count HighBeam_Timer;
void
Telltales_Init
(
void
);
void
Telltales_UserInit
(
void
);
#endif
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment