Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
R
RT_RMR42E
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
时昊
RT_RMR42E
Commits
6c62274e
Commit
6c62274e
authored
Jul 01, 2024
by
耨义强
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
✨
feat(增加胎压断码):
parent
1c034419
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
358 additions
and
7 deletions
+358
-7
Microsoft Edge.lnk
Firmware/Project/Cmsemicon/Microsoft Edge.lnk
+0
-0
GUI_Display.c
Firmware/Source/Application/GUI_Display/GUI_Display.c
+2
-6
SEG_DISPLAY.c
Firmware/Source/Application/SEG_DISPLAY/SEG_DISPLAY.c
+350
-1
SEG_DISPLAY.h
Firmware/Source/Application/SEG_DISPLAY/SEG_DISPLAY.h
+6
-0
No files found.
Firmware/Project/Cmsemicon/Microsoft Edge.lnk
0 → 100644
View file @
6c62274e
File added
Firmware/Source/Application/GUI_Display/GUI_Display.c
View file @
6c62274e
...
...
@@ -202,13 +202,9 @@ void Gauge_Service(void)
// Gauge_Power_2_SOC_Display();
Checkself_Init
();
Gauge_Clock_Display
();
SEG_SET_Clock
(
22
,
22
,
1
,
1
,
1
);
SEG_SET_Fault_Code
(
0
,
2222
);
// SEG_SET_EleDial_1SOC(1, 10, 22);
// SEG_SET_FuelDial(0, 8);
Gauge_EleDial_AllSOC_Display
();
SEG_SET_
GEAR
(
1
,
1
);
SEG_SET_
Cutterhead
(
1
,
2
);
SEG_SET_
Cutterhead
(
2
,
1
);
SEG_SET_
GEAR
(
1
,
0
);
SEG_SET_Frame
(
1
);
interact_PWM_Low_Duty
=
0
;
}
...
...
Firmware/Source/Application/SEG_DISPLAY/SEG_DISPLAY.c
View file @
6c62274e
...
...
@@ -139,6 +139,7 @@ _Fun_Res SEG_SET_Cutterhead(uint16_t LED_NUM, uint8_t m_Flag)
IC1_SEG074
=
IC_SEG_ON
;
IC1_SEG079
=
IC_SEG_ON
;
IC1_SEG117
=
IC_SEG_ON
;
IC1_SEG116
=
IC_SEG_ON
;
IC1_SEG083
=
IC_SEG_ON
;
if
(
LED_NUM
==
1
)
{
...
...
@@ -722,6 +723,340 @@ _Fun_Res SEG_SET_EleDial_AllSOC(uint8_t m_Flag,uint16_t m_NUM)
return
m_Res
;
}
/**@brief 左胎压显示函数
* @param[in] m_Flag 段与数字是否显示 -1 显示 -0 不显示
* @param[in] m_NUM 车速表盘段数0<=m_SEG<=10
* @return 函数执行结果
* - EX_OK 上报成功
* - EX_ERR 上报失败
*/
_Fun_Res
SEG_SET_Left_Tirepressure
(
uint8_t
m_Flag
,
uint16_t
m_NUM
)
{
_Fun_Res
m_Res
;
uint8_t
Num
;
uint8_t
m8
;
if
(
m_Flag
==
1u
)
{
IC2_SEG123
=
IC_SEG_ON
;
IC2_SEG109
=
IC_SEG_ON
;
IC2_SEG107
=
IC_SEG_ON
;
Num
=
(
m_NUM
/
10u
)
%
10u
;
if
(
m_NUM
>
10
)
{
m8
=
SEG_DISPLAY_NUMBER0
[
Num
];
}
else
{
m8
=
SEG_UNDISPLAY_NUMBER0
[
Num
];
}
if
(
Bit_Is_Set
(
m8
,
0
))
{
IC2_SEG119
=
IC_SEG_ON
;
}
else
{
IC2_SEG119
=
IC_SEG_OFF
;
}
if
(
Bit_Is_Set
(
m8
,
1
))
{
IC2_SEG118
=
IC_SEG_ON
;
}
else
{
IC2_SEG118
=
IC_SEG_OFF
;
}
if
(
Bit_Is_Set
(
m8
,
2
))
{
IC2_SEG116
=
IC_SEG_ON
;
}
else
{
IC2_SEG116
=
IC_SEG_OFF
;
}
if
(
Bit_Is_Set
(
m8
,
3
))
{
IC2_SEG106
=
IC_SEG_ON
;
}
else
{
IC2_SEG106
=
IC_SEG_OFF
;
}
if
(
Bit_Is_Set
(
m8
,
5
))
{
IC2_SEG121
=
IC_SEG_ON
;
}
else
{
IC2_SEG121
=
IC_SEG_OFF
;
}
if
(
Bit_Is_Set
(
m8
,
4
))
{
IC2_SEG122
=
IC_SEG_ON
;
}
else
{
IC2_SEG122
=
IC_SEG_OFF
;
}
if
(
Bit_Is_Set
(
m8
,
6
))
{
IC2_SEG117
=
IC_SEG_ON
;
}
else
{
IC2_SEG117
=
IC_SEG_OFF
;
}
/*个位*/
Num
=
m_NUM
%
10u
;
m8
=
SEG_DISPLAY_NUMBER0
[
Num
];
if
(
Bit_Is_Set
(
m8
,
0
))
{
IC2_SEG113
=
IC_SEG_ON
;
}
else
{
IC2_SEG113
=
IC_SEG_OFF
;
}
if
(
Bit_Is_Set
(
m8
,
1
))
{
IC2_SEG112
=
IC_SEG_ON
;
}
else
{
IC2_SEG112
=
IC_SEG_OFF
;
}
if
(
Bit_Is_Set
(
m8
,
2
))
{
IC2_SEG110
=
IC_SEG_ON
;
}
else
{
IC2_SEG110
=
IC_SEG_OFF
;
}
if
(
Bit_Is_Set
(
m8
,
3
))
{
IC2_SEG108
=
IC_SEG_ON
;
}
else
{
IC2_SEG108
=
IC_SEG_OFF
;
}
if
(
Bit_Is_Set
(
m8
,
5
))
{
IC2_SEG114
=
IC_SEG_ON
;
}
else
{
IC2_SEG114
=
IC_SEG_OFF
;
}
if
(
Bit_Is_Set
(
m8
,
4
))
{
IC2_SEG115
=
IC_SEG_ON
;
}
else
{
IC2_SEG115
=
IC_SEG_OFF
;
}
if
(
Bit_Is_Set
(
m8
,
6
))
{
IC2_SEG111
=
IC_SEG_ON
;
}
else
{
IC2_SEG111
=
IC_SEG_OFF
;
}
}
else
{
IC2_SEG113
=
IC_SEG_OFF
;
IC2_SEG112
=
IC_SEG_OFF
;
IC2_SEG110
=
IC_SEG_OFF
;
IC2_SEG108
=
IC_SEG_OFF
;
IC2_SEG115
=
IC_SEG_OFF
;
IC2_SEG114
=
IC_SEG_OFF
;
IC2_SEG111
=
IC_SEG_OFF
;
IC2_SEG118
=
IC_SEG_OFF
;
IC2_SEG116
=
IC_SEG_OFF
;
IC2_SEG106
=
IC_SEG_OFF
;
IC2_SEG122
=
IC_SEG_OFF
;
IC2_SEG121
=
IC_SEG_OFF
;
IC2_SEG117
=
IC_SEG_OFF
;
IC2_SEG123
=
IC_SEG_OFF
;
IC2_SEG107
=
IC_SEG_OFF
;
IC2_SEG109
=
IC_SEG_OFF
;
}
return
m_Res
;
}
/**@brief 右胎压显示函数
* @param[in] m_Flag 段与数字是否显示 -1 显示 -0 不显示
* @param[in] m_NUM 车速表盘段数0<=m_SEG<=10
* @return 函数执行结果
* - EX_OK 上报成功
* - EX_ERR 上报失败
*/
_Fun_Res
SEG_SET_Right_Tirepressure
(
uint8_t
m_Flag
,
uint16_t
m_NUM
)
{
_Fun_Res
m_Res
;
uint8_t
Num
;
uint8_t
m8
;
if
(
m_Flag
==
1u
)
{
IC2_SEG120
=
IC_SEG_ON
;
IC2_SEG131
=
IC_SEG_ON
;
IC2_SEG139
=
IC_SEG_ON
;
Num
=
(
m_NUM
/
10u
)
%
10u
;
if
(
m_NUM
>
10
)
{
m8
=
SEG_DISPLAY_NUMBER0
[
Num
];
}
else
{
m8
=
SEG_UNDISPLAY_NUMBER0
[
Num
];
}
if
(
Bit_Is_Set
(
m8
,
0
))
{
IC2_SEG124
=
IC_SEG_ON
;
}
else
{
IC2_SEG124
=
IC_SEG_OFF
;
}
if
(
Bit_Is_Set
(
m8
,
1
))
{
IC2_SEG130
=
IC_SEG_ON
;
}
else
{
IC2_SEG130
=
IC_SEG_OFF
;
}
if
(
Bit_Is_Set
(
m8
,
2
))
{
IC2_SEG128
=
IC_SEG_ON
;
}
else
{
IC2_SEG128
=
IC_SEG_OFF
;
}
if
(
Bit_Is_Set
(
m8
,
3
))
{
IC2_SEG127
=
IC_SEG_ON
;
}
else
{
IC2_SEG127
=
IC_SEG_OFF
;
}
if
(
Bit_Is_Set
(
m8
,
5
))
{
IC2_SEG125
=
IC_SEG_ON
;
}
else
{
IC2_SEG125
=
IC_SEG_OFF
;
}
if
(
Bit_Is_Set
(
m8
,
4
))
{
IC2_SEG126
=
IC_SEG_ON
;
}
else
{
IC2_SEG126
=
IC_SEG_OFF
;
}
if
(
Bit_Is_Set
(
m8
,
6
))
{
IC2_SEG129
=
IC_SEG_ON
;
}
else
{
IC2_SEG129
=
IC_SEG_OFF
;
}
/*个位*/
Num
=
m_NUM
%
10u
;
m8
=
SEG_DISPLAY_NUMBER0
[
Num
];
if
(
Bit_Is_Set
(
m8
,
0
))
{
IC2_SEG132
=
IC_SEG_ON
;
}
else
{
IC2_SEG132
=
IC_SEG_OFF
;
}
if
(
Bit_Is_Set
(
m8
,
1
))
{
IC2_SEG138
=
IC_SEG_ON
;
}
else
{
IC2_SEG138
=
IC_SEG_OFF
;
}
if
(
Bit_Is_Set
(
m8
,
2
))
{
IC2_SEG136
=
IC_SEG_ON
;
}
else
{
IC2_SEG136
=
IC_SEG_OFF
;
}
if
(
Bit_Is_Set
(
m8
,
3
))
{
IC2_SEG135
=
IC_SEG_ON
;
}
else
{
IC2_SEG135
=
IC_SEG_OFF
;
}
if
(
Bit_Is_Set
(
m8
,
5
))
{
IC2_SEG133
=
IC_SEG_ON
;
}
else
{
IC2_SEG133
=
IC_SEG_OFF
;
}
if
(
Bit_Is_Set
(
m8
,
4
))
{
IC2_SEG134
=
IC_SEG_ON
;
}
else
{
IC2_SEG134
=
IC_SEG_OFF
;
}
if
(
Bit_Is_Set
(
m8
,
6
))
{
IC2_SEG137
=
IC_SEG_ON
;
}
else
{
IC2_SEG137
=
IC_SEG_OFF
;
}
}
else
{
IC1_SEG124
=
IC_SEG_OFF
;
IC1_SEG130
=
IC_SEG_OFF
;
IC1_SEG128
=
IC_SEG_OFF
;
IC1_SEG127
=
IC_SEG_OFF
;
IC1_SEG126
=
IC_SEG_OFF
;
IC1_SEG129
=
IC_SEG_OFF
;
IC1_SEG125
=
IC_SEG_OFF
;
IC1_SEG132
=
IC_SEG_OFF
;
IC1_SEG138
=
IC_SEG_OFF
;
IC1_SEG136
=
IC_SEG_OFF
;
IC1_SEG135
=
IC_SEG_OFF
;
IC1_SEG134
=
IC_SEG_OFF
;
IC1_SEG133
=
IC_SEG_OFF
;
IC1_SEG137
=
IC_SEG_OFF
;
IC1_SEG139
=
IC_SEG_OFF
;
IC1_SEG131
=
IC_SEG_OFF
;
IC1_SEG120
=
IC_SEG_OFF
;
}
return
m_Res
;
}
/**@brief 故障码显示
* @param[in] m_Flag 车速是否显示 -1 显示 -0 不显示
* @param[in] m_NUM 车速数据 0<=m_NUM<=299
...
...
@@ -2422,6 +2757,7 @@ void Checkself_Init(void)
Checkself_SEG_step_count
=
0
;
}
uint8_t
soc_all
=
0
;
void
Checkself_SEG_Display
(
void
)
{
// uint16_t Fuel = 0;
...
...
@@ -2435,12 +2771,15 @@ void Checkself_SEG_Display(void)
// SEG_SET_FuelDial(1, Fuel);
SEG_SET_EleDial_AllSOC
(
1
,
soc_all
);
SEG_SET_Left_Tirepressure
(
1
,
soc_all
);
SEG_SET_Right_Tirepressure
(
1
,
soc_all
);
SEG_SET_EleDial_2SOC
(
1
,(
Checkself_SEG_step
/
3
)
+
1
);
SEG_SET_EleDial_1SOC
(
1
,(
Checkself_SEG_step
/
3
)
+
1
);
SEG_SET_Clock_ALL
(
1
,
allhour
);
hour
=
(
Checkself_SEG_step
/
3
)
*
11
;
min
=
(
Checkself_SEG_step
/
3
)
*
11
;
SEG_SET_Clock
(
hour
,
min
,
1
,
1
,
1
);
SEG_SET_Fault_Code
(
1
,
hour
*
100
+
hour
);
LED_Driver_Channel_Set
(
LampChannel_0
,
LampCh0_00_Grass_Full_R
,
LED_ON
);
// LED_Driver_Channel_Set(LampChannel_0, LampCh0_01_Power_Battery_Failure_R, LED_ON);
// LED_Driver_Channel_Set(LampChannel_0, LampCh0_02_System_Indicator_R, LED_ON);
...
...
@@ -2460,17 +2799,27 @@ void Checkself_SEG_Display(void)
LED_Driver_Channel_Set
(
LampChannel_0
,
LampCh0_21_LED_Open_W
,
LED_ON
);
LED_Driver_Channel_Set
(
LampChannel_0
,
LampCh0_31_Working_Hours_One_W
,
LED_ON
);
LED_Driver_Channel_Set
(
LampChannel_0
,
LampCh0_32_Charging_Connection_R
,
LED_ON
);
LED_Driver_Channel_Set
(
LampChannel_0
,
LampCh0_07_Lead_Acid_Battery_Failure_R
,
LED_ON
);
SEG_SET_LED_STS
(
SEG_LED_Recharge
,
1
);
// SEG_SET_LED_STS(SEG_LED_System_Light, 1);
SEG_SET_LED_STS
(
SEG_LED_Engine_Failure
,
1
);
SEG_SET_LED_STS
(
SEG_LED_Battery_Failure
,
1
);
SEG_SET_LED_STS
(
SEG_LED_Oil_press_Warning
,
1
);
SEG_SET_LED_STS
(
SEG_LED_System_Light
,
1
);
SEG_SET_LED_STS
(
SEG_LED_Power_Battery_Failure
,
1
);
SEG_SET_LED_STS
(
SEG_LED_Chloramine
,
1
);
SEG_SET_LED_STS
(
SEG_LED_Cutter_Overload
,
1
);
SEG_SET_LED_STS
(
SEG_LED_Seat_Detection
,
1
);
SEG_SET_LED_STS
(
SEG_LED_Key_Access
,
1
);
SEG_SET_LED_STS
(
SEG_LED_Ready
,
1
);
SEG_SET_LED_STS
(
SEG_LED_Cutter_Head_switch
,
1
);
SEG_SET_LED_STS
(
SEG_LED_engine_Burn
,
1
);
SEG_SET_LED_STS
(
SEG_LED_External_Discharge
,
1
);
SEG_SET_LED_STS
(
SEG_LED_bluetooth
,
1
);
SEG_SET_LED_STS
(
SEG_LED_Distance_Light
,
1
);
SEG_SET_LED_STS
(
SEG_LED_Cruise_Control
,
1
);
SEG_SET_LED_STS
(
SEG_LED_HHT_Charger
,
1
);
SEG_SET_LED_STS
(
SEG_LED_Fuel_Oil
,
1
);
if
(
Checkself_SEG_step_count
<
60
)
{
...
...
Firmware/Source/Application/SEG_DISPLAY/SEG_DISPLAY.h
View file @
6c62274e
...
...
@@ -55,6 +55,12 @@ _Fun_Res SEG_SET_EleDial_2SOC(uint8_t m_Flag,uint8_t m_SEG);
/**@brief 电量表盘AllSOC显示函数*/
_Fun_Res
SEG_SET_EleDial_AllSOC
(
uint8_t
m_Flag
,
uint16_t
m_NUM
);
/**@brief 左胎压显示函数*/
_Fun_Res
SEG_SET_Left_Tirepressure
(
uint8_t
m_Flag
,
uint16_t
m_NUM
);
/**@brief 右胎压显示函数*/
_Fun_Res
SEG_SET_Right_Tirepressure
(
uint8_t
m_Flag
,
uint16_t
m_NUM
);
// /**@brief 燃油表盘显示函数*/
// _Fun_Res SEG_SET_FuelDial(uint8_t m_Flag,uint8_t m_SEG);
...
...
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