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
fa1bbec1
Commit
fa1bbec1
authored
Feb 11, 2025
by
李冠华
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
🦄
refactor:将刀盘挡位功能数据处理逻辑从显示逻辑中独立出来
parent
f999a532
Changes
10
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
195 additions
and
71 deletions
+195
-71
RMR42E.uvguix.Administrator
...t/Cmsemicon/BAT32A239/MDK_ARM/RMR42E.uvguix.Administrator
+20
-20
RMR42E.uvprojx
Firmware/Project/Cmsemicon/BAT32A239/MDK_ARM/RMR42E.uvprojx
+10
-0
Application.h
Firmware/Source/Application/Application.h
+1
-1
Data_Gear.c
Firmware/Source/Application/Driving_Information/Data_Gear.c
+79
-0
Data_Gear.h
Firmware/Source/Application/Driving_Information/Data_Gear.h
+25
-0
GUI_Display.c
Firmware/Source/Application/GUI_Display/GUI_Display.c
+18
-10
PowerManag_user.c
Firmware/Source/Component/PowerManagement/PowerManag_user.c
+1
-0
Telltales_user.c
Firmware/Source/Component/Telltales/Telltales_user.c
+7
-9
Telltales_user.h
Firmware/Source/Component/Telltales/Telltales_user.h
+33
-31
Sys_Task_List.c
Firmware/Source/System/Sys_Task_List.c
+1
-0
No files found.
Firmware/Project/Cmsemicon/BAT32A239/MDK_ARM/RMR42E.uvguix.Administrator
View file @
fa1bbec1
This diff is collapsed.
Click to expand it.
Firmware/Project/Cmsemicon/BAT32A239/MDK_ARM/RMR42E.uvprojx
View file @
fa1bbec1
...
@@ -508,6 +508,16 @@
...
@@ -508,6 +508,16 @@
<FileType>
5
</FileType>
<FileType>
5
</FileType>
<FilePath>
..\..\..\..\Source\Application\Driving_Information\Data_Time.h
</FilePath>
<FilePath>
..\..\..\..\Source\Application\Driving_Information\Data_Time.h
</FilePath>
</File>
</File>
<File>
<FileName>
Data_Gear.c
</FileName>
<FileType>
1
</FileType>
<FilePath>
..\..\..\..\Source\Application\Driving_Information\Data_Gear.c
</FilePath>
</File>
<File>
<FileName>
Data_Gear.h
</FileName>
<FileType>
5
</FileType>
<FilePath>
..\..\..\..\Source\Application\Driving_Information\Data_Gear.h
</FilePath>
</File>
</Files>
</Files>
</Group>
</Group>
<Group>
<Group>
...
...
Firmware/Source/Application/Application.h
View file @
fa1bbec1
...
@@ -14,7 +14,7 @@
...
@@ -14,7 +14,7 @@
#include "Data_Soc\Data_Soc.h"
#include "Data_Soc\Data_Soc.h"
#include "Data_Fuel\Data_Fuel.h"
#include "Data_Fuel\Data_Fuel.h"
#include "Driving_Information\Data_Time.h"
#include "Driving_Information\Data_Time.h"
#include "Driving_Information\Data_Gear.h"
#endif
#endif
Firmware/Source/Application/Driving_Information/Data_Gear.c
0 → 100644
View file @
fa1bbec1
#include "Components.h"
#include "Driving_Information\Data_Gear.h"
GearStruct_st_t
Gear
;
void
Data_Gear_KL30_Init
(
void
)
{
Gear
.
CutterHeadNum
=
0U
;
Gear
.
CutterheadValid
=
0U
;
Gear
.
GearNum
=
0U
;
}
void
Data_Gear_KL15_Init
(
void
)
{
}
void
Data_Gear_Cutterhead_Service
(
void
)
{
uint8_t
Signal1
=
Get_CAN_Num_BMCU_BladeSpeedGear
();
uint8_t
Signal2
=
Get_CAN_Num_BMCU_ErrorGrage
();
// uint8_t MBMS_StatBattWorkState = Get_CAN_CH0_ID_18203220_Sig_MBMS_StatBattWorkState();
if
((
Common_Get_IG_Sts
()
==
COMMON_POWER_ON
)
&&
(
Get_CAN_Power_State
()
>=
KEY_ACC
)
&&
(
Get_CAN_Power_State
()
<
CHRGEND
)
&&
(
System_Indicator_CANFlag
!=
1
))
{
if
((
Signal1
>
0U
)
&&
(
Signal1
<=
3U
))
{
Gear
.
CutterHeadNum
=
Signal1
;
}
else
{
Gear
.
CutterHeadNum
=
0U
;
}
if
((
Signal2
==
0x1
)
||
(
Signal2
==
0x2
)
||
(
Signal2
==
0x3
)
||
(
Signal2
==
0x4
))
{
Gear
.
CutterheadValid
=
0x2U
;
}
else
{
Gear
.
CutterheadValid
=
0x1U
;
}
}
else
{
Gear
.
CutterheadValid
=
0x0U
;
Gear
.
CutterHeadNum
=
0U
;
}
}
void
Data_Gear_Service
(
void
)
{
}
/******************************************************************************
函数名:Get_Gear_Cutterhead_Value
功 能:获取刀盘挡位数函数
参 数:无
返回值:Gear.CutterHeadNum;
******************************************************************************
注 意:该函数必须每 ms被调用一次
******************************************************************************/
uint8_t
Get_Gear_Cutterhead_Value
(
void
)
{
return
Gear
.
CutterHeadNum
;
}
/******************************************************************************
函数名:Get_Gear_Cutterhead_Valid
功 能:获取刀盘挡位状态函数
参 数:无
返回值:Gear.CutterheadValid 0--不显示,1--常显,2--闪烁
******************************************************************************
注 意:该函数必须每 ms被调用一次
******************************************************************************/
uint8_t
Get_Gear_Cutterhead_Valid
(
void
)
{
return
Gear
.
CutterheadValid
;
}
Firmware/Source/Application/Driving_Information/Data_Gear.h
0 → 100644
View file @
fa1bbec1
#ifndef DATA_GEAR_H__
#define DATA_GEAR_H__
#include "Application.h"
#include "Components.h"
typedef
struct
//__attribute__((aligned(4)))
{
uint8_t
CutterHeadNum
;
//燃油格数
uint8_t
CutterheadValid
;
//燃油有效状态
uint8_t
GearNum
;
/*燃油状态计数*/
}
GearStruct_st_t
;
extern
void
Data_Gear_KL30_Init
(
void
);
extern
void
Data_Gear_KL15_Init
(
void
);
extern
void
Data_Gear_Cutterhead_Service
(
void
);
extern
void
Data_Gear_Service
(
void
);
extern
uint8_t
Get_Gear_Cutterhead_Value
(
void
);
extern
uint8_t
Get_Gear_Cutterhead_Valid
(
void
);
#endif
Firmware/Source/Application/GUI_Display/GUI_Display.c
View file @
fa1bbec1
...
@@ -53,34 +53,42 @@ void Gauge_Power_SOC_pull_Display(void)
...
@@ -53,34 +53,42 @@ void Gauge_Power_SOC_pull_Display(void)
void
Gauge_Cutterhead_Gear_Display
(
void
)
void
Gauge_Cutterhead_Gear_Display
(
void
)
{
{
uint8_t
Signal1
=
Get_CAN_Num_BMCU_BladeSpeedGear
();
uint8_t
CutterheadValue
=
Get_Gear_Cutterhead_Value
();
uint8_t
Signal2
=
Get_CAN_Num_BMCU_ErrorGrage
();
uint8_t
CutterheadValid
=
Get_Gear_Cutterhead_Valid
();
// uint8_t MBMS_StatBattWorkState = Get_CAN_CH0_ID_18203220_Sig_MBMS_StatBattWorkState();
// uint8_t MBMS_StatBattWorkState = Get_CAN_CH0_ID_18203220_Sig_MBMS_StatBattWorkState();
if
((
Common_Get_IG_Sts
()
==
COMMON_POWER_ON
)
&&
(
Charge_OFF_Flag
==
0
)
&&
(
System_Indicator_CANFlag
!=
1
))
if
(
CutterheadValid
==
2U
)
{
{
if
(
(
Signal2
==
0x1
)
||
(
Signal2
==
0x2
)
||
(
Signal2
==
0x3
)
||
(
Signal2
==
0x4
)
)
if
(
CutterheadValue
>
0U
)
{
{
if
(
FLASH_SYNC_1Hz
)
if
(
FLASH_SYNC_1Hz
)
{
{
SEG_SET_Cutterhead
(
1
,
Signal1
,
0
);
SEG_SET_Cutterhead
(
1
,
CutterheadValue
,
0
);
}
}
else
else
{
{
SEG_SET_Cutterhead
(
1
,
4
,
0
);
SEG_SET_Cutterhead
(
1
,
4
,
0
);
}
}
}
}
else
if
(
Signal2
==
0x0
)
else
{
{
SEG_SET_Cutterhead
(
1
,
Signal1
,
0
);
SEG_SET_Cutterhead
(
1
,
4
,
0
);
}
}
}
else
if
(
CutterheadValid
==
1U
)
{
if
(
CutterheadValue
>
0U
)
{
SEG_SET_Cutterhead
(
1
,
CutterheadValue
,
0
);
}
else
else
{
{
SEG_SET_Cutterhead
(
0
,
Signal1
,
0
);
SEG_SET_Cutterhead
(
1
,
4
,
0
);
}
}
}
}
else
else
{
{
SEG_SET_Cutterhead
(
0
,
Signal1
,
0
);
SEG_SET_Cutterhead
(
0
,
0
,
0
);
}
}
}
}
...
...
Firmware/Source/Component/PowerManagement/PowerManag_user.c
View file @
fa1bbec1
...
@@ -72,6 +72,7 @@ static void Power_KL30_Init(void)
...
@@ -72,6 +72,7 @@ static void Power_KL30_Init(void)
RTE_DEEPSLEEP_GPIO_Interrupt_Enable
(
KL15_AD_IN
,
Trigger_Rising
);
RTE_DEEPSLEEP_GPIO_Interrupt_Enable
(
KL15_AD_IN
,
Trigger_Rising
);
Data_Soc_KL30_Init
();
Data_Soc_KL30_Init
();
Data_Time_KL30_Init
();
Data_Time_KL30_Init
();
Data_Gear_KL30_Init
();
}
}
extern
uint32_t
PowerIgnOffTimeLine
;
extern
uint32_t
PowerIgnOffTimeLine
;
...
...
Firmware/Source/Component/Telltales/Telltales_user.c
View file @
fa1bbec1
...
@@ -680,22 +680,20 @@ static void LED_Tire_pressure_R_Execution(Tellib_uint16_t led_status)
...
@@ -680,22 +680,20 @@ static void LED_Tire_pressure_R_Execution(Tellib_uint16_t led_status)
static
Tellib_uint16_t
LED_Cutterhead_Gear_Judgement
(
void
)
static
Tellib_uint16_t
LED_Cutterhead_Gear_Judgement
(
void
)
{
{
Tellib_uint16_t
LED_STATE
=
0u
;
Tellib_uint16_t
LED_STATE
=
0u
;
Tellib_uint8_t
Signal1
=
Get_CAN_Num_BMCU_BladeSpeedGear
();
Tellib_uint8_t
CutterheadValid
=
Get_Gear_Cutterhead_Valid
();
Tellib_uint8_t
Signal2
=
Get_CAN_Num_BMCU_ErrorGrage
();
if
(((
Signal2
==
0x1
)
||
(
Signal2
==
0x2
)
||
(
Signal2
==
0x3
)
||
(
Signal2
==
0x4
))
&&
openLED_flag
)
if
(
CutterheadValid
>
0U
)
{
LED_STATE
=
2
;
}
else
if
((
Signal2
==
0x0
)
&&
openLED_flag
)
{
{
LED_STATE
=
1
;
LED_STATE
=
1
U
;
}
}
else
else
{
{
LED_STATE
=
0
;
LED_STATE
=
0
U
;
}
}
return
LED_STATE
;
return
LED_STATE
;
}
}
static
void
LED_Cutterhead_Gear_Execution
(
Tellib_uint16_t
led_status
)
static
void
LED_Cutterhead_Gear_Execution
(
Tellib_uint16_t
led_status
)
{
{
if
(
led_status
!=
0u
)
if
(
led_status
!=
0u
)
...
...
Firmware/Source/Component/Telltales/Telltales_user.h
View file @
fa1bbec1
...
@@ -4,38 +4,40 @@
...
@@ -4,38 +4,40 @@
typedef
enum
typedef
enum
{
{
em_LED_EFI_failure_Y
=
0
,
em_LED_EFI_failure_Y
=
0
,
/*电喷故障指示灯*/
em_LED_Fuel_Alarm_Y
,
em_LED_Fuel_Alarm_Y
,
/*燃油低指示灯(黄色)*/
em_LED_Lead_Acid_Battery_Failure_R
,
em_LED_Lead_Acid_Battery_Failure_R
,
/*铅酸电池故障指示灯*/
em_LED_Oil_Pressure_R
,
em_LED_Oil_Pressure_R
,
/*机油压力报警指示灯*/
em_LED_Grass_Full_R
,
em_LED_Grass_Full_R
,
/*草满指示灯*/
em_LED_OVERLOAD_R
,
em_LED_OVERLOAD_R
,
/*刀盘过载指示灯*/
em_LED_READY_G
,
em_LED_READY_G
,
/*Ready指示灯*/
em_LED_Seat_Detection_W
,
em_LED_Seat_Detection_W
,
/*座椅检测指示灯*/
em_LED_Key_Access_W
,
em_LED_Key_Access_W
,
/*钥匙接入指示灯*/
em_LED_Battery_Charging_W
,
em_LED_Battery_Charging_W
,
/*电池充电进行中指示灯*/
em_LED_Cutterhead_Switch_W
,
em_LED_Cutterhead_Switch_W
,
/*刀盘开关指示*/
em_LED_GEAR_W
,
em_LED_GEAR_W
,
/*挡位指示灯*/
em_LED_External_Discharge_W
,
em_LED_External_Discharge_W
,
/*对外放电指示灯*/
em_LED_Engine_Works_W
,
em_LED_Engine_Works_W
,
/*发动机工作指示灯*/
em_LED_Bluetooth_Connection_W
,
em_LED_Bluetooth_Connection_W
,
/*蓝牙显示*/
em_LED_LED_Open_W
,
em_LED_LED_Open_W
,
/*大灯灯光检测*/
em_LED_Cruise_Control_W
,
em_LED_Cruise_Control_W
,
/*定速巡航指示灯*/
em_LED_Tire_pressure_F_W
,
em_LED_Tire_pressure_F_W
,
/*左胎压显示*/
em_LED_Tire_pressure_R_W
,
em_LED_Tire_pressure_R_W
,
/*右胎压显示*/
em_LED_Cutterhead_Gear_W
,
em_LED_Cutterhead_Gear_W
,
/*刀盘档位指示灯*/
em_LED_Working_Hours_One_W
,
em_LED_Working_Hours_One_W
,
/*单次工作时长统计*/
em_LED_Fault_Codes_W
,
em_LED_Fault_Codes_W
,
/*故障码显示*/
em_LED_System_Indicator_R
,
//系统指示灯-R-AW21036-OUT
em_LED_P_GEAR_G
,
//空挡指示灯-G-AW21036-OUT
em_LED_Fuel_Alarm_W
,
//燃油报警灯-WAW21036-OUT(白色)
em_LED_Charging_Connection_R
,
//充电枪连接-R-AW21036-OUT
em_LED_Power_Battery_Failure_R
,
//动力电池故障指示灯HV-R-AW21036-OUT
em_LED_System_Indicator_R
,
//系统指示灯-R-AW21036-OUT
em_LED_P_GEAR_G
,
//空挡指示灯-G-AW21036-OUT
em_LED_Fuel_Alarm_W
,
//燃油报警灯-WAW21036-OUT
em_LED_Charging_Connection_R
,
//充电枪连接-R-AW21036-OUT
em_LED_Power_Battery_Failure_R
,
//动力电池故障指示灯HV-R-AW21036-OUT
LED_Max
,
LED_Max
,
}
LED_Idx_t
;
}
LED_Idx_t
;
...
...
Firmware/Source/System/Sys_Task_List.c
View file @
fa1bbec1
...
@@ -26,6 +26,7 @@ void Sys_2ms_Tasks(void)
...
@@ -26,6 +26,7 @@ void Sys_2ms_Tasks(void)
void
Sys_5ms_Tasks
(
void
)
void
Sys_5ms_Tasks
(
void
)
{
{
Flash_Sync_Signal_Generation_Service
();
Flash_Sync_Signal_Generation_Service
();
Data_Gear_Cutterhead_Service
();
}
}
void
Sys_10ms_Tasks
(
void
)
void
Sys_10ms_Tasks
(
void
)
...
...
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