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
TY
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
!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