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
56507836
Commit
56507836
authored
Feb 21, 2025
by
李冠华
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
✨
feat:混动车型增加单次工作时长工作逻辑
parent
f8e0c73a
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
53 additions
and
13 deletions
+53
-13
Data_Time.c
Firmware/Source/Application/Driving_Information/Data_Time.c
+50
-13
Data_Time.h
Firmware/Source/Application/Driving_Information/Data_Time.h
+2
-0
Sys_Task_List.c
Firmware/Source/System/Sys_Task_List.c
+1
-0
No files found.
Firmware/Source/Application/Driving_Information/Data_Time.c
View file @
56507836
...
@@ -3,6 +3,7 @@
...
@@ -3,6 +3,7 @@
DataTimeStruct_st_t
Time
;
DataTimeStruct_st_t
Time
;
uint16_t
u16EngineTimeCount
;
void
Data_Time_KL30_Init
(
void
)
void
Data_Time_KL30_Init
(
void
)
{
{
...
@@ -10,27 +11,46 @@ void Data_Time_KL30_Init(void)
...
@@ -10,27 +11,46 @@ void Data_Time_KL30_Init(void)
Time
.
SingleMin
=
0U
;
Time
.
SingleMin
=
0U
;
Time
.
TotalHour
=
0U
;
Time
.
TotalHour
=
0U
;
Time
.
SingleValid
=
0U
;
Time
.
SingleValid
=
0U
;
Time
.
KeepTimeCount
=
0U
;
u16EngineTimeCount
=
0U
;
}
}
void
Data_Time_KL15_Init
(
void
)
void
Data_Time_KL15_Init
(
void
)
{
{
Time
.
KeepTimeCount
=
0U
;
u16EngineTimeCount
=
0U
;
}
}
void
Data_Time_Single_Working_Hours
(
void
)
void
Data_Time_Single_Working_Hours
(
void
)
{
{
uint8_t
Clock_all
=
0
;
#if (PART_NUMBER == RMR42E_60)
if
((
Common_Get_IG_Sts
()
==
COMMON_POWER_ON
)
&&
(
Charge_OFF_Flag
==
0
)
&&
(
Get_CAN_Power_State
()
!=
KEY_OFF
)
&&
(
Get_CAN_Power_State
()
!=
PKEY_ON
)
&&
(
System_Indicator_CANFlag
!=
1
))
uint8_t
Clock_all
=
0
;
{
if
((
Common_Get_IG_Sts
()
==
COMMON_POWER_ON
)
&&
(
Charge_OFF_Flag
==
0
)
&&
(
Get_CAN_Power_State
()
!=
KEY_OFF
)
&&
(
Get_CAN_Power_State
()
!=
PKEY_ON
)
&&
(
System_Indicator_CANFlag
!=
1
))
Clock_all
=
Get_CAN_Num_MMCU_SingleWorkingHours
();
{
Time
.
SingleHour
=
Clock_all
/
10U
;
Clock_all
=
Get_CAN_Num_MMCU_SingleWorkingHours
();
Time
.
SingleMin
=
(
Clock_all
%
10U
)
*
6U
;
Time
.
SingleHour
=
Clock_all
/
10U
;
Time
.
SingleValid
=
1
;
Time
.
SingleMin
=
(
Clock_all
%
10U
)
*
6U
;
}
Time
.
SingleValid
=
1
;
else
}
{
else
Time
.
SingleValid
=
0
;
{
}
Time
.
SingleValid
=
0
;
}
#else
if
(
Get_CAN_Power_State
()
==
KEY_ACC
)
{
Time
.
SingleHour
=
(
uint8_t
)(
Time
.
KeepTimeCount
/
3600U
);
Time
.
SingleMin
=
(
uint8_t
)((
Time
.
KeepTimeCount
%
3600U
)
/
60U
);
Time
.
SingleValid
=
1
;
}
else
{
Time
.
SingleHour
=
0U
;
Time
.
SingleMin
=
0U
;
Time
.
SingleValid
=
0U
;
}
#endif
}
}
uint32_t
u32Data_read
[
1
]
=
{
0
};
uint32_t
u32Data_read
[
1
]
=
{
0
};
...
@@ -98,6 +118,23 @@ void Data_CumulativeWorkHours_EEPROM_Write(void)
...
@@ -98,6 +118,23 @@ void Data_CumulativeWorkHours_EEPROM_Write(void)
}
}
}
}
/*发动机运行时间计时函数,为防止计时误差大,放在50μs中断中运行*/
void
Single_Working_Hours_Count
(
void
)
{
#if (PART_NUMBER == G54_A01)
if
(
g_ReadyStatus
==
1U
)
{
u16EngineTimeCount
++
;
if
(
u16EngineTimeCount
==
20000U
)
{
Time
.
KeepTimeCount
++
;
u16EngineTimeCount
=
0U
;
}
}
#endif
}
/******************************************************************************
/******************************************************************************
函数名:Get_SingleHour_Display
函数名:Get_SingleHour_Display
功 能:获取单次工作时长小时数函数
功 能:获取单次工作时长小时数函数
...
...
Firmware/Source/Application/Driving_Information/Data_Time.h
View file @
56507836
...
@@ -11,6 +11,7 @@ typedef struct //__attribute__((aligned(4)))
...
@@ -11,6 +11,7 @@ typedef struct //__attribute__((aligned(4)))
uint8_t
SingleMin
;
/*单次计时分钟*/
uint8_t
SingleMin
;
/*单次计时分钟*/
uint8_t
SingleValid
;
/*单次工作时间有效状态*/
uint8_t
SingleValid
;
/*单次工作时间有效状态*/
uint32_t
TotalHour
;
/*累计计时小时*/
uint32_t
TotalHour
;
/*累计计时小时*/
uint32_t
KeepTimeCount
;
/*单次工作时长自主计时,单位s*/
}
DataTimeStruct_st_t
;
}
DataTimeStruct_st_t
;
...
@@ -20,6 +21,7 @@ extern void Data_Time_KL15_Init(void);
...
@@ -20,6 +21,7 @@ extern void Data_Time_KL15_Init(void);
extern
void
Data_Time_Single_Working_Hours
(
void
);
extern
void
Data_Time_Single_Working_Hours
(
void
);
extern
void
Data_Time_Total_Working_Hours
(
void
);
extern
void
Data_Time_Total_Working_Hours
(
void
);
extern
void
Data_CumulativeWorkHours_EEPROM_Write
(
void
);
extern
void
Data_CumulativeWorkHours_EEPROM_Write
(
void
);
extern
void
Single_Working_Hours_Count
(
void
);
extern
uint8_t
Get_SingleHour_Display
(
void
);
extern
uint8_t
Get_SingleHour_Display
(
void
);
extern
uint8_t
Get_SingleMin_Display
(
void
);
extern
uint8_t
Get_SingleMin_Display
(
void
);
...
...
Firmware/Source/System/Sys_Task_List.c
View file @
56507836
...
@@ -101,4 +101,5 @@ void Sys_Exact_50us_Tasks(void)
...
@@ -101,4 +101,5 @@ void Sys_Exact_50us_Tasks(void)
task_1ms
=
0U
;
task_1ms
=
0U
;
eeprom_1ms_timeCount
();
eeprom_1ms_timeCount
();
}
}
Single_Working_Hours_Count
();
}
}
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