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
437e8804
Commit
437e8804
authored
Dec 27, 2024
by
梁百峰
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
✨
feat:增加控制蓝牙功能
parent
9de7f272
Changes
12
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
276 additions
and
35 deletions
+276
-35
Barcode_Scanner.c
YueJin_test_bench/source/Appliciation/Barcode_Scanner.c
+16
-0
Barcode_Scanner.h
YueJin_test_bench/source/Appliciation/Barcode_Scanner.h
+3
-0
Check_Ctrl.c
YueJin_test_bench/source/Appliciation/Check_Ctrl.c
+17
-11
Display_Info.c
YueJin_test_bench/source/Appliciation/Display_Info.c
+7
-1
Key.h
YueJin_test_bench/source/Appliciation/Key.h
+1
-0
Key_user.c
YueJin_test_bench/source/Appliciation/Key_user.c
+46
-1
R485_Communication_Matrix.c
...est_bench/source/Appliciation/R485_Communication_Matrix.c
+59
-3
R485_Communication_Matrix.h
...est_bench/source/Appliciation/R485_Communication_Matrix.h
+6
-0
RTE_GPIO.h
YueJin_test_bench/source/Appliciation/RTE_GPIO.h
+1
-1
Task.c
YueJin_test_bench/source/Appliciation/Task.c
+101
-16
Task.h
YueJin_test_bench/source/Appliciation/Task.h
+5
-0
api_RS485.c
YueJin_test_bench/source/Appliciation/api_RS485.c
+14
-2
No files found.
YueJin_test_bench/source/Appliciation/Barcode_Scanner.c
View file @
437e8804
...
...
@@ -35,6 +35,7 @@ uint8_t RS485_data[64];
uint8_t
checknumwrong
=
3
;
uint8_t
zhenduanflag
=
0
;
uint8_t
clearOdoFlag
=
0
;
uint8_t
connectbleFlag
=
0
;
uint8_t
Auto_ONOFF
=
0
;
uint32_t
key_value
;
uint8_t
key_array
[
4
];
...
...
@@ -44,6 +45,7 @@ uint8_t line_stdio = 2;
uint8_t
powerstdio
=
0
;
uint8_t
get_num_buf
[
34
];
uint8_t
comparestart
;
uint8_t
blename
[
4
];
void
get_key
(
void
)
{
key_array
[
0
]
=
seed_value
[
0
]
|
seed_value
[
3
];
...
...
@@ -55,6 +57,7 @@ void get_key(void)
key_value
=
key_value
|
((
uint32_t
)
key_array
[
2
]
<<
8U
);
key_value
=
key_value
|
(
uint32_t
)
key_array
[
3
];
}
uint8_t
recvflag111
=
0
;
void
datacheck
(
void
)
{
...
...
@@ -98,6 +101,10 @@ void datacheck(void)
}
break
;
case
0x4A
:
if
(
connectbleFlag
==
1
)
{
memcpy
(
R485_ID4Ah
.
Msg
,
RS485_data
,
64
);
}
memcpy
(
R485_ID4Ah
.
Msg
,
RS485_data
,
64
);
checksum
=
Yadi_CAL_Data_Sum
(
&
BarCode
[
2
],
64
+
2
);
if
(
checksum
!=
BarCode
[
68
])
...
...
@@ -105,6 +112,15 @@ void datacheck(void)
checknumwrong
=
1
;
}
break
;
case
0x81
:
{
blename
[
0
]
=
RS485_data
[
6
];
blename
[
1
]
=
RS485_data
[
7
];
blename
[
2
]
=
RS485_data
[
8
];
blename
[
3
]
=
RS485_data
[
9
];
recvflag111
=
1
;
}
break
;
case
0x4F
:
{
switch
(
BarCode
[
6
])
...
...
YueJin_test_bench/source/Appliciation/Barcode_Scanner.h
View file @
437e8804
...
...
@@ -29,5 +29,8 @@ extern uint8_t checknumwrong;
extern
uint8_t
powerstdio
;
extern
uint8_t
Auto_ONOFF
;
extern
uint8_t
comparestart
;
extern
uint8_t
connectbleFlag
;
extern
uint8_t
get_num_buf
[
34
];
extern
uint8_t
blename
[
4
];
extern
uint8_t
recvflag111
;
#endif
\ No newline at end of file
YueJin_test_bench/source/Appliciation/Check_Ctrl.c
View file @
437e8804
...
...
@@ -285,19 +285,25 @@ uint8_t yibiaoshuju[34];
break
;
// case 3:
case
3
:
blename
[
4
]
=
0xFF
;
if
(
recvflag111
==
1
)
{
General_Number_Disp
(
blename
,
3
,
165
);
recvflag111
=
0
;
}
//
POWER_CTRL_KL30 = 0u; //B+
//
POWER_CTRL_KL15 = 0u; //KL15
//
CAN_Msg_Tx_Enable = 1u;
//
Diag_Info_Init( );
//
Display_Init( );
//
Display_Version_Info(0);
//
POWER_CTRL_KL30 = 0u; //B+
//
POWER_CTRL_KL15 = 0u; //KL15
//
CAN_Msg_Tx_Enable = 1u;
//
Diag_Info_Init( );
//
Display_Init( );
//
Display_Version_Info(0);
//
Display_Set_Buff();
//
// Function_Check_Ctrl(1); //Excel表格发报文。硬线信号
//
//FUEL_UDS__Display(3);
//
Buzzer_Warning();
//
Display_Set_Buff();
//
// Function_Check_Ctrl(1); //Excel表格发报文。硬线信号
//
//FUEL_UDS__Display(3);
//
Buzzer_Warning();
...
...
YueJin_test_bench/source/Appliciation/Display_Info.c
View file @
437e8804
...
...
@@ -2880,6 +2880,10 @@ void Display_Sub(void)
}
uint32_t
Get_Display_Type
(
void
)
{
if
(
connectbleFlag
==
1
)
{
return
3
;
}
if
(
zhenduanflag
==
0
)
{
return
2
;
...
...
@@ -2892,6 +2896,8 @@ uint32_t Get_Display_Type(void)
{
return
1
;
}
}
...
...
@@ -3517,7 +3523,7 @@ void HW_Voltage_Check(uint32_t cmd)
}
const
uint16_t
CurrentDigitNum09PosX
[]
=
{
200
,
180
,
170
};
#define Sampling_NUM
40
#define Sampling_NUM
15
uint32_t
dianliu
;
void
HW_Static_Current_Check
(
uint32_t
cmd
)
{
...
...
YueJin_test_bench/source/Appliciation/Key.h
View file @
437e8804
...
...
@@ -11,6 +11,7 @@ typedef enum
KEY_8
,
KEY_9
,
KEY_10
,
KEY_11
,
KEY_3
,
KEY_NUM_MAX
,
}
Key_Num_en_t
;
...
...
YueJin_test_bench/source/Appliciation/Key_user.c
View file @
437e8804
...
...
@@ -319,7 +319,52 @@ Key_Real_Status_en_t Key_Real_sw3(void)
return
enKeyRealStatus
;
}
Key_Real_Status_en_t
Key_Real_sw10
(
void
)
{
Key_Real_Status_en_t
enKeyRealStatus
=
KEY_LINE_LOOSEN
;
if
(
SW10
==
0U
)
{
enKeyRealStatus
=
KEY_LINE_PRESS
;
}
return
enKeyRealStatus
;
}
void
Key_Operation_SW10
(
Key_Event_en_t
enKeyEvent
)
{
/*清零ODO*/
if
(
enKeyEvent
==
KEY_EVENT_SHORT_PRESS
)
{
Display_TFT_Clear
();
if
(
connectbleFlag
==
0
)
{
connectbleFlag
=
1
;
name1
=
(
devicename
)
&
0xFF
;
name2
=
(
devicename
>>
8
)
&
0xFF
;
}
else
{
name1
=
(
devicename
)
&
0xFF
;
name2
=
(
devicename
>>
8
)
&
0xFF
;
startONfalg
=
0
;
send0x42time
=
0
;
bleOFFtoONtime
=
0
;
startONfalg
=
0
;
startIGONtime
=
0
;
}
}
else
if
(
enKeyEvent
==
KEY_EVENT_LONG_PRESS
)
{
}
else
if
(
enKeyEvent
==
KEY_EVENT_SUPER_LONG_PRESS
)
{
}
else
{
}
}
/*---------------------------------------------------------------------------------------*/
const
Key_Attribute_st_t
stKeyAttribute
[
KEY_NUM_MAX
]
=
{
{
KEY_TYPE_LINE
,
Key_Real_sw5
,
Key_Operation_SW5
},
//SW5
...
...
@@ -328,7 +373,7 @@ const Key_Attribute_st_t stKeyAttribute [ KEY_NUM_MAX ] = {
{
KEY_TYPE_LINE
,
Key_Real_sw8
,
Key_Operation_SW8
},
{
KEY_TYPE_LINE
,
Key_Real_sw2
,
Key_Operation_SW2
},
//SW2-
{
KEY_TYPE_LINE
,
Key_Real_sw1
,
Key_Operation_SW1
},
//SW1+
{
KEY_TYPE_LINE
,
Key_Real_sw10
,
Key_Operation_SW10
},
{
KEY_TYPE_LINE
,
Key_Real_sw3
,
Key_Operation_SW3
},
//SW1+
};
YueJin_test_bench/source/Appliciation/R485_Communication_Matrix.c
View file @
437e8804
...
...
@@ -3,6 +3,8 @@
#include "string.h"
uint8_t
barcode_Msg
[
64
];
uint8_t
barcode_Msg1
[
64
];
uint8_t
name1
=
0
;
uint8_t
name2
=
0
;
uint32_t
R485_Send_0x40
(
void
)
{
memset
(
R485_ID40h
.
Msg
,
0xFF
,
64
);
...
...
@@ -712,6 +714,12 @@ uint32_t R485_Send_0x42(void)
uint32_t
u32sendendflag
=
0
;
R485_ID42h
.
Sig
.
TPower
=
0
;
//T动力状态
R485_ID42h
.
Sig
.
TotalBatteryCurrent
=
0
;
R485_ID42h
.
Sig
.
BLE_MAC01
=
name1
;
//发送mac地址
R485_ID42h
.
Sig
.
BLE_MAC02
=
name2
;
R485_ID42h
.
Sig
.
BLE_MAC03
=
0xA
;
R485_ID42h
.
Sig
.
BLE_MAC04
=
0xA
;
R485_ID42h
.
Sig
.
BLE_MAC05
=
0xA
;
R485_ID42h
.
Sig
.
BLE_MAC06
=
0xA
;
switch
(
MENU_CHECK_STEP
)
{
case
0
:
...
...
@@ -741,8 +749,7 @@ uint32_t R485_Send_0x42(void)
break
;
case
8
:
break
;
case
9
:
case
9
:
break
;
default:
break
;
...
...
@@ -752,6 +759,22 @@ uint32_t R485_Send_0x42(void)
// RS485_TX_finish = 1;
return
u32sendendflag
;
}
uint32_t
R485_Send_ble0x42
(
void
)
{
LINE_OUT_NEG_09
=
1
;
memset
(
R485_ID42h
.
Msg
,
0xFF
,
64
);
uint32_t
u32sendendflag
=
0
;
R485_ID42h
.
Sig
.
BLE_MAC01
=
0xAA
;
//发送mac地址
R485_ID42h
.
Sig
.
BLE_MAC02
=
0xBB
;
R485_ID42h
.
Sig
.
BLE_MAC03
=
0xAA
;
R485_ID42h
.
Sig
.
BLE_MAC04
=
0xBB
;
R485_ID42h
.
Sig
.
BLE_MAC05
=
0xAA
;
R485_ID42h
.
Sig
.
BLE_MAC06
=
0xBB
;
u32sendendflag
=
R485_Send
(
0x42
,
R485_ID42h
.
Msg
,
sizeof
(
R485_ID42h
.
Msg
));
// LINE_OUT_NEG_09 = 0;
// RS485_TX_finish = 1;
return
u32sendendflag
;
}
uint8_t
R485_zhenduan_Msg
[
64
];
uint32_t
R485_Send_0x47
(
void
)
{
...
...
@@ -833,6 +856,24 @@ uint32_t R485_Send_0x47(void)
RS485_TX_finish
=
1
;
return
u32sendendflag
;
}
uint8_t
R485_0x80_msg
[
64
];
uint32_t
R485_Send_0x80
(
void
)
{
uint8_t
length
;
uint32_t
u32sendendflag
=
0
;
memset
(
R485_0x80_msg
,
0xFF
,
sizeof
(
R485_0x80_msg
));
if
(
RS485_TX_finish
==
0
)
{
RS485_TX_finish
=
1
;
u32sendendflag
=
R485_Send
(
0x80
,
R485_0x80_msg
,
sizeof
(
R485_0x80_msg
));
RS485_send_time
=
0
;
RS485_TX_finish
=
1
;
}
RS485_TX_finish
=
1
;
return
u32sendendflag
;
}
uint8_t
Send_Lineget_Msg
[
64
];
uint8_t
firstsec
=
0
;;
uint32_t
R485_Send_Line_0x47
(
uint8_t
n
)
...
...
@@ -1022,4 +1063,19 @@ uint32_t R485_Send_0x70(void)
// RS485_TX_finish = 1;
// return u32sendendflag;
}
\ No newline at end of file
}
uint32_t
R485_SendMACaddress_0x42
(
void
)
{
uint8_t
length
;
uint32_t
u32sendendflag
=
0
;
if
(
RS485_TX_finish
==
0
)
{
R485_ID42h
.
Sig
.
BLE_MAC01
=
0
;
R485_ID42h
.
Sig
.
BLE_MAC02
=
0
;
u32sendendflag
=
R485_Send
(
0x42
,
R485_ID42h
.
Msg
,
sizeof
(
R485_ID42h
.
Msg
));
RS485_send_time
=
0
;
}
RS485_TX_finish
=
1
;
return
u32sendendflag
;
}
YueJin_test_bench/source/Appliciation/R485_Communication_Matrix.h
View file @
437e8804
...
...
@@ -1137,6 +1137,12 @@ extern uint32_t R485_Send_Line_0x47(uint8_t n);
extern
uint32_t
R485_Send_clear
(
void
);
extern
uint32_t
R485_Sendcheck_0x47
(
void
);
extern
uint32_t
R485_Send_0x80
(
void
);
extern
uint32_t
R485_Send_ble0x42
(
void
);
extern
uint8_t
barcode_Msg
[
64
];
extern
uint8_t
barcode_Msg1
[
64
];
extern
uint8_t
name1
;
extern
uint8_t
name2
;
#endif
YueJin_test_bench/source/Appliciation/RTE_GPIO.h
View file @
437e8804
...
...
@@ -79,7 +79,7 @@
#define LINE_SafeBelt_5_press NEG_9_Ctrl
//ljs
#define LINE_OUT_POS_01 GPIO_OUT_PORT10_PIN06
// #define SW10 GPIO_OUT_PORT10_PIN06 //返回
#define LINE_OUT_POS_02 GPIO_OUT_PORT09_PIN00
#define LINE_OUT_POS_03 GPIO_OUT_APORT00_PIN04
#define LINE_OUT_POS_04 GPIO_OUT_APORT00_PIN05
...
...
YueJin_test_bench/source/Appliciation/Task.c
View file @
437e8804
...
...
@@ -32,6 +32,10 @@
uint8_t
time100ms
=
0
;
uint8_t
finish
=
0
;
uint8_t
AutoFlag
=
0
;
uint32_t
send0x42time
=
0
;
uint32_t
bleOFFtoONtime
=
0
;
uint8_t
startONfalg
=
0
;
uint32_t
startIGONtime
=
0
;
const
unsigned
char
gImage_cuo1
[]
=
{
24
,
24
,
0X00
,
0X00
,
0X00
,
0X00
,
0X30
,
0X70
,
0XE0
,
0XC0
,
0X80
,
0X00
,
0X00
,
0X00
,
0X00
,
0X00
,
0X00
,
0X00
,
0X80
,
0XC0
,
0X70
,
0X30
,
0X00
,
0X00
,
0X00
,
0X00
,
0X00
,
0X00
,
0X00
,
0X00
,
0X00
,
0X00
,
0X00
,
0X01
,
0X83
,
0XC7
,
0X66
,
0X38
,
0X38
,
0X7C
,
0XE6
,
0XC3
,
0X81
,
0X00
,
0X00
,
0X00
,
0X00
,
0X00
,
0X00
,
0X00
,
0X00
,
0X00
,
0X00
,
0X00
,
0X0C
,
0X0C
,
0X06
,
0X03
,
0X01
,
0X00
,
0X00
,
0X00
,
0X00
,
0X00
,
0X00
,
0X01
,
0X03
,
0X07
,
0X0E
,
0X0C
,
0X00
,
0X00
,
0X00
,
0X00
,};
const
unsigned
char
gImage_dui1
[]
=
{
24
,
24
,
0X00
,
0X00
,
0X00
,
0X00
,
0X00
,
0X00
,
0X00
,
0X00
,
0X00
,
0X00
,
0X00
,
0X00
,
0X00
,
0X00
,
0X00
,
0X00
,
0X00
,
0X00
,
0X80
,
0XC0
,
0XE0
,
0X40
,
0X00
,
0X00
,
0X00
,
0X00
,
0X08
,
0X18
,
0X30
,
0X70
,
0XC0
,
0X80
,
0X00
,
0X00
,
0X80
,
0XC0
,
0XE0
,
0X70
,
0X38
,
0X1C
,
0X0E
,
0X07
,
0X03
,
0X01
,
0X00
,
0X00
,
0X00
,
0X00
,
0X00
,
0X00
,
0X00
,
0X00
,
0X00
,
0X00
,
0X00
,
0X01
,
0X03
,
0X07
,
0X03
,
0X01
,
0X00
,
0X00
,
0X00
,
0X00
,
0X00
,
0X00
,
0X00
,
0X00
,
0X00
,
0X00
,
0X00
,
0X00
,};
void
Sys_Run_Mode_Pseudo_Real_Time_Tasks
(
void
)
...
...
@@ -72,11 +76,20 @@ void Sys_Run_Mode_5ms_Tasks_Group(void)
------------------------------------------------------------------------------*/
uint8_t
testdata
[
3
]
=
{
0
,
1
,
2
};
uint32_t
clearodotime
;
uint32_t
devicename
=
0
;
uint8_t
sartigon
=
0
;
void
Sys_Run_Mode_10ms_Tasks_Group
(
void
)
{
// BusOff_Service( );
Key_Service
(
);
if
(
devicename
<
0xFFFF
)
{
devicename
++
;
}
else
{
devicename
=
0
;
}
// Fre_In_Time_Out_Handle(10);
//刷数字、刷英文拼写。
...
...
@@ -93,6 +106,7 @@ void Sys_Run_Mode_10ms_Tasks_Group(void)
// UART_Ch0_Send_Multiple_Byte(testdata,3);
// RS485_User_Tx_Data();
if
(
clearOdoFlag
==
0
)
{
backsend
();
...
...
@@ -102,26 +116,78 @@ void Sys_Run_Mode_10ms_Tasks_Group(void)
LINE_OUT_NEG_09
=
1
;
if
(
LINE_OUT_NEG_09
==
1
)
{
if
(
zhenduanf
lag
==
0
)
if
(
connectbleF
lag
==
0
)
{
R485_Send_Line_0x47
(
MENU_CHECK_STEP
);
RS485_User_Tx_Data
();
comparestart
=
0
;
}
else
if
(
zhenduanflag
==
1
)
{
R485_Send_0x47
();
comparestart
=
0
;
}
else
if
(
zhenduanflag
==
2
)
{
R485_Sendcheck_0x47
();
if
(
zhenduanflag
==
0
)
{
// R485_Send_Line_0x47(MENU_CHECK_STEP);
RS485_User_Tx_Data
();
comparestart
=
0
;
}
else
if
(
zhenduanflag
==
1
)
{
R485_Send_0x47
();
comparestart
=
0
;
}
else
if
(
zhenduanflag
==
2
)
{
R485_Sendcheck_0x47
();
}
else
{
;
}
}
else
{
;
{
// if(send0x42time<0xFFFFFFFF)
// {
// send0x42time++;
// }
// if(bleOFFtoONtime<0xFFFFFFFF)
// {
// bleOFFtoONtime++;
// }
if
(
startONfalg
==
0
)
{
if
(
send0x42time
<
130
)
{
R485_Send_0x42
();
Display_TFT_Clear
();
}
else
{
// bleOFFtoONtime = 0;
LINE_OUT_NEG_01
=
0
;
LINE_OUT_NEG_02
=
0
;
LINE_OUT_NEG_03
=
0
;
LINE_OUT_NEG_04
=
0
;
startONfalg
=
1
;
Display_TFT_Clear
();
}
}
else
{
if
(
startIGONtime
>=
50
)
{
LINE_OUT_NEG_01
=
1
;
LINE_OUT_NEG_02
=
1
;
LINE_OUT_NEG_03
=
1
;
LINE_OUT_NEG_04
=
1
;
R485_Send_0x80
();
blename
[
4
]
=
0xFF
;
if
(
recvflag111
==
1
)
{
General_Number_Disp
(
blename
,
3
,
165
);
recvflag111
=
0
;
}
}
}
RS485_send_time
=
0
;
RS485_TX_finish
=
1
;
}
}
// else
// {
...
...
@@ -395,7 +461,26 @@ void Sys_Exact_50us_Tasks(void)
------------------------------------------------------------------------------*/
void
Sys_Exact_100ms_Tasks
(
void
)
{
if
(
connectbleFlag
==
1
)
{
if
(
send0x42time
<
0xFFFFFFFF
)
{
send0x42time
++
;
}
if
(
bleOFFtoONtime
<
0xFFFFFFFF
)
{
bleOFFtoONtime
++
;
}
}
if
(
startONfalg
)
{
if
(
startIGONtime
<
0xFFFFFFFF
)
{
startIGONtime
++
;
}
}
// CHECK_IPK_COUNT( );
}
/*============================================================================*/
void
Sys_Enter_Sleep_Mode
(
void
)
...
...
YueJin_test_bench/source/Appliciation/Task.h
View file @
437e8804
...
...
@@ -4,6 +4,11 @@
#include "TYW_stdint.h"
extern
uint8_t
AutoFlag
;
extern
uint32_t
devicename
;
extern
uint32_t
send0x42time
;
extern
uint32_t
bleOFFtoONtime
;
extern
uint8_t
startONfalg
;
extern
uint32_t
startIGONtime
;
void
Sys_Run_Mode_Pseudo_Real_Time_Tasks
(
void
);
void
Sys_Run_Mode_2ms_Tasks_Group
(
void
);
void
Sys_Run_Mode_5ms_Tasks_Group
(
void
);
...
...
YueJin_test_bench/source/Appliciation/api_RS485.c
View file @
437e8804
...
...
@@ -476,7 +476,7 @@ void RS485_User_Tx_Data(void)
if
(
RS485_TX_finish
==
1
)
{
RS485_send_num
++
;
RS485_send_num
++
;
}
}
break
;
...
...
@@ -492,6 +492,18 @@ void RS485_User_Tx_Data(void)
}
}
break
;
// case 3:
// sendfinishflag = R485_Send_0x80();
// if(sendfinishflag == 0)
// {
// RS485_send_time = 0;
// RS485_TX_finish = 1;
// if(RS485_TX_finish == 1)
// {
// RS485_send_num++;
// }
// }
// break;
default:
flag
=
1
;
RS485_send_time
=
0
;
...
...
@@ -505,7 +517,7 @@ void RS485_User_Tx_Data(void)
}
void
backsend
(
void
)
{
if
(
RS485_send_time
>=
1
5
)
if
(
RS485_send_time
>=
1
0
)
{
RS485_send_time
=
0
;
RS485_TX_finish
=
0
;
...
...
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