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
7c8fb4d6
Commit
7c8fb4d6
authored
Mar 03, 2025
by
高士达
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'lgh_from_dev' into 'dev'
Lgh from dev See merge request
!24
parents
2d108d58
0c128970
Changes
9
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
121 additions
and
55 deletions
+121
-55
CAN_CH0_CAN_Communication_Matrix.c
...ce/Application/CAN_APP/CAN_CH0_CAN_Communication_Matrix.c
+1
-1
Can_RX_User.c
Firmware/Source/Application/CAN_User/Can_RX_User.c
+52
-12
Can_RX_User.h
Firmware/Source/Application/CAN_User/Can_RX_User.h
+2
-1
Data_Time.c
Firmware/Source/Application/Driving_Information/Data_Time.c
+53
-1
Data_Time.h
Firmware/Source/Application/Driving_Information/Data_Time.h
+1
-0
SEG_DISPLAY.c
Firmware/Source/Application/SEG_DISPLAY/SEG_DISPLAY.c
+4
-1
PowerManag_user.c
Firmware/Source/Component/PowerManagement/PowerManag_user.c
+1
-0
System_Monitor_User.c
...are/Source/Component/System_Monitor/System_Monitor_User.c
+3
-1
Telltales_user.c
Firmware/Source/Component/Telltales/Telltales_user.c
+4
-38
No files found.
Firmware/Source/Application/CAN_APP/CAN_CH0_CAN_Communication_Matrix.c
View file @
7c8fb4d6
...
...
@@ -556,7 +556,7 @@ const st_CANMsgAttribute CAN_CH0_CAN_MSG_CONST_ARRAY[CAN_CH0_ID_TOTAL_MAX] =
20000ul
,
0x339ul
,
((
void
*
)
0
),
(
(
void
*
)
0
),
(
CAN_0x339_Receive
),
((
void
*
)
0
),
},
{
...
...
Firmware/Source/Application/CAN_User/Can_RX_User.c
View file @
7c8fb4d6
...
...
@@ -215,6 +215,7 @@ uint8_t Get_CAN_Num_SMCU_ErrorGrage(void)
}
uint8_t
g_powerState
=
0U
;
uint8_t
Get_CAN_Power_State
(
void
)
{
...
...
@@ -257,20 +258,20 @@ uint8_t Get_CAN_Power_State(void)
state
=
POWER_CHECK_NULL
;
}
#else
if
((
Common_Get_IG_Sts
()
==
COMMON_POWER_ON
))
{
if
((
CAN_MSG_Status
(
&
CAN_CH0_CanMsgOp
,
Co_Can_ConvertSubID_CAN_CH0
(
CAN_CH0_ID_CAN_0x220_Msg
))
==
CAN_SIG_NORMAL
)
&&
(
Get_CAN_CH0_ID_220_Sig_VCU_KeySts
()
==
1U
))
{
state
=
KEY_ACC
;
}
else
{
state
=
PKEY_ON
;
}
}
else
switch
(
g_powerState
)
{
case
0
:
state
=
KEY_OFF
;
break
;
case
1
:
state
=
PKEY_ON
;
break
;
case
2
:
state
=
KEY_ACC
;
break
;
default:
state
=
KEY_OFF
;
break
;
}
#endif
return
state
;
...
...
@@ -541,6 +542,11 @@ void CAN_0x16B_Receive(uint8_t CopyData [])
{
g_ChgModeCount
++
;
}
else
{
g_ChgModeStatus
=
1U
;
g_ChgModeCount
=
0U
;
}
}
else
if
((
u8Signal
==
3U
)
&&
(
g_ChgModeStatus
!=
2U
))
{
...
...
@@ -548,6 +554,11 @@ void CAN_0x16B_Receive(uint8_t CopyData [])
{
g_ChgModeCount
++
;
}
else
{
g_ChgModeStatus
=
2U
;
g_ChgModeCount
=
0U
;
}
}
else
if
((
u8Signal
!=
1U
)
&&
(
u8Signal
!=
3U
)
&&
(
g_ChgModeStatus
!=
0U
))
{
...
...
@@ -555,6 +566,11 @@ void CAN_0x16B_Receive(uint8_t CopyData [])
{
g_ChgModeCount
++
;
}
else
{
g_ChgModeStatus
=
0U
;
g_ChgModeCount
=
0U
;
}
}
else
{
...
...
@@ -576,6 +592,11 @@ void CAN_0x22F_Receive(uint8_t CopyData [])
{
g_WorkCount
++
;
}
else
{
g_WorkStatus
=
2U
;
g_WorkCount
=
0U
;
}
}
else
if
((
u8Signal
==
3U
)
&&
(
g_WorkStatus
!=
3U
))
{
...
...
@@ -583,6 +604,11 @@ void CAN_0x22F_Receive(uint8_t CopyData [])
{
g_WorkCount
++
;
}
else
{
g_WorkStatus
=
3U
;
g_WorkCount
=
0U
;
}
}
else
if
((
u8Signal
==
4U
)
&&
(
g_WorkStatus
!=
4U
))
{
...
...
@@ -590,6 +616,11 @@ void CAN_0x22F_Receive(uint8_t CopyData [])
{
g_WorkCount
++
;
}
else
{
g_WorkStatus
=
4U
;
g_WorkCount
=
0U
;
}
}
else
if
((
u8Signal
!=
2U
)
&&
(
u8Signal
!=
3U
)
&&
(
u8Signal
!=
4U
)
&&
(
g_WorkStatus
!=
0U
))
{
...
...
@@ -597,6 +628,11 @@ void CAN_0x22F_Receive(uint8_t CopyData [])
{
g_WorkCount
++
;
}
else
{
g_WorkStatus
=
0U
;
g_WorkCount
=
0U
;
}
}
else
{
...
...
@@ -627,3 +663,7 @@ void CAN_0x170_Receive(uint8_t CopyData [])
#endif
}
void
CAN_0x339_Receive
(
uint8_t
CopyData
[])
{
g_u8ID339flag
=
1U
;
}
Firmware/Source/Application/CAN_User/Can_RX_User.h
View file @
7c8fb4d6
...
...
@@ -5,7 +5,7 @@
#include "Components.h"
extern
uint8_t
g_powerState
;
extern
uint8_t
Get_CAN_Num_BMCU_ErrorGrage
(
void
);
...
...
@@ -45,5 +45,6 @@ extern void CAN_0x220_Receive(uint8_t CopyData []);
extern
void
CAN_0x16B_Receive
(
uint8_t
CopyData
[]);
extern
void
CAN_0x22F_Receive
(
uint8_t
CopyData
[]);
extern
void
CAN_0x170_Receive
(
uint8_t
CopyData
[]);
extern
void
CAN_0x339_Receive
(
uint8_t
CopyData
[]);
#endif
Firmware/Source/Application/Driving_Information/Data_Time.c
View file @
7c8fb4d6
...
...
@@ -4,6 +4,7 @@
DataTimeStruct_st_t
Time
;
uint16_t
u16EngineTimeCount
;
uint8_t
g_u8ID339flag
=
0U
;
void
Data_Time_KL30_Init
(
void
)
{
...
...
@@ -13,12 +14,39 @@ void Data_Time_KL30_Init(void)
Time
.
SingleValid
=
0U
;
Time
.
KeepTimeCount
=
0U
;
u16EngineTimeCount
=
0U
;
g_u8ID339flag
=
0U
;
}
void
Data_Time_KL15_Init
(
void
)
{
uint16_t
u16Result
=
0U
;
uint32_t
u32Data_read
[
1
]
=
{
0
};
Time
.
KeepTimeCount
=
0U
;
u16EngineTimeCount
=
0U
;
g_u8ID339flag
=
0U
;
#if (PART_NUMBER == G54_A01)
for
(
uint8_t
i
=
0U
;
i
<
3U
;
i
++
)
{
u16Result
=
eeprom_ReadRecord
(
EEPROM_BLOCK_00
,
(
uint8_t
*
)
u32Data_read
,
4
);
if
(
u16Result
==
0x2U
)
{
break
;
}
}
if
(
u32Data_read
[
0
]
==
0xFFFFFFFFU
)
{
Time
.
TotalHour
=
0U
;
}
else
if
(
u32Data_read
[
0
]
>
65535U
)
{
u32Data_read
[
0
]
=
65535U
;
Time
.
TotalHour
=
u32Data_read
[
0
];
}
else
{
Time
.
TotalHour
=
u32Data_read
[
0
];
}
#endif
}
void
Data_Time_Single_Working_Hours
(
void
)
...
...
@@ -63,6 +91,7 @@ uint32_t CumulativeWorkHours_readDiffer = 0;
uint8_t
CumulativeWorkHours_MAX_flag
=
0
;
void
Data_Time_Total_Working_Hours
(
void
)
{
#if (PART_NUMBER == RMR42E_60)
uint32_t
u32Data
[
1
]
=
{
0
};
eeprom_ReadRecord
(
EEPROM_BLOCK_00
,
(
uint8_t
*
)
u32Data_read
,
4
);
if
(
u32Data_read
[
0
]
>
99999
)
...
...
@@ -75,12 +104,34 @@ void Data_Time_Total_Working_Hours(void)
{
CumulativeWorkHours_MAX_flag
=
0
;
}
Time
.
TotalHour
=
u32Data_read
[
0
];
#else
uint16_t
u16Result
=
0U
;
uint32_t
AccumulatedWorkHours
=
0U
;
if
((
CAN_MSG_Status
(
&
CAN_CH0_CanMsgOp
,
Co_Can_ConvertSubID_CAN_CH0
(
CAN_CH0_ID_CAN_0x339_Msg
))
==
CAN_SIG_NORMAL
)
&&
(
g_u8ID339flag
==
1U
))
{
AccumulatedWorkHours
=
(
uint32_t
)
Get_CAN_CH0_ID_339_Sig_MMCU_AccumulatedWorkHours
();
if
(
AccumulatedWorkHours
!=
Time
.
TotalHour
)
{
Time
.
TotalHour
=
AccumulatedWorkHours
;
u32Data_read
[
0
]
=
AccumulatedWorkHours
;
for
(
uint8_t
i
=
0U
;
i
<
3U
;
i
++
)
{
u16Result
=
eeprom_WriteRecord
(
EEPROM_BLOCK_00
,
(
uint8_t
*
)
u32Data_read
,
4
);
if
(
u16Result
==
0x2U
)
{
break
;
}
}
}
}
#endif
}
void
Data_CumulativeWorkHours_EEPROM_Write
(
void
)
{
#if (PART_NUMBER == RMR42E_60)
uint32_t
CurrentData
=
0
;
uint32_t
u32Data
[
1
]
=
{
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
))
...
...
@@ -120,6 +171,7 @@ void Data_CumulativeWorkHours_EEPROM_Write(void)
}
}
}
#endif
}
/*发动机运行时间计时函数,为防止计时误差大,放在50μs中断中运行*/
...
...
Firmware/Source/Application/Driving_Information/Data_Time.h
View file @
7c8fb4d6
...
...
@@ -16,6 +16,7 @@ typedef struct //__attribute__((aligned(4)))
}
DataTimeStruct_st_t
;
extern
uint8_t
g_u8ID339flag
;
extern
void
Data_Time_KL30_Init
(
void
);
extern
void
Data_Time_KL15_Init
(
void
);
...
...
Firmware/Source/Application/SEG_DISPLAY/SEG_DISPLAY.c
View file @
7c8fb4d6
...
...
@@ -585,8 +585,11 @@ _Fun_Res SEG_SET_EleDial_1SOC(uint8_t m_Flag, uint8_t m_SEG)
// 小电池
IC1_SEG121
=
IC_SEG_ON
;
IC1_SEG122
=
IC_SEG_ON
;
#if (PART_NUMBER == RMR42E_60)
if
((
m_SEG
==
1
)
&&
(
Common_GetIgnOnTime
()
>=
1500
)
&&
(
SOC_charge_seg_Flag
!=
1
))
#else
if
((
m_SEG
==
1
)
&&
(
Common_GetIgnOnTime
()
>=
1500
)
&&
(
SOC_charge_seg_Flag
!=
1
)
&&
(
Get_CAN_CH0_ID_220_Sig_VCU_ChgMode
()
!=
1U
))
#endif
{
if
(
FLASH_SYNC_1Hz
)
{
...
...
Firmware/Source/Component/PowerManagement/PowerManag_user.c
View file @
7c8fb4d6
...
...
@@ -124,6 +124,7 @@ static void Power_IG_ON_Init(void)
Line_In_KL15_ON_Init
();
LED_Driver_Service_Immediate
();
Fault_Code_KL15_Init
();
Data_Time_KL15_Init
();
}
static
void
Power_Sleep_Init
(
void
)
...
...
Firmware/Source/Component/System_Monitor/System_Monitor_User.c
View file @
7c8fb4d6
...
...
@@ -115,21 +115,23 @@ monitorlib_uint8_t System_LINE_KL15(void)
u8KL15
=
0u
;
}
#else
if
((
Sys_Read_KL15_Voltage
()
>=
5500u
)
&&
(
Sys_Read_KL30_Voltage
()
>=
5500u
))
{
if
((
CAN_MSG_Status
(
&
CAN_CH0_CanMsgOp
,
Co_Can_ConvertSubID_CAN_CH0
(
CAN_CH0_ID_CAN_0x220_Msg
))
==
CAN_SIG_NORMAL
)
&&
(
Get_CAN_CH0_ID_220_Sig_VCU_KeySts
()
==
1U
))
{
u8KL15
=
1U
;
g_powerState
=
2U
;
}
else
{
u8KL15
=
0U
;
g_powerState
=
1U
;
}
}
else
{
u8KL15
=
0U
;
g_powerState
=
0U
;
}
#endif
...
...
Firmware/Source/Component/Telltales/Telltales_user.c
View file @
7c8fb4d6
...
...
@@ -223,19 +223,21 @@ static void LED_Fuel_Alarm_Execution(Tellib_uint16_t led_status)
if
(
led_status
==
1u
)
{
/*点亮白灯*/
LED_Driver_Channel_Set
(
LampChannel_0
,
LampCh0_23_Fuel_Alarm_Y
,
LED_OFF
);
LED_Driver_Channel_Set
(
LampChannel_0
,
LampCh0_24_Fuel_Alarm_W
,
LED_ON
);
SEG_SET_LED_STS
(
SEG_LED_Fuel_Oil
,
1U
);
}
else
if
(
led_status
==
2u
)
{
/*点亮黄灯*/
LED_Driver_Channel_Set
(
LampChannel_0
,
LampCh0_24_Fuel_Alarm_W
,
LED_OFF
);
LED_Driver_Channel_Set
(
LampChannel_0
,
LampCh0_23_Fuel_Alarm_Y
,
LED_ON
);
SEG_SET_LED_STS
(
SEG_LED_Fuel_Oil
,
1U
);
}
else
{
/*熄灭指示灯*/
LED_Driver_Channel_Set
(
LampChannel_0
,
LampCh0_
09_EFI_failure
_Y
,
LED_OFF
);
LED_Driver_Channel_Set
(
LampChannel_0
,
LampCh0_
23_Fuel_Alarm
_Y
,
LED_OFF
);
LED_Driver_Channel_Set
(
LampChannel_0
,
LampCh0_24_Fuel_Alarm_W
,
LED_OFF
);
SEG_SET_LED_STS
(
SEG_LED_Fuel_Oil
,
0U
);
}
...
...
@@ -580,22 +582,6 @@ static Tellib_uint16_t LED_Battery_Charging_Judgement(void)
if
(
Signal1
==
1U
)
{
if
((
g_ChgModeStatus
!=
1U
)
&&
(
g_ChgModeCount
>=
3U
))
{
g_ChgModeStatus
=
1U
;
g_ChgModeCount
=
0U
;
}
else
if
((
g_ChgModeStatus
!=
2U
)
&&
(
g_ChgModeCount
>=
3U
))
{
g_ChgModeStatus
=
2U
;
g_ChgModeCount
=
0U
;
}
else
if
((
g_ChgModeStatus
!=
0U
)
&&
(
g_ChgModeCount
>=
3U
))
{
g_ChgModeStatus
=
0U
;
g_ChgModeCount
=
0U
;
}
LED_STATE
=
(
Tellib_uint16_t
)
g_ChgModeStatus
;
}
else
...
...
@@ -762,27 +748,7 @@ static Tellib_uint16_t LED_Engine_Works_Judgement(void)
Tellib_uint16_t
LED_STATE
=
0u
;
#if (PART_NUMBER == G54_A01)
if
((
g_WorkStatus
!=
2U
)
&&
(
g_WorkCount
>=
3U
))
{
g_WorkStatus
=
2U
;
g_WorkCount
=
0U
;
}
else
if
((
g_WorkStatus
!=
3U
)
&&
(
g_WorkCount
>=
3U
))
{
g_WorkStatus
=
3U
;
g_WorkCount
=
0U
;
}
else
if
((
g_WorkStatus
!=
4U
)
&&
(
g_WorkCount
>=
3U
))
{
g_WorkStatus
=
4U
;
g_WorkCount
=
0U
;
}
else
if
((
g_WorkStatus
!=
0U
)
&&
(
g_WorkCount
>=
3U
))
{
g_WorkStatus
=
0U
;
g_WorkCount
=
0U
;
}
if
((
g_WorkStatus
==
2U
)
||
(
g_WorkStatus
==
3U
)
||
(
g_WorkStatus
==
4U
))
{
LED_STATE
=
1U
;
...
...
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