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
d461b871
Commit
d461b871
authored
Jul 01, 2024
by
郑萍
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
✨
feat:累计时间显示以及掉线时间修改
parent
3e0c01f8
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
99 additions
and
83 deletions
+99
-83
CAN_CH0_CAN_Communication_Matrix.c
...ce/Application/CAN_APP/CAN_CH0_CAN_Communication_Matrix.c
+15
-15
Can_User.c
Firmware/Source/Application/CAN_User/Can_User.c
+10
-1
GUI_Display.c
Firmware/Source/Application/GUI_Display/GUI_Display.c
+68
-53
GUI_Display.h
Firmware/Source/Application/GUI_Display/GUI_Display.h
+2
-2
SEG_DISPLAY.c
Firmware/Source/Application/SEG_DISPLAY/SEG_DISPLAY.c
+2
-11
Telltales_user.c
Firmware/Source/Component/Telltales/Telltales_user.c
+1
-1
Sys_Task_List.c
Firmware/Source/System/Sys_Task_List.c
+1
-0
No files found.
Firmware/Source/Application/CAN_APP/CAN_CH0_CAN_Communication_Matrix.c
View file @
d461b871
...
...
@@ -18,7 +18,7 @@ const st_CANMsgAttribute CAN_CH0_CAN_MSG_CONST_ARRAY[CAN_CH0_ID_TOTAL_MAX] =
{
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
},
{
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
},
{
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
},
5
000ul
,
3
000ul
,
0x393ul
,
((
void
*
)
0
),
((
void
*
)
0
),
...
...
@@ -28,7 +28,7 @@ const st_CANMsgAttribute CAN_CH0_CAN_MSG_CONST_ARRAY[CAN_CH0_ID_TOTAL_MAX] =
{
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
},
{
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
},
{
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
},
5
000ul
,
3
000ul
,
0x398ul
,
((
void
*
)
0
),
((
void
*
)
0
),
...
...
@@ -38,7 +38,7 @@ const st_CANMsgAttribute CAN_CH0_CAN_MSG_CONST_ARRAY[CAN_CH0_ID_TOTAL_MAX] =
{
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
},
{
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
},
{
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
},
5
000ul
,
3
000ul
,
0x39Dul
,
((
void
*
)
0
),
((
void
*
)
0
),
...
...
@@ -48,7 +48,7 @@ const st_CANMsgAttribute CAN_CH0_CAN_MSG_CONST_ARRAY[CAN_CH0_ID_TOTAL_MAX] =
{
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
},
{
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
},
{
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
},
5
000ul
,
2
000ul
,
0x3A2ul
,
((
void
*
)
0
),
((
void
*
)
0
),
...
...
@@ -58,7 +58,7 @@ const st_CANMsgAttribute CAN_CH0_CAN_MSG_CONST_ARRAY[CAN_CH0_ID_TOTAL_MAX] =
{
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
},
{
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
},
{
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
},
5
000ul
,
2
000ul
,
0x3A7ul
,
((
void
*
)
0
),
((
void
*
)
0
),
...
...
@@ -68,7 +68,7 @@ const st_CANMsgAttribute CAN_CH0_CAN_MSG_CONST_ARRAY[CAN_CH0_ID_TOTAL_MAX] =
{
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
},
{
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
},
{
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
},
50
00ul
,
2
00ul
,
0x157ul
,
((
void
*
)
0
),
((
void
*
)
0
),
...
...
@@ -78,7 +78,7 @@ const st_CANMsgAttribute CAN_CH0_CAN_MSG_CONST_ARRAY[CAN_CH0_ID_TOTAL_MAX] =
{
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
},
{
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
},
{
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
},
5
000ul
,
2
000ul
,
0x38Eul
,
((
void
*
)
0
),
((
void
*
)
0
),
...
...
@@ -88,7 +88,7 @@ const st_CANMsgAttribute CAN_CH0_CAN_MSG_CONST_ARRAY[CAN_CH0_ID_TOTAL_MAX] =
{
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
},
{
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
},
{
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
},
50
00ul
,
25
00ul
,
0x18200A20ul
,
((
void
*
)
0
),
((
void
*
)
0
),
...
...
@@ -98,7 +98,7 @@ const st_CANMsgAttribute CAN_CH0_CAN_MSG_CONST_ARRAY[CAN_CH0_ID_TOTAL_MAX] =
{
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
},
{
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
},
{
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
},
5
000ul
,
1
000ul
,
0x18202922ul
,
((
void
*
)
0
),
((
void
*
)
0
),
...
...
@@ -108,7 +108,7 @@ const st_CANMsgAttribute CAN_CH0_CAN_MSG_CONST_ARRAY[CAN_CH0_ID_TOTAL_MAX] =
{
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
},
{
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
},
{
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
},
50
00ul
,
25
00ul
,
0x18203020ul
,
((
void
*
)
0
),
((
void
*
)
0
),
...
...
@@ -118,7 +118,7 @@ const st_CANMsgAttribute CAN_CH0_CAN_MSG_CONST_ARRAY[CAN_CH0_ID_TOTAL_MAX] =
{
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
},
{
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
},
{
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
},
50
00ul
,
25
00ul
,
0x18203220ul
,
((
void
*
)
0
),
((
void
*
)
0
),
...
...
@@ -128,7 +128,7 @@ const st_CANMsgAttribute CAN_CH0_CAN_MSG_CONST_ARRAY[CAN_CH0_ID_TOTAL_MAX] =
{
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
},
{
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
},
{
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
},
200
0
ul
,
200ul
,
0x125ul
,
((
void
*
)
0
),
(
System_Indicator_ON_callback
),
...
...
@@ -138,7 +138,7 @@ const st_CANMsgAttribute CAN_CH0_CAN_MSG_CONST_ARRAY[CAN_CH0_ID_TOTAL_MAX] =
{
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
},
{
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
},
{
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
},
5
000ul
,
20
000ul
,
0x339ul
,
((
void
*
)
0
),
((
void
*
)
0
),
...
...
@@ -148,7 +148,7 @@ const st_CANMsgAttribute CAN_CH0_CAN_MSG_CONST_ARRAY[CAN_CH0_ID_TOTAL_MAX] =
{
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
},
{
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
},
{
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
},
50
00ul
,
25
00ul
,
0x18200A21ul
,
((
void
*
)
0
),
((
void
*
)
0
),
...
...
@@ -158,7 +158,7 @@ const st_CANMsgAttribute CAN_CH0_CAN_MSG_CONST_ARRAY[CAN_CH0_ID_TOTAL_MAX] =
{
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
},
{
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
},
{
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
},
50
00ul
,
2
00ul
,
0x134ul
,
((
void
*
)
0
),
((
void
*
)
0
),
...
...
Firmware/Source/Application/CAN_User/Can_User.c
View file @
d461b871
...
...
@@ -80,6 +80,15 @@ void Can_RX_Apply_Buff(void)
CAN_MessageCache_DeInit
(
CAN0MSG08
);
CAN_MessageCache_Init
(
CAN0MSG08
,
&
CAN_RecvMsg
);
CAN_MessageCache_OverWriteConfig
(
CAN0MSG08
,
ENABLE
);
CAN_RecvMsg
.
Id
=
0x339
;
CAN_RecvMsg
.
IDE
=
CAN_Id_Standard
;
CAN_RecvMsg
.
CacheType
=
CAN_CacheType_Rx_NoMask
;
CAN_RecvMsg
.
RTR
=
CAN_RTR_Data
;
CAN_RecvMsg
.
Interrupt
=
ENABLE
;
CAN_MessageCache_DeInit
(
CAN0MSG11
);
CAN_MessageCache_Init
(
CAN0MSG11
,
&
CAN_RecvMsg
);
CAN_MessageCache_OverWriteConfig
(
CAN0MSG11
,
ENABLE
);
CAN_RecvMsg
.
Id
=
0x18202922
;
CAN_RecvMsg
.
IDE
=
CAN_Id_Extended
;
...
...
@@ -140,7 +149,7 @@ void Can_Tx_Apply_Buff(void)
CAN_MessageCache_DeInit
(
CAN0MSG08
);
CAN_MessageCache_Init
(
CAN0MSG08
,
&
CAN_SendMsg
);
CAN_SendMsg
.
Id
=
0x3A
2
;
CAN_SendMsg
.
Id
=
0x3A
7
;
CAN_SendMsg
.
IDE
=
CAN_Id_Standard
;
CAN_SendMsg
.
CacheType
=
CAN_CacheType_Tx
;
CAN_SendMsg
.
RTR
=
CAN_RTR_Data
;
...
...
Firmware/Source/Application/GUI_Display/GUI_Display.c
View file @
d461b871
...
...
@@ -97,59 +97,66 @@ void Gauge_EleDial_AllSOC_Display(void)
void
Gauge_Clock_Display
(
void
)
{
uint8_t
PageType_DIS
=
0
;
// if (Common_Get_IG_Sts( ) == COMMON_POWER_ON)
// {
// // PageType_DIS = Get_Current_PageType();
// if ( PageType_DIS == 1 )
// {
// if(FLASH_SYNC_1Hz)
// {
// SEG_SET_Clock(Get_Dis_Hour_Time(), Get_Dis_Minute_Time(), 1, 1, 1);
// }
// else
// {
// SEG_SET_Clock(Get_Dis_Hour_Time(), Get_Dis_Minute_Time(), 1, 0, 1);
// }
// }
// else if ( PageType_DIS == 2 )
// {
// if(FLASH_SYNC_1Hz)
// {
// SEG_SET_Clock(Get_Dis_Hour_Time(), Get_Dis_Minute_Time(), 1, 1, 1);
// }
// else
// {
// SEG_SET_Clock(Get_Dis_Hour_Time(), Get_Dis_Minute_Time(), 1, 1, 0);
// }
// }
// else
// {
// SEG_SET_Clock(Get_Dis_Hour_Time(), Get_Dis_Minute_Time(), FLASH_SYNC_1Hz, 1, 1);
// }
// }
// else
// {
// SEG_SET_Clock(0, 0, 0, 0, 0);
// }
uint32_t
Clock_all
=
0
;
static
uint8_t
Clock_seconds
=
0
;
static
uint8_t
Clock_hours
=
0
;
if
(
Common_Get_IG_Sts
()
==
COMMON_POWER_ON
)
{
if
(
CAN_MSG_Status
(
&
CAN_CH0_CanMsgOp
,
Co_Can_ConvertSubID_CAN_CH0
(
CAN_CH0_ID_CAN_0x339_Msg
))
==
CAN_ERR_OK
)
{
Clock_all
=
Get_CAN_CH0_ID_339_Sig_MMCU_SingleWorkingHours
();
Clock_hours
=
Clock_all
/
60
;
Clock_seconds
=
Clock_all
%
60
;
SEG_SET_Clock
(
Clock_hours
,
Clock_seconds
,
FLASH_SYNC_1Hz
,
1
,
1
);
}
else
{
SEG_SET_Clock
(
Clock_hours
,
Clock_seconds
,
1
,
1
,
1
);
}
}
else
{
SEG_SET_Clock
(
0
,
0
,
0
,
0
,
0
);
}
}
uint32_t
AccumulatedWorkHours
;
void
Gauge_Clock_All_Display
(
void
)
static
uint16_t
EEPROM_Write_Time
=
0
;
void
Data_CumulativeWorkHours_EEPROM_Write
(
void
)
{
if
(
CAN_MSG_Status
(
&
CAN_CH0_CanMsgOp
,
Co_Can_ConvertSubID_CAN_CH0
(
CAN_CH0_ID_CAN_0x339_Msg
)))
uint32_t
u32Data
[
1
]
=
{
0
};
uint32_t
eeprom_back
[
1
]
=
{
0
};
if
(
CAN_MSG_Status
(
&
CAN_CH0_CanMsgOp
,
Co_Can_ConvertSubID_CAN_CH0
(
CAN_CH0_ID_CAN_0x339_Msg
))
==
CAN_ERR_OK
)
{
AccumulatedWorkHours
=
Get_CAN_CH0_ID_339_Sig_MMCU_AccumulatedWorkHours
()
*
10
;
if
(
Common_Get_IG_Sts
()
==
COMMON_POWER_ON
)
u32Data
[
0
]
=
Get_CAN_CH0_ID_339_Sig_MMCU_AccumulatedWorkHours
();
eeprom_ReadRecord
(
EEPROM_BLOCK_00
,
(
uint8_t
*
)
eeprom_back
,
4
);
if
(
EEPROM_Write_Time
==
0
)
{
if
(
u32Data
[
0
]
>=
eeprom_back
[
0
])
{
eeprom_WriteRecord
(
EEPROM_BLOCK_00
,
(
uint8_t
*
)
u32Data
,
4
);
}
}
if
(
++
EEPROM_Write_Time
>
6000
)
// 一分钟存一次
{
SEG_SET_Clock_ALL
(
0
,
AccumulatedWorkHours
)
;
EEPROM_Write_Time
=
0
;
}
}
else
{
EEPROM_Write_Time
=
0
;
}
}
void
Gauge_Clock_All_Display
(
void
)
{
uint32_t
u32Data
[
1
]
=
{
0
};
eeprom_ReadRecord
(
EEPROM_BLOCK_00
,
(
uint8_t
*
)
u32Data
,
4
);
if
(
Common_Get_IG_Sts
()
==
COMMON_POWER_ON
)
{
SEG_SET_Clock_ALL
(
1
,
u32Data
[
0
]);
}
else
{
SEG_SET_Clock_ALL
(
0
,
0
);
}
}
...
...
@@ -198,19 +205,27 @@ void Gauge_Service(void)
{
if
(
Common_GetIgnOnTime
()
>=
3000
)
{
// Gauge_Power_1_SOC_Display();
// 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_Clock_All_Display
();
Gauge_EleDial_AllSOC_Display
();
SEG_SET_GEAR
(
1
,
1
);
SEG_SET_Cutterhead
(
1
,
2
);
SEG_SET_Frame
(
1
);
interact_PWM_Low_Duty
=
0
;
Gauge_Frame_Display
();
if
(
Get_CAN_Power_State
()
==
KEY_ACC
)
{
interact_PWM_Low_Duty
=
0
;
}
else
if
(
Get_CAN_Power_State
()
==
READY
)
{
interact_PWM_Low_Duty
=
30
;
}
else
{
}
// Gauge_Power_1_SOC_Display();
// Gauge_Power_2_SOC_Display();
}
else
{
...
...
Firmware/Source/Application/GUI_Display/GUI_Display.h
View file @
d461b871
...
...
@@ -3,7 +3,7 @@
#include "Components.h"
#define EEPROM_BLOCK_00 0
typedef
struct
{
...
...
@@ -52,7 +52,7 @@ void Gauge_Frame_Display(void);
void
Gauge_MaintenanceMileage_Display
(
void
);
void
Gauge_EnergyRecoveryLevel_Display
(
void
);
void
Gauge_EleDial_AllSOC_Display
(
void
);
void
Data_CumulativeWorkHours_EEPROM_Write
(
void
);
void
Gauge_KL30_Init
(
void
);
void
Gauge_KL15_Init
(
void
);
void
Gauge_Service
(
void
);
...
...
Firmware/Source/Application/SEG_DISPLAY/SEG_DISPLAY.c
View file @
d461b871
...
...
@@ -255,7 +255,6 @@ _Fun_Res SEG_SET_GEAR(uint8_t m_Gear_Flag, uint8_t m_Gear)
IC2_SEG100
=
IC_SEG_OFF
;
IC2_SEG142
=
IC_SEG_OFF
;
IC2_SEG143
=
IC_SEG_OFF
;
IC2_SEG032
=
IC_SEG_OFF
;
IC2_SEG094
=
IC_SEG_ON
;
// 圈
IC2_SEG095
=
IC_SEG_ON
;
...
...
@@ -2208,16 +2207,8 @@ _Fun_Res SEG_SET_Clock_ALL(uint8_t m_Flag , uint32_t m_NUM)
}
/*十位*/
Num
=
(
m_NUM
/
10u
)
%
10u
;
if
(
m_NUM
>
10
)
{
m8
=
SEG_DISPLAY_NUMBER0
[
Num
];
IC2_SEG069
=
IC_SEG_ON
;
}
else
{
m8
=
SEG_UNDISPLAY_NUMBER0
[
Num
];
IC2_SEG069
=
IC_SEG_OFF
;
}
m8
=
SEG_DISPLAY_NUMBER0
[
Num
];
IC2_SEG069
=
IC_SEG_ON
;
if
(
Bit_Is_Set
(
m8
,
0
))
{
...
...
Firmware/Source/Component/Telltales/Telltales_user.c
View file @
d461b871
...
...
@@ -284,7 +284,6 @@ static Tellib_uint16_t LED_READY_Judgement(void)
if
(
Signal1
==
READY
)
{
LED_STATE
=
1
;
interact_PWM_Low_Duty
=
30
;
}
else
{
...
...
@@ -418,6 +417,7 @@ static void LED_Battery_Charging_Execution(Tellib_uint16_t led_status
else
{
LED_Driver_Channel_Set
(
LampChannel_0
,
SEG_LED_Recharge
,
LED_OFF
);
SEG_SET_LED_STS
(
SEG_LED_Recharge
,
0
);
}
}
// static Tellib_uint16_t LED_Battery_Charging_POWEROFF_Judgement(void)
...
...
Firmware/Source/System/Sys_Task_List.c
View file @
d461b871
...
...
@@ -33,6 +33,7 @@ void Sys_10ms_Tasks(void)
{
Line_In_Debounce_Service
(
10u
);
Can_BusOff_Recover
(
10u
);
Data_CumulativeWorkHours_EEPROM_Write
();
TYW_Check_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