Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
J
jiancetai
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
陈家乐
jiancetai
Commits
bee4c61b
Commit
bee4c61b
authored
Jun 06, 2025
by
huangguoqing
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
✨
feat:增加车撑指示灯
parent
513f6215
Changes
8
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
117 additions
and
111 deletions
+117
-111
CAN_APP.c
YueJin_test_bench/source/Appliciation/CAN_APP.c
+30
-17
CAN_APP.h
YueJin_test_bench/source/Appliciation/CAN_APP.h
+45
-7
CAN_Communication_Matrix.c
...test_bench/source/Appliciation/CAN_Communication_Matrix.c
+0
-57
CAN_Communication_Matrix.h
...test_bench/source/Appliciation/CAN_Communication_Matrix.h
+0
-18
Display_Info.c
YueJin_test_bench/source/Appliciation/Display_Info.c
+3
-3
Display_Info.h
YueJin_test_bench/source/Appliciation/Display_Info.h
+1
-1
Key.h
YueJin_test_bench/source/Appliciation/Key.h
+8
-0
Key_user.c
YueJin_test_bench/source/Appliciation/Key_user.c
+30
-8
No files found.
YueJin_test_bench/source/Appliciation/CAN_APP.c
View file @
bee4c61b
...
...
@@ -170,7 +170,7 @@ void Can_Set_Buff_280(uint8_t CopyData [])
{
pCANMsg
->
Sig
.
Energy_status
=
1
;
pCANMsg
->
Sig
.
Energy_recovery
=
2
;
pCANMsg
->
Sig
.
Side_bracket
=
1
;
//
pCANMsg->Sig.Side_bracket = 1;
}
else
if
(
Energy_recovery
==
1
)
{
...
...
@@ -191,6 +191,15 @@ void Can_Set_Buff_280(uint8_t CopyData [])
{
pCANMsg
->
Sig
.
Tcs_Status
=
1
;
}
if
(
Side_bracket
==
1
)
{
pCANMsg
->
Sig
.
Side_bracket280
=
1
;
}
if
(
Side_bracket
==
0
)
{
pCANMsg
->
Sig
.
Side_bracket280
=
0
;
}
}
void
Can_Set_Buff_202
(
uint8_t
CopyData
[])
...
...
@@ -238,10 +247,26 @@ void Can_Set_Buff_202(uint8_t CopyData [])
{
pCANMsg
->
Sig
.
Ready
=
3
;
}
if
(
Fault
==
1
)
{
pCANMsg
->
Sig
.
Fault
=
1
;
}
if
(
Hill_Descent_control
==
1
)
{
pCANMsg
->
Sig
.
Hill_Descent_control
=
1
;
}
else
if
(
Hill_Descent_control
==
0
)
{
pCANMsg
->
Sig
.
Hill_Descent_control
=
0
;
}
if
(
Side_bracket
==
1
)
{
pCANMsg
->
Sig
.
Side_bracket202
=
1
;
}
// pCANMsg->Msg[1]=0Xff;
}
void
Can_Set_Buff_001
(
uint8_t
CopyData
[])
{
...
...
@@ -284,6 +309,10 @@ void Can_Set_Buff_021(uint8_t CopyData [])
{
pCANMsg
->
Sig
.
Battery_temp
=
1
;
}
if
(
Battery_temp
==
1
)
{
pCANMsg
->
Sig
.
Battery_temp
=
1
;
}
}
//NFC
void
Can_Set_Buff_284
(
uint8_t
CopyData
[])
...
...
@@ -319,21 +348,6 @@ extern uint8_t Data_786_2[8]= {0x30,0x00,0x00,0xAA,0xAA,0xAA,0xAA,0xAA};
/*硬件版本号*/
extern
uint8_t
Data_786_3
[
8
]
=
{
0x03
,
0x22
,
0xF1
,
0x93
,
0xAA
,
0xAA
,
0xAA
,
0xAA
};
extern
uint8_t
Data_786_4
[
8
]
=
{
0x30
,
0x00
,
0x00
,
0xAA
,
0xAA
,
0xAA
,
0xAA
,
0xAA
};
typedef
struct
{
uint8_t
CANruanjian_ID1
;
uint8_t
CANruanjian_ID2
;
uint8_t
CANruanjian_ID3
;
uint8_t
CANruanjian_ID4
;
uint8_t
CANruanjian_ID5
;
uint8_t
CANruanjian_ID1_
;
uint8_t
CANruanjian_ID2_
;
uint8_t
CANruanjian_ID3_
;
uint8_t
CANruanjian_ID4_
;
uint8_t
CANruanjian_ID5_
;
}
CanData_step
;
CanData_step
CanData_step_
=
{
0
};
void
Can_Set_Buff_786
(
uint8_t
CopyData
[])
{
...
...
@@ -360,7 +374,6 @@ void Can_Set_Buff_786(uint8_t CopyData [])
}
Diagnosis_banbenhao_flag_
=
1
;
// Get_CAN_CH4_ID_750_Diagnosis_return0();
}
if
(
Diagnosis_banbenhao_flag
==
2
)
...
...
YueJin_test_bench/source/Appliciation/CAN_APP.h
View file @
bee4c61b
...
...
@@ -96,21 +96,51 @@ typedef union
struct
{
uint64_t
:
8
;
uint64_t
:
8
;
uint64_t
:
8
;
uint64_t
Energy_status
:
1
;
uint64_t
:
2
;
uint64_t
Side_bracket
:
1
;
uint64_t
:
3
;
uint64_t
Tcs_Status
:
1
;
uint64_t
Energy_recovery
:
2
;
uint64_t
:
1
;
uint64_t
:
8
;
uint64_t
:
3
;
uint64_t
Side_bracket280
:
1
;
uint64_t
:
3
;
uint64_t
:
8
;
uint64_t
:
8
;
uint64_t
:
8
;
}
Sig
;
}
CANMsg280Union
;
// typedef union
// {
// uint8_t Msg [ 8 ];
// struct
// {
// uint64_t :8;
// uint64_t :8;
// uint64_t :8;
// uint64_t :1;
// uint64_t Energy_recovery:2;
// uint64_t Tcs_Status:1;
// uint64_t :1;
// uint64_t Side_bracket:1;
// uint64_t :1;
// uint64_t Energy_status:1;
// uint64_t :8;
// uint64_t :8;
// uint64_t :8;
// uint64_t :8;
// } Sig;
// } CANMsg280Union;
typedef
union
{
uint8_t
Msg
[
8
];
...
...
@@ -118,14 +148,21 @@ typedef union
{
uint64_t
:
2
;
uint64_t
Gear
:
2
;
uint64_t
:
4
;
uint64_t
:
4
;
uint64_t
:
3
;
uint64_t
Side_bracket202
:
1
;
uint64_t
:
2
;
uint64_t
:
1
;
uint64_t
Hill_Descent_control
:
1
;
uint64_t
Ready
:
2
;
uint64_t
Cruiste
:
1
;
uint64_t
:
1
;
uint64_t
:
2
;
uint64_t
Fault
:
1
;
uint64_t
:
5
;
uint64_t
Range
:
8
;
uint64_t
:
8
;
uint64_t
:
8
;
...
...
@@ -141,8 +178,7 @@ typedef union
struct
{
uint64_t
:
8
;
uint64_t
:
8
;
uint64_t
:
4
;
uint64_t
Motor_hert
:
1
;
uint64_t
:
3
;
...
...
@@ -156,6 +192,8 @@ typedef union
}
Sig
;
}
CANMsg001Union
;
typedef
union
{
uint8_t
Msg
[
8
];
...
...
YueJin_test_bench/source/Appliciation/CAN_Communication_Matrix.c
View file @
bee4c61b
...
...
@@ -125,60 +125,3 @@ uint8_t Get_CAN_CH4_ID_750_Diagnosis_return750_1_7(void)
return
(((
uint8_t
)((
uint8_t
)
CAN_MSG_Read
(
CAN_CH4
,
CAN_CH4_ID_750_Msg_Count
,
7u
)
>>
0u
)
&
0xFFu
));
}
//诊断返回信息2_7
uint8_t
Get_CAN_CH4_ID_750_Diagnosis_return2_1
(
void
)
{
return
(((
uint8_t
)((
uint8_t
)
CAN_MSG_Read
(
CAN_CH4
,
CAN_CH4_ID_750_Msg_Count
,
1u
)
>>
0u
)
&
0xFFu
));
}
uint8_t
Get_CAN_CH4_ID_750_Diagnosis_return2_2
(
void
)
{
return
(((
uint8_t
)((
uint8_t
)
CAN_MSG_Read
(
CAN_CH4
,
CAN_CH4_ID_750_Msg_Count
,
2u
)
>>
0u
)
&
0xFFu
));
}
uint8_t
Get_CAN_CH4_ID_750_Diagnosis_return2_3
(
void
)
{
return
(((
uint8_t
)((
uint8_t
)
CAN_MSG_Read
(
CAN_CH4
,
CAN_CH4_ID_750_Msg_Count
,
3u
)
>>
0u
)
&
0xFFu
));
}
uint8_t
Get_CAN_CH4_ID_750_Diagnosis_return2_4
(
void
)
{
return
(((
uint8_t
)((
uint8_t
)
CAN_MSG_Read
(
CAN_CH4
,
CAN_CH4_ID_750_Msg_Count
,
4u
)
>>
0u
)
&
0xFFu
));
}
uint8_t
Get_CAN_CH4_ID_750_Diagnosis_return2_5
(
void
)
{
return
(((
uint8_t
)((
uint8_t
)
CAN_MSG_Read
(
CAN_CH4
,
CAN_CH4_ID_750_Msg_Count
,
5u
)
>>
0u
)
&
0xFFu
));
}
uint8_t
Get_CAN_CH4_ID_750_Diagnosis_return2_6
(
void
)
{
return
(((
uint8_t
)((
uint8_t
)
CAN_MSG_Read
(
CAN_CH4
,
CAN_CH4_ID_750_Msg_Count
,
6u
)
>>
0u
)
&
0xFFu
));
}
uint8_t
Get_CAN_CH4_ID_750_Diagnosis_return2_7
(
void
)
{
return
(((
uint8_t
)((
uint8_t
)
CAN_MSG_Read
(
CAN_CH4
,
CAN_CH4_ID_750_Msg_Count
,
7u
)
>>
0u
)
&
0xFFu
));
}
//诊断返回信息3_3
uint8_t
Get_CAN_CH4_ID_750_Diagnosis_return3_1
(
void
)
{
return
(((
uint8_t
)((
uint8_t
)
CAN_MSG_Read
(
CAN_CH4
,
CAN_CH4_ID_750_Msg_Count
,
1u
)
>>
0u
)
&
0xFFu
));
// 读取CAN通道4,ID为750的消息的字节5
}
uint8_t
Get_CAN_CH4_ID_750_Diagnosis_return3_2
(
void
)
{
return
(((
uint8_t
)((
uint8_t
)
CAN_MSG_Read
(
CAN_CH4
,
CAN_CH4_ID_750_Msg_Count
,
2u
)
>>
0u
)
&
0xFFu
));
}
uint8_t
Get_CAN_CH4_ID_750_Diagnosis_return3_3
(
void
)
{
return
(((
uint8_t
)((
uint8_t
)
CAN_MSG_Read
(
CAN_CH4
,
CAN_CH4_ID_750_Msg_Count
,
3u
)
>>
0u
)
&
0xFFu
));
}
void
Can_ID_750_Receive
(
uint8_t
CopyData
[])
{
Get_CAN_CH4_ID_750_Diagnosis_return1
();
}
\ No newline at end of file
YueJin_test_bench/source/Appliciation/CAN_Communication_Matrix.h
View file @
bee4c61b
...
...
@@ -45,24 +45,6 @@ extern uint8_t Get_CAN_CH4_ID_250_TCS(void);
//总计
extern
uint8_t
Get_CAN_CH4_ID_450_Mileage
(
void
);
//诊断返回信息1
uint8_t
Get_CAN_CH4_ID_750_Diagnosis_return750_1_5
(
void
);
uint8_t
Get_CAN_CH4_ID_750_Diagnosis_return750_1_6
(
void
);
uint8_t
Get_CAN_CH4_ID_750_Diagnosis_return750_1_7
(
void
);
//诊断返回信息2_7
uint8_t
Get_CAN_CH4_ID_750_Diagnosis_return2_1
(
void
);
uint8_t
Get_CAN_CH4_ID_750_Diagnosis_return2_2
(
void
);
uint8_t
Get_CAN_CH4_ID_750_Diagnosis_return2_3
(
void
);
uint8_t
Get_CAN_CH4_ID_750_Diagnosis_return2_4
(
void
);
uint8_t
Get_CAN_CH4_ID_750_Diagnosis_return2_5
(
void
);
uint8_t
Get_CAN_CH4_ID_750_Diagnosis_return2_6
(
void
);
uint8_t
Get_CAN_CH4_ID_750_Diagnosis_return2_7
(
void
);
//诊断返回信息3_3
uint8_t
Get_CAN_CH4_ID_750_Diagnosis_return3_1
(
void
);
uint8_t
Get_CAN_CH4_ID_750_Diagnosis_return3_2
(
void
);
uint8_t
Get_CAN_CH4_ID_750_Diagnosis_return3_3
(
void
);
static
void
Can_ID_750_Receive
();
#define CAN_CH4_ID_250_Msg 0x250u
#define CAN_CH4_ID_450_Msg 0x450u
...
...
YueJin_test_bench/source/Appliciation/Display_Info.c
View file @
bee4c61b
...
...
@@ -29,10 +29,10 @@ Learning_Card learning_card = {
uint8_t canData_banben[14];
uint16_t decimal_candata[14];
uint8_t
canData1
[
8
];
uint8_t canData1[8];
//暂存软件版本号数据用
uint8_t canData2[14];
uint8_t canData3[10];
uint8_t
canData4
[
8
];
uint8_t canData4[8];
//暂存硬件版本号数据用
...
...
@@ -4545,7 +4545,7 @@ void Display_Can_Receive_Data(uint16_t X,uint8_t Y)
void Display_flag(uint8_t Check_Steps)
{
// if()
switch (Check_Steps)
{
case 1://左转、右转、位置灯
...
...
YueJin_test_bench/source/Appliciation/Display_Info.h
View file @
bee4c61b
...
...
@@ -114,7 +114,7 @@ typedef struct {
uint8_t
fail
[
4
];
uint8_t
sameID
[
7
];
}
Learning_Card
;
// extern uint8_t canData[3]
[8];
extern
uint8_t
canData1
[
8
];
extern
uint8_t
canData2
[
14
];
extern
uint8_t
canData3
[
10
];
extern
uint8_t
canData4
[
8
];
...
...
YueJin_test_bench/source/Appliciation/Key.h
View file @
bee4c61b
...
...
@@ -124,12 +124,20 @@ extern uint8_t Fault;
extern
uint8_t
Motor_hert
;
extern
uint8_t
Battery_temp
;
extern
uint8_t
NFC_C_card
;
extern
uint8_t
Side_bracket
;
extern
uint8_t
Hill_Descent_control
;
extern
uint8_t
key_flag
;
extern
u8_All_Flag_t
All_Flag
;
extern
uint8_t
Diagnosis_banbenhao_flag
;
extern
uint8_t
Diagnosis_banbenhao_flag_
;
extern
uint16_t
testtime
;
extern
uint8_t
canData1
[
8
];
extern
uint8_t
canData2
[
14
];
extern
uint8_t
canData3
[
10
];
extern
uint8_t
canData4
[
8
];
...
...
YueJin_test_bench/source/Appliciation/Key_user.c
View file @
bee4c61b
...
...
@@ -23,18 +23,21 @@ uint8_t Fault = 0;
uint8_t
Motor_hert
=
0
;
uint8_t
Battery_temp
=
0
;
uint8_t
NFC_C_card
=
0
;
uint8_t
Side_bracket
=
0
;
uint8_t
Hill_Descent_control
=
0
;
uint8_t
Diagnosis_banbenhao_flag
=
0
;
uint8_t
Diagnosis_banbenhao_flag_
=
0
;
uint8_t
key_flag
=
0
;
u8_All_Flag_t
All_Flag
=
{
0
};
uint8_t
detection_flag
=
0
;
// All_Flag.KEY.Key1 = 0;
uint8_t
detection_protect
=
0
;
uint8_t
Key10_Flag
=
0
;
uint8_t
SW_Protect_flag
[
11
]
=
{
0
};
void
Key_Operation_SW1
(
Key_Event_en_t
enKeyEvent
)
...
...
@@ -132,6 +135,15 @@ void Key_Operation_SW6(Key_Event_en_t enKeyEvent)
{
memset
(
&
All_Flag
,
0
,
sizeof
(
All_Flag
));
All_Flag
.
u8flag
[
1
]
=
1
;
if
(
detection_flag
==
0
)
{
detection_flag
=
1
;
}
else
{
detection_flag
=
0
;
}
Check_Steps
=
0
;
Display_TFT_Clear
();
...
...
@@ -171,8 +183,10 @@ void Key_Operation_SW8(Key_Event_en_t enKeyEvent)
{
memset
(
&
All_Flag
,
0
,
sizeof
(
All_Flag
));
All_Flag
.
u8flag
[
3
]
=
1
;
Diagnosis_banbenhao_flag
=
1
;
memset
(
canData1
,
0
,
sizeof
(
canData1
)
*
sizeof
(
canData1
[
0
]));
/*清除上次CAN诊断接收的数据*/
memset
(
canData4
,
0
,
sizeof
(
canData4
)
*
sizeof
(
canData4
[
0
]));
Diagnosis_banbenhao_flag
=
1
;
/*CAN诊断起始信号*/
Display_TFT_Clear
();
//版本号界面
//Display_Version_Info(1);
...
...
@@ -229,11 +243,12 @@ void Key_Operation_SW10(Key_Event_en_t enKeyEvent)
if
(
enKeyEvent
==
KEY_EVENT_SHORT_PRESS
)
{
memset
(
&
All_Flag
,
0
,
sizeof
(
All_Flag
));
//
All_Flag.u8flag[1] = 1;
All_Flag
.
u8flag
[
4
]
=
1
;
//
All_Flag.u8flag[1] = 1;/*按键6*/
All_Flag
.
u8flag
[
4
]
=
1
;
/*按键10*/
if
(
Check_Control_Mode
==
2
)
{
if
(((
All_Flag
.
u8flag
[
0
]
==
0
)
&&
(
All_Flag
.
u8flag
[
1
]
==
0
)
&&
(
All_Flag
.
u8flag
[
2
]
==
0
)
&&
((
All_Flag
.
u8flag
[
3
]
==
0
))))
// if((( All_Flag.u8flag[0] == 0) && ( All_Flag.u8flag[1] == 0)&& ( All_Flag.u8flag[2] == 0) && (( All_Flag.u8flag[3] == 0))))
if
(
detection_flag
==
1
)
{
Check_Steps
++
;
Display_flag
(
Check_Steps
);
...
...
@@ -419,6 +434,7 @@ void User_CheckMode_Service(uint8_t CbkCycle)
Right_Led
=
0
;
Headlights_Led
=
0
;
NFC_C_card
=
0
;
break
;
case
1
:
...
...
@@ -439,6 +455,7 @@ void User_CheckMode_Service(uint8_t CbkCycle)
Right_Led
=
1
;
Headlights_Led
=
0
;
NFC_C_card
=
1
;
Hill_Descent_control
=
1
;
break
;
case
2
:
Vspeed
=
19
;
...
...
@@ -458,6 +475,8 @@ void User_CheckMode_Service(uint8_t CbkCycle)
Right_Led
=
0
;
Headlights_Led
=
1
;
NFC_C_card
=
2
;
Side_bracket
=
1
;
Hill_Descent_control
=
0
;
break
;
case
3
:
Vspeed
=
29
;
...
...
@@ -500,7 +519,7 @@ void User_CheckMode_Service(uint8_t CbkCycle)
Vspeed
=
47
;
Signal_4G
=
0
;
Signal_GPS
=
0
;
Eletricity
=
750
;
Eletricity
=
750
;
Hour
=
10
;
Tcs
=
0
;
Energy_recovery
=
2
;
...
...
@@ -513,6 +532,7 @@ void User_CheckMode_Service(uint8_t CbkCycle)
Left_Led
=
0
;
Right_Led
=
0
;
Headlights_Led
=
0
;
Side_bracket
=
1
;
break
;
case
6
:
Vspeed
=
57
;
...
...
@@ -531,6 +551,7 @@ void User_CheckMode_Service(uint8_t CbkCycle)
Left_Led
=
0
;
Right_Led
=
0
;
Headlights_Led
=
0
;
Side_bracket
=
0
;
break
;
case
7
:
Vspeed
=
75
;
...
...
@@ -621,6 +642,7 @@ void User_CheckMode_Service(uint8_t CbkCycle)
Left_Led
=
1
;
Right_Led
=
1
;
Headlights_Led
=
1
;
Side_bracket
=
1
;
break
;
}
}
...
...
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