Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
V
VC66_7C
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
ISUZU
VC66_7C
Commits
0d1dff89
Commit
0d1dff89
authored
Oct 20, 2021
by
hu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
调整指示灯,调整硬线
parent
e339f97b
Changes
18
Hide whitespace changes
Inline
Side-by-side
Showing
18 changed files
with
22809 additions
and
22642 deletions
+22809
-22642
project
ghs/project
+0
-0
project.hex
ghs/project.hex
+21595
-21585
project.siz
ghs/project.siz
+1
-1
Data_VehicleSpeed.c
source/Application/APP/Data_VehicleSpeed/Data_VehicleSpeed.c
+57
-63
GaugesInterface.c
source/Application/APP/GaugesMode/GaugesInterface.c
+1
-1
Line_In.h
source/Application/APP/LINE_IN/Line_In.h
+0
-8
Line_In_user.c
source/Application/APP/LINE_IN/Line_In_user.c
+2
-2
PowerManagement_user.c
...ce/Application/APP/PowerManagement/PowerManagement_user.c
+4
-0
SEG_DISPLAY.c
source/Application/APP/SEG_LCD/SEG_DISPLAY.c
+454
-467
SEG_DISPLAY.h
source/Application/APP/SEG_LCD/SEG_DISPLAY.h
+1
-1
Telltales.h
source/Application/APP/Telltales/Telltales.h
+49
-69
Telltales_user.c
source/Application/APP/Telltales/Telltales_user.c
+557
-334
Telltales_user.h
source/Application/APP/Telltales/Telltales_user.h
+0
-12
DoCAN_ISO15765.c
source/Application/UDS/TP/DoCAN_ISO15765.c
+35
-35
Buzzer.h
source/Driver/Buzzer/Buzzer.h
+7
-7
CD4051.c
source/Driver/CD4051/CD4051.c
+4
-0
CD4051.h
source/Driver/CD4051/CD4051.h
+1
-1
tasks.c
source/System/tasks.c
+41
-56
No files found.
ghs/project
View file @
0d1dff89
No preview for this file type
ghs/project.hex
View file @
0d1dff89
This source diff could not be displayed because it is too large. You can
view the blob
instead.
ghs/project.siz
View file @
0d1dff89
project .intvect 1536
project .text 29
8988
project .text 29
9276
project .rodata 412383
project .secinfo 120
project .syscall 6
...
...
source/Application/APP/Data_VehicleSpeed/Data_VehicleSpeed.c
View file @
0d1dff89
...
...
@@ -3,89 +3,89 @@
#include "GaugesInterface.h"
#include "TimerB.h"
#define VEH_FILTER_LEN
7
#define VEH_FILTER_LEN 7
static
struct
{
uint8_t
Count
;
uint16_t
Data
[
VEH_FILTER_LEN
]
;
uint8_t
Count
;
uint16_t
Data
[
VEH_FILTER_LEN
];
}
VehcleFilter
;
static
uint32_t
SPEED_PPK
=
159246ul
;
static
uint32_t
SPEED_RADIO
=
637
;
static
uint32_t
SPEED_PPK
=
159246ul
;
static
uint32_t
SPEED_RADIO
=
637
;
uint16_t
Vehicle_ACT_Speed
;
uint16_t
Vehicle_DISP_Speed
;
uint8_t
VehicleSpeedValid
;
uint8_t
Vehicle_CurSeg
;
uint8_t
Vehicle_CurSeg
;
static
uint16_t
Cal_VehSpeed
(
uint16_t
Fre
,
uint8_t
Len
);
void
Speed_KL30_Init
(
void
)
{
uint8_t
i
;
uint8_t
i
;
Vehicle_ACT_Speed
=
0u
;
Vehicle_DISP_Speed
=
0u
;
VehicleSpeedValid
=
0u
;
Vehicle_CurSeg
=
0u
;
VehcleFilter
.
Count
=
0
;
for
(
i
=
0
;
i
<
VEH_FILTER_LEN
;
i
++
)
VehcleFilter
.
Count
=
0
;
for
(
i
=
0
;
i
<
VEH_FILTER_LEN
;
i
++
)
{
VehcleFilter
.
Data
[
i
]
=
0
;
VehcleFilter
.
Data
[
i
]
=
0
;
}
Set_Speed_PPK
(
159246ul
);
}
void
Speed_KL15_ON_Init
(
void
)
{
uint8_t
i
;
uint8_t
i
;
Vehicle_ACT_Speed
=
0u
;
Vehicle_DISP_Speed
=
0u
;
VehicleSpeedValid
=
0u
;
Vehicle_CurSeg
=
0u
;
VehcleFilter
.
Count
=
0
;
for
(
i
=
0
;
i
<
VEH_FILTER_LEN
;
i
++
)
VehcleFilter
.
Count
=
0
;
for
(
i
=
0
;
i
<
VEH_FILTER_LEN
;
i
++
)
{
VehcleFilter
.
Data
[
i
]
=
0
;
VehcleFilter
.
Data
[
i
]
=
0
;
}
Veh_Fre_Init
(
Get_Speed_PPK
()
/
10
);
}
void
Speed_KL15_OFF_Init
(
void
)
{
uint8_t
i
;
uint8_t
i
;
Vehicle_ACT_Speed
=
0u
;
Vehicle_DISP_Speed
=
0u
;
VehicleSpeedValid
=
0u
;
Vehicle_CurSeg
=
0u
;
VehcleFilter
.
Count
=
0
;
for
(
i
=
0
;
i
<
VEH_FILTER_LEN
;
i
++
)
VehcleFilter
.
Count
=
0
;
for
(
i
=
0
;
i
<
VEH_FILTER_LEN
;
i
++
)
{
VehcleFilter
.
Data
[
i
]
=
0
;
VehcleFilter
.
Data
[
i
]
=
0
;
}
}
void
Speed_Wakeup_Init
(
void
)
{
uint8_t
i
;
uint8_t
i
;
Vehicle_ACT_Speed
=
0u
;
Vehicle_DISP_Speed
=
0u
;
VehicleSpeedValid
=
0u
;
Vehicle_CurSeg
=
0u
;
for
(
i
=
0
;
i
<
VEH_FILTER_LEN
;
i
++
)
for
(
i
=
0
;
i
<
VEH_FILTER_LEN
;
i
++
)
{
VehcleFilter
.
Data
[
i
]
=
0
;
VehcleFilter
.
Data
[
i
]
=
0
;
}
}
void
Speed_Sleep_Init
(
void
)
{
uint8_t
i
;
uint8_t
i
;
Vehicle_ACT_Speed
=
0u
;
Vehicle_DISP_Speed
=
0u
;
VehicleSpeedValid
=
0u
;
Vehicle_CurSeg
=
0u
;
for
(
i
=
0
;
i
<
VEH_FILTER_LEN
;
i
++
)
for
(
i
=
0
;
i
<
VEH_FILTER_LEN
;
i
++
)
{
VehcleFilter
.
Data
[
i
]
=
0
;
VehcleFilter
.
Data
[
i
]
=
0
;
}
}
...
...
@@ -93,9 +93,9 @@ void Speed_Processing_Service(void)
{
uint32_t
VehValTmp
=
0u
;
uint32_t
PPK
=
0u
;
//if(Get_Veh_Fre_Event())
//
if(Get_Veh_Fre_Event())
//{
// VehValTmp = Cal_VehSpeed(Get_Veh_Fre(),VEH_FILTER_LEN) ;
//
VehValTmp = Cal_VehSpeed(Get_Veh_Fre(),VEH_FILTER_LEN) ;
// VehValTmp *= 3600 ;
// VehValTmp *= 10 ;
...
...
@@ -108,68 +108,64 @@ void Speed_Processing_Service(void)
PPK
=
Get_Speed_PPK
();
VehValTmp
=
Cal_Veh_Frequency
();
VehValTmp
*=
3600
;
VehValTmp
*=
10
;
VehValTmp
*=
10
;
VehValTmp
/=
PPK
;
VehValTmp
*=
3600
;
VehValTmp
*=
10
;
VehValTmp
*=
10
;
VehValTmp
/=
PPK
;
//VehValTmp = Cal_Veh_Frequency();
//VehValTmp *= 3600 ;
//VehValTmp *= 10 ;
//VehValTmp /= PPK ;
// VehValTmp = Cal_Veh_Frequency();
// VehValTmp *= 3600 ;
// VehValTmp *= 10 ;
// VehValTmp /= PPK ;
if
(
VehValTmp
>
2250
)
{
VehValTmp
=
0
;
VehicleSpeedValid
=
0
;
VehValTmp
=
0
;
VehicleSpeedValid
=
0
;
}
else
{
VehicleSpeedValid
=
1
;
VehicleSpeedValid
=
1
;
}
Vehicle_ACT_Speed
=
VehValTmp
;
Vehicle_ACT_Speed
=
VehValTmp
;
//传入表头
//传入表头
VehValTmp
=
VehSpeedAmplification
((
uint16_t
)
VehValTmp
);
SetGaugesPara
(
VehGauges
,
(
uint16_t
)
VehValTmp
);
//获得显示格和显示车速
//获得显示格和显示车速
Vehicle_CurSeg
=
GetGaugesCurrentPos
(
VehGauges
);
Vehicle_DISP_Speed
=
GetVehDisVal
(
Vehicle_CurSeg
,
&
GaugesInfo_Init_Table
[
VehGauges
]);
}
static
uint16_t
Cal_VehSpeed
(
uint16_t
Fre
,
uint8_t
Len
)
{
static
uint16_t
u16Result
=
0
;
static
uint16_t
u16Result
=
0
;
if
(
Fre
>
2000
)
{
//do nothing
//
do nothing
}
else
{
if
(
VehcleFilter
.
Count
<
Len
)
{
VehcleFilter
.
Data
[
VehcleFilter
.
Count
]
=
Fre
;
VehcleFilter
.
Count
++
;
VehcleFilter
.
Data
[
VehcleFilter
.
Count
]
=
Fre
;
VehcleFilter
.
Count
++
;
}
else
{
VehcleFilter
.
Count
=
0
;
VehcleFilter
.
Count
=
0
;
App_SortNByte
(
VehcleFilter
.
Data
,
Len
);
u16Result
=
VehcleFilter
.
Data
[
2
]
;
u16Result
+=
VehcleFilter
.
Data
[
3
]
;
u16Result
+=
VehcleFilter
.
Data
[
3
]
;
u16Result
+=
VehcleFilter
.
Data
[
4
]
;
u16Result
/=
4
;
u16Result
=
VehcleFilter
.
Data
[
2
];
u16Result
+=
VehcleFilter
.
Data
[
3
];
u16Result
+=
VehcleFilter
.
Data
[
3
];
u16Result
+=
VehcleFilter
.
Data
[
4
];
u16Result
/=
4
;
}
}
return
u16Result
;
return
u16Result
;
}
/*-------------------------------------------------------------------------
...
...
@@ -182,7 +178,7 @@ static uint16_t Cal_VehSpeed(uint16_t Fre, uint8_t Len)
--------------------------------------------------------------------------*/
void
Set_Speed_PPK
(
uint32_t
PPK
)
{
SPEED_PPK
=
PPK
;
SPEED_PPK
=
PPK
;
}
/*-------------------------------------------------------------------------
* Function Name : Set_Speed_PPK
...
...
@@ -194,7 +190,7 @@ void Set_Speed_PPK(uint32_t PPK)
--------------------------------------------------------------------------*/
void
Set_Speed_Ratio
(
uint32_t
Ratio
)
{
SPEED_RADIO
=
Ratio
;
SPEED_RADIO
=
Ratio
;
}
/*-------------------------------------------------------------------------
* Function Name : Get_Speed_PPK
...
...
@@ -207,8 +203,8 @@ void Set_Speed_Ratio(uint32_t Ratio)
uint32_t
Get_Speed_PPK
(
void
)
{
uint32_t
u32Result
=
0u
;
u32Result
=
SPEED_PPK
;
return
u32Result
;
u32Result
=
SPEED_PPK
;
return
u32Result
;
}
uint16_t
Speed_Get_ActualValue
(
void
)
...
...
@@ -233,7 +229,7 @@ uint16_t Speed_Get_Display_Value(void)
--------------------------------------------------------------------------*/
uint8_t
Speed_Get_CurSeg
(
void
)
{
return
Vehicle_CurSeg
;
return
Vehicle_CurSeg
;
}
/*-------------------------------------------------------------------------
* Function Name : Speed_Get_Valid
...
...
@@ -245,7 +241,5 @@ uint8_t Speed_Get_CurSeg(void)
--------------------------------------------------------------------------*/
uint8_t
Speed_Get_Valid
(
void
)
{
return
VehicleSpeedValid
;
return
VehicleSpeedValid
;
}
source/Application/APP/GaugesMode/GaugesInterface.c
View file @
0d1dff89
#include "GaugesInterface.h"
GetVehDisValGetVehDisVal
#
include
"GaugesInterface.h"
#include "Menu.h"
/**@struct _GaugesInfoInit
*this is _GaugesInfoInit
...
...
source/Application/APP/LINE_IN/Line_In.h
View file @
0d1dff89
...
...
@@ -6,14 +6,6 @@
#include "TYW_stdint.h"
#include "string.h"
/*
Note ! NOW LineIn only support 254 channel!!!!!
Note ! NOW LineIn only support 254 channel!!!!!
Note ! NOW LineIn only support 254 channel!!!!!
Note ! NOW LineIn only support 254 channel!!!!!
Note ! NOW LineIn only support 254 channel!!!!!
*/
/*所有硬线输入的索引*/
typedef
enum
{
...
...
source/Application/APP/LINE_IN/Line_In_user.c
View file @
0d1dff89
...
...
@@ -65,8 +65,8 @@ const Line_In_Attribute_st_t g_stLineInAttribute[LINE_IN_MAX] =
{
LINE_IN_LEVEL_HIGH
,
200U
,
0U
,
LINE_IN_IG_ON
,
LINE_IN_Get_ILLUMINATION
,},
/*A06 ILLUMINATION 背光有效*/
{
LINE_IN_LEVEL_LOW
,
200U
,
0U
,
LINE_IN_IG_ON
,
LINE_IN_Get_RET_BLENDING
,},
/*A10 RET_BLENDING*/
{
LINE_IN_LEVEL_LOW
,
200U
,
0U
,
LINE_IN_IG_ON
,
LINE_IN_Get_BRAKE
,},
/*A21 BRAKE*/
{
LINE_IN_LEVEL_HIGH
,
20
0U
,
0U
,
LINE_IN_IG_ONOFF
,
LINE_IN_Get_TURN_R
,},
/*A26 TURN_R*/
{
LINE_IN_LEVEL_HIGH
,
20
0U
,
0U
,
LINE_IN_IG_ONOFF
,
LINE_IN_Get_TURN_L
,},
/*A27 TURN_L*/
{
LINE_IN_LEVEL_HIGH
,
2
0U
,
0U
,
LINE_IN_IG_ONOFF
,
LINE_IN_Get_TURN_R
,},
/*A26 TURN_R*/
{
LINE_IN_LEVEL_HIGH
,
2
0U
,
0U
,
LINE_IN_IG_ONOFF
,
LINE_IN_Get_TURN_L
,},
/*A27 TURN_L*/
{
LINE_IN_LEVEL_LOW
,
200U
,
0U
,
LINE_IN_IG_ON
,
LINE_IN_Get_ABS_DETECT
,},
/*A33 ABS_DETECT*/
{
LINE_IN_LEVEL_HIGH
,
200U
,
0U
,
LINE_IN_IG_ON
,
LINE_IN_Get_PTO
,},
/*B01 PTO*/
{
LINE_IN_LEVEL_LOW
,
200U
,
0U
,
LINE_IN_IG_ON
,
LINE_IN_Get_GLOW
,},
/*B05 GLOW*/
...
...
source/Application/APP/PowerManagement/PowerManagement_user.c
View file @
0d1dff89
...
...
@@ -109,6 +109,8 @@ Power_Status_t Power_KL30_Init ( void )
BL_ACC_EN
=
1U
;
/*8867 使能*/
Fuel_VCC05V_OUT_EN
=
1U
;
/*燃油电源 使能*/
AIR_5V_OUT_EN
=
1u
;
/*气压 5V*/
ACC5V_LED_PWM_MCU
=
1u
;
IS31_Init
();
Sound_Scheduler_Init
();
Sound_Player_Init
();
...
...
@@ -146,6 +148,7 @@ void Power_Sleep_Init(void)
BL_ACC_EN
=
1U
;
/*8867 使能*/
Fuel_VCC05V_OUT_EN
=
1U
;
/*燃油电源 使能*/
AIR_5V_OUT_EN
=
1u
;
/*气压 5V*/
ACC5V_LED_PWM_MCU
=
1u
;
IS31_Shutdown
();
...
...
@@ -198,6 +201,7 @@ Power_Status_t Power_Wakeup_Init ( void )
BL_ACC_EN
=
1U
;
/*8867 使能*/
Fuel_VCC05V_OUT_EN
=
1U
;
/*燃油电源 使能*/
AIR_5V_OUT_EN
=
1u
;
/*气压 5V*/
ACC5V_LED_PWM_MCU
=
1u
;
IS31_Init
();
/*报警调度初始化*/
...
...
source/Application/APP/SEG_LCD/SEG_DISPLAY.c
View file @
0d1dff89
...
...
@@ -8,34 +8,25 @@
#include "Data_VehicleSpeed.h"
#include "GaugesInterface.h"
#define PRI_SEG_NUM_MAX 17U
#define SEC_SEG_NUM_MAX 17U
#define COOLANT_SEG_NUM_MAX 12U
#define FUEL_SEG_NUM_MAX 12U
#define TACHO_SEG_NUM_MAX 27U
#define VEH_SEG_NUM_MAX 30U
#define PRI_SEG_NUM_MAX 17U
#define SEC_SEG_NUM_MAX 17U
#define COOLANT_SEG_NUM_MAX 12U
#define FUEL_SEG_NUM_MAX 12U
#define TACHO_SEG_NUM_MAX 27U
#define VEH_SEG_NUM_MAX 30U
static
void
Seg_General_Digit_Display
(
uint32_t
Digit
,
uint8_t
Len
,
uint8_t
Blank
,
uint8_t
*
DigitBuf
,
uint8_t
*
Reg
);
static
void
Seg_Digit_1_Disp
(
uint8_t
Digit
);
static
void
Seg_Digit_2_Disp
(
uint8_t
Digit
);
static
void
Seg_Digit_3_Disp
(
uint8_t
Digit
);
static
void
SEG_PRI_Display
(
uint8_t
Value
,
uint8_t
Valid
,
uint8_t
seg_status
);
static
void
SEG_SEC_Display
(
uint8_t
Value
,
uint8_t
Valid
,
uint8_t
seg_status
);
static
void
SEG_Coolant_Display
(
uint8_t
Value
,
uint8_t
Valid
,
uint8_t
seg_status
);
static
void
SEG_Fuel_Display
(
uint8_t
Value
,
uint8_t
Valid
,
uint8_t
seg_status
);
static
void
SEG_Tacho_Display
(
uint8_t
Value
,
uint8_t
Valid
,
uint8_t
seg_status
);
static
void
SEG_VehicleSpeed_Display
(
uint8_t
Value
,
uint8_t
Valid
,
uint8_t
seg_status
);
static
void
SEG_VehicleSpeed_Num
(
uint16_t
Value
,
uint8_t
Valid
);
static
void
Seg_General_Digit_Display
(
uint32_t
Digit
,
uint8_t
Len
,
uint8_t
Blank
,
uint8_t
*
DigitBuf
,
uint8_t
*
Reg
);
static
void
Seg_Digit_1_Disp
(
uint8_t
Digit
);
static
void
Seg_Digit_2_Disp
(
uint8_t
Digit
);
static
void
Seg_Digit_3_Disp
(
uint8_t
Digit
);
static
void
SEG_PRI_Display
(
uint8_t
Value
,
uint8_t
Valid
,
uint8_t
seg_status
)
;
static
void
SEG_SEC_Display
(
uint8_t
Value
,
uint8_t
Valid
,
uint8_t
seg_status
)
;
static
void
SEG_Coolant_Display
(
uint8_t
Value
,
uint8_t
Valid
,
uint8_t
seg_status
)
;
static
void
SEG_Fuel_Display
(
uint8_t
Value
,
uint8_t
Valid
,
uint8_t
seg_status
)
;
static
void
SEG_Tacho_Display
(
uint8_t
Value
,
uint8_t
Valid
,
uint8_t
seg_status
)
;
static
void
SEG_VehicleSpeed_Display
(
uint8_t
Value
,
uint8_t
Valid
,
uint8_t
seg_status
)
;
static
void
SEG_VehicleSpeed_Num
(
uint16_t
Value
,
uint8_t
Valid
)
;
/*ZH:*/
/*****************************************************************************
某某灯(红)//_1_差速器锁
******************************************************************************/
...
...
@@ -96,7 +87,7 @@ void SEG_LED_SVS_T(uint8_t seg_status)
/*****************************************************************************
//_9_上坡起步辅助系统
******************************************************************************/
void
SEG_LED_H_S_A_
_
T
(
uint8_t
seg_status
)
void
SEG_LED_H_S_A_T
(
uint8_t
seg_status
)
{
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_158
,
seg_status
);
}
...
...
@@ -273,7 +264,7 @@ void SEG_LED_BRAKE_LOCK_R(uint8_t seg_status)
******************************************************************************/
void
SEG_LED_AIR_SUS_R
(
uint8_t
seg_status
)
{
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_34
,
seg_status
);
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_34
,
seg_status
);
}
/*****************************************************************************
//_36_拖车ABS系统故障报警
...
...
@@ -312,7 +303,6 @@ void SEG_LED_TURN_LEFT(uint8_t seg_status)
}
/*:ZH*/
/*****************************************************************************
常显示
******************************************************************************/
...
...
@@ -365,27 +355,38 @@ void SEG_C25_Disp(uint8_t seg_status)
#define NUM_3J(x) SEG_BUFF_Set(BU98_CHIP0, SEG_REDEFINE_59, x);
#define NUM_3K(x) SEG_BUFF_Set(BU98_CHIP0, SEG_REDEFINE_64, x);
#define NUM_3L(x) SEG_BUFF_Set(BU98_CHIP0, SEG_REDEFINE_65, x);
// L K J //H G F E D C B A
//0 1 1 1 //1 0 1 1 1 1 1 1 // 0x07Bf
//1 1 1 0 //0 0 0 0 0 1 1 0 // 0x0606
//2 0 1 1 //0 1 0 1 1 0 1 1 // 0x035b
//3 1 1 0 //0 1 0 0 1 1 1 1 // 0x064f
//4 1 1 1 //0 1 1 0 0 1 1 0 // 0x0766
//5 0 1 1 //0 1 1 0 1 1 0 1 // 0x036d
//6 0 1 1 //1 1 1 1 1 1 0 1 // 0x03fd
//7 1 1 0 //0 0 0 0 0 1 1 1 // 0x0607
//8 0 1 1 //0 1 1 1 1 1 1 1 // 0x037f
//9 1 1 1 //0 1 1 0 1 1 1 1 // 0x076f
// L K J //H G F E D C B A
//
0 1 1 1 //1 0 1 1 1 1 1 1 // 0x07Bf
//
1 1 1 0 //0 0 0 0 0 1 1 0 // 0x0606
//
2 0 1 1 //0 1 0 1 1 0 1 1 // 0x035b
//
3 1 1 0 //0 1 0 0 1 1 1 1 // 0x064f
//
4 1 1 1 //0 1 1 0 0 1 1 0 // 0x0766
//
5 0 1 1 //0 1 1 0 1 1 0 1 // 0x036d
//
6 0 1 1 //1 1 1 1 1 1 0 1 // 0x03fd
//
7 1 1 0 //0 0 0 0 0 1 1 1 // 0x0607
//
8 0 1 1 //0 1 1 1 1 1 1 1 // 0x037f
//
9 1 1 1 //0 1 1 0 1 1 1 1 // 0x076f
// 0 0 0 0 0 0 0 0 0 0 0 // 0x0000
//'-' 0 0 0 0 1 0 0 0 0 0 0 // 0x0040
static
const
uint16_t
Seg_Digit_Nomal
[]
=
{
/**0** | **1** |**2** | **3** | **4** | **5** | **6** | **7** | **8** | **9** | **10 black** | **11 --** | **all light --**/
0x07Bf
,
0x0606
,
0x035b
,
0x064f
,
0x0766
,
0x036d
,
0x03fd
,
0x0607
,
0x037f
,
0x076f
,
0x0000
,
0x0040
,
0xffff
,
}
;
static
void
Seg_Digit_1_Disp
(
uint8_t
Digit
)
0x07Bf
,
0x0606
,
0x035b
,
0x064f
,
0x0766
,
0x036d
,
0x03fd
,
0x0607
,
0x037f
,
0x076f
,
0x0000
,
0x0040
,
0xffff
,
};
static
void
Seg_Digit_1_Disp
(
uint8_t
Digit
)
{
uint8_t
MUN_A
;
uint8_t
MUN_B
;
...
...
@@ -399,32 +400,31 @@ static void Seg_Digit_1_Disp (uint8_t Digit)
uint8_t
MUN_K
;
uint8_t
MUN_L
;
MUN_A
=
(
((
1
<<
0
)
&
Seg_Digit_Nomal
[
Digit
])
>>
0
)
?
7
:
0
;
MUN_B
=
(
((
1
<<
1
)
&
Seg_Digit_Nomal
[
Digit
])
>>
1
)
?
7
:
0
;
MUN_C
=
(
((
1
<<
2
)
&
Seg_Digit_Nomal
[
Digit
])
>>
2
)
?
7
:
0
;
MUN_D
=
(
((
1
<<
3
)
&
Seg_Digit_Nomal
[
Digit
])
>>
3
)
?
7
:
0
;
MUN_E
=
(
((
1
<<
4
)
&
Seg_Digit_Nomal
[
Digit
])
>>
4
)
?
7
:
0
;
MUN_F
=
(
((
1
<<
5
)
&
Seg_Digit_Nomal
[
Digit
])
>>
5
)
?
7
:
0
;
MUN_G
=
(
((
1
<<
6
)
&
Seg_Digit_Nomal
[
Digit
])
>>
6
)
?
7
:
0
;
MUN_H
=
(
((
1
<<
7
)
&
Seg_Digit_Nomal
[
Digit
])
>>
7
)
?
7
:
0
;
MUN_J
=
(
((
1
<<
8
)
&
Seg_Digit_Nomal
[
Digit
])
>>
8
)
?
7
:
0
;
MUN_K
=
(
((
1
<<
9
)
&
Seg_Digit_Nomal
[
Digit
])
>>
9
)
?
7
:
0
;
MUN_L
=
(
((
1
<<
10
)
&
Seg_Digit_Nomal
[
Digit
])
>>
10
)
?
7
:
0
;
NUM_1A
(
MUN_A
);
NUM_1B
(
MUN_B
);
NUM_1C
(
MUN_C
);
NUM_1D
(
MUN_D
);
NUM_1E
(
MUN_E
);
NUM_1F
(
MUN_F
);
NUM_1G
(
MUN_G
);
NUM_1H
(
MUN_H
);
NUM_1J
(
MUN_J
);
NUM_1K
(
MUN_K
);
NUM_1L
(
MUN_L
);
MUN_A
=
(((
1
<<
0
)
&
Seg_Digit_Nomal
[
Digit
])
>>
0
)
?
7
:
0
;
MUN_B
=
(((
1
<<
1
)
&
Seg_Digit_Nomal
[
Digit
])
>>
1
)
?
7
:
0
;
MUN_C
=
(((
1
<<
2
)
&
Seg_Digit_Nomal
[
Digit
])
>>
2
)
?
7
:
0
;
MUN_D
=
(((
1
<<
3
)
&
Seg_Digit_Nomal
[
Digit
])
>>
3
)
?
7
:
0
;
MUN_E
=
(((
1
<<
4
)
&
Seg_Digit_Nomal
[
Digit
])
>>
4
)
?
7
:
0
;
MUN_F
=
(((
1
<<
5
)
&
Seg_Digit_Nomal
[
Digit
])
>>
5
)
?
7
:
0
;
MUN_G
=
(((
1
<<
6
)
&
Seg_Digit_Nomal
[
Digit
])
>>
6
)
?
7
:
0
;
MUN_H
=
(((
1
<<
7
)
&
Seg_Digit_Nomal
[
Digit
])
>>
7
)
?
7
:
0
;
MUN_J
=
(((
1
<<
8
)
&
Seg_Digit_Nomal
[
Digit
])
>>
8
)
?
7
:
0
;
MUN_K
=
(((
1
<<
9
)
&
Seg_Digit_Nomal
[
Digit
])
>>
9
)
?
7
:
0
;
MUN_L
=
(((
1
<<
10
)
&
Seg_Digit_Nomal
[
Digit
])
>>
10
)
?
7
:
0
;
NUM_1A
(
MUN_A
);
NUM_1B
(
MUN_B
);
NUM_1C
(
MUN_C
);
NUM_1D
(
MUN_D
);
NUM_1E
(
MUN_E
);
NUM_1F
(
MUN_F
);
NUM_1G
(
MUN_G
);
NUM_1H
(
MUN_H
);
NUM_1J
(
MUN_J
);
NUM_1K
(
MUN_K
);
NUM_1L
(
MUN_L
);
}
static
void
Seg_Digit_2_Disp
(
uint8_t
Digit
)
static
void
Seg_Digit_2_Disp
(
uint8_t
Digit
)
{
uint8_t
MUN_A
;
uint8_t
MUN_B
;
...
...
@@ -438,32 +438,32 @@ static void Seg_Digit_2_Disp (uint8_t Digit)
uint8_t
MUN_K
;
uint8_t
MUN_L
;
MUN_A
=
(
((
1
<<
0
)
&
Seg_Digit_Nomal
[
Digit
])
>>
0
)
?
7
:
0
;
MUN_B
=
(
((
1
<<
1
)
&
Seg_Digit_Nomal
[
Digit
])
>>
1
)
?
7
:
0
;
MUN_C
=
(
((
1
<<
2
)
&
Seg_Digit_Nomal
[
Digit
])
>>
2
)
?
7
:
0
;
MUN_D
=
(
((
1
<<
3
)
&
Seg_Digit_Nomal
[
Digit
])
>>
3
)
?
7
:
0
;
MUN_E
=
(
((
1
<<
4
)
&
Seg_Digit_Nomal
[
Digit
])
>>
4
)
?
7
:
0
;
MUN_F
=
(
((
1
<<
5
)
&
Seg_Digit_Nomal
[
Digit
])
>>
5
)
?
7
:
0
;
MUN_G
=
(
((
1
<<
6
)
&
Seg_Digit_Nomal
[
Digit
])
>>
6
)
?
7
:
0
;
MUN_H
=
(
((
1
<<
7
)
&
Seg_Digit_Nomal
[
Digit
])
>>
7
)
?
7
:
0
;
MUN_J
=
(
((
1
<<
8
)
&
Seg_Digit_Nomal
[
Digit
])
>>
8
)
?
7
:
0
;
MUN_K
=
(
((
1
<<
9
)
&
Seg_Digit_Nomal
[
Digit
])
>>
9
)
?
7
:
0
;
MUN_L
=
(
((
1
<<
10
)
&
Seg_Digit_Nomal
[
Digit
])
>>
10
)
?
7
:
0
;
NUM_2A
(
MUN_A
);
NUM_2B
(
MUN_B
);
NUM_2C
(
MUN_C
);
NUM_2D
(
MUN_D
);
NUM_2E
(
MUN_E
);
NUM_2F
(
MUN_F
);
NUM_2G
(
MUN_G
);
NUM_2H
(
MUN_H
);
NUM_2J
(
MUN_J
);
NUM_2K
(
MUN_K
);
NUM_2L
(
MUN_L
);
MUN_A
=
(
((
1
<<
0
)
&
Seg_Digit_Nomal
[
Digit
])
>>
0
)
?
7
:
0
;
MUN_B
=
(
((
1
<<
1
)
&
Seg_Digit_Nomal
[
Digit
])
>>
1
)
?
7
:
0
;
MUN_C
=
(
((
1
<<
2
)
&
Seg_Digit_Nomal
[
Digit
])
>>
2
)
?
7
:
0
;
MUN_D
=
(
((
1
<<
3
)
&
Seg_Digit_Nomal
[
Digit
])
>>
3
)
?
7
:
0
;
MUN_E
=
(
((
1
<<
4
)
&
Seg_Digit_Nomal
[
Digit
])
>>
4
)
?
7
:
0
;
MUN_F
=
(
((
1
<<
5
)
&
Seg_Digit_Nomal
[
Digit
])
>>
5
)
?
7
:
0
;
MUN_G
=
(
((
1
<<
6
)
&
Seg_Digit_Nomal
[
Digit
])
>>
6
)
?
7
:
0
;
MUN_H
=
(
((
1
<<
7
)
&
Seg_Digit_Nomal
[
Digit
])
>>
7
)
?
7
:
0
;
MUN_J
=
(
((
1
<<
8
)
&
Seg_Digit_Nomal
[
Digit
])
>>
8
)
?
7
:
0
;
MUN_K
=
(
((
1
<<
9
)
&
Seg_Digit_Nomal
[
Digit
])
>>
9
)
?
7
:
0
;
MUN_L
=
(
((
1
<<
10
)
&
Seg_Digit_Nomal
[
Digit
])
>>
10
)
?
7
:
0
;
NUM_2A
(
MUN_A
);
NUM_2B
(
MUN_B
);
NUM_2C
(
MUN_C
);
NUM_2D
(
MUN_D
);
NUM_2E
(
MUN_E
);
NUM_2F
(
MUN_F
);
NUM_2G
(
MUN_G
);
NUM_2H
(
MUN_H
);
NUM_2J
(
MUN_J
);
NUM_2K
(
MUN_K
);
NUM_2L
(
MUN_L
);
}
static
void
Seg_Digit_3_Disp
(
uint8_t
Digit
)
static
void
Seg_Digit_3_Disp
(
uint8_t
Digit
)
{
uint8_t
MUN_A
;
uint8_t
MUN_B
;
...
...
@@ -477,37 +477,37 @@ static void Seg_Digit_3_Disp (uint8_t Digit)
uint8_t
MUN_K
;
uint8_t
MUN_L
;
MUN_A
=
(
((
1
<<
0
)
&
Seg_Digit_Nomal
[
Digit
])
>>
0
)
?
7
:
0
;
MUN_B
=
(
((
1
<<
1
)
&
Seg_Digit_Nomal
[
Digit
])
>>
1
)
?
7
:
0
;
MUN_C
=
(
((
1
<<
2
)
&
Seg_Digit_Nomal
[
Digit
])
>>
2
)
?
7
:
0
;
MUN_D
=
(
((
1
<<
3
)
&
Seg_Digit_Nomal
[
Digit
])
>>
3
)
?
7
:
0
;
MUN_E
=
(
((
1
<<
4
)
&
Seg_Digit_Nomal
[
Digit
])
>>
4
)
?
7
:
0
;
MUN_F
=
(
((
1
<<
5
)
&
Seg_Digit_Nomal
[
Digit
])
>>
5
)
?
7
:
0
;
MUN_G
=
(
((
1
<<
6
)
&
Seg_Digit_Nomal
[
Digit
])
>>
6
)
?
7
:
0
;
MUN_H
=
(
((
1
<<
7
)
&
Seg_Digit_Nomal
[
Digit
])
>>
7
)
?
7
:
0
;
MUN_J
=
(
((
1
<<
8
)
&
Seg_Digit_Nomal
[
Digit
])
>>
8
)
?
7
:
0
;
MUN_K
=
(
((
1
<<
9
)
&
Seg_Digit_Nomal
[
Digit
])
>>
9
)
?
7
:
0
;
MUN_L
=
(
((
1
<<
10
)
&
Seg_Digit_Nomal
[
Digit
])
>>
10
)
?
7
:
0
;
NUM_3A
(
MUN_A
);
NUM_3B
(
MUN_B
);
NUM_3C
(
MUN_C
);
NUM_3D
(
MUN_D
);
NUM_3E
(
MUN_E
);
NUM_3F
(
MUN_F
);
NUM_3G
(
MUN_G
);
NUM_3H
(
MUN_H
);
NUM_3J
(
MUN_J
);
NUM_3K
(
MUN_K
);
NUM_3L
(
MUN_L
);
MUN_A
=
(
((
1
<<
0
)
&
Seg_Digit_Nomal
[
Digit
])
>>
0
)
?
7
:
0
;
MUN_B
=
(
((
1
<<
1
)
&
Seg_Digit_Nomal
[
Digit
])
>>
1
)
?
7
:
0
;
MUN_C
=
(
((
1
<<
2
)
&
Seg_Digit_Nomal
[
Digit
])
>>
2
)
?
7
:
0
;
MUN_D
=
(
((
1
<<
3
)
&
Seg_Digit_Nomal
[
Digit
])
>>
3
)
?
7
:
0
;
MUN_E
=
(
((
1
<<
4
)
&
Seg_Digit_Nomal
[
Digit
])
>>
4
)
?
7
:
0
;
MUN_F
=
(
((
1
<<
5
)
&
Seg_Digit_Nomal
[
Digit
])
>>
5
)
?
7
:
0
;
MUN_G
=
(
((
1
<<
6
)
&
Seg_Digit_Nomal
[
Digit
])
>>
6
)
?
7
:
0
;
MUN_H
=
(
((
1
<<
7
)
&
Seg_Digit_Nomal
[
Digit
])
>>
7
)
?
7
:
0
;
MUN_J
=
(
((
1
<<
8
)
&
Seg_Digit_Nomal
[
Digit
])
>>
8
)
?
7
:
0
;
MUN_K
=
(
((
1
<<
9
)
&
Seg_Digit_Nomal
[
Digit
])
>>
9
)
?
7
:
0
;
MUN_L
=
(
((
1
<<
10
)
&
Seg_Digit_Nomal
[
Digit
])
>>
10
)
?
7
:
0
;
NUM_3A
(
MUN_A
);
NUM_3B
(
MUN_B
);
NUM_3C
(
MUN_C
);
NUM_3D
(
MUN_D
);
NUM_3E
(
MUN_E
);
NUM_3F
(
MUN_F
);
NUM_3G
(
MUN_G
);
NUM_3H
(
MUN_H
);
NUM_3J
(
MUN_J
);
NUM_3K
(
MUN_K
);
NUM_3L
(
MUN_L
);
}
static
void
SEG_VehicleSpeed_Num
(
uint16_t
Value
,
uint8_t
Valid
)
{
uint32_t
VSPEED_FLAG
;
uint32_t
VSPEED_FLAG
;
uint8_t
Dig
[
3u
];
uint8_t
Seg_Trip_Display_Reg
=
0u
;
uint8_t
Seg_Trip_Display_Reg
=
0u
;
if
(
Valid
==
GUI_DISP_MODE_BLANK
)
{
...
...
@@ -517,23 +517,23 @@ static void SEG_VehicleSpeed_Num(uint16_t Value, uint8_t Valid)
}
else
{
VSPEED_FLAG
=
Value
;
VSPEED_FLAG
=
Value
;
VSPEED_FLAG
=
VSPEED_FLAG
/
10u
;
if
(
VSPEED_FLAG
>
225u
)
VSPEED_FLAG
=
225u
;
Seg_General_Digit_Display
(
(
uint32_t
)
VSPEED_FLAG
,
3u
,
2u
,
Dig
,
&
Seg_Trip_Display_Reg
)
;
switch
(
Seg_Trip_Display_Reg
)
Seg_General_Digit_Display
(
(
uint32_t
)
VSPEED_FLAG
,
3u
,
2u
,
Dig
,
&
Seg_Trip_Display_Reg
)
;
switch
(
Seg_Trip_Display_Reg
)
{
case
0x02
:
//二位数
case
0x02
:
//二位数
Dig
[
2u
]
=
10u
;
break
;
case
0x03
:
//一位数
case
0x03
:
//一位数
Dig
[
2u
]
=
10u
;
Dig
[
1u
]
=
10u
;
break
;
default
:
default:
break
;
}
...
...
@@ -545,424 +545,425 @@ static void SEG_VehicleSpeed_Num(uint16_t Value, uint8_t Valid)
}
else
{
Seg_Digit_1_Disp
(
11u
);
//--
Seg_Digit_2_Disp
(
11u
);
//--
Seg_Digit_3_Disp
(
11u
);
//--
Seg_Digit_1_Disp
(
11u
);
//--
Seg_Digit_2_Disp
(
11u
);
//--
Seg_Digit_3_Disp
(
11u
);
//--
}
}
}
//主气压
static
void
SEG_PRI_Display
(
uint8_t
Value
,
uint8_t
Valid
,
uint8_t
seg_status
)
static
void
SEG_PRI_Display
(
uint8_t
Value
,
uint8_t
Valid
,
uint8_t
seg_status
)
{
uint8_t
i
;
static
OldValue
=
0xff
;
static
uint8_t
mSEG
[
PRI_SEG_NUM_MAX
]
=
{
0
}
;
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_95
,
seg_status
)
;
//
A63
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_96
,
seg_status
)
;
//
A64
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_114
,
seg_status
);
//
A82
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_115
,
seg_status
);
//
A83
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_116
,
seg_status
);
//
A84
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_117
,
seg_status
);
//
A85
uint8_t
i
;
static
OldValue
=
0xff
;
static
uint8_t
mSEG
[
PRI_SEG_NUM_MAX
]
=
{
0
}
;
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_95
,
seg_status
)
;
//
A63
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_96
,
seg_status
)
;
//
A64
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_114
,
seg_status
);
//
A82
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_115
,
seg_status
);
//
A83
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_116
,
seg_status
);
//
A84
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_117
,
seg_status
);
//
A85
if
(
Valid
==
GUI_DISP_MODE_BLANK
)
{
for
(
i
=
0
;
i
<
PRI_SEG_NUM_MAX
;
i
++
)
for
(
i
=
0
;
i
<
PRI_SEG_NUM_MAX
;
i
++
)
{
mSEG
[
i
]
=
0
;
mSEG
[
i
]
=
0
;
}
OldValue
=
0xff
;
OldValue
=
0xff
;
}
else
if
(
Valid
==
GUI_DISP_MODE_INVALID
)
else
if
(
Valid
==
GUI_DISP_MODE_INVALID
)
{
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_114
,
0
);
//
A82
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_115
,
0
);
//
A83
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_116
,
0
);
//
A84
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_117
,
0
);
//
A85
for
(
i
=
0
;
i
<
PRI_SEG_NUM_MAX
;
i
++
)
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_114
,
0
);
//
A82
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_115
,
0
);
//
A83
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_116
,
0
);
//
A84
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_117
,
0
);
//
A85
for
(
i
=
0
;
i
<
PRI_SEG_NUM_MAX
;
i
++
)
{
mSEG
[
i
]
=
0
;
mSEG
[
i
]
=
0
;
}
OldValue
=
0xff
;
OldValue
=
0xff
;
}
else
{
{
if
(
Valid
==
GUI_DISP_MODE_NORMAL
)
{
//eg: 5 -> 100000-> 11111
//mSEG[0] = ((((1 << Value) - 1) & ( 1 << 0)) >> 0) ? seg_status : 0;
if
(
OldValue
!=
Value
)
{
// eg: 5 -> 100000-> 11111
// mSEG[0] = ((((1 << Value) - 1) & ( 1 << 0)) >> 0) ? seg_status : 0;
if
(
OldValue
!=
Value
)
{
OldValue
=
Value
;
OldValue
=
Value
;
for
(
i
=
0
;
i
<
PRI_SEG_NUM_MAX
;
i
++
)
for
(
i
=
0
;
i
<
PRI_SEG_NUM_MAX
;
i
++
)
{
mSEG
[
i
]
=
((((
1
<<
Value
)
-
1
)
&
(
1
<<
i
))
>>
i
)
;
if
(
mSEG
[
i
])
mSEG
[
i
]
=
((((
1
<<
Value
)
-
1
)
&
(
1
<<
i
))
>>
i
)
;
if
(
mSEG
[
i
])
{
mSEG
[
i
]
=
seg_status
;
mSEG
[
i
]
=
seg_status
;
}
else
{
mSEG
[
i
]
=
0
;
mSEG
[
i
]
=
0
;
}
}
}
}
}
}
}
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_97
,
mSEG
[
0
])
;
//A65
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_98
,
mSEG
[
1
])
;
//A66
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_99
,
mSEG
[
2
])
;
//A67
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_100
,
mSEG
[
3
])
;
//A68
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_101
,
mSEG
[
4
])
;
//A69
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_102
,
mSEG
[
5
])
;
//A70
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_103
,
mSEG
[
6
])
;
//A71
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_104
,
mSEG
[
7
])
;
//A72
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_105
,
mSEG
[
8
])
;
//A73
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_106
,
mSEG
[
9
])
;
//A74
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_107
,
mSEG
[
10
])
;
//A75
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_108
,
mSEG
[
11
])
;
//A76
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_109
,
mSEG
[
12
])
;
//A77
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_110
,
mSEG
[
13
])
;
//A78
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_111
,
mSEG
[
14
])
;
//A79
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_112
,
mSEG
[
15
])
;
//A80
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_113
,
mSEG
[
16
])
;
//A81
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_97
,
mSEG
[
0
]);
// A65
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_98
,
mSEG
[
1
]);
// A66
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_99
,
mSEG
[
2
]);
// A67
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_100
,
mSEG
[
3
]);
// A68
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_101
,
mSEG
[
4
]);
// A69
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_102
,
mSEG
[
5
]);
// A70
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_103
,
mSEG
[
6
]);
// A71
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_104
,
mSEG
[
7
]);
// A72
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_105
,
mSEG
[
8
]);
// A73
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_106
,
mSEG
[
9
]);
// A74
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_107
,
mSEG
[
10
]);
// A75
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_108
,
mSEG
[
11
]);
// A76
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_109
,
mSEG
[
12
]);
// A77
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_110
,
mSEG
[
13
]);
// A78
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_111
,
mSEG
[
14
]);
// A79
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_112
,
mSEG
[
15
]);
// A80
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_113
,
mSEG
[
16
]);
// A81
}
//副气压
static
void
SEG_SEC_Display
(
uint8_t
Value
,
uint8_t
Valid
,
uint8_t
seg_status
)
static
void
SEG_SEC_Display
(
uint8_t
Value
,
uint8_t
Valid
,
uint8_t
seg_status
)
{
uint8_t
i
;
static
OldValue
=
0xff
;
static
uint8_t
mSEG
[
SEC_SEG_NUM_MAX
]
=
{
0
}
;
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_68
,
seg_status
);
//
B5
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_69
,
seg_status
);
//
B6
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_70
,
seg_status
);
//
B7
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_71
,
seg_status
);
//
B8
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_72
,
seg_status
);
//
B9
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_90
,
seg_status
);
//
B27
uint8_t
i
;
static
OldValue
=
0xff
;
static
uint8_t
mSEG
[
SEC_SEG_NUM_MAX
]
=
{
0
}
;
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_68
,
seg_status
);
//
B5
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_69
,
seg_status
);
//
B6
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_70
,
seg_status
);
//
B7
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_71
,
seg_status
);
//
B8
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_72
,
seg_status
);
//
B9
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_90
,
seg_status
);
//
B27
if
(
Valid
==
GUI_DISP_MODE_BLANK
)
{
for
(
i
=
0
;
i
<
SEC_SEG_NUM_MAX
;
i
++
)
for
(
i
=
0
;
i
<
SEC_SEG_NUM_MAX
;
i
++
)
{
mSEG
[
i
]
=
0
;
mSEG
[
i
]
=
0
;
}
OldValue
=
0xff
;
OldValue
=
0xff
;
}
else
if
(
Valid
==
GUI_DISP_MODE_INVALID
)
{
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_70
,
0
);
//
B7
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_71
,
0
);
//
B8
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_72
,
0
);
//
B9
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_90
,
0
);
//
B27
for
(
i
=
0
;
i
<
SEC_SEG_NUM_MAX
;
i
++
)
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_70
,
0
);
//
B7
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_71
,
0
);
//
B8
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_72
,
0
);
//
B9
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_90
,
0
);
//
B27
for
(
i
=
0
;
i
<
SEC_SEG_NUM_MAX
;
i
++
)
{
mSEG
[
i
]
=
0
;
mSEG
[
i
]
=
0
;
}
OldValue
=
0xff
;
OldValue
=
0xff
;
}
else
{
{
if
(
Valid
==
GUI_DISP_MODE_NORMAL
)
{
//eg: 5 -> 100000-> 11111
if
(
OldValue
!=
Value
)
{
// eg: 5 -> 100000-> 11111
if
(
OldValue
!=
Value
)
{
for
(
i
=
0
;
i
<
SEC_SEG_NUM_MAX
;
i
++
)
for
(
i
=
0
;
i
<
SEC_SEG_NUM_MAX
;
i
++
)
{
mSEG
[
i
]
=
((((
1
<<
Value
)
-
1
)
&
(
1
<<
i
))
>>
i
)
;
if
(
mSEG
[
i
])
mSEG
[
i
]
=
((((
1
<<
Value
)
-
1
)
&
(
1
<<
i
))
>>
i
)
;
if
(
mSEG
[
i
])
{
mSEG
[
i
]
=
seg_status
;
mSEG
[
i
]
=
seg_status
;
}
else
{
mSEG
[
i
]
=
0
;
mSEG
[
i
]
=
0
;
}
}
}
}
}
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_73
,
mSEG
[
0
])
;
//B10
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_74
,
mSEG
[
1
])
;
//B11
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_75
,
mSEG
[
2
])
;
//B12
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_76
,
mSEG
[
3
])
;
//B13
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_77
,
mSEG
[
4
])
;
//B14
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_78
,
mSEG
[
5
])
;
//B15
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_79
,
mSEG
[
6
])
;
//B16
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_80
,
mSEG
[
7
])
;
//B17
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_81
,
mSEG
[
8
])
;
//B18
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_82
,
mSEG
[
9
])
;
//B19
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_83
,
mSEG
[
10
])
;
//B20
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_84
,
mSEG
[
11
])
;
//B21
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_85
,
mSEG
[
12
])
;
//B22
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_86
,
mSEG
[
13
])
;
//B23
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_87
,
mSEG
[
14
])
;
//B24
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_88
,
mSEG
[
15
])
;
//B25
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_89
,
mSEG
[
16
])
;
//B26
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_73
,
mSEG
[
0
]);
// B10
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_74
,
mSEG
[
1
]);
// B11
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_75
,
mSEG
[
2
]);
// B12
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_76
,
mSEG
[
3
]);
// B13
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_77
,
mSEG
[
4
]);
// B14
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_78
,
mSEG
[
5
]);
// B15
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_79
,
mSEG
[
6
]);
// B16
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_80
,
mSEG
[
7
]);
// B17
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_81
,
mSEG
[
8
]);
// B18
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_82
,
mSEG
[
9
]);
// B19
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_83
,
mSEG
[
10
]);
// B20
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_84
,
mSEG
[
11
]);
// B21
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_85
,
mSEG
[
12
]);
// B22
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_86
,
mSEG
[
13
]);
// B23
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_87
,
mSEG
[
14
]);
// B24
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_88
,
mSEG
[
15
]);
// B25
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_89
,
mSEG
[
16
]);
// B26
}
//水温
static
void
SEG_Coolant_Display
(
uint8_t
Value
,
uint8_t
Valid
,
uint8_t
seg_status
)
static
void
SEG_Coolant_Display
(
uint8_t
Value
,
uint8_t
Valid
,
uint8_t
seg_status
)
{
uint8_t
i
;
static
uint8_t
OldValue
=
0
;
static
uint8_t
mSEG
[
COOLANT_SEG_NUM_MAX
]
=
{
0
}
;
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_79
,
seg_status
);
//A47
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_92
,
seg_status
);
//A60
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_93
,
seg_status
);
//A61
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_94
,
seg_status
);
//A62
uint8_t
i
;
static
uint8_t
OldValue
=
0
;
static
uint8_t
mSEG
[
COOLANT_SEG_NUM_MAX
]
=
{
0
};
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_79
,
seg_status
);
// A47
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_92
,
seg_status
);
// A60
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_93
,
seg_status
);
// A61
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_94
,
seg_status
);
// A62
if
(
Valid
==
GUI_DISP_MODE_BLANK
)
{
for
(
i
=
0
;
i
<
COOLANT_SEG_NUM_MAX
;
i
++
)
for
(
i
=
0
;
i
<
COOLANT_SEG_NUM_MAX
;
i
++
)
{
mSEG
[
i
]
=
0
;
mSEG
[
i
]
=
0
;
}
OldValue
=
0
;
OldValue
=
0
;
}
else
if
(
Valid
==
GUI_DISP_MODE_INVALID
)
else
if
(
Valid
==
GUI_DISP_MODE_INVALID
)
{
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_92
,
0u
);
//
A60
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_93
,
0u
);
//
A61
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_94
,
0u
);
//
A62
for
(
i
=
0
;
i
<
COOLANT_SEG_NUM_MAX
;
i
++
)
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_92
,
0u
);
//
A60
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_93
,
0u
);
//
A61
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_94
,
0u
);
//
A62
for
(
i
=
0
;
i
<
COOLANT_SEG_NUM_MAX
;
i
++
)
{
mSEG
[
i
]
=
0
;
mSEG
[
i
]
=
0
;
}
OldValue
=
0
;
OldValue
=
0
;
}
else
{
{
if
(
Valid
==
GUI_DISP_MODE_NORMAL
)
{
//eg: 5 -> 100000-> 11111
if
(
OldValue
!=
Value
)
{
// eg: 5 -> 100000-> 11111
if
(
OldValue
!=
Value
)
{
OldValue
=
Value
;
for
(
i
=
0
;
i
<
COOLANT_SEG_NUM_MAX
;
i
++
)
OldValue
=
Value
;
for
(
i
=
0
;
i
<
COOLANT_SEG_NUM_MAX
;
i
++
)
{
mSEG
[
i
]
=
((((
1
<<
Value
)
-
1
)
&
(
1
<<
i
))
>>
i
)
;
if
(
mSEG
[
i
])
mSEG
[
i
]
=
((((
1
<<
Value
)
-
1
)
&
(
1
<<
i
))
>>
i
)
;
if
(
mSEG
[
i
])
{
mSEG
[
i
]
=
seg_status
;
mSEG
[
i
]
=
seg_status
;
}
else
{
mSEG
[
i
]
=
0
;
mSEG
[
i
]
=
0
;
}
}
}
}
}
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_80
,
mSEG
[
0
])
;
//A48
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_81
,
mSEG
[
1
])
;
//A49
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_82
,
mSEG
[
2
])
;
//A50
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_83
,
mSEG
[
3
])
;
//A51
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_84
,
mSEG
[
4
])
;
//A52
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_85
,
mSEG
[
5
])
;
//A53
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_86
,
mSEG
[
6
])
;
//A54
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_87
,
mSEG
[
7
])
;
//A55
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_88
,
mSEG
[
8
])
;
//A56
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_89
,
mSEG
[
9
])
;
//A57
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_90
,
mSEG
[
10
])
;
//A58
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_91
,
mSEG
[
11
])
;
//A59
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_80
,
mSEG
[
0
]);
// A48
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_81
,
mSEG
[
1
]);
// A49
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_82
,
mSEG
[
2
]);
// A50
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_83
,
mSEG
[
3
]);
// A51
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_84
,
mSEG
[
4
]);
// A52
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_85
,
mSEG
[
5
]);
// A53
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_86
,
mSEG
[
6
]);
// A54
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_87
,
mSEG
[
7
]);
// A55
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_88
,
mSEG
[
8
]);
// A56
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_89
,
mSEG
[
9
]);
// A57
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_90
,
mSEG
[
10
]);
// A58
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_91
,
mSEG
[
11
]);
// A59
}
//燃油
static
void
SEG_Fuel_Display
(
uint8_t
Value
,
uint8_t
Valid
,
uint8_t
seg_status
)
static
void
SEG_Fuel_Display
(
uint8_t
Value
,
uint8_t
Valid
,
uint8_t
seg_status
)
{
uint8_t
i
;
uint8_t
mSEG
[
FUEL_SEG_NUM_MAX
]
=
{
0
}
;
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_91
,
seg_status
);
//
B28
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_92
,
seg_status
);
//
B29
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_93
,
seg_status
);
//
B30
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_106
,
seg_status
);
//
B43
uint8_t
i
;
uint8_t
mSEG
[
FUEL_SEG_NUM_MAX
]
=
{
0
}
;
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_91
,
seg_status
);
//
B28
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_92
,
seg_status
);
//
B29
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_93
,
seg_status
);
//
B30
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_106
,
seg_status
);
//
B43
if
(
Valid
==
GUI_DISP_MODE_BLANK
)
{
for
(
i
=
0
;
i
<
FUEL_SEG_NUM_MAX
;
i
++
)
for
(
i
=
0
;
i
<
FUEL_SEG_NUM_MAX
;
i
++
)
{
mSEG
[
i
]
=
0
;
mSEG
[
i
]
=
0
;
}
}
else
{
{
if
(
Valid
==
GUI_DISP_MODE_NORMAL
)
{
//eg: 5 -> 100000-> 11111
for
(
i
=
0
;
i
<
FUEL_SEG_NUM_MAX
;
i
++
)
{
// eg: 5 -> 100000-> 11111
for
(
i
=
0
;
i
<
FUEL_SEG_NUM_MAX
;
i
++
)
{
mSEG
[
i
]
=
((((
1
<<
Value
)
-
1
)
&
(
1
<<
i
))
>>
i
)
;
if
(
mSEG
[
i
])
mSEG
[
i
]
=
((((
1
<<
Value
)
-
1
)
&
(
1
<<
i
))
>>
i
)
;
if
(
mSEG
[
i
])
{
mSEG
[
i
]
=
seg_status
;
mSEG
[
i
]
=
seg_status
;
}
else
{
mSEG
[
i
]
=
0
;
mSEG
[
i
]
=
0
;
}
}
}
}
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_94
,
mSEG
[
0
])
;
//
B31
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_95
,
mSEG
[
1
])
;
//
B32
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_96
,
mSEG
[
2
])
;
//
B33
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_97
,
mSEG
[
3
])
;
//
B34
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_98
,
mSEG
[
4
])
;
//
B35
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_99
,
mSEG
[
5
])
;
//
B36
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_100
,
mSEG
[
6
])
;
//
B37
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_101
,
mSEG
[
7
])
;
//
B38
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_102
,
mSEG
[
8
])
;
//
B39
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_103
,
mSEG
[
9
])
;
//
B40
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_104
,
mSEG
[
10
])
;
//
B41
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_105
,
mSEG
[
11
])
;
//
B42
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_94
,
mSEG
[
0
]);
//
B31
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_95
,
mSEG
[
1
]);
//
B32
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_96
,
mSEG
[
2
]);
//
B33
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_97
,
mSEG
[
3
]);
//
B34
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_98
,
mSEG
[
4
]);
//
B35
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_99
,
mSEG
[
5
]);
//
B36
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_100
,
mSEG
[
6
])
;
//
B37
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_101
,
mSEG
[
7
])
;
//
B38
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_102
,
mSEG
[
8
])
;
//
B39
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_103
,
mSEG
[
9
])
;
//
B40
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_104
,
mSEG
[
10
])
;
//
B41
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_105
,
mSEG
[
11
])
;
//
B42
}
//转速
static
void
SEG_Tacho_Display
(
uint8_t
Value
,
uint8_t
Valid
,
uint8_t
seg_status
)
static
void
SEG_Tacho_Display
(
uint8_t
Value
,
uint8_t
Valid
,
uint8_t
seg_status
)
{
uint8_t
i
;
uint8_t
mSEG
[
TACHO_SEG_NUM_MAX
]
=
{
0
}
;
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_38
,
seg_status
);
//
A8
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_59
,
seg_status
);
//
A27
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_65
,
seg_status
);
//
A33
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_71
,
seg_status
);
//
A39
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_40
,
seg_status
);
//
A10
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_46
,
seg_status
);
//
A16
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_51
,
seg_status
);
//
A21
uint8_t
i
;
uint8_t
mSEG
[
TACHO_SEG_NUM_MAX
]
=
{
0
}
;
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_38
,
seg_status
);
//
A8
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_59
,
seg_status
);
//
A27
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_65
,
seg_status
);
//
A33
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_71
,
seg_status
);
//
A39
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_40
,
seg_status
);
//
A10
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_46
,
seg_status
);
//
A16
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_51
,
seg_status
);
//
A21
if
(
Valid
==
GUI_DISP_MODE_BLANK
)
{
for
(
i
=
0
;
i
<
TACHO_SEG_NUM_MAX
;
i
++
)
for
(
i
=
0
;
i
<
TACHO_SEG_NUM_MAX
;
i
++
)
{
mSEG
[
i
]
=
0
;
mSEG
[
i
]
=
0
;
}
}
else
{
{
if
(
Valid
==
GUI_DISP_MODE_NORMAL
)
{
//eg: 5 -> 100000-> 11111
for
(
i
=
0
;
i
<
TACHO_SEG_NUM_MAX
;
i
++
)
{
// eg: 5 -> 100000-> 11111
for
(
i
=
0
;
i
<
TACHO_SEG_NUM_MAX
;
i
++
)
{
mSEG
[
i
]
=
((((
1
<<
Value
)
-
1
)
&
(
1
<<
i
))
>>
i
)
;
if
(
mSEG
[
i
])
mSEG
[
i
]
=
((((
1
<<
Value
)
-
1
)
&
(
1
<<
i
))
>>
i
)
;
if
(
mSEG
[
i
])
{
mSEG
[
i
]
=
seg_status
;
mSEG
[
i
]
=
seg_status
;
}
else
{
mSEG
[
i
]
=
1
;
mSEG
[
i
]
=
1
;
}
}
}
}
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_58
,
mSEG
[
0
]);
//A26
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_60
,
mSEG
[
1
]);
//A28
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_61
,
mSEG
[
2
]);
//A29
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_62
,
mSEG
[
3
]);
//A30
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_63
,
mSEG
[
4
]);
//A31
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_64
,
mSEG
[
5
]);
//A32
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_66
,
mSEG
[
6
]);
//A34
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_67
,
mSEG
[
7
]);
//A35
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_68
,
mSEG
[
8
]);
//A36
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_69
,
mSEG
[
9
]);
//A37
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_70
,
mSEG
[
10
]);
//A38
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_72
,
mSEG
[
11
]);
//A40
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_73
,
mSEG
[
12
]);
//A41
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_74
,
mSEG
[
13
]);
//A42
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_75
,
mSEG
[
14
]);
//A43
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_39
,
mSEG
[
15
]);
//A9
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_41
,
mSEG
[
16
]);
//A11
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_42
,
mSEG
[
17
]);
//A12
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_43
,
mSEG
[
18
]);
//A13
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_44
,
mSEG
[
19
]);
//A14
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_45
,
mSEG
[
20
]);
//A15
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_47
,
mSEG
[
21
]);
//A17
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_48
,
mSEG
[
22
]);
//A18
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_49
,
mSEG
[
23
]);
//A19
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_53
,
mSEG
[
24
]);
//A23
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_52
,
mSEG
[
25
]);
//A22
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_50
,
mSEG
[
26
]);
//A20
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_58
,
mSEG
[
0
]);
// A26
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_60
,
mSEG
[
1
]);
// A28
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_61
,
mSEG
[
2
]);
// A29
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_62
,
mSEG
[
3
]);
// A30
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_63
,
mSEG
[
4
]);
// A31
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_64
,
mSEG
[
5
]);
// A32
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_66
,
mSEG
[
6
]);
// A34
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_67
,
mSEG
[
7
]);
// A35
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_68
,
mSEG
[
8
]);
// A36
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_69
,
mSEG
[
9
]);
// A37
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_70
,
mSEG
[
10
]);
// A38
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_72
,
mSEG
[
11
]);
// A40
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_73
,
mSEG
[
12
]);
// A41
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_74
,
mSEG
[
13
]);
// A42
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_75
,
mSEG
[
14
]);
// A43
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_39
,
mSEG
[
15
]);
// A9
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_41
,
mSEG
[
16
]);
// A11
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_42
,
mSEG
[
17
]);
// A12
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_43
,
mSEG
[
18
]);
// A13
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_44
,
mSEG
[
19
]);
// A14
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_45
,
mSEG
[
20
]);
// A15
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_47
,
mSEG
[
21
]);
// A17
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_48
,
mSEG
[
22
]);
// A18
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_49
,
mSEG
[
23
]);
// A19
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_53
,
mSEG
[
24
]);
// A23
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_52
,
mSEG
[
25
]);
// A22
SEG_BUFF_Set
(
BU98_CHIP1
,
SEG_REDEFINE_50
,
mSEG
[
26
]);
// A20
}
//车速
static
void
SEG_VehicleSpeed_Display
(
uint8_t
Value
,
uint8_t
Valid
,
uint8_t
seg_status
)
static
void
SEG_VehicleSpeed_Display
(
uint8_t
Value
,
uint8_t
Valid
,
uint8_t
seg_status
)
{
uint8_t
i
;
uint8_t
mSEG
[
VEH_SEG_NUM_MAX
]
=
{
0
}
;
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_154
,
seg_status
);
//
C42
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_133
,
seg_status
);
//
C23
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_128
,
seg_status
);
//
C18
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_123
,
seg_status
);
//
C13
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_118
,
seg_status
);
//
C8
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_113
,
seg_status
);
//
C3
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_151
,
seg_status
);
//
C39
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_146
,
seg_status
);
//
C34
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_141
,
seg_status
);
//
C29
if
(
Value
>
VEH_SEG_NUM_MAX
)
uint8_t
i
;
uint8_t
mSEG
[
VEH_SEG_NUM_MAX
]
=
{
0
}
;
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_154
,
seg_status
);
//
C42
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_133
,
seg_status
);
//
C23
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_128
,
seg_status
);
//
C18
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_123
,
seg_status
);
//
C13
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_118
,
seg_status
);
//
C8
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_113
,
seg_status
);
//
C3
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_151
,
seg_status
);
//
C39
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_146
,
seg_status
);
//
C34
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_141
,
seg_status
);
//
C29
if
(
Value
>
VEH_SEG_NUM_MAX
)
{
Value
=
VEH_SEG_NUM_MAX
;
Value
=
VEH_SEG_NUM_MAX
;
}
if
(
Valid
==
GUI_DISP_MODE_BLANK
)
{
for
(
i
=
0
;
i
<
VEH_SEG_NUM_MAX
;
i
++
)
for
(
i
=
0
;
i
<
VEH_SEG_NUM_MAX
;
i
++
)
{
mSEG
[
i
]
=
0
;
mSEG
[
i
]
=
0
;
}
}
else
{
{
if
(
Valid
==
GUI_DISP_MODE_NORMAL
)
{
//eg: 5 -> 100000-> 11111
for
(
i
=
0
;
i
<
VEH_SEG_NUM_MAX
;
i
++
)
{
// eg: 5 -> 100000-> 11111
for
(
i
=
0
;
i
<
VEH_SEG_NUM_MAX
;
i
++
)
{
mSEG
[
i
]
=
((((
1
<<
Value
)
-
1
)
&
(
1
<<
i
))
>>
i
)
;
if
(
mSEG
[
i
])
mSEG
[
i
]
=
((((
1
<<
Value
)
-
1
)
&
(
1
<<
i
))
>>
i
)
;
if
(
mSEG
[
i
])
{
mSEG
[
i
]
=
seg_status
;
mSEG
[
i
]
=
seg_status
;
}
else
{
mSEG
[
i
]
=
1
;
mSEG
[
i
]
=
1
;
}
}
}
}
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_134
,
mSEG
[
0
]);
//
C24
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_132
,
mSEG
[
1
]);
//
C22
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_131
,
mSEG
[
2
]);
//
C21
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_130
,
mSEG
[
3
]);
//
C20
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_129
,
mSEG
[
4
]);
//
C19
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_127
,
mSEG
[
5
]);
//
C17
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_126
,
mSEG
[
6
]);
//
C16
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_125
,
mSEG
[
7
]);
//
C15
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_124
,
mSEG
[
8
]);
//
C14
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_122
,
mSEG
[
9
]);
//
C12
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_121
,
mSEG
[
10
]);
//
C11
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_120
,
mSEG
[
11
]);
//
C10
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_119
,
mSEG
[
12
]);
//
C9
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_117
,
mSEG
[
13
]);
//
C7
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_116
,
mSEG
[
14
]);
//
C6
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_115
,
mSEG
[
15
]);
//
C5
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_114
,
mSEG
[
16
]);
//
C4
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_112
,
mSEG
[
17
]);
//
C2
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_111
,
mSEG
[
18
]);
//
C1
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_153
,
mSEG
[
19
]);
//
C41
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_152
,
mSEG
[
20
]);
//
C40
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_150
,
mSEG
[
21
]);
//
C38
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_149
,
mSEG
[
22
]);
//
C37
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_148
,
mSEG
[
23
]);
//
C36
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_147
,
mSEG
[
24
]);
//
C35
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_145
,
mSEG
[
25
]);
//
C33
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_144
,
mSEG
[
26
]);
//
C32
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_143
,
mSEG
[
27
]);
//
C31
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_142
,
mSEG
[
28
]);
//
C30
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_140
,
mSEG
[
29
]);
//
C28
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_134
,
mSEG
[
0
]);
//
C24
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_132
,
mSEG
[
1
]);
//
C22
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_131
,
mSEG
[
2
]);
//
C21
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_130
,
mSEG
[
3
]);
//
C20
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_129
,
mSEG
[
4
]);
//
C19
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_127
,
mSEG
[
5
]);
//
C17
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_126
,
mSEG
[
6
]);
//
C16
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_125
,
mSEG
[
7
]);
//
C15
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_124
,
mSEG
[
8
]);
//
C14
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_122
,
mSEG
[
9
]);
//
C12
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_121
,
mSEG
[
10
]);
//
C11
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_120
,
mSEG
[
11
]);
//
C10
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_119
,
mSEG
[
12
]);
//
C9
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_117
,
mSEG
[
13
]);
//
C7
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_116
,
mSEG
[
14
]);
//
C6
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_115
,
mSEG
[
15
]);
//
C5
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_114
,
mSEG
[
16
]);
//
C4
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_112
,
mSEG
[
17
]);
//
C2
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_111
,
mSEG
[
18
]);
//
C1
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_153
,
mSEG
[
19
]);
//
C41
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_152
,
mSEG
[
20
]);
//
C40
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_150
,
mSEG
[
21
]);
//
C38
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_149
,
mSEG
[
22
]);
//
C37
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_148
,
mSEG
[
23
]);
//
C36
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_147
,
mSEG
[
24
]);
//
C35
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_145
,
mSEG
[
25
]);
//
C33
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_144
,
mSEG
[
26
]);
//
C32
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_143
,
mSEG
[
27
]);
//
C31
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_142
,
mSEG
[
28
]);
//
C30
SEG_BUFF_Set
(
BU98_CHIP0
,
SEG_REDEFINE_140
,
mSEG
[
29
]);
//
C28
}
/******************************************************************************
函数名:Seg_General_Digit_Display
...
...
@@ -974,7 +975,7 @@ static void SEG_VehicleSpeed_Display(uint8_t Value, uint8_t Valid,uint8_t seg_st
Reg : 寄存器变量
返回值:无
******************************************************************************/
static
void
Seg_General_Digit_Display
(
uint32_t
Digit
,
uint8_t
Len
,
uint8_t
Blank
,
uint8_t
*
DigitBuf
,
uint8_t
*
Reg
)
static
void
Seg_General_Digit_Display
(
uint32_t
Digit
,
uint8_t
Len
,
uint8_t
Blank
,
uint8_t
*
DigitBuf
,
uint8_t
*
Reg
)
{
uint8_t
i
;
uint8_t
ActLen
;
...
...
@@ -997,7 +998,7 @@ static void Seg_General_Digit_Display(uint32_t Digit, uint8_t Len, uint8_t Blank
}
//对未计算到的数字位作0填充
for
(
i
=
ActLen
;
i
<
Len
;
i
++
)
for
(
i
=
ActLen
;
i
<
Len
;
i
++
)
DigitBuf
[
i
]
=
0
;
//数字首部按消隐位数做零消隐
...
...
@@ -1007,102 +1008,96 @@ static void Seg_General_Digit_Display(uint32_t Digit, uint8_t Len, uint8_t Blank
DigitBuf
[
i
]
=
0xFF
;
i
--
;
(
*
Reg
)
|=
(
1
<<
i
)
;
(
*
Reg
)
|=
(
1
<<
i
)
;
}
}
static
uint8_t
wbyTestSeg
=
0
;
static
uint16_t
wbyTestNum
;
static
uint8_t
WBY_SET
=
0
;
static
uint16_t
wbyTestNum
;
static
uint8_t
WBY_SET
=
0
;
void
Seg_Display_Service
(
void
)
{
uint32_t
Ign_Time
;
uint32_t
Ign_Time
;
Ign_Time
=
Common_GetIgnOnTime
();
if
(
Common_Get_IG_Sts
()
==
COMMON_POWER_ON
)
{
if
(
WBY_SET
==
1
)
{
if
(
WBY_SET
==
1
)
{
Seg_Display_ON
();
}
}
else
{
SEG_A25_Disp
(
7u
)
;
//左侧弧线
SEG_C25_Disp
(
7u
)
;
//右侧弧线
if
(
Ign_Time
<
3100
)
//if(0)
SEG_A25_Disp
(
7u
);
//左侧弧线
SEG_C25_Disp
(
7u
);
//右侧弧线
if
(
Ign_Time
<
3100
)
{
SEG_PRI_Display
(
GetGaugesCurrentPos
(
PRIGasGauges
),
GUI_DISP_MODE_NORMAL
,
7u
)
;
//
PRI气压格
SEG_SEC_Display
(
GetGaugesCurrentPos
(
SECGasGauges
),
GUI_DISP_MODE_NORMAL
,
7u
)
;
//
SEC气压格
SEG_Coolant_Display
(
GetGaugesCurrentPos
(
TempGauges
),
GUI_DISP_MODE_NORMAL
,
7u
)
;
//水温格
SEG_Fuel_Display
(
GetGaugesCurrentPos
(
TempGauges
),
GUI_DISP_MODE_NORMAL
,
7u
);
//燃油格
SEG_Tacho_Display
(
GetGaugesCurrentPos
(
RevGauges
),
GUI_DISP_MODE_NORMAL
,
7u
);
//转速格
SEG_VehicleSpeed_Display
(
GetGaugesCurrentPos
(
VehGauges
)
,
GUI_DISP_MODE_NORMAL
,
7u
);
//车速格
SEG_PRI_Display
(
GetGaugesCurrentPos
(
PRIGasGauges
),
GUI_DISP_MODE_NORMAL
,
7u
);
//
PRI气压格
SEG_SEC_Display
(
GetGaugesCurrentPos
(
SECGasGauges
),
GUI_DISP_MODE_NORMAL
,
7u
);
//
SEC气压格
SEG_Coolant_Display
(
GetGaugesCurrentPos
(
TempGauges
),
GUI_DISP_MODE_NORMAL
,
7u
);
//水温格
SEG_Fuel_Display
(
GetGaugesCurrentPos
(
TempGauges
),
GUI_DISP_MODE_NORMAL
,
7u
);
//燃油格
SEG_Tacho_Display
(
GetGaugesCurrentPos
(
RevGauges
),
GUI_DISP_MODE_NORMAL
,
7u
);
//转速格
SEG_VehicleSpeed_Display
(
GetGaugesCurrentPos
(
VehGauges
)
,
GUI_DISP_MODE_NORMAL
,
7u
);
//车速格
Seg_Digit_1_Disp
(
12
);
Seg_Digit_2_Disp
(
12
);
Seg_Digit_3_Disp
(
12
);
return
;
}
return
;
}
if
(
AirPressure_Get_Valid
(
0
))
if
(
AirPressure_Get_Valid
(
0
))
{
SEG_PRI_Display
(
AirPressure_Get_CurSeg
(
0
),
GUI_DISP_MODE_NORMAL
,
7u
)
;
//
PRI气压格
SEG_PRI_Display
(
AirPressure_Get_CurSeg
(
0
),
GUI_DISP_MODE_NORMAL
,
7u
);
//
PRI气压格
}
else
{
SEG_PRI_Display
(
AirPressure_Get_CurSeg
(
0
),
GUI_DISP_MODE_INVALID
,
7u
)
;
//
PRI气压格
SEG_PRI_Display
(
AirPressure_Get_CurSeg
(
0
),
GUI_DISP_MODE_INVALID
,
7u
);
//
PRI气压格
}
if
(
AirPressure_Get_Valid
(
1
))
if
(
AirPressure_Get_Valid
(
1
))
{
SEG_SEC_Display
(
AirPressure_Get_CurSeg
(
1
),
GUI_DISP_MODE_NORMAL
,
7u
)
;
//
SEC气压格
SEG_SEC_Display
(
AirPressure_Get_CurSeg
(
1
),
GUI_DISP_MODE_NORMAL
,
7u
);
//
SEC气压格
}
else
{
SEG_SEC_Display
(
AirPressure_Get_CurSeg
(
1
),
GUI_DISP_MODE_INVALID
,
7u
)
;
//
SEC气压格
SEG_SEC_Display
(
AirPressure_Get_CurSeg
(
1
),
GUI_DISP_MODE_INVALID
,
7u
);
//
SEC气压格
}
if
(
Coolant_Get_Valid
())
if
(
Coolant_Get_Valid
())
{
SEG_Coolant_Display
(
Coolant_Get_CurSeg
(),
GUI_DISP_MODE_NORMAL
,
7u
)
;
//水温格
SEG_Coolant_Display
(
Coolant_Get_CurSeg
(),
GUI_DISP_MODE_NORMAL
,
7u
);
//水温格
}
else
{
SEG_Coolant_Display
(
Coolant_Get_CurSeg
(),
GUI_DISP_MODE_INVALID
,
7u
)
;
//水温格
SEG_Coolant_Display
(
Coolant_Get_CurSeg
(),
GUI_DISP_MODE_INVALID
,
7u
);
//水温格
}
SEG_Fuel_Display
(
Fuel_Get_CurSeg
(),
GUI_DISP_MODE_NORMAL
,
7u
);
//燃油格
SEG_Tacho_Display
(
Tacho_Get_CurSeg
(),
GUI_DISP_MODE_NORMAL
,
7u
);
//转速格
SEG_VehicleSpeed_Display
(
Speed_Get_CurSeg
(),
GUI_DISP_MODE_NORMAL
,
7u
);
//车速格
wbyTestNum
=
Common_Get_Disp_V_Speed
()
;
//Speed_Get_Display_Value()
SEG_VehicleSpeed_Num
(
wbyTestNum
,
GUI_DISP_MODE_NORMAL
);
//车速值
//SEG_PRI_Display(wbyTestSeg,GUI_DISP_MODE_NORMAL,7u) ;//PRI气压格
//SEG_SEC_Display(wbyTestSeg,GUI_DISP_MODE_NORMAL,7u) ;//SEC气压格
//SEG_Coolant_Display(wbyTestSeg,GUI_DISP_MODE_NORMAL,7u) ;//水温格
//SEG_Fuel_Display(wbyTestSeg, GUI_DISP_MODE_NORMAL,7u);//燃油格
//SEG_Tacho_Display(wbyTestSeg,GUI_DISP_MODE_NORMAL,7u);//转速格
//SEG_VehicleSpeed_Display(wbyTestSeg,GUI_DISP_MODE_NORMAL,7u);//车速格
//SEG_VehicleSpeed_Num(wbyTestNum,GUI_DISP_MODE_NORMAL);//车速值
}
SEG_Fuel_Display
(
Fuel_Get_CurSeg
(),
GUI_DISP_MODE_NORMAL
,
7u
);
//燃油格
SEG_Tacho_Display
(
Tacho_Get_CurSeg
(),
GUI_DISP_MODE_NORMAL
,
7u
);
//转速格
SEG_VehicleSpeed_Display
(
Speed_Get_CurSeg
(),
GUI_DISP_MODE_NORMAL
,
7u
);
//车速格
wbyTestNum
=
Common_Get_Disp_V_Speed
();
// Speed_Get_Display_Value()
SEG_VehicleSpeed_Num
(
wbyTestNum
,
GUI_DISP_MODE_NORMAL
);
//车速值
// SEG_PRI_Display(wbyTestSeg,GUI_DISP_MODE_NORMAL,7u) ;//PRI气压格
// SEG_SEC_Display(wbyTestSeg,GUI_DISP_MODE_NORMAL,7u) ;//SEC气压格
// SEG_Coolant_Display(wbyTestSeg,GUI_DISP_MODE_NORMAL,7u) ;//水温格
// SEG_Fuel_Display(wbyTestSeg, GUI_DISP_MODE_NORMAL,7u);//燃油格
// SEG_Tacho_Display(wbyTestSeg,GUI_DISP_MODE_NORMAL,7u);//转速格
// SEG_VehicleSpeed_Display(wbyTestSeg,GUI_DISP_MODE_NORMAL,7u);//车速格
// SEG_VehicleSpeed_Num(wbyTestNum,GUI_DISP_MODE_NORMAL);//车速值
}
}
else
{
SEG_A25_Disp
(
0u
)
;
//左侧弧线
SEG_C25_Disp
(
0u
)
;
//右侧弧线
SEG_PRI_Display
(
AirPressure_Get_CurSeg
(
0
),
GUI_DISP_MODE_BLANK
,
0u
)
;
//
PRI气压格
SEG_SEC_Display
(
AirPressure_Get_CurSeg
(
1
),
GUI_DISP_MODE_BLANK
,
0u
)
;
//
SEC气压格
SEG_Coolant_Display
(
Coolant_Get_CurSeg
(),
GUI_DISP_MODE_BLANK
,
0u
)
;
//水温格
SEG_Fuel_Display
(
Fuel_Get_CurSeg
(),
GUI_DISP_MODE_BLANK
,
0u
);
//燃油格
SEG_Tacho_Display
(
Tacho_Get_CurSeg
(),
GUI_DISP_MODE_BLANK
,
0u
);
//转速格
SEG_VehicleSpeed_Display
(
Speed_Get_CurSeg
(),
GUI_DISP_MODE_BLANK
,
0u
);
//车速格
SEG_VehicleSpeed_Num
(
0u
,
GUI_DISP_MODE_BLANK
);
//车速值
SEG_A25_Disp
(
0u
)
;
//左侧弧线
SEG_C25_Disp
(
0u
)
;
//右侧弧线
SEG_PRI_Display
(
AirPressure_Get_CurSeg
(
0
),
GUI_DISP_MODE_BLANK
,
0u
);
//
PRI气压格
SEG_SEC_Display
(
AirPressure_Get_CurSeg
(
1
),
GUI_DISP_MODE_BLANK
,
0u
);
//
SEC气压格
SEG_Coolant_Display
(
Coolant_Get_CurSeg
(),
GUI_DISP_MODE_BLANK
,
0u
);
//水温格
SEG_Fuel_Display
(
Fuel_Get_CurSeg
(),
GUI_DISP_MODE_BLANK
,
0u
);
//燃油格
SEG_Tacho_Display
(
Tacho_Get_CurSeg
(),
GUI_DISP_MODE_BLANK
,
0u
);
//转速格
SEG_VehicleSpeed_Display
(
Speed_Get_CurSeg
(),
GUI_DISP_MODE_BLANK
,
0u
);
//车速格
SEG_VehicleSpeed_Num
(
0u
,
GUI_DISP_MODE_BLANK
);
//车速值
}
}
...
...
@@ -1115,7 +1110,7 @@ void Seg_Display_ON(void)
{
for
(
seg_num
=
SEG_REDEFINE_1
;
seg_num
<
BU98R10_SEG_MAX
;
seg_num
++
)
{
SEG_BUFF_Set
(
chip_num
,
seg_num
,
7
);
SEG_BUFF_Set
(
chip_num
,
seg_num
,
7
);
}
}
}
...
...
@@ -1128,15 +1123,7 @@ void Seg_Display_OFF(void)
{
for
(
seg_num
=
SEG_REDEFINE_1
;
seg_num
<
BU98R10_SEG_MAX
;
seg_num
++
)
{
SEG_BUFF_Set
(
chip_num
,
seg_num
,
0
);
SEG_BUFF_Set
(
chip_num
,
seg_num
,
0
);
}
}
}
source/Application/APP/SEG_LCD/SEG_DISPLAY.h
View file @
0d1dff89
...
...
@@ -14,7 +14,7 @@ void SEG_LED_HI_BEAM_T(uint8_t seg_status);
void
SEG_LED_Rr_FOG_LAMP_T
(
uint8_t
seg_status
);
void
SEG_LED_MIL_T
(
uint8_t
seg_status
);
void
SEG_LED_SVS_T
(
uint8_t
seg_status
);
void
SEG_LED_H_S_A_
_
T
(
uint8_t
seg_status
);
void
SEG_LED_H_S_A_T
(
uint8_t
seg_status
);
void
SEG_LED_RETARDER_T
(
uint8_t
seg_status
);
void
SEG_LED_AUTO_LEVELING_T
(
uint8_t
seg_status
);
void
SEG_LED_ROWS_L
(
uint8_t
seg_status
);
...
...
source/Application/APP/Telltales/Telltales.h
View file @
0d1dff89
...
...
@@ -7,53 +7,49 @@
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
,
LED_Max
,
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
,
LED_Max
,
}
LED_Idx_t
;
typedef
uint8_t
(
*
LED_Judgment
)
(
void
);
typedef
void
(
*
LED_Execution
)
(
uint8_t
led_status
);
typedef
uint8_t
(
*
LED_Judgment
)(
void
);
typedef
void
(
*
LED_Execution
)(
uint8_t
led_status
);
typedef
struct
{
...
...
@@ -79,18 +75,17 @@ typedef struct
typedef
struct
{
uint8_t
LastLeft
;
uint8_t
LastRight
;
uint8_t
Delay
;
uint8_t
LastLeft
;
uint8_t
LastRight
;
uint8_t
Delay
;
}
TelltaleLRCtrlStruct
;
extern
const
LED_Attribute_st
LED_Attribute
[
LED_Max
];
extern
const
LED_Attribute_st
LED_Attribute
[
LED_Max
];
void
Telltales_SetPara
(
ExternalPara_st
*
Para
);
void
Telltales_Management
(
void
);
/*50ms*/
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_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
);
...
...
@@ -99,10 +94,6 @@ 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
);
...
...
@@ -114,10 +105,6 @@ 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
);
/*ZH:*/
/*LED点灯条件判别函数*/
uint8_t
LED_INTER_DIFF_LOCK_T_Judgement
(
void
);
...
...
@@ -128,7 +115,7 @@ 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_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
);
...
...
@@ -158,8 +145,6 @@ 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
);
/*LED执行函数*/
void
LED_INTER_DIFF_LOCK_T_Execution
(
uint8_t
led_status
);
void
LED_FOUR_MUL_FOUR_T_Execution
(
uint8_t
led_status
);
...
...
@@ -169,7 +154,7 @@ 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_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
);
...
...
@@ -200,9 +185,4 @@ void LED_WORKING_LAMP_U_Execution(uint8_t led_status);
void
LED_TRAILER_ABS_INFO_U_Execution
(
uint8_t
led_status
);
/*:ZH*/
#endif
source/Application/APP/Telltales/Telltales_user.c
View file @
0d1dff89
...
...
@@ -28,7 +28,7 @@ const LED_Attribute_st LED_Attribute[LED_Max] =
{
em_LED_Rr_FOG_LAMP_T
,
NoSelfCheck
,
NoExterNalCheck
,
LED_IGN_ON
,
0u
,
3000ul
,
LED_Rr_FOG_LAMP_T_Judgement
,
LED_Rr_FOG_LAMP_T_Execution
},
{
em_LED_MIL_T
,
SelfCheck
,
NoExterNalCheck
,
LED_IGN_ON
,
0u
,
3000ul
,
LED_MIL_T_Judgement
,
LED_MIL_T_Execution
},
{
em_LED_SVS_T
,
SelfCheck
,
NoExterNalCheck
,
LED_IGN_ON
,
0u
,
3000ul
,
LED_SVS_T_Judgement
,
LED_SVS_T_Execution
},
{
em_LED_H_S_A__T
,
NoSelfCheck
,
NoExterNalCheck
,
LED_IGN_ON
,
0u
,
3000ul
,
LED_H_S_A_
_T_Judgement
,
LED_H_S_A_
_T_Execution
},
{
em_LED_H_S_A__T
,
NoSelfCheck
,
NoExterNalCheck
,
LED_IGN_ON
,
0u
,
3000ul
,
LED_H_S_A_
T_Judgement
,
LED_H_S_A
_T_Execution
},
{
em_LED_RETARDER_T
,
SelfCheck
,
NoExterNalCheck
,
LED_IGN_ON
,
0u
,
3000ul
,
LED_RETARDER_T_Judgement
,
LED_RETARDER_T_Execution
},
{
em_LED_AUTO_LEVELING_T
,
NoSelfCheck
,
NoExterNalCheck
,
LED_IGN_ON
,
0u
,
3000ul
,
LED_AUTO_LEVELING_T_Judgement
,
LED_AUTO_LEVELING_T_Execution
},
{
em_LED_ROWS_L
,
NoSelfCheck
,
NoExterNalCheck
,
LED_IGN_ON
,
0u
,
3000ul
,
LED_ROWS_L_Judgement
,
LED_ROWS_L_Execution
},
...
...
@@ -61,9 +61,6 @@ const LED_Attribute_st LED_Attribute[LED_Max] =
};
/*must put into 10ms task*/
void
Telltales_Left_Right_KL30_Init
(
void
);
...
...
@@ -74,7 +71,7 @@ void Telltales_Left_Right_KL30_Init(void)
TelltaleLRCtrl
.
LastLeft
=
0u
;
TelltaleLRCtrl
.
Delay
=
0u
;
}
/*
uint8_t LED_LEFT_F = 0x00u;
uint8_t LED_RIGHT_F = 0x00u;
uint8_t LED_HI_BEAM_F = 0x00u;
...
...
@@ -89,12 +86,17 @@ uint8_t LED_HDC_F = 0x00u;
uint8_t LED_HAC_F = 0x00u;
uint8_t LED_MAINTENANCE_F = 0x00u;
uint8_t LED_SEATBELT_F = 0x00u;
*/
/******************************************************************************
T3 L1 L2 L3 R1 R2 R3 U1 U4 U5无灯 左右转向单独 水温 燃油 气压1 气压2 在显示处做逻辑
******************************************************************************/
/*************************************
转向灯
**************************************/
/******************************************************************************
T0 左转向 T13 右转向
信号接口:
信号定义:
输出信号: T1_LED_OUT
******************************************************************************/
void
Telltales_Left_Right_Management_Service
(
void
)
/*10ms*/
{
uint8_t
Edge
;
...
...
@@ -106,7 +108,6 @@ void Telltales_Left_Right_Management_Service(void) /*10ms*/
Edge
=
0xffu
;
if
(
LEFT_ST
==
1u
)
//左转向
{
SEG_LED_TURN_LEFT
(
7
);
//左转向断码屏开
...
...
@@ -222,6 +223,8 @@ void Test_LED_AllLight(void)
#define XXXX 0u
#define LED_BRIGHTNESS 0xff
uint8_t
HYQ
=
0U
;
/******************************************************************************
T1 INTER DIFF LOCK
信号接口:
...
...
@@ -260,22 +263,17 @@ void LED_INTER_DIFF_LOCK_T_Execution(uint8_t led_status)
}
}
/******************************************************************************
R6 ACC_AIR_LED_MCU_OUT
T2 指示灯不受控
信号接口:
信号定义:
输出信号:
R6_LED_OUT
输出信号:
******************************************************************************/
uint8_t
LED_
ACC_AIR_R_Judgement
(
void
)
//done
uint8_t
LED_
FOUR_MUL_FOUR_T_Judgement
(
void
)
{
uint8_t
u8Result
=
0u
;
uint8_t
m_Condition1
=
0u
;
m_Condition1
=
(
uint8_t
)
Line_In_Get_Status
(
LINE_IN_ACC_AIR
)
;
m_Condition1
=
(
uint8_t
)
XXXX
;
if
(
m_Condition1
==
1u
)
{
...
...
@@ -288,44 +286,82 @@ uint8_t LED_ACC_AIR_R_Judgement(void)//done
return
u8Result
;
}
void
LED_ACC_AIR_R_Execution
(
uint8_t
led_status
)
void
LED_FOUR_MUL_FOUR_T_Execution
(
uint8_t
led_status
)
{
R6_LED_OUT
=
led_status
;
if
(
led_status
==
1
)
{
IS31_CHIP0_CHANNEL35
=
LED_BRIGHTNESS
;
}
else
{
IS31_CHIP0_CHANNEL35
=
0x00
;
}
if
(
led_status
==
1
)
{
SEG_LED_
ACC_AIR_R
(
7
);
SEG_LED_
FOUR_MUL_FOUR_T
(
7
);
}
else
{
SEG_LED_
ACC_AIR_R
(
0
);
SEG_LED_
FOUR_MUL_FOUR_T
(
0
);
}
}
/******************************************************************************
R5
T4 EXH BRAKE
信号接口:
信号定义:
输出信号:
BRAKE_AIR/EBS_LED_MCU
输出信号:
******************************************************************************/
uint8_t
LED_EXH_BRAKE_T_Judgement
(
void
)
{
uint8_t
u8Result
=
0u
;
uint8_t
m_Condition1
=
0u
;
m_Condition1
=
(
uint8_t
)
Get_ID_18FF2300_Sig_Exh_Lamp
();
if
(
m_Condition1
==
0u
)
{
u8Result
=
1u
;
}
else
{
u8Result
=
0u
;
}
return
u8Result
;
}
void
LED_EXH_BRAKE_T_Execution
(
uint8_t
led_status
)
{
if
(
led_status
==
1
)
{
IS31_CHIP0_CHANNEL34
=
LED_BRIGHTNESS
;
}
else
{
IS31_CHIP0_CHANNEL34
=
0x00
;
}
if
(
led_status
==
1
)
{
SEG_LED_EXH_BRAKE_T
(
7
);
}
else
{
SEG_LED_EXH_BRAKE_T
(
0
);
}
}
/******************************************************************************
U2
T5 QOS(GLOW)
信号接口:
信号定义:
输出信号:
U2_LED_OUT
输出信号:
******************************************************************************/
uint8_t
LED_
TRAILER_ABS_U_Judgement
(
void
)
//done
uint8_t
LED_
QOS_GLOW_T_Judgement
(
void
)
{
uint8_t
u8Result
=
0u
;
uint8_t
m_Condition1
=
0u
;
m_Condition1
=
(
uint8_t
)
Line_In_Get_Status
(
LINE_IN_TRAILER_ABS
);
m_Condition1
=
(
uint8_t
)
Get_ID_18FF2300_Sig_Glow_Lamp
(
);
if
(
m_Condition1
==
1u
)
{
...
...
@@ -338,32 +374,37 @@ uint8_t LED_TRAILER_ABS_U_Judgement(void)//done
return
u8Result
;
}
void
LED_TRAILER_ABS_U_Execution
(
uint8_t
led_status
)
void
LED_QOS_GLOW_T_Execution
(
uint8_t
led_status
)
{
//U2_LED_OUT = led_status;
if
(
led_status
==
1
)
{
IS31_CHIP0_CHANNEL33
=
LED_BRIGHTNESS
;
}
else
{
IS31_CHIP0_CHANNEL33
=
0x00
;
}
if
(
led_status
==
1
)
{
SEG_LED_
TRAILER_ABS_U
(
7
);
SEG_LED_
QOS_GLOW_T
(
7
);
}
else
{
SEG_LED_
TRAILER_ABS_U
(
0
);
SEG_LED_
QOS_GLOW_T
(
0
);
}
}
/******************************************************************************
T6 HI BEAM
信号接口:
信号定义:
输出信号:
******************************************************************************/
uint8_t
LED_
FOUR_MUL_FOUR
_T_Judgement
(
void
)
uint8_t
LED_
HI_BEAM
_T_Judgement
(
void
)
{
uint8_t
u8Result
=
0u
;
uint8_t
m_Condition1
=
0u
;
m_Condition1
=
(
uint8_t
)
XXXX
;
m_Condition1
=
(
uint8_t
)
Line_In_Get_Status
(
LINE_IN_HI_BEAM
)
;
if
(
m_Condition1
==
1u
)
{
...
...
@@ -376,30 +417,38 @@ uint8_t LED_FOUR_MUL_FOUR_T_Judgement(void)
return
u8Result
;
}
uint8_t
LED_EXH_BRAKE_T_Judgement
(
void
)
//done
void
LED_HI_BEAM_T_Execution
(
uint8_t
led_status
)
{
uint8_t
u8Result
=
0u
;
uint8_t
m_Condition1
=
0u
;
m_Condition1
=
(
uint8_t
)
Get_ID_18FF2300_Sig_Exh_Lamp
();
if
(
m_Condition1
==
0u
)
if
(
led_status
==
1
)
{
u8Result
=
1u
;
IS31_CHIP0_CHANNEL32
=
LED_BRIGHTNESS
;
}
else
{
u8Result
=
0u
;
IS31_CHIP0_CHANNEL32
=
0x00
;
}
return
u8Result
;
if
(
led_status
==
1
)
{
SEG_LED_HI_BEAM_T
(
7
);
}
else
{
SEG_LED_HI_BEAM_T
(
0
);
}
}
uint8_t
LED_QOS_GLOW_T_Judgement
(
void
)
//done
/******************************************************************************
T7 Rr FOG LAMP
信号接口:
信号定义:
输出信号:
******************************************************************************/
uint8_t
LED_Rr_FOG_LAMP_T_Judgement
(
void
)
{
uint8_t
u8Result
=
0u
;
uint8_t
m_Condition1
=
0u
;
m_Condition1
=
(
uint8_t
)
Get_ID_18FF2300_Sig_Glow_Lamp
(
);
m_Condition1
=
(
uint8_t
)
Line_In_Get_Status
(
LINE_IN_Rr_FOG_LAMP
);
if
(
m_Condition1
==
1u
)
{
...
...
@@ -412,30 +461,75 @@ uint8_t LED_QOS_GLOW_T_Judgement(void)//done
return
u8Result
;
}
void
LED_Rr_FOG_LAMP_T_Execution
(
uint8_t
led_status
)
{
T7_LED_OUT
=
led_status
;
if
(
led_status
==
1
)
{
SEG_LED_Rr_FOG_LAMP_T
(
7
);
}
else
{
SEG_LED_Rr_FOG_LAMP_T
(
0
);
}
}
uint8_t
LED_HI_BEAM_T_Judgement
(
void
)
//done
/******************************************************************************
T8 MIL
信号接口:
信号定义:
输出信号:
******************************************************************************/
uint8_t
LED_MIL_T_Judgement
(
void
)
{
uint8_t
u8Result
=
0u
;
uint8_t
m_Condition1
=
0u
;
m_Condition1
=
(
uint8_t
)
Line_In_Get_Status
(
LINE_IN_
HI_BEAM
);
m_Condition1
=
(
uint8_t
)
Line_In_Get_Status
(
LINE_IN_
MIL
);
if
(
m_Condition1
==
1u
)
{
u8Result
=
1
u
;
u8Result
=
0
u
;
}
else
{
u8Result
=
0
u
;
u8Result
=
1
u
;
}
return
u8Result
;
}
void
LED_MIL_T_Execution
(
uint8_t
led_status
)
{
if
(
led_status
==
1
)
{
IS31_CHIP0_CHANNEL31
=
LED_BRIGHTNESS
;
}
else
{
IS31_CHIP0_CHANNEL31
=
0x00
;
}
if
(
led_status
==
1
)
{
SEG_LED_MIL_T
(
7
);
}
else
{
SEG_LED_MIL_T
(
0
);
}
}
uint8_t
LED_Rr_FOG_LAMP_T_Judgement
(
void
)
//done
/******************************************************************************
T9 SVS
信号接口:
信号定义:
输出信号:
******************************************************************************/
uint8_t
LED_SVS_T_Judgement
(
void
)
{
uint8_t
u8Result
=
0u
;
uint8_t
m_Condition1
=
0u
;
m_Condition1
=
(
uint8_t
)
Line_In_Get_Status
(
LINE_IN_Rr_FOG_LAMP
);
m_Condition1
=
(
uint8_t
)
Get_ID_18FED900_Sig_SVS_Lamp_Status
(
);
if
(
m_Condition1
==
1u
)
{
...
...
@@ -448,30 +542,38 @@ uint8_t LED_Rr_FOG_LAMP_T_Judgement(void)//done
return
u8Result
;
}
uint8_t
LED_MIL_T_Judgement
(
void
)
//done
void
LED_SVS_T_Execution
(
uint8_t
led_status
)
{
uint8_t
u8Result
=
0u
;
uint8_t
m_Condition1
=
0u
;
m_Condition1
=
(
uint8_t
)
Line_In_Get_Status
(
LINE_IN_MIL
);
if
(
m_Condition1
==
1u
)
if
(
led_status
==
1
)
{
u8Result
=
0u
;
IS31_CHIP0_CHANNEL30
=
LED_BRIGHTNESS
;
}
else
{
u8Result
=
1u
;
IS31_CHIP0_CHANNEL30
=
0x00
;
}
return
u8Result
;
if
(
led_status
==
1
)
{
SEG_LED_SVS_T
(
7
);
}
else
{
SEG_LED_SVS_T
(
0
);
}
}
uint8_t
LED_SVS_T_Judgement
(
void
)
//done
/******************************************************************************
T10 H.S.A
信号接口:
信号定义:
输出信号:
******************************************************************************/
uint8_t
LED_H_S_A_T_Judgement
(
void
)
{
uint8_t
u8Result
=
0u
;
uint8_t
m_Condition1
=
0u
;
m_Condition1
=
(
uint8_t
)
Get_ID_18FED900_Sig_SVS_Lamp_Status
()
;
m_Condition1
=
(
uint8_t
)
XXXX
;
if
(
m_Condition1
==
1u
)
{
...
...
@@ -484,68 +586,409 @@ uint8_t LED_SVS_T_Judgement(void)//done
return
u8Result
;
}
void
LED_H_S_A_T_Execution
(
uint8_t
led_status
)
{
if
(
led_status
==
1
)
{
IS31_CHIP0_CHANNEL28
=
LED_BRIGHTNESS
;
// 绿灯 亮
IS31_CHIP0_CHANNEL29
=
0x00
;
// 黄灯 灭
}
else
if
(
led_status
==
2
)
{
IS31_CHIP0_CHANNEL28
=
0x00
;
// 绿灯 灭
IS31_CHIP0_CHANNEL29
=
LED_BRIGHTNESS
;
// 黄灯 亮
}
else
{
IS31_CHIP0_CHANNEL28
=
0x00
;
// 绿灯 灭
IS31_CHIP0_CHANNEL29
=
0x00
;
// 黄灯 灭
}
uint8_t
LED_H_S_A__T_Judgement
(
void
)
if
((
led_status
==
1
)
||
(
led_status
==
2
))
{
SEG_LED_H_S_A_T
(
7
);
}
else
{
SEG_LED_H_S_A_T
(
0
);
}
}
/******************************************************************************
T11 RETARDER
信号接口:
信号定义:
输出信号:
******************************************************************************/
uint8_t
LED_RETARDER_T_Judgement
(
void
)
{
uint8_t
u8Result
=
0u
;
uint8_t
m_Condition1
=
0u
;
m_Condition1
=
(
uint8_t
)
XXXX
;
m_Condition1
=
(
uint8_t
)
Get_ID_18FF5510_Sig_Intarder_Pilot_Lamp_State
();
if
(
m_Condition1
==
1u
)
{
u8Result
=
1u
;
}
else
if
(
m_Condition1
==
2u
)
{
if
(
FLASH_SYNC_1Hz
==
1u
)
{
u8Result
=
2u
;
}
else
{
u8Result
=
0u
;
}
}
else
{
u8Result
=
0u
;
}
return
u8Result
;
}
return
u8Result
;
}
void
LED_RETARDER_T_Execution
(
uint8_t
led_status
)
{
if
(
led_status
==
1
)
{
IS31_CHIP0_CHANNEL27
=
LED_BRIGHTNESS
;
// 绿灯 亮
IS31_CHIP0_CHANNEL26
=
0x00
;
// 黄灯 灭
}
else
if
(
led_status
==
2
)
{
IS31_CHIP0_CHANNEL27
=
0x00
;
// 绿灯 灭
IS31_CHIP0_CHANNEL26
=
LED_BRIGHTNESS
;
// 黄灯 亮
}
else
{
IS31_CHIP0_CHANNEL27
=
0x00
;
// 绿灯 灭
IS31_CHIP0_CHANNEL26
=
0x00
;
// 黄灯 灭
}
if
((
led_status
==
1
)
||
(
led_status
==
2
))
{
SEG_LED_RETARDER_T
(
7
);
}
else
{
SEG_LED_RETARDER_T
(
0
);
}
}
/******************************************************************************
T12 AUTO LEVELING
信号接口:
信号定义:
输出信号:
******************************************************************************/
uint8_t
LED_AUTO_LEVELING_T_Judgement
(
void
)
{
uint8_t
u8Result
=
0u
;
uint8_t
m_Condition1
=
0u
;
m_Condition1
=
(
uint8_t
)
XXXX
;
if
(
m_Condition1
==
1u
)
{
u8Result
=
1u
;
}
else
{
u8Result
=
0u
;
}
return
u8Result
;
}
void
LED_AUTO_LEVELING_T_Execution
(
uint8_t
led_status
)
{
if
(
led_status
==
1
)
{
IS31_CHIP0_CHANNEL25
=
LED_BRIGHTNESS
;
}
else
{
IS31_CHIP0_CHANNEL25
=
0x00
;
}
if
(
led_status
==
1
)
{
SEG_LED_AUTO_LEVELING_T
(
7
);
}
else
{
SEG_LED_AUTO_LEVELING_T
(
0
);
}
}
/******************************************************************************
L4
信号接口:
信号定义:
输出信号:
******************************************************************************/
/******************************************************************************
L4
信号接口:
信号定义:
输出信号:
******************************************************************************/
/******************************************************************************
L4
信号接口:
信号定义:
输出信号:
******************************************************************************/
/******************************************************************************
L4
信号接口:
信号定义:
输出信号:
******************************************************************************/
/******************************************************************************
L4
信号接口:
信号定义:
输出信号:
******************************************************************************/
/******************************************************************************
L4
信号接口:
信号定义:
输出信号:
******************************************************************************/
/******************************************************************************
L4
信号接口:
信号定义:
输出信号:
******************************************************************************/
/******************************************************************************
L4
信号接口:
信号定义:
输出信号:
******************************************************************************/
/******************************************************************************
L4
信号接口:
信号定义:
输出信号:
******************************************************************************/
/******************************************************************************
L4
信号接口:
信号定义:
输出信号:
******************************************************************************/
/******************************************************************************
L4
信号接口:
信号定义:
输出信号:
******************************************************************************/
/******************************************************************************
L4
信号接口:
信号定义:
输出信号:
******************************************************************************/
/******************************************************************************
L4
信号接口:
信号定义:
输出信号:
******************************************************************************/
/******************************************************************************
L4
信号接口:
信号定义:
输出信号:
******************************************************************************/
/******************************************************************************
L4
信号接口:
信号定义:
输出信号:
******************************************************************************/
/******************************************************************************
R4
信号接口:
信号定义:
输出信号:
******************************************************************************/
/******************************************************************************
R5
信号接口:
信号定义:
输出信号:
******************************************************************************/
/******************************************************************************
R6 ACC_AIR_LED_MCU_OUT
信号接口:
信号定义:
输出信号: R6_LED_OUT
******************************************************************************/
uint8_t
LED_ACC_AIR_R_Judgement
(
void
)
//done
{
uint8_t
u8Result
=
0u
;
uint8_t
m_Condition1
=
0u
;
m_Condition1
=
(
uint8_t
)
Line_In_Get_Status
(
LINE_IN_ACC_AIR
);
if
(
m_Condition1
==
1u
)
{
u8Result
=
1u
;
}
else
{
u8Result
=
0u
;
}
return
u8Result
;
}
void
LED_ACC_AIR_R_Execution
(
uint8_t
led_status
)
{
R6_LED_OUT
=
led_status
;
if
(
led_status
==
1
)
{
SEG_LED_ACC_AIR_R
(
7
);
}
else
{
SEG_LED_ACC_AIR_R
(
0
);
}
}
/******************************************************************************
R7
信号接口:
信号定义:
输出信号:
******************************************************************************/
/******************************************************************************
R8
信号接口:
信号定义:
输出信号:
******************************************************************************/
/******************************************************************************
R9
信号接口:
信号定义:
输出信号:
******************************************************************************/
/******************************************************************************
R10
信号接口:
信号定义:
输出信号:
******************************************************************************/
/******************************************************************************
R11
信号接口:
信号定义:
输出信号:
******************************************************************************/
/******************************************************************************
U2
信号接口:
信号定义:
输出信号:U2_LED_OUT
******************************************************************************/
uint8_t
LED_TRAILER_ABS_U_Judgement
(
void
)
//done
{
uint8_t
u8Result
=
0u
;
uint8_t
m_Condition1
=
0u
;
m_Condition1
=
(
uint8_t
)
Line_In_Get_Status
(
LINE_IN_TRAILER_ABS
);
if
(
m_Condition1
==
1u
)
{
u8Result
=
1u
;
}
else
{
u8Result
=
0u
;
}
return
u8Result
;
}
void
LED_TRAILER_ABS_U_Execution
(
uint8_t
led_status
)
{
//U2_LED_OUT = led_status;
if
(
led_status
==
1
)
{
SEG_LED_TRAILER_ABS_U
(
7
);
}
else
{
SEG_LED_TRAILER_ABS_U
(
0
);
}
}
/******************************************************************************
U3
信号接口:
信号定义:
输出信号:
******************************************************************************/
/******************************************************************************
U6
信号接口:
信号定义:
输出信号:
******************************************************************************/
/******************************************************************************
信号接口:
信号定义:
输出信号:
******************************************************************************/
uint8_t
LED_RETARDER_T_Judgement
(
void
)
//done
{
uint8_t
u8Result
=
0u
;
uint8_t
m_Condition1
=
0u
;
//FLASH_SYNC_1Hz <----这个是闪烁源
m_Condition1
=
(
uint8_t
)
Get_ID_18FF5510_Sig_Intarder_Pilot_Lamp_State
();
if
(
m_Condition1
==
1u
)
{
u8Result
=
1u
;
}
else
if
(
m_Condition1
==
2u
)
{
if
(
FLASH_SYNC_1Hz
==
1u
)
u8Result
=
2u
;
else
u8Result
=
0u
;
}
else
{
u8Result
=
0u
;
}
return
u8Result
;
}
uint8_t
LED_AUTO_LEVELING_T_Judgement
(
void
)
{
uint8_t
u8Result
=
0u
;
uint8_t
m_Condition1
=
0u
;
m_Condition1
=
(
uint8_t
)
XXXX
;
if
(
m_Condition1
==
1u
)
{
u8Result
=
1u
;
}
else
{
u8Result
=
0u
;
}
return
u8Result
;
}
uint8_t
LED_ROWS_L_Judgement
(
void
)
{
...
...
@@ -1073,242 +1516,22 @@ uint8_t LED_TRAILER_ABS_INFO_U_Judgement(void)//done
void
LED_FOUR_MUL_FOUR_T_Execution
(
uint8_t
led_status
)
{
if
(
led_status
==
1
)
{
IS31_CHIP0_CHANNEL35
=
LED_BRIGHTNESS
;
}
else
{
IS31_CHIP0_CHANNEL35
=
0x00
;
}
if
(
led_status
==
1
)
{
SEG_LED_FOUR_MUL_FOUR_T
(
7
);
}
else
{
SEG_LED_FOUR_MUL_FOUR_T
(
0
);
}
}
void
LED_EXH_BRAKE_T_Execution
(
uint8_t
led_status
)
{
if
(
led_status
==
1
)
{
IS31_CHIP0_CHANNEL34
=
LED_BRIGHTNESS
;
}
else
{
IS31_CHIP0_CHANNEL34
=
0x00
;
}
if
(
led_status
==
1
)
{
SEG_LED_EXH_BRAKE_T
(
7
);
}
else
{
SEG_LED_EXH_BRAKE_T
(
0
);
}
}
void
LED_QOS_GLOW_T_Execution
(
uint8_t
led_status
)
{
if
(
led_status
==
1
)
{
IS31_CHIP0_CHANNEL33
=
LED_BRIGHTNESS
;
}
else
{
IS31_CHIP0_CHANNEL33
=
0x00
;
}
if
(
led_status
==
1
)
{
SEG_LED_QOS_GLOW_T
(
7
);
}
else
{
SEG_LED_QOS_GLOW_T
(
0
);
}
}
void
LED_HI_BEAM_T_Execution
(
uint8_t
led_status
)
{
if
(
led_status
==
1
)
{
IS31_CHIP0_CHANNEL32
=
LED_BRIGHTNESS
;
}
else
{
IS31_CHIP0_CHANNEL32
=
0x00
;
}
if
(
led_status
==
1
)
{
SEG_LED_HI_BEAM_T
(
7
);
}
else
{
SEG_LED_HI_BEAM_T
(
0
);
}
}
void
LED_Rr_FOG_LAMP_T_Execution
(
uint8_t
led_status
)
{
//Rr_FOG_MCU_OUT = led_status;
if
(
led_status
==
1
)
{
SEG_LED_Rr_FOG_LAMP_T
(
7
);
}
else
{
SEG_LED_Rr_FOG_LAMP_T
(
0
);
}
}
void
LED_MIL_T_Execution
(
uint8_t
led_status
)
{
if
(
led_status
==
1
)
{
IS31_CHIP0_CHANNEL31
=
LED_BRIGHTNESS
;
}
else
{
IS31_CHIP0_CHANNEL31
=
0x00
;
}
if
(
led_status
==
1
)
{
SEG_LED_MIL_T
(
7
);
}
else
{
SEG_LED_MIL_T
(
0
);
}
}
void
LED_SVS_T_Execution
(
uint8_t
led_status
)
{
if
(
led_status
==
1
)
{
IS31_CHIP0_CHANNEL30
=
LED_BRIGHTNESS
;
}
else
{
IS31_CHIP0_CHANNEL30
=
0x00
;
}
if
(
led_status
==
1
)
{
SEG_LED_SVS_T
(
7
);
}
else
{
SEG_LED_SVS_T
(
0
);
}
}
/*************************************************************
H.S.A 指示灯 双色点亮说明:0灭 1绿 2黄
**************************************************************
led_status = 0 时, 此灯位: 绿灯 熄灭 且 黄灯 熄灭 ;
led_status = 1 时, 此灯位: 绿灯 点亮 且 黄灯 熄灭 ;
led_status = 2 时, 此灯位: 绿灯 熄灭 且 黄灯 点亮 ;
**************************************************************/
void
LED_H_S_A__T_Execution
(
uint8_t
led_status
)
{
if
(
led_status
==
1
)
{
IS31_CHIP0_CHANNEL28
=
LED_BRIGHTNESS
;
// 绿灯 亮
IS31_CHIP0_CHANNEL29
=
0x00
;
// 黄灯 灭
}
else
if
(
led_status
==
2
)
{
IS31_CHIP0_CHANNEL28
=
0x00
;
// 绿灯 灭
IS31_CHIP0_CHANNEL29
=
LED_BRIGHTNESS
;
// 黄灯 亮
}
else
{
IS31_CHIP0_CHANNEL28
=
0x00
;
// 绿灯 灭
IS31_CHIP0_CHANNEL29
=
0x00
;
// 黄灯 灭
}
if
((
led_status
==
1
)
||
(
led_status
==
2
))
{
SEG_LED_H_S_A__T
(
7
);
}
else
{
SEG_LED_H_S_A__T
(
0
);
}
}
/*************************************************************
RETARDER 指示灯 双色点亮说明:0灭 1绿 2黄
**************************************************************
led_status = 0 时, 此灯位: 绿灯 熄灭 且 黄灯 熄灭 ;
led_status = 1 时, 此灯位: 绿灯 点亮 且 黄灯 熄灭 ;
led_status = 2 时, 此灯位: 绿灯 熄灭 且 黄灯 点亮 ;
**************************************************************/
void
LED_RETARDER_T_Execution
(
uint8_t
led_status
)
{
if
(
led_status
==
1
)
{
IS31_CHIP0_CHANNEL27
=
LED_BRIGHTNESS
;
// 绿灯 亮
IS31_CHIP0_CHANNEL26
=
0x00
;
// 黄灯 灭
}
else
if
(
led_status
==
2
)
{
IS31_CHIP0_CHANNEL27
=
0x00
;
// 绿灯 灭
IS31_CHIP0_CHANNEL26
=
LED_BRIGHTNESS
;
// 黄灯 亮
}
else
{
IS31_CHIP0_CHANNEL27
=
0x00
;
// 绿灯 灭
IS31_CHIP0_CHANNEL26
=
0x00
;
// 黄灯 灭
}
if
((
led_status
==
1
)
||
(
led_status
==
2
))
{
SEG_LED_RETARDER_T
(
7
);
}
else
{
SEG_LED_RETARDER_T
(
0
);
}
}
void
LED_AUTO_LEVELING_T_Execution
(
uint8_t
led_status
)
{
if
(
led_status
==
1
)
{
IS31_CHIP0_CHANNEL25
=
LED_BRIGHTNESS
;
}
else
{
IS31_CHIP0_CHANNEL25
=
0x00
;
}
if
(
led_status
==
1
)
{
SEG_LED_AUTO_LEVELING_T
(
7
);
}
else
{
SEG_LED_AUTO_LEVELING_T
(
0
);
}
}
void
LED_ROWS_L_Execution
(
uint8_t
led_status
)
{
...
...
source/Application/APP/Telltales/Telltales_user.h
View file @
0d1dff89
...
...
@@ -3,7 +3,6 @@
#include "TYW_stdint.h"
void
Write_LED_RGIHT_G_Judgement
(
uint8_t
led_status
);
void
Write_LED_LEFT_G_Judgement
(
uint8_t
led_status
);
...
...
@@ -11,14 +10,3 @@ uint8_t GET_LED_RIGHT_G_Judgement(void);
uint8_t
GET_LED_LEFT_G_Judgement
(
void
);
#endif
source/Application/UDS/TP/DoCAN_ISO15765.c
View file @
0d1dff89
...
...
@@ -40,7 +40,7 @@ extern void UDS_N_USData_Indication(uint32_t N_TAtype, uint8_t *MessageData, uin
******************************************************************************/
void
DoCAN_Communication_Service
(
void
)
{
DoCAN_Update_Timer
();
DoCAN_Handle_Time_Out
();
...
...
@@ -80,7 +80,7 @@ void DoCAN_N_USData_Request ( uint32_t N_TAtype, uint8_t MessageData[], uint16_t
uint32_t
id
;
uint8_t
dlc
;
uint8_t
data
[
8
];
/*非空闲状态下不允许发送*/
if
(
TpCtrl
.
Process
!=
TP_IDLE
)
{
...
...
@@ -155,7 +155,7 @@ void DoCAN_N_USData_Request ( uint32_t N_TAtype, uint8_t MessageData[], uint16_t
dlc
=
TransportTxData
.
Frame
.
DLC
;
for
(
i
=
0u
;
i
<
8u
;
++
i
)
{
data
[
i
]
=
TransportTxData
.
Frame
.
Data
[
i
];
data
[
i
]
=
TransportTxData
.
Frame
.
Data
[
i
];
}
/*TpCtrl.TxReq = 1u;*/
DoCAN_Start_Timer
(
TIMING_PARA_N_As
);
/*启动N_As计时*/
...
...
@@ -243,18 +243,18 @@ void DoCAN_L_Data_Request ( uint32_t Identifier, uint8_t dlc, uint8_t Data[] )
for
(
i
=
0u
;
i
<
dlc
;
i
++
)
{
temp
=
Data
[
i
];
LinkTxCtrl
.
Data
[
i
]
=
temp
;
LinkTxCtrl
.
Data
[
i
]
=
temp
;
}
#if FILLER_BYTE_HANDLING
for
(
i
=
dlc
;
i
<
8u
;
i
++
)
{
LinkTxCtrl
.
Data
[
i
]
=
FILLER_BYTE
;
}
RSCAN0_SendCH0_TxBuf0
(
LinkTxCtrl
.
Identifier
,
8U
,
1U
,
LinkTxCtrl
.
Data
);
#else
RSCAN0_SendCH0_TxBuf0
(
LinkTxCtrl
.
Identifier
,
8U
,
1U
,
LinkTxCtrl
.
Data
);
RSCAN0_SendCH0_TxBuf0
(
LinkTxCtrl
.
Identifier
,
8U
,
1U
,
LinkTxCtrl
.
Data
);
#else
RSCAN0_SendCH0_TxBuf0
(
LinkTxCtrl
.
Identifier
,
8U
,
1U
,
LinkTxCtrl
.
Data
);
#endif
LinkTxCtrl
.
Busy
=
1u
;
}
...
...
@@ -341,7 +341,7 @@ void DoCAN_L_Data_Confirm ( uint32_t Identifier, uint8_t TransferStatus )
}
else
{
/* TpCtrl.TxReq = 1u;*/
/*发送失败,重发*/
/* TpCtrl.TxReq = 1u;*/
/*发送失败,重发*/
}
}
}
...
...
@@ -879,11 +879,11 @@ void DoCAN_Receive_Flow_Control ( void )
******************************************************************************/
void
DoCAN_Transmit_Flow_Control
(
void
)
{
uint8_t
i
;
uint32_t
id
;
uint8_t
dlc
;
uint8_t
data
[
8
];
uint8_t
i
;
uint32_t
id
;
uint8_t
dlc
;
uint8_t
data
[
8
];
if
(
TpCtrl
.
Process
==
TP_RX_INIT
)
{
/*-------------------------------------------------------------------------
...
...
@@ -914,17 +914,17 @@ void DoCAN_Transmit_Flow_Control ( void )
TransportTxData
.
N_PDU_FC
.
DLC
=
3u
;
/*TpCtrl.TxReq = 1u;*/
id
=
TransportTxData
.
Frame
.
Identifier
;
dlc
=
TransportTxData
.
Frame
.
DLC
;
for
(
i
=
0u
;
i
<
8u
;
++
i
)
{
data
[
i
]
=
TransportTxData
.
Frame
.
Data
[
i
];
data
[
i
]
=
TransportTxData
.
Frame
.
Data
[
i
];
}
DoCAN_Start_Timer
(
TIMING_PARA_N_Ar
);
/*启动N_Ar计时*/
DoCAN_L_Data_Request
(
id
,
dlc
,
data
);
}
else
if
(
TpCtrl
.
Process
==
TP_RX_CTS
)
{
...
...
@@ -973,10 +973,10 @@ void DoCAN_Transmit_Flow_Control ( void )
{
data
[
i
]
=
TransportTxData
.
Frame
.
Data
[
i
];
}
DoCAN_Start_Timer
(
TIMING_PARA_N_Ar
);
/*启动N_Ar计时*/
DoCAN_Start_Timer
(
TIMING_PARA_N_Ar
);
/*启动N_Ar计时*/
DoCAN_L_Data_Request
(
id
,
dlc
,
data
);
}
}
}
...
...
@@ -1039,12 +1039,12 @@ void DoCAN_Disassemble_And_Transmit_N_USData ( void )
dlc
=
TransportTxData
.
Frame
.
DLC
;
for
(
i
=
0u
;
i
<
8u
;
++
i
)
{
data
[
i
]
=
TransportTxData
.
Frame
.
Data
[
i
];
data
[
i
]
=
TransportTxData
.
Frame
.
Data
[
i
];
}
DoCAN_Start_Timer
(
TIMING_PARA_N_As
);
/*启动N_As计时*/
DoCAN_L_Data_Request
(
id
,
dlc
,
data
);
DoCAN_L_Data_Request
(
id
,
dlc
,
data
);
}
else
if
(
TpCtrl
.
BlockCnt
==
TpCtrl
.
BlockSize
-
1u
)
/*将要发送最后一帧*/
{
...
...
@@ -1060,13 +1060,13 @@ void DoCAN_Disassemble_And_Transmit_N_USData ( void )
dlc
=
TransportTxData
.
Frame
.
DLC
;
for
(
i
=
0u
;
i
<
8u
;
++
i
)
{
data
[
i
]
=
TransportTxData
.
Frame
.
Data
[
i
];
data
[
i
]
=
TransportTxData
.
Frame
.
Data
[
i
];
}
DoCAN_Start_Timer
(
TIMING_PARA_N_As
);
/*启动N_As计时*/
DoCAN_Start_Timer
(
TIMING_PARA_N_As
);
/*启动N_As计时*/
DoCAN_L_Data_Request
(
id
,
dlc
,
data
);
/* TpCtrl.TxReq = 1u;*/
/* TpCtrl.TxReq = 1u;*/
}
else
/*已发送帧数不可能大于帧总数,除非有错误发生*/
{
...
...
@@ -1216,7 +1216,7 @@ void DoCAN_Handle_Time_Out ( void )
void
UDS_TP_ArTimeOutHandle
(
void
)
{
Can_Uds_Abort
();
}
...
...
@@ -1295,10 +1295,10 @@ void DoCAN_Start_STmin_Timer ( uint8_t STminTime )
{
if
(
STminTime
<=
0x7Fu
)
/*0x00 - 0x7F:0ms - 127ms*/
{
STminTime
++
;
TpTimingCtrl
.
STimer
=
((
uint32_t
)
(
STminTime
)
*
(
uint32_t
)
1000
);
TpTimingCtrl
.
STimer
=
((
uint32_t
)
(
STminTime
)
*
(
uint32_t
)
1000
);
}
else
if
(
(
STminTime
>=
0xF1u
)
&&
(
STminTime
<=
0xF9u
)
)
/*0xF1 - 0xF9:100us - 900us*/
{
...
...
source/Driver/Buzzer/Buzzer.h
View file @
0d1dff89
...
...
@@ -45,15 +45,15 @@ typedef enum
BUZZER_Track_Index_Pling
,
BUZZER_Track_Index_Plong
,
BUZZER_Track_Index_ParkBeep
,
BUZZER_Track_Index_3900hz_500Dty
,
BUZZER_Track_Index_2300hz_500Dty
,
BUZZER_Track_Index_3900hz_280Dty
,
BUZZER_Track_Index_3900hz_500Dty
,
BUZZER_Track_Index_2300hz_500Dty
,
BUZZER_Track_Index_3900hz_280Dty
,
BUZZER_Track_Index_2300hz_280Dty
,
BUZZER_Track_Index_3900hz_190Dty
,
BUZZER_Track_Index_2600hz_167Dty
,
BUZZER_Track_Index_3900hz_190Dty
,
BUZZER_Track_Index_2600hz_167Dty
,
BUZZER_Track_Index_2000hz_500Dty
,
BUZZER_Track_Index_0800hz_500Dty
,
BUZZER_Track_Index_0800hz_500Dty
,
BUZZER_Track_Index_MAX
,
}
BUZZER_Track_Index_en_t
;
...
...
source/Driver/CD4051/CD4051.c
View file @
0d1dff89
...
...
@@ -35,6 +35,7 @@ void CD4051B_KL15Init(void)
CD4051B_CurrentChannel
=
0u
;
}
/****************************************************************************
CD4051B_ChannelSet
CD4051B_C_MCU CD4051B_B_MCU CD4051B_A_MCU Channel ON
...
...
@@ -61,6 +62,7 @@ void CD4051B_ChannelSet(CD4051BChannel Ch)
;
}
}
/****************************************************************************
函数名:CD4051B_ChannelGet
形参:无
...
...
@@ -102,6 +104,7 @@ void CD4051B_ReadSignal_Serviece(void)
CD4051B_ChannelSet
(
channel
);
}
/****************************************************************************
CD4051B_Debounce_Service
...
...
@@ -152,6 +155,7 @@ void CD4051B_Debounce_Service(void)
}
}
}
/****************************************************************************
CD4051B_GetComValue
...
...
source/Driver/CD4051/CD4051.h
View file @
0d1dff89
...
...
@@ -99,7 +99,7 @@ extern uint16_t CD4051B_GeneralCOM_Value[COMTotal][MaxChannel];
#define CD4051_COM5_X6_IN (CD4051B_GeneralCOM_Value[COM5][Channel6])
/*B31*/
#define CD4051_COM5_X7_IN (CD4051B_GeneralCOM_Value[COM5][Channel7])
/*B30*/
/*COM6映射PCB*/
#define CD4051_COM6_X0_IN (CD4051B_GeneralCOM_Value[COM6][Channel0])
/*
A
06*/
#define CD4051_COM6_X0_IN (CD4051B_GeneralCOM_Value[COM6][Channel0])
/*
B
06*/
#define CD4051_COM6_X1_IN (CD4051B_GeneralCOM_Value[COM6][Channel1])
/*B07*/
#define CD4051_COM6_X2_IN (CD4051B_GeneralCOM_Value[COM6][Channel2])
/*B08*/
#define CD4051_COM6_X3_IN (CD4051B_GeneralCOM_Value[COM6][Channel3])
/*B05*/
...
...
source/System/tasks.c
View file @
0d1dff89
/**************************************************************************
//**
* \file Tasks.c
* \brief Task list
* \details
* \author Zhang Xuan
* \version V1.0.0
* \date 07-Sep-2018
* \par History:
* V1.0.0 Initial release
* \par Copyright:
* (c) Heilongjiang TYW Electronics co., LTD
******************************************************************************/
/**************************************************************************
* \file Tasks.c
* \brief Task list
* \details
* \author Zhang Xuan
* \version V1.0.0
* \date 07-Sep-2018
* \par History:
* V1.0.0 Initial release
* \par Copyright:
* (c) Heilongjiang TYW Electronics co., LTD
******************************************************************************/
#include "r_typedefs.h"
#include "Sys_Scheduler.h"
#include "rh850_macros.h"
...
...
@@ -17,7 +17,6 @@
#include "Analog_Signals.h"
#include "RTC.h"
#include "Watchdog.h"
#include "debugger.h"
...
...
@@ -33,7 +32,6 @@
#include "System_Monitor.h"
#include "Common_Interface.h"
#include "Services_ODO_User.h"
#include "Data_CoolantTemperature.h"
#include "Data_VehicleSpeed.h"
...
...
@@ -93,10 +91,10 @@
#include "Buzzer.h"
/*******************************************************************************
* *
* 系统常规运行模式(SYS_MODE_OFF / SYS_MODE_ON / SYS_MODE_STANDBY )任务列表 *
* *
*******************************************************************************/
* *
* 系统常规运行模式(SYS_MODE_OFF / SYS_MODE_ON / SYS_MODE_STANDBY )任务列表 *
* *
*******************************************************************************/
/*==============================================================================
伪实时任务
...
...
@@ -109,13 +107,9 @@ void Sys_Run_Mode_Pseudo_Real_Time_Tasks(void)
UDS_Server_Application_Service
();
IS31_Service
();
BU98R10_Update_Service
();
}
/*============================================================================*/
/*==============================================================================
2ms周期执行任务
------------------------------------------------------------------------------*/
...
...
@@ -147,12 +141,12 @@ void Sys_Run_Mode_10ms_Tasks(void)
Data_Mileage_Write_EEPROM
();
Line_In_Debounce_Service
();
Telltales_Management
();
//Test_LED_AllLight();
//
Test_LED_AllLight();
Key_Service
();
CAN_BUSOFF_Recover
();
DisplayServices
();
/*表头调度函数 added by yutian*/
UserGaugeSchedule
();
/*在主循环中调用*/
UserGaugeSchedule
();
/*在主循环中调用*/
/*end*/
CD4051B_ReadSignal_Serviece
();
Sound_Play_Service
();
...
...
@@ -163,7 +157,6 @@ void Sys_Run_Mode_10ms_Tasks(void)
}
/*============================================================================*/
/*==============================================================================
20ms周期执行任务
------------------------------------------------------------------------------*/
...
...
@@ -179,19 +172,15 @@ void Sys_Run_Mode_20ms_Tasks(void)
DrivingSupport_Processing_Service
();
AirPressure_Processing_Service
();
Voltmeter_Processing_Service
();
Buzzer_Track_Play_Service
();
Sound_Management_Service
();
CD4051B_Debounce_Service
();
Seg_Display_Service
();
Seg_Buffer_Commit
();
BU98R10_Update_Request
();
Buzzer_Track_Play_Service
();
}
/*============================================================================*/
/*==============================================================================
50ms周期执行任务
------------------------------------------------------------------------------*/
...
...
@@ -203,12 +192,11 @@ void Sys_Run_Mode_50ms_Tasks(void)
Data_Service_Gear_Processing
();
Speed_PPK_Processing
();
Sound_Scheduling_Service
();
//BGTask();
//
BGTask();
IS31_Scan_Refresh
();
}
/*============================================================================*/
/*==============================================================================
100ms周期执行任务
------------------------------------------------------------------------------*/
...
...
@@ -219,16 +207,16 @@ void Sys_Run_Mode_100ms_Tasks(void)
RTE_RTC_Services_100Ms_Cbk
();
Data_ODO_Processing
();
Data_Trip_Processing
();
//Data_Avg_Speed_Processing();
//
Data_Avg_Speed_Processing();
Data_TPMS_Value_Processing
();
Data_Service_Gear_Processing
();
Data_Ambient_Temperature_Processing
();
//Display_Schedule_Service();/*显示函数入口*/
//Menu_Display_Service();
//External_Influence_ENERGY_RECOVERY_LEVEL_Select();
//LongTimeNoKey_Operation();
//Menu_Get_Battery_Sts_Exist();
//
Display_Schedule_Service();/*显示函数入口*/
//
Menu_Display_Service();
//
External_Influence_ENERGY_RECOVERY_LEVEL_Select();
//
LongTimeNoKey_Operation();
//
Menu_Get_Battery_Sts_Exist();
Popups_Management_Service
();
Popup_Scheduling_Service
();
/*综合油耗信息*/
...
...
@@ -239,29 +227,27 @@ void Sys_Run_Mode_100ms_Tasks(void)
Data_FuelCounsumpThisTime
();
/*加油后行车信息*/
Data_Info_Last_Refueling
();
}
/*============================================================================*/
/*******************************************************************************
* *
* 系统休眠模式(SYS_MODE_SLEEP)任务列表 *
* *
*******************************************************************************/
* *
* 系统休眠模式(SYS_MODE_SLEEP)任务列表 *
* *
*******************************************************************************/
/*==============================================================================
休眠模式下执行的后台任务
------------------------------------------------------------------------------*/
void
Sys_Sleep_Mode_Tasks
(
void
)
{
}
/*============================================================================*/
/*******************************************************************************
* *
* 精确的50us计时任务列表 *
* *
*******************************************************************************/
* *
* 精确的50us计时任务列表 *
* *
*******************************************************************************/
/*==============================================================================
精确的50us计时任务 禁止添加修改列表中的任务
------------------------------------------------------------------------------*/
...
...
@@ -272,7 +258,7 @@ void Sys_Exact_50us_Tasks(void)
COM_NM_Process
();
COM_TX_Process
();
DoCAN_Timer_Update
(
50
);
//TimerB_Fre_Timeout(50);
//
TimerB_Fre_Timeout(50);
Cal_Veh_Cycle
(
SPEED_SIGNAL_PWM_IN
);
/*车速输入,非捕获方式 20211018*/
PerCounter
++
;
if
(
PerCounter
>=
20
*
5
)
...
...
@@ -285,10 +271,10 @@ void Sys_Exact_50us_Tasks(void)
/*============================================================================*/
/*******************************************************************************
* *
* 精确的100ms计时任务列表 *
* *
*******************************************************************************/
* *
* 精确的100ms计时任务列表 *
* *
*******************************************************************************/
/*==============================================================================
精确的100ms计时任务 禁止添加修改列表中的任务
------------------------------------------------------------------------------*/
...
...
@@ -300,8 +286,7 @@ void Sys_Exact_100ms_Tasks(void)
}
/*============================================================================*/
void
APP_Startup_Init
(
uint8_t
startMode
)
void
APP_Startup_Init
(
uint8_t
startMode
)
{
Power_Management_Init
(
startMode
);
}
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