Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Q
QJ_500-7c
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
时昊
QJ_500-7c
Commits
b04094c8
Commit
b04094c8
authored
Apr 27, 2024
by
薛晓虎
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat: 添加蓝牙应用逻辑;整理代码
parent
920aec97
Changes
11
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
1043 additions
and
408 deletions
+1043
-408
settings.json
.vscode/settings.json
+3
-1
CMakeLists.txt
qianjiang/main/CMakeLists.txt
+1
-0
MCU_Core_Protocol.c
qianjiang/main/MCU_Core_Protocol.c
+14
-16
Protocol_User.c
qianjiang/main/Protocol_User.c
+13
-4
app_Ble_User.c
qianjiang/main/app_Ble_User.c
+307
-179
app_Ble_User.h
qianjiang/main/app_Ble_User.h
+190
-3
gatts_table_creat_demo.c
qianjiang/main/gatts_table_creat_demo.c
+297
-168
gatts_table_creat_demo.h
qianjiang/main/gatts_table_creat_demo.h
+37
-17
main_user.c
qianjiang/main/main_user.c
+101
-0
main_user.h
qianjiang/main/main_user.h
+7
-0
sdkconfig
qianjiang/sdkconfig
+73
-20
No files found.
.vscode/settings.json
View file @
b04094c8
...
@@ -3,6 +3,8 @@
...
@@ -3,6 +3,8 @@
"protocol_user.h"
:
"c"
,
"protocol_user.h"
:
"c"
,
"protocol_lib.h"
:
"c"
,
"protocol_lib.h"
:
"c"
,
"protocol_crc16.h"
:
"c"
,
"protocol_crc16.h"
:
"c"
,
"gatts_table_creat_demo.h"
:
"c"
"gatts_table_creat_demo.h"
:
"c"
,
"app_ble_user.h"
:
"c"
,
"main_user.h"
:
"c"
}
}
}
}
\ No newline at end of file
qianjiang/main/CMakeLists.txt
View file @
b04094c8
...
@@ -7,5 +7,6 @@ idf_component_register(SRCS "gatts_table_creat_demo.c"
...
@@ -7,5 +7,6 @@ idf_component_register(SRCS "gatts_table_creat_demo.c"
"Protocol_User.c"
"Protocol_User.c"
"MCU_Core_Protocol.c"
"MCU_Core_Protocol.c"
"app_Ble_User.c"
"app_Ble_User.c"
"main_user.c"
INCLUDE_DIRS
"."
INCLUDE_DIRS
"."
EMBED_TXTFILES
${
project_dir
}
/server_certs/ca_cert.pem
)
EMBED_TXTFILES
${
project_dir
}
/server_certs/ca_cert.pem
)
qianjiang/main/MCU_Core_Protocol.c
View file @
b04094c8
...
@@ -5,6 +5,8 @@
...
@@ -5,6 +5,8 @@
#include "Protocol_User.h"
#include "Protocol_User.h"
#include "gatts_table_creat_demo.h"
#include "gatts_table_creat_demo.h"
#include "app_Ble_User.h"
void
Uart_ID10_process
(
void
)
void
Uart_ID10_process
(
void
)
{
{
if
(
1
)
if
(
1
)
...
@@ -24,21 +26,17 @@ void Uart_ID01_process(void)
...
@@ -24,21 +26,17 @@ void Uart_ID01_process(void)
{
{
uint8_t
ID01
[
6
]
=
{
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
};
uint8_t
ID01
[
6
]
=
{
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
};
if
(
1
/*正在导航*/
)
if
(
Ble_Sts_Ctrl
.
Navi_Updat
)
{
{
ID01
[
0
]
=
0x33
;
ID01
[
0
]
=
Ble_Navi_Data
.
Navi_Sts
;
}
ID01
[
1
]
=
Ble_Navi_Data
.
Navi_Turn
;
//赋值为蓝牙收到的转向编码值
else
ID01
[
2
]
=
Ble_Navi_Data
.
Navi_Dte
[
0
];
{
ID01
[
3
]
=
Ble_Navi_Data
.
Navi_Dte
[
1
];
ID01
[
0
]
=
0x35
;
//或者直接将收到的蓝牙值赋值过来
ID01
[
4
]
=
Ble_Navi_Data
.
Navi_Dte
[
2
];
}
ID01
[
5
]
=
Ble_Navi_Data
.
Navi_Dte
[
3
];
ID01
[
1
]
=
0x00
;
//赋值为蓝牙收到的转向编码值
}
Protocol_uint32_t
Ble_distance
=
0
;
ID01
[
2
]
=
Ble_distance
>>
24
&
0x11
;
ID01
[
3
]
=
Ble_distance
>>
16
&
0x11
;
ID01
[
4
]
=
Ble_distance
>>
8
&
0x11
;
ID01
[
5
]
=
Ble_distance
>>
0
&
0x11
;
Protocol_Send
(
0x01
,
ID01
,
6
);
Protocol_Send
(
0x01
,
ID01
,
6
);
}
}
...
@@ -46,7 +44,7 @@ void Uart_ID01_process(void)
...
@@ -46,7 +44,7 @@ void Uart_ID01_process(void)
void
Uart_ID12_process
(
void
)
void
Uart_ID12_process
(
void
)
{
{
uint8_t
ID12
[
2
]
=
{
0x00
,
0x00
};
uint8_t
ID12
[
2
]
=
{
0x00
,
0x00
};
ID12
[
1
]
=
ble_statu
s
;
ID12
[
1
]
=
Ble_Sts_Ctrl
.
Ble_St
s
;
Protocol_Send
(
0x12
,
ID12
,
2
);
Protocol_Send
(
0x12
,
ID12
,
2
);
}
}
...
@@ -71,7 +69,7 @@ void Uart_ID21_process(void)//底板给ESP32发
...
@@ -71,7 +69,7 @@ void Uart_ID21_process(void)//底板给ESP32发
void
MCU_T_32
(
void
)
void
MCU_T_32
(
void
)
{
{
printf
(
"MCU_T_32!!
\r\n
"
);
//
printf("MCU_T_32!!\r\n");
Protocol_Service
();
Protocol_Service
();
if
(
ID21_num
>=
5
)
if
(
ID21_num
>=
5
)
{
{
...
...
qianjiang/main/Protocol_User.c
View file @
b04094c8
...
@@ -25,6 +25,7 @@
...
@@ -25,6 +25,7 @@
#include "driver/gpio.h"
#include "driver/gpio.h"
#include "MCU_Core_Protocol.h"
#include "MCU_Core_Protocol.h"
#include "Protocol_Lib.h"
#include "Protocol_Lib.h"
#include "app_Ble_User.h"
#define UART_TX_MAX_DEPTH 1024UL //(2 * 1024UL) // 4K
#define UART_TX_MAX_DEPTH 1024UL //(2 * 1024UL) // 4K
#define UART_RX_MAX_DEPTH (2 * 1024UL) // 4K
#define UART_RX_MAX_DEPTH (2 * 1024UL) // 4K
...
@@ -137,10 +138,10 @@ void Protocol_Send_Service(void)
...
@@ -137,10 +138,10 @@ void Protocol_Send_Service(void)
//memcpy(Uart_Data.data, UsartDataBuf, SendLen);
//memcpy(Uart_Data.data, UsartDataBuf, SendLen);
int
i
=
0
;
int
i
=
0
;
for
(
i
=
0
;
i
<
SendLen
;
i
++
)
for
(
i
=
0
;
i
<
SendLen
;
i
++
)
printf
(
"data is %x !!!
\r\n
"
,
UsartDataBuf
[
i
]);
//
printf("data is %x !!!\r\n",UsartDataBuf[i]);
sendData
(
TX_TASK_TAG
,
(
const
char
*
)
UsartDataBuf
,
SendLen
);
sendData
(
TX_TASK_TAG
,
(
const
char
*
)
UsartDataBuf
,
SendLen
);
//UART_Ch1_Send_Multiple_Byte(UsartDataBuf, SendLen);/*ESP32底层*/
//UART_Ch1_Send_Multiple_Byte(UsartDataBuf, SendLen);/*ESP32底层*/
vTaskDelay
(
1000
/
portTICK_PERIOD_MS
);
}
}
}
}
...
@@ -256,10 +257,18 @@ static void Protocol_UartHandle(const Protocol_Data_t *pData)
...
@@ -256,10 +257,18 @@ static void Protocol_UartHandle(const Protocol_Data_t *pData)
{
{
Uart_ID12_process
();
//TX
Uart_ID12_process
();
//TX
}
}
else
if
(
pData
->
CmdID
==
MCU_TO_BLE_INFO
)
else
if
(
(
pData
->
CmdID
&
0x3f
)
==
MCU_TO_BLE_INFO
)
{
{
if
((
pData
->
CmdID
&
0xC0
)
==
0X40
)
{
if
(
Wifi_OTA_Request
==
0
)
{
Wifi_OTA_Request
=
1
;
}
}
printf
(
"ID21 IS in!!!
\r\n
"
);
printf
(
"ID21 IS in!!!
\r\n
"
);
Uart_ID21_process
();
//RX
//
Uart_ID21_process();//RX
}
}
else
else
{
{
...
...
qianjiang/main/app_Ble_User.c
View file @
b04094c8
...
@@ -7,23 +7,34 @@
...
@@ -7,23 +7,34 @@
#include "freertos/FreeRTOS.h"
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "freertos/task.h"
#include "freertos/event_groups.h"
#include "freertos/event_groups.h"
#include "freertos/semphr.h"
#include "MCU_Core_Protocol.h"
#include "Protocol_User.h"
#include "main_user.h"
#define TAG "APP_BLE_USER"
#define TAG "APP_BLE_USER"
Ble_User_Control_Struct
Ble_User_Ctrl
;
app_Ble_User_Data_Union
BleRecData
;
app_Ble_User_Data_Union
BleTransData
;
app_Ble_Rec_Data_Ctrl_Struct
RecCtrl
;
void
Ble_Connect_Event_Pro
(
void
)
uint8_t
Wifi_OTA_Request
=
0
;
{
Ble_User_Ctrl
.
Ble_Sts
=
Ble_Conn
;
uint8_t
ble_key
[
32
]
=
"1BJ7J8S"
;
}
uint8_t
ble_uerid
[
32
]
=
{
0
};
uint8_t
ble_pwd
[
32
]
=
{
0
};
uint8_t
flavor
[
4
]
=
{
0x33
,
0
,
0
,
0
};
SemaphoreHandle_t
BleRecSuc_Semaphore
;
void
Ble_DisConnect_Event_Pro
(
void
)
{
Ble_User_Ctrl
.
Ble_Sts
=
Ble_Idle
;
Ble_User_Control_Struct
Ble_Sts_Ctrl
;
}
Ble_Navi_Info_Struct
Ble_Navi_Data
;
uint8_t
tp_Ble_Crc
(
uint8_t
*
data
,
uint32_t
len
)
uint8_t
tp_Ble_Crc
(
uint8_t
*
data
,
uint32_t
len
)
...
@@ -38,55 +49,88 @@ uint8_t tp_Ble_Crc(uint8_t *data, uint32_t len )
...
@@ -38,55 +49,88 @@ uint8_t tp_Ble_Crc(uint8_t *data, uint32_t len )
return
val
;
return
val
;
}
}
void
Ble_Clear_Rx_Buffer
(
void
)
typedef
union
{
{
struct
for
(
int
i
=
0
;
i
<
sizeof
(
BleRecData
.
Data
);
i
++
)
{
{
uint8_t
FrameHeader
;
BleRecData
.
Data
[
i
]
=
0
;
uint8_t
Instruct
;
}
uint8_t
Lenth
;
}
uint8_t
Param
[
252
];
}
Msg
;
uint8_t
Data
[
255
];
}
app_Ble_User_Data_Rec_Union
;
app_Ble_User_Data_Rec_Union
BleRec
;
app_Ble_User_Data_Rec_Union
BleTrans
;
typedef
struct
{
uint32_t
RecLen
;
uint32_t
TotalLen
;
uint8_t
Sts
;
uint8_t
Receive
;
}
app_Ble_Rec_Data_Ctrl_Struct
;
app_Ble_Rec_Data_Ctrl_Struct
RecCtrl
;
uint8_t
ble_key
[
32
]
=
"1BJ7J8S"
;
uint8_t
ble_uerid
[
32
]
=
{
'1'
,
'2'
,
'3'
,
'4'
,
'5'
,
'6'
,
'7'
,
'8'
,
'9'
,
0x30
,
0x31
,
0x32
,
0x33
,
0x34
,
0x35
,
0x36
,
0x00
};
uint8_t
ble_pwd
[
32
]
=
{
'A'
,
'D'
,
'E'
,
'B'
,
'O'
,
'N'
,
'2'
,
'0'
,
'2'
,
'3'
,
'Z'
,
'H'
,
'I'
,
'D'
,
'O'
,
'U'
};
uint8_t
flavor
[
4
]
=
{
0
,
0
,
0
,
0x33
};
void
Clear_R
x_Buffer
(
void
)
void
Ble_Clear_T
x_Buffer
(
void
)
{
{
for
(
int
i
=
0
;
i
<
sizeof
(
Ble
Rec
.
Data
);
i
++
)
for
(
int
i
=
0
;
i
<
sizeof
(
Ble
TransData
.
Data
);
i
++
)
{
{
Ble
Rec
.
Data
[
i
]
=
0
;
Ble
TransData
.
Data
[
i
]
=
0
;
}
}
}
}
/**************************************************************************/
/**************************************************************************/
uint8_t
Ble_Get_User_Info
(
void
)
uint8_t
Ble_Get_User_Info
(
void
)
{
{
uint8_t
i
=
0
;
uint8_t
i
=
0
;
for
(
i
=
0
;
i
<
32
;
i
++
)
for
(
i
=
24
;
i
<
32
;
i
++
)
{
{
ble_uerid
[
i
]
=
i
;
ble_uerid
[
i
]
=
0x30
+
i
-
24
;
ble_pwd
[
i
]
=
i
+
64
;
ble_pwd
[
i
]
=
0x30
+
i
-
24
;
}
}
ble_uerid
[
0
]
=
'v'
;
ble_uerid
[
1
]
=
'i'
;
ble_uerid
[
2
]
=
'v'
;
ble_uerid
[
3
]
=
'a'
;
ble_uerid
[
4
]
=
'v'
;
ble_uerid
[
5
]
=
'i'
;
ble_uerid
[
6
]
=
'v'
;
ble_uerid
[
7
]
=
'a'
;
ble_uerid
[
8
]
=
'v'
;
ble_uerid
[
9
]
=
'i'
;
ble_uerid
[
10
]
=
'v'
;
ble_uerid
[
11
]
=
'a'
;
ble_uerid
[
12
]
=
'v'
;
ble_uerid
[
13
]
=
'i'
;
ble_uerid
[
14
]
=
'v'
;
ble_uerid
[
15
]
=
'a'
;
ble_uerid
[
16
]
=
'v'
;
ble_uerid
[
17
]
=
'i'
;
ble_uerid
[
18
]
=
'v'
;
ble_uerid
[
19
]
=
'a'
;
ble_uerid
[
20
]
=
'v'
;
ble_uerid
[
21
]
=
'i'
;
ble_uerid
[
22
]
=
'v'
;
ble_uerid
[
23
]
=
'a'
;
ble_pwd
[
0
]
=
'C'
;
ble_pwd
[
1
]
=
'C'
;
ble_pwd
[
2
]
=
'N'
;
ble_pwd
[
3
]
=
'C'
;
ble_pwd
[
4
]
=
'v'
;
ble_pwd
[
5
]
=
'i'
;
ble_pwd
[
6
]
=
'v'
;
ble_pwd
[
7
]
=
'a'
;
ble_pwd
[
8
]
=
'v'
;
ble_pwd
[
9
]
=
'i'
;
ble_pwd
[
10
]
=
'v'
;
ble_pwd
[
11
]
=
'a'
;
ble_pwd
[
12
]
=
'v'
;
ble_pwd
[
13
]
=
'i'
;
ble_pwd
[
14
]
=
'v'
;
ble_pwd
[
15
]
=
'a'
;
ble_pwd
[
16
]
=
'v'
;
ble_pwd
[
17
]
=
'i'
;
ble_pwd
[
18
]
=
'v'
;
ble_pwd
[
19
]
=
'a'
;
ble_pwd
[
20
]
=
'v'
;
ble_pwd
[
21
]
=
'i'
;
ble_pwd
[
22
]
=
'v'
;
ble_pwd
[
23
]
=
'a'
;
return
1
;
return
1
;
}
}
...
@@ -105,7 +149,6 @@ void Get_Ble_Raw_Data(uint8_t *data, uint32_t len)
...
@@ -105,7 +149,6 @@ void Get_Ble_Raw_Data(uint8_t *data, uint32_t len)
{
{
if
(
RecCtrl
.
Sts
==
BleRec_Idle
)
if
(
RecCtrl
.
Sts
==
BleRec_Idle
)
{
{
printf
(
"receive data:"
);
printf
(
"receive data:"
);
for
(
uint16_t
i
=
0
;
i
<
len
;
i
++
)
for
(
uint16_t
i
=
0
;
i
<
len
;
i
++
)
{
{
...
@@ -116,31 +159,33 @@ void Get_Ble_Raw_Data(uint8_t *data, uint32_t len)
...
@@ -116,31 +159,33 @@ void Get_Ble_Raw_Data(uint8_t *data, uint32_t len)
printf
(
"
\r\n
"
);
printf
(
"
\r\n
"
);
RecCtrl
.
RecLen
=
0
;
RecCtrl
.
RecLen
=
0
;
memcpy
((
uint8_t
*
)
&
BleRec
.
Data
[
RecCtrl
.
RecLen
],
data
,
len
);
memcpy
((
uint8_t
*
)
&
BleRec
Data
.
Data
[
RecCtrl
.
RecLen
],
data
,
len
);
RecCtrl
.
TotalLen
=
BleRec
.
Msg
.
Lenth
+
1
;
RecCtrl
.
TotalLen
=
BleRec
Data
.
Msg
.
Lenth
+
1
;
RecCtrl
.
RecLen
+=
len
;
RecCtrl
.
RecLen
+=
len
;
if
(
RecCtrl
.
RecLen
>=
RecCtrl
.
TotalLen
)
if
(
RecCtrl
.
RecLen
>=
RecCtrl
.
TotalLen
)
{
{
crc
=
tp_Ble_Crc
(
BleRec
.
Data
,
RecCtrl
.
TotalLen
-
2
);
crc
=
tp_Ble_Crc
(
BleRec
Data
.
Data
,
RecCtrl
.
TotalLen
-
2
);
printf
(
"receive data:"
);
printf
(
"receive data:"
);
for
(
uint16_t
i
=
0
;
i
<
RecCtrl
.
TotalLen
;
i
++
)
for
(
uint16_t
i
=
0
;
i
<
RecCtrl
.
TotalLen
;
i
++
)
{
{
printf
(
" %x "
,
BleRec
.
Data
[
i
]);
printf
(
" %x "
,
BleRec
Data
.
Data
[
i
]);
}
}
printf
(
"
\r\n
"
);
printf
(
"
\r\n
"
);
printf
(
"rec crc = %d
\r\n
"
,
crc
);
printf
(
"rec crc = %d
\r\n
"
,
crc
);
if
((
BleRec
.
Data
[
RecCtrl
.
TotalLen
-
1
]
!=
0x0A
)
||
(
crc
!=
BleRec
.
Data
[
RecCtrl
.
TotalLen
-
2
]))
if
((
BleRec
Data
.
Data
[
RecCtrl
.
TotalLen
-
1
]
!=
0x0A
)
||
(
crc
!=
BleRecData
.
Data
[
RecCtrl
.
TotalLen
-
2
]))
{
{
Clear_Rx_Buffer
();
Ble_
Clear_Rx_Buffer
();
RecCtrl
.
Sts
=
Ble_Idle
;
RecCtrl
.
Sts
=
Ble
Rec
_Idle
;
}
}
else
else
{
{
RecCtrl
.
Sts
=
BleRec_Suc
;
RecCtrl
.
Sts
=
BleRec_Suc
;
xSemaphoreGive
(
BleRecSuc_Semaphore
);
}
}
}
}
else
else
...
@@ -157,213 +202,296 @@ void Get_Ble_Raw_Data(uint8_t *data, uint32_t len)
...
@@ -157,213 +202,296 @@ void Get_Ble_Raw_Data(uint8_t *data, uint32_t len)
{
{
if
((
RecCtrl
.
RecLen
+
len
)
<=
RecCtrl
.
TotalLen
)
if
((
RecCtrl
.
RecLen
+
len
)
<=
RecCtrl
.
TotalLen
)
{
{
printf
(
"receive data:"
);
memcpy
((
uint8_t
*
)
&
BleRecData
.
Data
[
RecCtrl
.
RecLen
],
data
,
len
);
for
(
uint16_t
i
=
0
;
i
<
len
;
i
++
)
{
printf
(
" %x "
,
data
[
i
]);
}
printf
(
"
\r\n
"
);
printf
(
"
\r\n
"
);
memcpy
((
uint8_t
*
)
&
BleRec
.
Data
[
RecCtrl
.
RecLen
],
data
,
len
);
RecCtrl
.
RecLen
+=
len
;
RecCtrl
.
RecLen
+=
len
;
if
(
RecCtrl
.
RecLen
>=
RecCtrl
.
TotalLen
)
if
(
RecCtrl
.
RecLen
>=
RecCtrl
.
TotalLen
)
{
{
crc
=
tp_Ble_Crc
(
BleRec
.
Data
,
RecCtrl
.
TotalLen
-
2
);
crc
=
tp_Ble_Crc
(
BleRec
Data
.
Data
,
RecCtrl
.
TotalLen
-
2
);
printf
(
"receive data:"
);
printf
(
"receive data:"
);
for
(
uint16_t
i
=
0
;
i
<
RecCtrl
.
TotalLen
;
i
++
)
for
(
uint16_t
i
=
0
;
i
<
RecCtrl
.
TotalLen
;
i
++
)
{
{
printf
(
" %x "
,
BleRec
.
Data
[
i
]);
printf
(
" %x "
,
BleRec
Data
.
Data
[
i
]);
}
}
printf
(
"
\r\n
"
);
printf
(
"
\r\n
"
);
printf
(
"rec crc = %d
\r\n
"
,
crc
);
printf
(
"rec crc = %d
\r\n
"
,
crc
);
if
((
BleRec
.
Data
[
RecCtrl
.
TotalLen
-
1
]
!=
0x0A
)
||
(
crc
!=
BleRec
.
Data
[
RecCtrl
.
TotalLen
-
2
]))
if
((
BleRec
Data
.
Data
[
RecCtrl
.
TotalLen
-
1
]
!=
0x0A
)
||
(
crc
!=
BleRecData
.
Data
[
RecCtrl
.
TotalLen
-
2
]))
{
{
Clear_Rx_Buffer
();
Ble_
Clear_Rx_Buffer
();
RecCtrl
.
Sts
=
Ble_Idle
;
RecCtrl
.
Sts
=
Ble
Rec
_Idle
;
}
}
else
else
{
{
RecCtrl
.
Sts
=
BleRec_Suc
;
RecCtrl
.
Sts
=
BleRec_Suc
;
xSemaphoreGive
(
BleRecSuc_Semaphore
);
}
}
}
}
}
}
else
else
{
{
//len err
//len err
Clear_Rx_Buffer
();
Ble_
Clear_Rx_Buffer
();
RecCtrl
.
Sts
=
Ble_Idle
;
RecCtrl
.
Sts
=
Ble
Rec
_Idle
;
}
}
}
}
}
}
}
/**************************************************************************/
/**************************************************************************/
void
Ble_Msg_Authr_RLY
(
void
)
{
uint8_t
total_frame
=
0
;
uint8_t
total_frame
=
0
;
uint8_t
trans_len
=
0
;
uint8_t
trans_len
=
0
;
if
(
RecCtrl
.
Sts
==
BleRec_Suc
)
int
err
;
//Authr suc
BleTransData
.
Msg
.
FrameHeader
=
0x24
;
BleTransData
.
Msg
.
Cmd
=
0x58
;
BleTransData
.
Msg
.
Lenth
=
104
;
if
((
BleTransData
.
Msg
.
Lenth
+
1
)
%
20
==
0
)
{
total_frame
=
(
BleTransData
.
Msg
.
Lenth
+
1
)
/
20
;
}
else
{
total_frame
=
(
BleTransData
.
Msg
.
Lenth
+
1
)
/
20
+
1
;
}
if
(
Ble_Get_User_Info
())
{
memcpy
((
uint8_t
*
)
&
BleTransData
.
Msg
.
Param
[
0
],
ble_key
,
32
);
memcpy
((
uint8_t
*
)
&
BleTransData
.
Msg
.
Param
[
32
],
ble_uerid
,
32
);
memcpy
((
uint8_t
*
)
&
BleTransData
.
Msg
.
Param
[
64
],
ble_pwd
,
32
);
memcpy
((
uint8_t
*
)
&
BleTransData
.
Msg
.
Param
[
96
],
flavor
,
4
);
}
BleTransData
.
Data
[
BleTransData
.
Msg
.
Lenth
-
1
]
=
tp_Ble_Crc
(
BleTransData
.
Data
,
BleTransData
.
Msg
.
Lenth
-
1
);
BleTransData
.
Data
[
BleTransData
.
Msg
.
Lenth
]
=
0x0A
;
for
(
uint8_t
i
=
0
;
i
<
total_frame
;
i
++
)
{
{
if
(
BleRec
.
Msg
.
Instruct
==
0x3
0
)
if
(
((
BleTransData
.
Msg
.
Lenth
+
1
)
-
20
*
i
)
>=
2
0
)
{
{
//Authr suc
trans_len
=
20
;
}
else
{
trans_len
=
(
BleTransData
.
Msg
.
Lenth
+
1
)
-
20
*
i
;
}
BleTrans
.
Msg
.
FrameHeader
=
0x24
;
printf
(
"trans_len = %d
\r\n
"
,
trans_len
);
BleTrans
.
Msg
.
Instruct
=
0x58
;
BleTrans
.
Msg
.
Lenth
=
104
;
if
((
BleTrans
.
Msg
.
Lenth
+
1
)
%
20
==
0
)
{
total_frame
=
(
BleTrans
.
Msg
.
Lenth
+
1
)
/
20
;
}
else
{
total_frame
=
(
BleTrans
.
Msg
.
Lenth
+
1
)
/
20
+
1
;
}
if
(
Ble_Get_User_Info
())
{
memcpy
((
uint8_t
*
)
&
BleTrans
.
Msg
.
Param
[
0
],
ble_key
,
32
);
memcpy
((
uint8_t
*
)
&
BleTrans
.
Msg
.
Param
[
32
],
ble_uerid
,
32
);
memcpy
((
uint8_t
*
)
&
BleTrans
.
Msg
.
Param
[
64
],
ble_pwd
,
32
);
memcpy
((
uint8_t
*
)
&
BleTrans
.
Msg
.
Param
[
96
],
flavor
,
4
);
}
BleTrans
.
Data
[
BleTrans
.
Msg
.
Lenth
-
1
]
=
tp_Ble_Crc
(
BleTrans
.
Data
,
BleTrans
.
Msg
.
Lenth
-
1
);
BleTrans
.
Data
[
BleTrans
.
Msg
.
Lenth
]
=
0x0A
;
for
(
uint8_t
i
=
0
;
i
<
total_frame
;
i
++
)
printf
(
"trans data:"
);
{
for
(
uint16_t
j
=
0
;
j
<
trans_len
;
j
++
)
if
(((
BleTrans
.
Msg
.
Lenth
+
1
)
-
20
*
i
)
>=
20
)
{
{
printf
(
" %x "
,
BleTransData
.
Data
[
j
+
i
*
20
]);
trans_len
=
20
;
}
}
printf
(
"
\r\n
"
);
else
{
trans_len
=
(
BleTrans
.
Msg
.
Lenth
+
1
)
-
20
*
i
;
}
printf
(
"trans_len = %d
\r\n
"
,
trans_len
);
printf
(
"
\r\n
"
);
printf
(
"trans data:"
);
err
=
bsp_Ble_Gatts_Send_Indicate
(
trans_len
,
&
BleTransData
.
Data
[
i
*
20
]);
for
(
uint16_t
j
=
0
;
j
<
trans_len
;
j
++
)
{
printf
(
" %x "
,
BleTrans
.
Data
[
j
+
i
*
20
]);
}
printf
(
"
\r\n
"
);
printf
(
"
\r\n
"
);
// vTaskDelay(1);
}
}
bsp_Ble_Gatts_Send_Indicate
(
trans_len
,
&
BleTrans
.
Data
[
i
*
20
]);
void
Ble_MsgRec_Authr_Result_Analysis
(
void
)
{
//Authr result
if
(
BleRecData
.
Msg
.
Param
[
0
]
==
0
)
{
Ble_Sts_Ctrl
.
Ble_Sts
=
Ble_Authr
;
Ble_Sts_Ctrl
.
Request_Navi
=
1
;
}
}
// vTaskDelay(1);
void
Ble_Msg_RequestNavi_RLY
(
void
)
}
{
uint8_t
total_frame
=
0
;
uint8_t
trans_len
=
0
;
if
(
Ble_Sts_Ctrl
.
Request_Navi
)
{
BleTransData
.
Msg
.
FrameHeader
=
0x24
;
BleTransData
.
Msg
.
Cmd
=
0x14
;
BleTransData
.
Msg
.
Lenth
=
9
;
if
((
BleTransData
.
Msg
.
Lenth
+
1
)
%
20
==
0
)
{
total_frame
=
(
BleTransData
.
Msg
.
Lenth
+
1
)
/
20
;
}
}
else
else
{
{
total_frame
=
(
BleTransData
.
Msg
.
Lenth
+
1
)
/
20
+
1
;
}
}
RecCtrl
.
Sts
=
BleRec_Idle
;
BleTransData
.
Msg
.
Param
[
0
]
=
1
;
}
BleTransData
.
Msg
.
Param
[
1
]
=
80
;
BleTransData
.
Msg
.
Param
[
2
]
=
0
;
BleTransData
.
Msg
.
Param
[
3
]
=
3
;
BleTransData
.
Msg
.
Param
[
4
]
=
0
;
BleTransData
.
Data
[
BleTransData
.
Msg
.
Lenth
-
1
]
=
tp_Ble_Crc
(
BleTransData
.
Data
,
BleTransData
.
Msg
.
Lenth
-
1
);
BleTransData
.
Data
[
BleTransData
.
Msg
.
Lenth
]
=
0x0A
;
for
(
uint8_t
i
=
0
;
i
<
total_frame
;
i
++
)
{
if
(((
BleTransData
.
Msg
.
Lenth
+
1
)
-
20
*
i
)
>=
20
)
{
trans_len
=
20
;
}
else
{
trans_len
=
(
BleTransData
.
Msg
.
Lenth
+
1
)
-
20
*
i
;
}
printf
(
"trans_len = %d
\r\n
"
,
trans_len
);
printf
(
"trans data:"
);
for
(
uint16_t
j
=
0
;
j
<
trans_len
;
j
++
)
{
printf
(
" %x "
,
BleTransData
.
Data
[
j
+
i
*
20
]);
}
printf
(
"
\r\n
"
);
printf
(
"
\r\n
"
);
bsp_Ble_Gatts_Send_Indicate
(
trans_len
,
&
BleTransData
.
Data
[
i
*
20
]);
// vTaskDelay(1);
}
Ble_Sts_Ctrl
.
Request_Navi
=
0
;
}
}
}
void
Ble_MsgRec_Navi_Analysis
(
void
)
{
//Navi data
Ble_Navi_Data
.
Navi_Sts
=
BleRecData
.
Msg
.
Param
[
0
];
Ble_Navi_Data
.
Navi_Turn
=
BleRecData
.
Msg
.
Param
[
1
];
Ble_Navi_Data
.
Navi_Dte
[
0
]
=
BleRecData
.
Msg
.
Param
[
2
];
Ble_Navi_Data
.
Navi_Dte
[
1
]
=
BleRecData
.
Msg
.
Param
[
3
];
Ble_Navi_Data
.
Navi_Dte
[
2
]
=
BleRecData
.
Msg
.
Param
[
4
];
Ble_Navi_Data
.
Navi_Dte
[
3
]
=
BleRecData
.
Msg
.
Param
[
5
];
Ble_Sts_Ctrl
.
Navi_Updat
=
1
;
}
void
test_test
(
void
)
{
uint8_t
total_frame
=
0
;
uint8_t
trans_len
=
0
;
vTaskDelay
(
5000
);
if
(
RecCtrl
.
Sts
==
BleRec_Idle
)
void
Ble_Rec_Msg_Analysis_Process
(
void
)
{
if
(
pdTRUE
==
xSemaphoreTake
(
BleRecSuc_Semaphore
,
portMAX_DELAY
))
{
{
if
(
RecCtrl
.
Sts
==
BleRec_Suc
)
{
if
(
BleRecData
.
Msg
.
Cmd
==
EC_BTP_P2C_CLIENT_INFO
)
{
Ble_Msg_Authr_RLY
();
}
else
if
(
BleRecData
.
Msg
.
Cmd
==
EC_BTP_P2C_CHECK_AUTH_RESULT
)
{
Ble_MsgRec_Authr_Result_Analysis
();
Ble_Msg_RequestNavi_RLY
();
}
else
if
(
BleRecData
.
Msg
.
Cmd
==
EC_BTP_P2C_HUD
)
{
Ble_MsgRec_Navi_Analysis
();
}
Ble_Clear_Tx_Buffer
();
Ble_Clear_Rx_Buffer
();
RecCtrl
.
Sts
=
BleRec_Idle
;
}
}
}
else
{
}
return
;
}
BleTrans
.
Msg
.
FrameHeader
=
0x24
;
BleTrans
.
Msg
.
Instruct
=
0x14
;
BleTrans
.
Msg
.
Lenth
=
9
;
if
((
BleTrans
.
Msg
.
Lenth
+
1
)
%
20
==
0
)
{
total_frame
=
(
BleTrans
.
Msg
.
Lenth
+
1
)
/
20
;
}
else
{
total_frame
=
(
BleTrans
.
Msg
.
Lenth
+
1
)
/
20
+
1
;
}
BleTrans
.
Msg
.
Param
[
0
]
=
1
;
void
Ble_Connect_Event_Pro
(
void
)
BleTrans
.
Msg
.
Param
[
1
]
=
80
;
{
BleTrans
.
Msg
.
Param
[
2
]
=
0
;
Ble_Sts_Ctrl
.
Ble_Sts
=
Ble_Conn
;
BleTrans
.
Msg
.
Param
[
3
]
=
3
;
Ble_Sts_Ctrl
.
Request_Navi
=
0
;
BleTrans
.
Msg
.
Param
[
4
]
=
0
;
Ble_Sts_Ctrl
.
Navi_Updat
=
0
;
// if(Ble_Get_User_Info())
// {
// memcpy(( uint8_t * )&BleTrans.Msg.Param[0], ble_key, 32);
// memcpy(( uint8_t * )&BleTrans.Msg.Param[32], ble_uerid, 32);
// memcpy(( uint8_t * )&BleTrans.Msg.Param[64], ble_pwd, 32);
// memcpy(( uint8_t * )&BleTrans.Msg.Param[96], flavor, 4);
// }
BleTrans
.
Data
[
BleTrans
.
Msg
.
Lenth
-
1
]
=
tp_Ble_Crc
(
BleTrans
.
Data
,
BleTrans
.
Msg
.
Lenth
-
1
);
BleTrans
.
Data
[
BleTrans
.
Msg
.
Lenth
]
=
0x0A
;
for
(
uint8_t
i
=
0
;
i
<
total_frame
;
i
++
)
Ble_Clear_Tx_Buffer
();
{
Ble_Clear_Rx_Buffer
();
if
(((
BleTrans
.
Msg
.
Lenth
+
1
)
-
20
*
i
)
>=
20
)
}
{
trans_len
=
20
;
}
else
{
trans_len
=
(
BleTrans
.
Msg
.
Lenth
+
1
)
-
20
*
i
;
}
printf
(
"trans_len = %d
\r\n
"
,
trans_len
);
printf
(
"trans data:"
);
void
Ble_DisConnect_Event_Pro
(
void
)
for
(
uint16_t
j
=
0
;
j
<
trans_len
;
j
++
)
{
{
Ble_Sts_Ctrl
.
Ble_Sts
=
Ble_Idle
;
printf
(
" %x "
,
BleTrans
.
Data
[
j
+
i
*
20
]);
Ble_Sts_Ctrl
.
Request_Navi
=
0
;
}
Ble_Sts_Ctrl
.
Navi_Updat
=
0
;
printf
(
"
\r\n
"
);
printf
(
"
\r\n
"
);
RecCtrl
.
RecLen
=
0
;
RecCtrl
.
TotalLen
=
0
;
RecCtrl
.
Sts
=
BleRec_Idle
;
bsp_Ble_Gatts_Send_Indicate
(
trans_len
,
&
BleTrans
.
Data
[
i
*
20
]);
Ble_Navi_Data
.
Navi_Sts
=
0
;
Ble_Navi_Data
.
Navi_Turn
=
0
;
for
(
uint8_t
i
=
0
;
i
<
sizeof
(
Ble_Navi_Data
.
Navi_Dte
);
i
++
)
{
Ble_Navi_Data
.
Navi_Dte
[
i
]
=
0
;
}
Ble_Clear_Tx_Buffer
();
Ble_Clear_Rx_Buffer
();
}
void
Ble_User_Task
(
void
*
pvParameter
)
{
while
(
1
)
{
Ble_Rec_Msg_Analysis_Process
();
}
}
vTaskDelete
(
NULL
);
}
}
void
Ble_User_Init
(
void
)
{
BleRecSuc_Semaphore
=
xSemaphoreCreateBinary
();
Ble_Sts_Ctrl
.
Ble_Sts
=
Ble_Idle
;
Ble_Sts_Ctrl
.
Request_Navi
=
0
;
Ble_Sts_Ctrl
.
Navi_Updat
=
0
;
RecCtrl
.
RecLen
=
0
;
RecCtrl
.
TotalLen
=
0
;
RecCtrl
.
Sts
=
BleRec_Idle
;
Ble_Navi_Data
.
Navi_Sts
=
0
;
Ble_Navi_Data
.
Navi_Turn
=
0
;
for
(
uint8_t
i
=
0
;
i
<
sizeof
(
Ble_Navi_Data
.
Navi_Dte
);
i
++
)
{
Ble_Navi_Data
.
Navi_Dte
[
i
]
=
0
;
}
Ble_Clear_Tx_Buffer
();
Ble_Clear_Rx_Buffer
();
xTaskCreatePinnedToCore
(
Ble_User_Task
,
"Ble_User"
,
4096
,
NULL
,
10
,
NULL
,
0
);
}
qianjiang/main/app_Ble_User.h
View file @
b04094c8
...
@@ -16,22 +16,209 @@ typedef enum
...
@@ -16,22 +16,209 @@ typedef enum
{
{
BleRec_Idle
=
0
,
BleRec_Idle
=
0
,
BleRec_Start
,
BleRec_Start
,
BleRec_Suc
,
BleRec_Suc
,
}
Ble_Rec_Sts
;
}
Ble_Rec_Sts
;
typedef
struct
typedef
struct
{
{
uint8_t
Ble_Sts
;
uint8_t
Ble_Sts
;
uint8_t
Request_Navi
;
uint8_t
Navi_Updat
;
}
Ble_User_Control_Struct
;
}
Ble_User_Control_Struct
;
extern
Ble_User_Control_Struct
Ble_User_Ctrl
;
typedef
struct
{
uint8_t
Navi_Sts
;
uint8_t
Navi_Turn
;
uint8_t
Navi_Dte
[
4
];
}
Ble_Navi_Info_Struct
;
typedef
union
{
struct
{
uint8_t
FrameHeader
;
uint8_t
Cmd
;
uint8_t
Lenth
;
uint8_t
Param
[
252
];
}
Msg
;
uint8_t
Data
[
255
];
}
app_Ble_User_Data_Union
;
typedef
struct
{
uint32_t
RecLen
;
uint32_t
TotalLen
;
uint8_t
Sts
;
}
app_Ble_Rec_Data_Ctrl_Struct
;
extern
Ble_User_Control_Struct
Ble_Sts_Ctrl
;
extern
Ble_Navi_Info_Struct
Ble_Navi_Data
;
extern
uint8_t
Wifi_OTA_Request
;
void
Get_Ble_Raw_Data
(
uint8_t
*
data
,
uint32_t
len
);
void
Get_Ble_Raw_Data
(
uint8_t
*
data
,
uint32_t
len
);
void
test_test
(
void
);
#define EC_BTP_VERSION "1.0.5"
#define EC_BTP_OK 0
#define EC_BTP_ERR_FAIL -1
/** @brief 手机向车机汇报客户端信息
* @reqCmd EC_BTP_P2C_CLIENT_INFO
* @rlyCmd N/A
* @reqData
* {
* phoneType: 0 ///< 数据类型为int, 0是Android,1是IOS。
* phoneID:"zzz", ///< 数据类型为string, 手机ID,可以为IMME或者设备唯一编号,住授权过的手车机端会记机ID。
* }
* @rlyData N/A
*/
#define EC_BTP_P2C_CLIENT_INFO 0x30
/** @brief 车机应答clientinfo
* @reqCmd EC_BTP_C2P_CLIENT_INFO_RLY
* @rlyCmd N/A
* @reqData 字段 字节数 内容
* key 32BYTE 格式:字符串。由卡比特项目经理提供
* uuid 32BYTE 格式:字符串。代表每一块仪表的唯一标识,每个仪表都不同。
* pwd 32BYTE 格式:字符串。默认为空,如需要,在卡比特指导下填写。
* flavor 4BYTE 格式:uint32_t。由卡比特项目经理提供。
*/
#define EC_BTP_C2P_CLIENT_INFO_RLY 0x58
/** @brief 授权结果
* @reqCmd EC_BTP_P2C_CHECK_AUTH_RESULT
* @rlyCmd N/A
* @reqData 字段 字节数 内容
* license 1BYTE 校验结果。0:校验成功;其他值校验失败
* msg 64BYTE 如果license不合法,此字段附带错误类型
* @rlyData N/A
*/
#define EC_BTP_P2C_CHECK_AUTH_RESULT 0x60
/**
* @brief HUD导航图标类型
*
*/
#define NaviIconType_NONE 0 ///< 导航段转向图标类型 无定义,自定义转向图标数组,请忽略这个元素,从左转图标开始
#define NaviIconType_DEFAULT 1 ///< 导航段转向图标类型 自车图标,自定义转向图标数组,请忽略这个元素,从左转图标开始
#define NaviIconType_LEFT 2 ///< 导航段转向图标类型 左转图标
#define NaviIconType_RIGHT 3 ///< 导航段转向图标类型 右转图标
#define NaviIconType_LEFT_FRONT 4 ///< 导航段转向图标类型 左前方图标
#define NaviIconType_RIGHT_FRONT 5 ///< 导航段转向图标类型 右前方图标
#define NaviIconType_LEFT_BACK 6 ///< 导航段转向图标类型 左后方图
#define NaviIconType_RIGHT_BACK 7 ///< 导航段转向图标类型 右后方图标
#define NaviIconType_LEFT_TURN_AROUND 8 ///< 导航段转向图标类型 左转掉头图标
#define NaviIconType_STRAIGHT 9 ///< 导航段转向图标类型 直行图标
#define NaviIconType_ARRIVED_WAYPOINT 10 ///< 导航段转向图标类型 到达途经点图标
#define NaviIconType_ENTER_ROUNDABOUT 11 ///< 导航段转向图标类型 进入环岛图标
#define NaviIconType_OUT_ROUNDABOUT 12 ///< 导航段转向图标类型 驶出环岛图标
#define NaviIconType_ARRIVED_SERVICE_AREA 13 ///< 导航段转向图标类型 到达服务区图标
#define NaviIconType_ARRIVED_TOLLGATE 14 ///< 导航段转向图标类型 到达收费站图标
#define NaviIconType_ARRIVED_DESTINATION 15 ///< 导航段转向图标类型 到达目的地图标
#define NaviIconType_ARRIVED_TUNNEL 16 ///< 导航段转向图标类型 到达隧道图标
#define NaviIconType_CROSSWALK 17 ///< 导航段转向图标类型:通过人行横道图标
#define NaviIconType_OVERPASS 18 ///< 导航段转向图标类型:通过过街天桥图标
#define NaviIconType_UNDERPASS 19 ///< 导航段转向图标类型:通过地下通道图标
#define NaviIconType_SQUARE 20 ///< 导航段转向图标类型:通过广场图标
#define NaviIconType_PARK 21 ///< 导航段转向图标类型:通过公园图标
#define NaviIconType_STAIRCASE 22 ///< 导航段转向图标类型:通过扶梯图标
#define NaviIconType_LIFT 23 ///< 导航段转向图标类型:通过直梯图标
#define NaviIconType_CABLEWAY 24 ///< 导航段转向图标类型:通过索道图标
#define NaviIconType_SKY_CHANNEL 25 ///< 导航段转向图标类型:通过空中通道图标
#define NaviIconType_CHANNEL 26 ///< 导航段转向图标类型:通过通道、建筑物穿越通道图标
#define NaviIconType_WALK_ROAD 27 ///< 导航段转向图标类型:通过行人道路图标
#define NaviIconType_CRUISE_ROUTE 28 ///< 导航段转向图标类型:通过游船路线图标
#define NaviIconType_SIGHTSEEING_BUSLINE 29 ///< 导航段转向图标类型:通过观光车路线图标
#define NaviIconType_SLIDEWAY 30 ///< 导航段转向图标类型:通过滑道图标
#define NaviIconType_LADDER 31 ///< 导航段转向图标类型:通过阶梯图标
#define NaviIconType_MERGE_LEFT 51 ///< 导航段转向图标类型:靠左行驶
#define NaviIconType_MERGE_RIGHT 52 ///< 导航段转向图标类型:靠右行驶
#define NaviIconType_SLOW 53 ///< 导航段转向图标类型:减速慢行
#define NaviIconType_ENTRY_RING_LEFT 54 ///< 标准小环岛 绕环岛左转,右侧通行地区的逆时针环岛
#define NaviIconType_ENTRY_RING_RIGHT 55 ///< 标准小环岛 绕环岛右转,右侧通行地区的逆时针环岛
#define NaviIconType_ENTRY_RING_CONTINUE 56 ///< 标准小环岛 绕环岛直行,右侧通行地区的逆时针环岛
#define NaviIconType_ENTRY_RING_UTURN 57 ///< 标准小环岛 绕环岛调头,右侧通行地区的逆时针环岛
#define NaviIconType_ENTRY_LEFT_RING 58 ///< 进入环岛图标,左侧通行地区的顺时针环岛
#define NaviIconType_LEAVE_LEFT_RING 59 ///< 驶出环岛图标,左侧通行地区的顺时针环岛
#define NaviIconType_UTURN_RIGHT 60 ///< 右转掉头图标,左侧通行地区的掉头
#define NaviIconType_SPECIAL_CONTINUE 61 ///< 顺行图标(和直行有区别,顺行图标带有虚线)
#define NaviIconType_ENTRY_LEFT_RING_LEFT 62 ///< 标准小环岛 绕环岛左转,左侧通行地区的顺时针环岛
#define NaviIconType_ENTRY_LEFT_RING_RIGHT 63 ///< 标准小环岛 绕环岛右转,左侧通行地区的顺时针环岛
#define NaviIconType_ENTRY_LEFT_RING_CONTINUE 64 ///< 标准小环岛 绕环岛直行,左侧通行地区的顺时针环岛
#define NaviIconType_ENTRY_LEFT_RING_UTURN 65 ///< 标准小环岛 绕环岛调头,左侧通行地区的顺时针环岛
#define NaviIconType_SLOPE 66 ///< 通过斜坡图标
#define NaviIconType_BRIDGE 67 ///< 通过桥图标
#define NaviIconType_FERRYBOAT 68 ///< 通过渡轮图标
#define NaviIconType_SUBWAY 69 ///< 通过地铁图标
#define NaviIconType_ENTER_BUILDING 70 ///< 进入建筑物图标
#define NaviIconType_LEAVE_BUILDING 71 ///< 离开建筑物图标
#define NaviIconType_BY_ELEVATOR 72 ///< 电梯换层图标
#define NaviIconType_BY_STAIR 73 ///< 楼梯换层图标
#define NaviIconType_ESCALATOR 74 ///< 扶梯换层图标
#define NaviIconType_LOW_TRAFFIC_CROSS 75 ///< 非导航段通过红绿灯路口图标
#define NaviIconType_LOW_CROSS 76 ///< 非导航段通过普通路口图标
#define NaviIconType_ROTARY_SHARP_LEFT 77 ///< 环岛左后转,右侧通行地区的逆时针环岛
#define NaviIconType_ROTARY_SHARP_RIGHT 78 ///< 环岛后右转,右侧通行地区的逆时针环岛
#define NaviIconType_ROTARY_SLIGHT_LEFT 79 ///< 环岛左前转,右侧通行地区的逆时针环岛
#define NaviIconType_ROTARY_SLIGHT_RIGHT 80 ///< 环岛右前转,右侧通行地区的逆时针环岛
/**
* @brief HUD导航功能枚举
*/
#define EC_BTP_HUD_FUNCITON_SUPPORT_LOAD 0x01 ///< 路口放大图
#define EC_BTP_HUD_FUNCITON_SUPPORT_LINE 0x02 ///< 车道引导图
/** @brief
* @reqCmd EC_BTP_C2P_HUD
* @reqData 字段 字节数 内容
* enable 1BYTE 0:关闭HUD数据,1:开启HUD数据,一次生命周期内只需要发送一次命令。
* maxNaviIcon 2BYTE 车机端支持的导航图标最大值
* funciton 2BYTE 车机端支持的功能,参考 EC_BTP_HUD_FUNCITON_SUPPORT*
* @rlyData EC_BTP_P2C_HUD
*/
#define EC_BTP_C2P_HUD 0x14
#define EC_BTP_NAVI_STATUS_STOPED 0x35 ///< 未导航或导航结束
#define EC_BTP_NAVI_STATUS_RUNNING 0x33 ///< 正在导航
/** @brief
* @reqCmd EC_BTP_P2C_HUD
* @reqData 字段 字节数 内容
* 导航状态 1BYTE 参见:EC_BTP_NAVI_STATUS_*
* 导航转向编码 1BYTE 参见:NaviIconType_*
* 转向距离 4BYTE 距离转向的距离(单位:米)
* 转向⽬的地字节数 1BYTE 转向⽬的地UTF-8所占字节数
* 转向⽬的地 60BYTE 最多60个字节(UTF-8编码)
* 当前时速 4BYTE ⻋速(单位:1千米/⼩时)
* 导航剩余⾥程 4BYTE 剩余⾥程(单位:米)
* 预计到达时间 19BYTE 预计到达时间(格式为:dd.MM.yyyy HH:mm:ss)
* 剩余时间 2BYTE 离终点预估剩余时间(单位:分钟)
*/
#define EC_BTP_P2C_HUD 0x14
void
Ble_Rec_Msg_Analysis_Process
(
void
);
void
Ble_Connect_Event_Pro
(
void
);
void
Ble_DisConnect_Event_Pro
(
void
);
void
Ble_User_Init
(
void
);
#endif
#endif
\ No newline at end of file
qianjiang/main/gatts_table_creat_demo.c
View file @
b04094c8
...
@@ -63,9 +63,8 @@ typedef struct
...
@@ -63,9 +63,8 @@ typedef struct
}
_QJ_UART_Ctrl
;
}
_QJ_UART_Ctrl
;
_QJ_UART_Ctrl
QJ_UARTRX
;
_QJ_UART_Ctrl
QJ_UARTRX
;
uint8_t
ble_status
;
void
init_U
(
void
)
{
void
init_U
art
(
void
)
{
const
uart_config_t
uart_config
=
{
const
uart_config_t
uart_config
=
{
.
baud_rate
=
115200
,
.
baud_rate
=
115200
,
.
data_bits
=
UART_DATA_8_BITS
,
.
data_bits
=
UART_DATA_8_BITS
,
...
@@ -84,34 +83,11 @@ int sendData(const char* logName, const char* data , unsigned int len)
...
@@ -84,34 +83,11 @@ int sendData(const char* logName, const char* data , unsigned int len)
{
{
// const int len = strlen(data);
// const int len = strlen(data);
const
int
txBytes
=
uart_write_bytes
(
UART_NUM_1
,
data
,
len
);
const
int
txBytes
=
uart_write_bytes
(
UART_NUM_1
,
data
,
len
);
ESP_LOGI
(
logName
,
"Wrote %d bytes"
,
txBytes
);
//
ESP_LOGI(logName, "Wrote %d bytes", txBytes);
return
txBytes
;
return
txBytes
;
}
}
static
void
tx_task
(
void
*
arg
)
{
while
(
1
)
{
// uint8_t bbb[2] = {0x55,0x99};
// Protocol_Send(0x11,bbb,2);
//sendData(TX_TASK_TAG, (const char*)Uart_Data.data);
// Protocol_Send_Service();
uint8_t
temp
[
20
];
for
(
int
i
=
0
;
i
<
20
;
i
++
)
{
temp
[
i
]
=
i
+
0x55
;
}
test_test
();
vTaskDelay
(
10
/
portTICK_PERIOD_MS
);
// bsp_Ble_Gatts_Send_Indicate( 20, temp);
}
}
static
void
rx_task
(
void
*
arg
)
static
void
rx_task
(
void
*
arg
)
{
{
...
@@ -124,7 +100,7 @@ static void rx_task(void *arg)
...
@@ -124,7 +100,7 @@ static void rx_task(void *arg)
if
(
rxBytes
<
255
)
if
(
rxBytes
<
255
)
{
{
QJ_UARTRX
.
Rxlen
=
rxBytes
;
QJ_UARTRX
.
Rxlen
=
rxBytes
;
printf
(
"CPY!!
\r\n
"
);
//
printf("CPY!!\r\n");
memcpy
(
QJ_UARTRX
.
Rxbuff
,
data
,
rxBytes
);
memcpy
(
QJ_UARTRX
.
Rxbuff
,
data
,
rxBytes
);
}
}
for
(
uint16_t
i
=
0
;
i
<
QJ_UARTRX
.
Rxlen
;
i
++
)
for
(
uint16_t
i
=
0
;
i
<
QJ_UARTRX
.
Rxlen
;
i
++
)
...
@@ -141,6 +117,33 @@ static void rx_task(void *arg)
...
@@ -141,6 +117,33 @@ static void rx_task(void *arg)
free
(
data
);
free
(
data
);
}
}
void
bsp_Uart_Init
(
void
)
{
init_Uart
();
Protocol_KL30_Wakeup_Init
();
xTaskCreatePinnedToCore
(
rx_task
,
"Ble_User"
,
4096
,
NULL
,
4
,
NULL
,
1
);
}
extern
void
simple_ota_main
(
void
);
void
simple_ota_service
(
void
)
{
if
(
Wifi_OTA_Request
==
1
)
{
Wifi_OTA_Request
=
2
;
simple_ota_main
();
}
}
static
uint8_t
device_name
[]
=
"QIANJIANGViva"
;
static
uint8_t
device_name
[]
=
"QIANJIANGViva"
;
#define GATTS_TABLE_TAG "GATTS_TABLE_DEMO"
#define GATTS_TABLE_TAG "GATTS_TABLE_DEMO"
...
@@ -278,7 +281,6 @@ const uint16_t GATTS_CHAR_UUID_TEST_B = 0xFF02;
...
@@ -278,7 +281,6 @@ const uint16_t GATTS_CHAR_UUID_TEST_B = 0xFF02;
const
uint16_t
GATTS_CHAR_UUID_TEST_C
=
0xFF03
;
const
uint16_t
GATTS_CHAR_UUID_TEST_C
=
0xFF03
;
const
uint16_t
device_info_service_uuid
=
ESP_GATT_UUID_DEVICE_INFO_SVC
;
const
uint16_t
device_info_service_uuid
=
ESP_GATT_UUID_DEVICE_INFO_SVC
;
const
uint16_t
serial_number_str_uuid
=
ESP_GATT_UUID_SERIAL_NUMBER_STR
;
const
uint16_t
primary_service_uuid
=
ESP_GATT_UUID_PRI_SERVICE
;
const
uint16_t
primary_service_uuid
=
ESP_GATT_UUID_PRI_SERVICE
;
const
uint16_t
character_declaration_uuid
=
ESP_GATT_UUID_CHAR_DECLARE
;
const
uint16_t
character_declaration_uuid
=
ESP_GATT_UUID_CHAR_DECLARE
;
...
@@ -291,6 +293,16 @@ const uint8_t heart_measurement_ccc[2] = {0X00, 0X00};
...
@@ -291,6 +293,16 @@ const uint8_t heart_measurement_ccc[2] = {0X00, 0X00};
uint8_t
char_value
[
12
]
=
{
'A'
,
'B'
,
'C'
,
'D'
,
'E'
,
'F'
,
'G'
,
'H'
,
'I'
,
'J'
,
'K'
,
'L'
};
uint8_t
char_value
[
12
]
=
{
'A'
,
'B'
,
'C'
,
'D'
,
'E'
,
'F'
,
'G'
,
'H'
,
'I'
,
'J'
,
'K'
,
'L'
};
const
uint16_t
Dev_Svc_2A29_Str
=
0x2A29
;
const
uint16_t
Dev_Svc_2A24_Str
=
0x2A24
;
const
uint16_t
Dev_Svc_2A25_Str
=
0x2A25
;
const
uint16_t
Dev_Svc_2A27_Str
=
0x2A27
;
const
uint16_t
Dev_Svc_2A26_Str
=
0x2A26
;
const
uint16_t
Dev_Svc_2A28_Str
=
0x2A28
;
const
uint16_t
Dev_Svc_2A23_Str
=
0x2A23
;
const
uint16_t
Dev_Svc_2A2A_Str
=
0x2A2A
;
const
uint16_t
Dev_Svc_2A50_Str
=
0x2A50
;
const
uint8_t
char_prop_write_writenr_notify
=
const
uint8_t
char_prop_write_writenr_notify
=
ESP_GATT_CHAR_PROP_BIT_WRITE_NR
|
ESP_GATT_CHAR_PROP_BIT_WRITE
|
ESP_GATT_CHAR_PROP_BIT_NOTIFY
;
ESP_GATT_CHAR_PROP_BIT_WRITE_NR
|
ESP_GATT_CHAR_PROP_BIT_WRITE
|
ESP_GATT_CHAR_PROP_BIT_NOTIFY
;
...
@@ -309,18 +321,146 @@ static const esp_gatts_attr_db_t gatt_db[HRS_IDX_NB] =
...
@@ -309,18 +321,146 @@ static const esp_gatts_attr_db_t gatt_db[HRS_IDX_NB] =
{{
ESP_GATT_AUTO_RSP
},
{
ESP_UUID_LEN_16
,
(
uint8_t
*
)
&
primary_service_uuid
,
ESP_GATT_PERM_READ
,
{{
ESP_GATT_AUTO_RSP
},
{
ESP_UUID_LEN_16
,
(
uint8_t
*
)
&
primary_service_uuid
,
ESP_GATT_PERM_READ
,
sizeof
(
uint16_t
),
sizeof
(
device_info_service_uuid
),
(
uint8_t
*
)
&
device_info_service_uuid
}},
sizeof
(
uint16_t
),
sizeof
(
device_info_service_uuid
),
(
uint8_t
*
)
&
device_info_service_uuid
}},
/* Characteristic Declaration */
[
IDX_CHAR_2A29
]
=
{{
ESP_GATT_AUTO_RSP
},
{
ESP_UUID_LEN_16
,
(
uint8_t
*
)
&
character_declaration_uuid
,
ESP_GATT_PERM_READ
,
CHAR_DECLARATION_SIZE
,
CHAR_DECLARATION_SIZE
,
(
uint8_t
*
)
&
char_prop_read
}},
/* Characteristic Value */
[
IDX_CHAR_VAL_2A29
]
=
{{
ESP_GATT_AUTO_RSP
},
{
ESP_UUID_LEN_16
,
(
uint8_t
*
)
&
Dev_Svc_2A29_Str
,
ESP_GATT_PERM_READ
,
GATTS_DEMO_CHAR_VAL_LEN_MAX
,
0
,
(
uint8_t
*
)((
void
*
)
0
)}},
/* Client Characteristic Configuration Descriptor */
[
IDX_CHAR_CFG_2A29
]
=
{{
ESP_GATT_AUTO_RSP
},
{
ESP_UUID_LEN_16
,
(
uint8_t
*
)
&
character_client_config_uuid
,
ESP_GATT_PERM_READ
|
ESP_GATT_PERM_WRITE
,
sizeof
(
uint16_t
),
sizeof
(
heart_measurement_ccc
),
(
uint8_t
*
)
heart_measurement_ccc
}},
/* Characteristic Declaration */
[
IDX_CHAR_2A24
]
=
{{
ESP_GATT_AUTO_RSP
},
{
ESP_UUID_LEN_16
,
(
uint8_t
*
)
&
character_declaration_uuid
,
ESP_GATT_PERM_READ
,
CHAR_DECLARATION_SIZE
,
CHAR_DECLARATION_SIZE
,
(
uint8_t
*
)
&
char_prop_read
}},
/* Characteristic Value */
[
IDX_CHAR_VAL_2A24
]
=
{{
ESP_GATT_AUTO_RSP
},
{
ESP_UUID_LEN_16
,
(
uint8_t
*
)
&
Dev_Svc_2A24_Str
,
ESP_GATT_PERM_READ
,
GATTS_DEMO_CHAR_VAL_LEN_MAX
,
0
,
(
uint8_t
*
)((
void
*
)
0
)}},
/* Client Characteristic Configuration Descriptor */
[
IDX_CHAR_CFG_2A24
]
=
{{
ESP_GATT_AUTO_RSP
},
{
ESP_UUID_LEN_16
,
(
uint8_t
*
)
&
character_client_config_uuid
,
ESP_GATT_PERM_READ
|
ESP_GATT_PERM_WRITE
,
sizeof
(
uint16_t
),
sizeof
(
heart_measurement_ccc
),
(
uint8_t
*
)
heart_measurement_ccc
}},
/* Characteristic Declaration */
/* Characteristic Declaration */
[
IDX_CHAR_
A
]
=
[
IDX_CHAR_
2A25
]
=
{{
ESP_GATT_AUTO_RSP
},
{
ESP_UUID_LEN_16
,
(
uint8_t
*
)
&
character_declaration_uuid
,
ESP_GATT_PERM_READ
,
{{
ESP_GATT_AUTO_RSP
},
{
ESP_UUID_LEN_16
,
(
uint8_t
*
)
&
character_declaration_uuid
,
ESP_GATT_PERM_READ
,
CHAR_DECLARATION_SIZE
,
CHAR_DECLARATION_SIZE
,
(
uint8_t
*
)
&
char_prop_read
}},
CHAR_DECLARATION_SIZE
,
CHAR_DECLARATION_SIZE
,
(
uint8_t
*
)
&
char_prop_read
}},
/* Characteristic Value */
/* Characteristic Value */
[
IDX_CHAR_VAL_
A
]
=
[
IDX_CHAR_VAL_
2A25
]
=
{{
ESP_GATT_AUTO_RSP
},
{
ESP_UUID_LEN_16
,
(
uint8_t
*
)
&
serial_number_str_uuid
,
ESP_GATT_PERM_READ
,
{{
ESP_GATT_AUTO_RSP
},
{
ESP_UUID_LEN_16
,
(
uint8_t
*
)
&
Dev_Svc_2A25_Str
,
ESP_GATT_PERM_READ
,
GATTS_DEMO_CHAR_VAL_LEN_MAX
,
sizeof
(
char_value
),
(
uint8_t
*
)
char_value
}},
GATTS_DEMO_CHAR_VAL_LEN_MAX
,
sizeof
(
char_value
),
(
uint8_t
*
)
char_value
}},
/* Client Characteristic Configuration Descriptor */
/* Client Characteristic Configuration Descriptor */
[
IDX_CHAR_CFG_A
]
=
[
IDX_CHAR_CFG_2A25
]
=
{{
ESP_GATT_AUTO_RSP
},
{
ESP_UUID_LEN_16
,
(
uint8_t
*
)
&
character_client_config_uuid
,
ESP_GATT_PERM_READ
|
ESP_GATT_PERM_WRITE
,
sizeof
(
uint16_t
),
sizeof
(
heart_measurement_ccc
),
(
uint8_t
*
)
heart_measurement_ccc
}},
/* Characteristic Declaration */
[
IDX_CHAR_2A27
]
=
{{
ESP_GATT_AUTO_RSP
},
{
ESP_UUID_LEN_16
,
(
uint8_t
*
)
&
character_declaration_uuid
,
ESP_GATT_PERM_READ
,
CHAR_DECLARATION_SIZE
,
CHAR_DECLARATION_SIZE
,
(
uint8_t
*
)
&
char_prop_read
}},
/* Characteristic Value */
[
IDX_CHAR_VAL_2A27
]
=
{{
ESP_GATT_AUTO_RSP
},
{
ESP_UUID_LEN_16
,
(
uint8_t
*
)
&
Dev_Svc_2A27_Str
,
ESP_GATT_PERM_READ
,
GATTS_DEMO_CHAR_VAL_LEN_MAX
,
0
,
(
uint8_t
*
)((
void
*
)
0
)}},
/* Client Characteristic Configuration Descriptor */
[
IDX_CHAR_CFG_2A27
]
=
{{
ESP_GATT_AUTO_RSP
},
{
ESP_UUID_LEN_16
,
(
uint8_t
*
)
&
character_client_config_uuid
,
ESP_GATT_PERM_READ
|
ESP_GATT_PERM_WRITE
,
sizeof
(
uint16_t
),
sizeof
(
heart_measurement_ccc
),
(
uint8_t
*
)
heart_measurement_ccc
}},
/* Characteristic Declaration */
[
IDX_CHAR_2A26
]
=
{{
ESP_GATT_AUTO_RSP
},
{
ESP_UUID_LEN_16
,
(
uint8_t
*
)
&
character_declaration_uuid
,
ESP_GATT_PERM_READ
,
CHAR_DECLARATION_SIZE
,
CHAR_DECLARATION_SIZE
,
(
uint8_t
*
)
&
char_prop_read
}},
/* Characteristic Value */
[
IDX_CHAR_VAL_2A26
]
=
{{
ESP_GATT_AUTO_RSP
},
{
ESP_UUID_LEN_16
,
(
uint8_t
*
)
&
Dev_Svc_2A26_Str
,
ESP_GATT_PERM_READ
,
GATTS_DEMO_CHAR_VAL_LEN_MAX
,
0
,
(
uint8_t
*
)((
void
*
)
0
)}},
/* Client Characteristic Configuration Descriptor */
[
IDX_CHAR_CFG_2A26
]
=
{{
ESP_GATT_AUTO_RSP
},
{
ESP_UUID_LEN_16
,
(
uint8_t
*
)
&
character_client_config_uuid
,
ESP_GATT_PERM_READ
|
ESP_GATT_PERM_WRITE
,
sizeof
(
uint16_t
),
sizeof
(
heart_measurement_ccc
),
(
uint8_t
*
)
heart_measurement_ccc
}},
[
IDX_CHAR_2A28
]
=
{{
ESP_GATT_AUTO_RSP
},
{
ESP_UUID_LEN_16
,
(
uint8_t
*
)
&
character_declaration_uuid
,
ESP_GATT_PERM_READ
,
CHAR_DECLARATION_SIZE
,
CHAR_DECLARATION_SIZE
,
(
uint8_t
*
)
&
char_prop_read
}},
/* Characteristic Value */
[
IDX_CHAR_VAL_2A28
]
=
{{
ESP_GATT_AUTO_RSP
},
{
ESP_UUID_LEN_16
,
(
uint8_t
*
)
&
Dev_Svc_2A28_Str
,
ESP_GATT_PERM_READ
,
GATTS_DEMO_CHAR_VAL_LEN_MAX
,
0
,
(
uint8_t
*
)((
void
*
)
0
)}},
/* Client Characteristic Configuration Descriptor */
[
IDX_CHAR_CFG_2A28
]
=
{{
ESP_GATT_AUTO_RSP
},
{
ESP_UUID_LEN_16
,
(
uint8_t
*
)
&
character_client_config_uuid
,
ESP_GATT_PERM_READ
|
ESP_GATT_PERM_WRITE
,
sizeof
(
uint16_t
),
sizeof
(
heart_measurement_ccc
),
(
uint8_t
*
)
heart_measurement_ccc
}},
[
IDX_CHAR_2A23
]
=
{{
ESP_GATT_AUTO_RSP
},
{
ESP_UUID_LEN_16
,
(
uint8_t
*
)
&
character_declaration_uuid
,
ESP_GATT_PERM_READ
,
CHAR_DECLARATION_SIZE
,
CHAR_DECLARATION_SIZE
,
(
uint8_t
*
)
&
char_prop_read
}},
/* Characteristic Value */
[
IDX_CHAR_VAL_2A23
]
=
{{
ESP_GATT_AUTO_RSP
},
{
ESP_UUID_LEN_16
,
(
uint8_t
*
)
&
Dev_Svc_2A23_Str
,
ESP_GATT_PERM_READ
,
GATTS_DEMO_CHAR_VAL_LEN_MAX
,
0
,
(
uint8_t
*
)((
void
*
)
0
)}},
/* Client Characteristic Configuration Descriptor */
[
IDX_CHAR_CFG_2A23
]
=
{{
ESP_GATT_AUTO_RSP
},
{
ESP_UUID_LEN_16
,
(
uint8_t
*
)
&
character_client_config_uuid
,
ESP_GATT_PERM_READ
|
ESP_GATT_PERM_WRITE
,
sizeof
(
uint16_t
),
sizeof
(
heart_measurement_ccc
),
(
uint8_t
*
)
heart_measurement_ccc
}},
[
IDX_CHAR_2A2A
]
=
{{
ESP_GATT_AUTO_RSP
},
{
ESP_UUID_LEN_16
,
(
uint8_t
*
)
&
character_declaration_uuid
,
ESP_GATT_PERM_READ
,
CHAR_DECLARATION_SIZE
,
CHAR_DECLARATION_SIZE
,
(
uint8_t
*
)
&
char_prop_read
}},
/* Characteristic Value */
[
IDX_CHAR_VAL_2A2A
]
=
{{
ESP_GATT_AUTO_RSP
},
{
ESP_UUID_LEN_16
,
(
uint8_t
*
)
&
Dev_Svc_2A2A_Str
,
ESP_GATT_PERM_READ
,
GATTS_DEMO_CHAR_VAL_LEN_MAX
,
0
,
(
uint8_t
*
)((
void
*
)
0
)}},
/* Client Characteristic Configuration Descriptor */
[
IDX_CHAR_CFG_2A2A
]
=
{{
ESP_GATT_AUTO_RSP
},
{
ESP_UUID_LEN_16
,
(
uint8_t
*
)
&
character_client_config_uuid
,
ESP_GATT_PERM_READ
|
ESP_GATT_PERM_WRITE
,
sizeof
(
uint16_t
),
sizeof
(
heart_measurement_ccc
),
(
uint8_t
*
)
heart_measurement_ccc
}},
[
IDX_CHAR_2A50
]
=
{{
ESP_GATT_AUTO_RSP
},
{
ESP_UUID_LEN_16
,
(
uint8_t
*
)
&
character_declaration_uuid
,
ESP_GATT_PERM_READ
,
CHAR_DECLARATION_SIZE
,
CHAR_DECLARATION_SIZE
,
(
uint8_t
*
)
&
char_prop_read
}},
/* Characteristic Value */
[
IDX_CHAR_VAL_2A50
]
=
{{
ESP_GATT_AUTO_RSP
},
{
ESP_UUID_LEN_16
,
(
uint8_t
*
)
&
Dev_Svc_2A50_Str
,
ESP_GATT_PERM_READ
,
GATTS_DEMO_CHAR_VAL_LEN_MAX
,
0
,
(
uint8_t
*
)((
void
*
)
0
)}},
/* Client Characteristic Configuration Descriptor */
[
IDX_CHAR_CFG_2A50
]
=
{{
ESP_GATT_AUTO_RSP
},
{
ESP_UUID_LEN_16
,
(
uint8_t
*
)
&
character_client_config_uuid
,
ESP_GATT_PERM_READ
|
ESP_GATT_PERM_WRITE
,
{{
ESP_GATT_AUTO_RSP
},
{
ESP_UUID_LEN_16
,
(
uint8_t
*
)
&
character_client_config_uuid
,
ESP_GATT_PERM_READ
|
ESP_GATT_PERM_WRITE
,
sizeof
(
uint16_t
),
sizeof
(
heart_measurement_ccc
),
(
uint8_t
*
)
heart_measurement_ccc
}},
sizeof
(
uint16_t
),
sizeof
(
heart_measurement_ccc
),
(
uint8_t
*
)
heart_measurement_ccc
}},
};
};
...
@@ -331,12 +471,12 @@ static const esp_gatts_attr_db_t gatt_db2[HRS_IDX_NB2] =
...
@@ -331,12 +471,12 @@ static const esp_gatts_attr_db_t gatt_db2[HRS_IDX_NB2] =
{
{
// Service Declaration
// Service Declaration
[
IDX_SVC2
]
=
[
IDX_SVC2
]
=
{{
ESP_GATT_AUTO_RSP
},
{
ESP_UUID_LEN_16
,
(
uint8_t
*
)
&
primary_service_uuid
,
ESP_GATT_PERM_READ
,
{{
ESP_GATT_AUTO_RSP
},
{
ESP_UUID_LEN_16
,
(
uint8_t
*
)
&
primary_service_uuid
,
ESP_GATT_PERM_READ
|
ESP_GATT_PERM_WRITE
,
sizeof
(
uint16_t
),
sizeof
(
service_1_uuid
),
(
uint8_t
*
)
&
service_1_uuid
}},
sizeof
(
uint16_t
),
sizeof
(
service_1_uuid
),
(
uint8_t
*
)
&
service_1_uuid
}},
/* Characteristic Declaration */
/* Characteristic Declaration */
[
IDX_CHAR_A2
]
=
[
IDX_CHAR_A2
]
=
{{
ESP_GATT_AUTO_RSP
},
{
ESP_UUID_LEN_16
,
(
uint8_t
*
)
&
character_declaration_uuid
,
ESP_GATT_PERM_READ
,
{{
ESP_GATT_AUTO_RSP
},
{
ESP_UUID_LEN_16
,
(
uint8_t
*
)
&
character_declaration_uuid
,
ESP_GATT_PERM_READ
|
ESP_GATT_PERM_WRITE
,
CHAR_DECLARATION_SIZE
,
CHAR_DECLARATION_SIZE
,
(
uint8_t
*
)
&
char_prop_write_writenr_notify
}},
CHAR_DECLARATION_SIZE
,
CHAR_DECLARATION_SIZE
,
(
uint8_t
*
)
&
char_prop_write_writenr_notify
}},
/* Characteristic Value */
/* Characteristic Value */
...
@@ -352,95 +492,42 @@ static const esp_gatts_attr_db_t gatt_db2[HRS_IDX_NB2] =
...
@@ -352,95 +492,42 @@ static const esp_gatts_attr_db_t gatt_db2[HRS_IDX_NB2] =
void
bsp_Ble_Gatts_Send_Indicate
(
uint8_t
len
,
uint8_t
*
data
)
int
bsp_Ble_Gatts_Send_Indicate
(
uint8_t
len
,
uint8_t
*
data
)
{
{
// if(Ble_User_Ctrl.Ble_Sts != Ble_Idle)
int
err
=
ESP_FAIL
;
uint8_t
retry
=
5
;
if
(
Ble_Sts_Ctrl
.
Ble_Sts
!=
Ble_Idle
)
{
{
// if(en)
// if(en)
{
{
esp_ble_gatts_send_indicate
(
heart_rate_profile_tab
[
0
].
gatts_if
,
while
(
retry
--
)
{
if
(
err
!=
ESP_OK
)
{
err
=
esp_ble_gatts_send_indicate
(
heart_rate_profile_tab
[
0
].
gatts_if
,
heart_rate_profile_tab
[
0
].
conn_id
,
heart_rate_profile_tab
[
0
].
conn_id
,
46
,
heart_rate_handle_table2
[
IDX_CHAR_VAL_A2
]
,
len
,
data
,
false
);
len
,
data
,
false
);
}
}
}
else
}
typedef
struct
{
uint8_t
en
;
uint8_t
read_cnt
;
uint8_t
time_cnt
;
uint8_t
start
;
}
wifi_ota_struct
;
wifi_ota_struct
wifi_ota
;
void
wifi_ota_request_service
(
void
)
{
// uint8_t step = 0;
int
i
=
0
;
// if(wifi_ota.en == 0)
// {
// vTaskDelay(5000 / portTICK_PERIOD_MS);
// printf("\n");
// printf("==========================================================\n");
// for(i = 5; i > 0; i--)
// {
// printf("=========== start simple_ota_task in %d second. ===========\n", i);
// vTaskDelay(1000 / portTICK_PERIOD_MS);
// }
// printf("=========== simple_ota_service starting... ===========\n");
// printf("==========================================================\n");
// printf("\n");
// wifi_ota.en = 1;
// }
if
(
wifi_ota
.
read_cnt
&&
wifi_ota
.
read_cnt
<=
3
)
{
if
(
wifi_ota
.
time_cnt
<
50
)
{
wifi_ota
.
time_cnt
++
;
}
else
{
wifi_ota
.
time_cnt
=
0
;
if
(
wifi_ota
.
read_cnt
==
3
)
{
printf
(
"
\n
"
);
printf
(
"==========================================================
\n
"
);
for
(
i
=
5
;
i
>
0
;
i
--
)
{
{
printf
(
"=========== start simple_ota_task in %d second. ===========
\n
"
,
i
);
break
;
vTaskDelay
(
1000
/
portTICK_PERIOD_MS
);
}
}
printf
(
"=========== simple_ota_service starting... ===========
\n
"
);
printf
(
"==========================================================
\n
"
);
printf
(
"
\n
"
);
wifi_ota
.
en
=
1
;
// wifi_ota.read_cnt = 0;
// printf("wifi_ota.en = %d\r\n", wifi_ota.en);
}
}
else
if
(
err
!=
ESP_OK
)
{
{
wifi_ota
.
en
=
0
;
printf
(
"ble trans fail!!
\r\n
"
);
wifi_ota
.
read_cnt
=
0
;
}
}
}
}
}
}
else
{
return
err
;
wifi_ota
.
en
=
0
;
wifi_ota
.
read_cnt
=
0
;
wifi_ota
.
time_cnt
=
0
;
}
}
}
static
void
gap_event_handler
(
esp_gap_ble_cb_event_t
event
,
esp_ble_gap_cb_param_t
*
param
)
static
void
gap_event_handler
(
esp_gap_ble_cb_event_t
event
,
esp_ble_gap_cb_param_t
*
param
)
{
{
switch
(
event
)
{
switch
(
event
)
{
...
@@ -605,12 +692,7 @@ static void gatts_profile_event_handler(esp_gatts_cb_event_t event, esp_gatt_if_
...
@@ -605,12 +692,7 @@ static void gatts_profile_event_handler(esp_gatts_cb_event_t event, esp_gatt_if_
break
;
break
;
case
ESP_GATTS_READ_EVT
:
case
ESP_GATTS_READ_EVT
:
if
(
wifi_ota
.
read_cnt
<
250
)
{
wifi_ota
.
read_cnt
++
;
printf
(
"read_cnt = %d
\r\n
"
,
wifi_ota
.
read_cnt
);
}
ESP_LOGI
(
GATTS_TABLE_TAG
,
"ESP_GATTS_READ_EVT"
);
ESP_LOGI
(
GATTS_TABLE_TAG
,
"ESP_GATTS_READ_EVT"
);
break
;
break
;
case
ESP_GATTS_WRITE_EVT
:
case
ESP_GATTS_WRITE_EVT
:
...
@@ -634,29 +716,29 @@ static void gatts_profile_event_handler(esp_gatts_cb_event_t event, esp_gatt_if_
...
@@ -634,29 +716,29 @@ static void gatts_profile_event_handler(esp_gatts_cb_event_t event, esp_gatt_if_
if
(
descr_value
==
0x0001
){
if
(
descr_value
==
0x0001
){
ESP_LOGI
(
GATTS_TABLE_TAG
,
"notify enable"
);
ESP_LOGI
(
GATTS_TABLE_TAG
,
"notify enable"
);
uint8_t
notify_data
[
15
];
//
uint8_t notify_data[15];
for
(
int
i
=
0
;
i
<
sizeof
(
notify_data
);
++
i
)
//
for (int i = 0; i < sizeof(notify_data); ++i)
{
//
{
notify_data
[
i
]
=
i
%
0xff
;
//
notify_data[i] = i % 0xff;
}
//
}
//the size of notify_data[] need less than MTU size
//
//
the size of notify_data[] need less than MTU size
esp_ble_gatts_send_indicate
(
gatts_if
,
param
->
write
.
conn_id
,
heart_rate_handle_table2
[
IDX_CHAR_CFG_A2
],
//
esp_ble_gatts_send_indicate(gatts_if, param->write.conn_id, heart_rate_handle_table2[IDX_CHAR_CFG_A2],
sizeof
(
notify_data
),
notify_data
,
false
);
//
sizeof(notify_data), notify_data, false);
}
else
if
(
descr_value
==
0x0002
){
}
else
if
(
descr_value
==
0x0002
){
ESP_LOGI
(
GATTS_TABLE_TAG
,
"indicate enable"
);
//
ESP_LOGI(GATTS_TABLE_TAG, "indicate enable");
uint8_t
indicate_data
[
15
];
//
uint8_t indicate_data[15];
for
(
int
i
=
0
;
i
<
sizeof
(
indicate_data
);
++
i
)
//
for (int i = 0; i < sizeof(indicate_data); ++i)
{
//
{
indicate_data
[
i
]
=
i
%
0xff
;
//
indicate_data[i] = i % 0xff;
}
//
}
// if want to change the value in server database, call:
//
//
if want to change the value in server database, call:
//
esp_ble_gatts_set_attr_value(heart_rate_handle_table[IDX_CHAR_VAL_A
], sizeof(indicate_data), indicate_data);
//
// esp_ble_gatts_set_attr_value(heart_rate_handle_table[IDX_CHAR_VAL_2A25
], sizeof(indicate_data), indicate_data);
//the size of indicate_data[] need less than MTU size
//
//
the size of indicate_data[] need less than MTU size
esp_ble_gatts_send_indicate
(
gatts_if
,
param
->
write
.
conn_id
,
heart_rate_handle_table
[
IDX_CHAR_VAL_A
],
// esp_ble_gatts_send_indicate(gatts_if, param->write.conn_id, heart_rate_handle_table2[IDX_CHAR_CFG_A2
],
sizeof
(
indicate_data
),
indicate_data
,
true
);
//
sizeof(indicate_data), indicate_data, true);
}
}
else
if
(
descr_value
==
0x0000
){
else
if
(
descr_value
==
0x0000
){
ESP_LOGI
(
GATTS_TABLE_TAG
,
"notify/indicate disable "
);
ESP_LOGI
(
GATTS_TABLE_TAG
,
"notify/indicate disable "
);
...
@@ -699,6 +781,8 @@ static void gatts_profile_event_handler(esp_gatts_cb_event_t event, esp_gatt_if_
...
@@ -699,6 +781,8 @@ static void gatts_profile_event_handler(esp_gatts_cb_event_t event, esp_gatt_if_
}
}
break
;
break
;
case
ESP_GATTS_CONNECT_EVT
:
case
ESP_GATTS_CONNECT_EVT
:
Ble_Connect_Event_Pro
();
ESP_LOGI
(
GATTS_TABLE_TAG
,
"ESP_GATTS_CONNECT_EVT, conn_id = %d"
,
param
->
connect
.
conn_id
);
ESP_LOGI
(
GATTS_TABLE_TAG
,
"ESP_GATTS_CONNECT_EVT, conn_id = %d"
,
param
->
connect
.
conn_id
);
esp_log_buffer_hex
(
GATTS_TABLE_TAG
,
param
->
connect
.
remote_bda
,
6
);
esp_log_buffer_hex
(
GATTS_TABLE_TAG
,
param
->
connect
.
remote_bda
,
6
);
esp_ble_conn_update_params_t
conn_params
=
{
0
};
esp_ble_conn_update_params_t
conn_params
=
{
0
};
...
@@ -710,12 +794,14 @@ static void gatts_profile_event_handler(esp_gatts_cb_event_t event, esp_gatt_if_
...
@@ -710,12 +794,14 @@ static void gatts_profile_event_handler(esp_gatts_cb_event_t event, esp_gatt_if_
conn_params
.
timeout
=
400
;
// timeout = 400*10ms = 4000ms
conn_params
.
timeout
=
400
;
// timeout = 400*10ms = 4000ms
//start sent the update connection parameters to the peer device.
//start sent the update connection parameters to the peer device.
esp_ble_gap_update_conn_params
(
&
conn_params
);
esp_ble_gap_update_conn_params
(
&
conn_params
);
ble_status
=
1
;
break
;
break
;
case
ESP_GATTS_DISCONNECT_EVT
:
case
ESP_GATTS_DISCONNECT_EVT
:
Ble_DisConnect_Event_Pro
();
ESP_LOGI
(
GATTS_TABLE_TAG
,
"ESP_GATTS_DISCONNECT_EVT, reason = 0x%x"
,
param
->
disconnect
.
reason
);
ESP_LOGI
(
GATTS_TABLE_TAG
,
"ESP_GATTS_DISCONNECT_EVT, reason = 0x%x"
,
param
->
disconnect
.
reason
);
esp_ble_gap_start_advertising
(
&
adv_params
);
esp_ble_gap_start_advertising
(
&
adv_params
);
ble_status
=
0
;
break
;
break
;
case
ESP_GATTS_CREAT_ATTR_TAB_EVT
:{
case
ESP_GATTS_CREAT_ATTR_TAB_EVT
:{
if
(
create_tab1
==
false
)
{
if
(
create_tab1
==
false
)
{
...
@@ -841,41 +927,12 @@ void Get_Mac_Init(void )
...
@@ -841,41 +927,12 @@ void Get_Mac_Init(void )
}
}
}
}
static
void
timer_cnt_task
(
void
*
arg
)
{
while
(
1
)
{
wifi_ota_request_service
();
vTaskDelay
(
pdMS_TO_TICKS
(
100
));
}
}
extern
void
simple_ota_main
(
void
);
void
bsp_Ble_Init
(
void
)
void
simple_ota_service
(
void
)
{
if
(
wifi_ota
.
en
==
1
)
{
wifi_ota
.
en
=
2
;
simple_ota_main
();
}
}
static
void
simple_ota_task
(
void
*
arg
)
{
while
(
1
)
{
simple_ota_service
();
vTaskDelay
(
1000
/
portTICK_PERIOD_MS
);
}
}
void
app_main
(
void
)
{
{
esp_err_t
ret
;
esp_err_t
ret
;
Get_Mac_Init
();
Get_Mac_Init
();
init_U
();
Protocol_KL30_Wakeup_Init
();
/* Initialize NVS. */
/* Initialize NVS. */
ret
=
nvs_flash_init
();
ret
=
nvs_flash_init
();
...
@@ -937,8 +994,80 @@ void app_main(void)
...
@@ -937,8 +994,80 @@ void app_main(void)
}
}
xTaskCreate
(
timer_cnt_task
,
"timer_cnt"
,
4096
*
2
,
NULL
,
10
,
NULL
);
// /* set the security iocap & auth_req & key size & init key response key parameters to the stack*/
xTaskCreate
(
rx_task
,
"uart_rx_task"
,
1024
*
2
,
NULL
,
configMAX_PRIORITIES
,
NULL
);
// esp_ble_auth_req_t auth_req = ESP_LE_AUTH_REQ_SC_MITM_BOND; //bonding with peer device after authentication
xTaskCreate
(
tx_task
,
"uart_tx_task"
,
1024
*
2
,
NULL
,
configMAX_PRIORITIES
-
1
,
NULL
);
// esp_ble_io_cap_t iocap = ESP_IO_CAP_NONE; //set the IO capability to No output No input
xTaskCreate
(
simple_ota_task
,
"simple_ota"
,
1024
*
2
,
NULL
,
10
,
NULL
);
// uint8_t key_size = 16; //the key size should be 7~16 bytes
// uint8_t init_key = ESP_BLE_ENC_KEY_MASK | ESP_BLE_ID_KEY_MASK;
// uint8_t rsp_key = ESP_BLE_ENC_KEY_MASK | ESP_BLE_ID_KEY_MASK;
// uint8_t oob_support = ESP_BLE_OOB_DISABLE;
// esp_ble_gap_set_security_param(ESP_BLE_SM_AUTHEN_REQ_MODE, &auth_req, sizeof(uint8_t));
// esp_ble_gap_set_security_param(ESP_BLE_SM_IOCAP_MODE, &iocap, sizeof(uint8_t));
// esp_ble_gap_set_security_param(ESP_BLE_SM_MAX_KEY_SIZE, &key_size, sizeof(uint8_t));
// esp_ble_gap_set_security_param(ESP_BLE_SM_OOB_SUPPORT, &oob_support, sizeof(uint8_t));
// /* If your BLE device act as a Slave, the init_key means you hope which types of key of the master should distribute to you,
// and the response key means which key you can distribute to the Master;
// If your BLE device act as a master, the response key means you hope which types of key of the slave should distribute to you,
// and the init key means which key you can distribute to the slave. */
// esp_ble_gap_set_security_param(ESP_BLE_SM_SET_INIT_KEY, &init_key, sizeof(uint8_t));
// esp_ble_gap_set_security_param(ESP_BLE_SM_SET_RSP_KEY, &rsp_key, sizeof(uint8_t));
/* set the security iocap & auth_req & key size & init key response key parameters to the stack*/
esp_ble_auth_req_t
auth_req
=
ESP_LE_AUTH_REQ_SC_MITM_BOND
;
//bonding with peer device after authentication
esp_ble_io_cap_t
iocap
=
ESP_IO_CAP_NONE
;
//set the IO capability to No output No input
uint8_t
key_size
=
16
;
//the key size should be 7~16 bytes
uint8_t
init_key
=
ESP_BLE_ENC_KEY_MASK
|
ESP_BLE_ID_KEY_MASK
;
uint8_t
rsp_key
=
ESP_BLE_ENC_KEY_MASK
|
ESP_BLE_ID_KEY_MASK
;
//set static passkey
uint32_t
passkey
=
123456
;
uint8_t
auth_option
=
ESP_BLE_ONLY_ACCEPT_SPECIFIED_AUTH_DISABLE
;
uint8_t
oob_support
=
ESP_BLE_OOB_DISABLE
;
ret
=
esp_ble_gap_set_security_param
(
ESP_BLE_SM_SET_STATIC_PASSKEY
,
&
passkey
,
sizeof
(
uint32_t
));
if
(
ret
)
{
printf
(
"!!!!!!!!!!!!!!
\r\n
"
);
}
ret
=
esp_ble_gap_set_security_param
(
ESP_BLE_SM_AUTHEN_REQ_MODE
,
&
auth_req
,
sizeof
(
uint8_t
));
if
(
ret
)
{
printf
(
"!!!!!!!!!!!!!!
\r\n
"
);
}
ret
=
esp_ble_gap_set_security_param
(
ESP_BLE_SM_IOCAP_MODE
,
&
iocap
,
sizeof
(
uint8_t
));
if
(
ret
)
{
printf
(
"!!!!!!!!!!!!!!
\r\n
"
);
}
ret
=
esp_ble_gap_set_security_param
(
ESP_BLE_SM_MAX_KEY_SIZE
,
&
key_size
,
sizeof
(
uint8_t
));
if
(
ret
)
{
printf
(
"!!!!!!!!!!!!!!
\r\n
"
);
}
ret
=
esp_ble_gap_set_security_param
(
ESP_BLE_SM_ONLY_ACCEPT_SPECIFIED_SEC_AUTH
,
&
auth_option
,
sizeof
(
uint8_t
));
if
(
ret
)
{
printf
(
"!!!!!!!!!!!!!!
\r\n
"
);
}
ret
=
esp_ble_gap_set_security_param
(
ESP_BLE_SM_OOB_SUPPORT
,
&
oob_support
,
sizeof
(
uint8_t
));
if
(
ret
)
{
printf
(
"!!!!!!!!!!!!!!
\r\n
"
);
}
/* If your BLE device acts as a Slave, the init_key means you hope which types of key of the master should distribute to you,
and the response key means which key you can distribute to the master;
If your BLE device acts as a master, the response key means you hope which types of key of the slave should distribute to you,
and the init key means which key you can distribute to the slave. */
ret
=
esp_ble_gap_set_security_param
(
ESP_BLE_SM_SET_INIT_KEY
,
&
init_key
,
sizeof
(
uint8_t
));
if
(
ret
)
{
printf
(
"!!!!!!!!!!!!!!
\r\n
"
);
}
ret
=
esp_ble_gap_set_security_param
(
ESP_BLE_SM_SET_RSP_KEY
,
&
rsp_key
,
sizeof
(
uint8_t
));
if
(
ret
)
{
printf
(
"!!!!!!!!!!!!!!
\r\n
"
);
}
}
}
qianjiang/main/gatts_table_creat_demo.h
View file @
b04094c8
...
@@ -13,25 +13,42 @@ enum
...
@@ -13,25 +13,42 @@ enum
{
{
IDX_SVC
,
IDX_SVC
,
//
IDX_CHAR_2A29,
IDX_CHAR_2A29
,
//
IDX_CHAR_VAL_2A29,
IDX_CHAR_VAL_2A29
,
//
IDX_CHAR_CFG_2A29,
IDX_CHAR_CFG_2A29
,
//
IDX_CHAR_2A24,
IDX_CHAR_2A24
,
//
IDX_CHAR_VAL_2A24,
IDX_CHAR_VAL_2A24
,
//
IDX_CHAR_CFG_2A24,
IDX_CHAR_CFG_2A24
,
IDX_CHAR_
A
,
IDX_CHAR_
2A25
,
IDX_CHAR_VAL_
A
,
IDX_CHAR_VAL_
2A25
,
IDX_CHAR_CFG_
A
,
IDX_CHAR_CFG_
2A25
,
//
IDX_CHAR_2A27,
IDX_CHAR_2A27
,
//
IDX_CHAR_VAL_2A27,
IDX_CHAR_VAL_2A27
,
//
IDX_CHAR_CFG_2A27,
IDX_CHAR_CFG_2A27
,
// IDX_CHAR_2A26,
IDX_CHAR_2A26
,
// IDX_CHAR_VAL_2A26,
IDX_CHAR_VAL_2A26
,
// IDX_CHAR_CFG_2A26,
IDX_CHAR_CFG_2A26
,
IDX_CHAR_2A28
,
IDX_CHAR_VAL_2A28
,
IDX_CHAR_CFG_2A28
,
IDX_CHAR_2A23
,
IDX_CHAR_VAL_2A23
,
IDX_CHAR_CFG_2A23
,
IDX_CHAR_2A2A
,
IDX_CHAR_VAL_2A2A
,
IDX_CHAR_CFG_2A2A
,
IDX_CHAR_2A50
,
IDX_CHAR_VAL_2A50
,
IDX_CHAR_CFG_2A50
,
HRS_IDX_NB
,
HRS_IDX_NB
,
};
};
...
@@ -51,10 +68,13 @@ enum
...
@@ -51,10 +68,13 @@ enum
HRS_IDX_NB2
,
HRS_IDX_NB2
,
};
};
void
bsp_Ble_Init
(
void
);
void
bsp_Uart_Init
(
void
);
int
bsp_Ble_Gatts_Send_Indicate
(
uint8_t
len
,
uint8_t
*
data
);
void
simple_ota_service
(
void
);
void
bsp_Ble_Gatts_Send_Indicate
(
uint8_t
len
,
uint8_t
*
data
);
extern
uint8_t
ble_status
;
extern
int
sendData
(
const
char
*
logName
,
const
char
*
data
,
unsigned
int
len
);
extern
int
sendData
(
const
char
*
logName
,
const
char
*
data
,
unsigned
int
len
);
#endif
#endif
\ No newline at end of file
qianjiang/main/main_user.c
0 → 100644
View file @
b04094c8
#include "app_Ble_User.h"
#include "gatts_table_creat_demo.h"
#include <stdint.h>
#include <stdio.h>
#include <stdlib.h>
#include "string.h"
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "freertos/event_groups.h"
#include "gatts_table_creat_demo.h"
#include "main_user.h"
#include "Protocol_CRC16.h"
#include "Protocol_User.h"
#define TAG "MAIN_USER"
uint32_t
Sys_1ms_Cnt
;
#define SYS_RUN_TASK_1MS (1)
#define SYS_RUN_TASK_10MS (Sys_1ms_Cnt % 10 == 1)
#define SYS_RUN_TASK_20MS (Sys_1ms_Cnt % 20 == 2)
#define SYS_RUN_TASK_50MS (Sys_1ms_Cnt % 50 == 3)
#define SYS_RUN_TASK_100MS (Sys_1ms_Cnt % 100 == 4)
#define SYS_RUN_TASK_1000MS (Sys_1ms_Cnt % 1000 == 5)
uint32_t
testcnt
;
static
void
Sys_Run_Tasks
(
void
*
arg
)
{
uint8_t
i
=
0
;
while
(
1
)
{
if
(
Sys_1ms_Cnt
<
499
)
{
Sys_1ms_Cnt
++
;
}
else
{
Sys_1ms_Cnt
=
0
;
}
if
(
SYS_RUN_TASK_1MS
)
{
}
if
(
SYS_RUN_TASK_10MS
)
{
Protocol_Send_Service
();
}
if
(
SYS_RUN_TASK_20MS
)
{
}
if
(
SYS_RUN_TASK_50MS
)
{
}
if
(
SYS_RUN_TASK_100MS
)
{
}
if
(
SYS_RUN_TASK_1000MS
)
{
testcnt
++
;
if
(
testcnt
>=
2
)
{
testcnt
=
0
;
// printf("Ble_Sts_Ctrl.Ble_Sts = %d\r\n", Ble_Sts_Ctrl.Ble_Sts);
// printf("Ble_Sts_Ctrl.Navi_Updat = %d\r\n", Ble_Sts_Ctrl.Navi_Updat);
}
simple_ota_service
();
}
vTaskDelay
(
1
);
}
vTaskDelete
(
NULL
);
}
void
app_main
(
void
)
{
Ble_User_Init
();
bsp_Ble_Init
();
bsp_Uart_Init
();
xTaskCreatePinnedToCore
(
Sys_Run_Tasks
,
"Sys_Run_Tasks"
,
4096
,
NULL
,
3
,
NULL
,
1
);
}
qianjiang/main/main_user.h
0 → 100644
View file @
b04094c8
#ifndef _MAIN_USER_H_
#define _MAIN_USER_H_
#endif
\ No newline at end of file
qianjiang/sdkconfig
View file @
b04094c8
...
@@ -53,13 +53,14 @@ CONFIG_SOC_ADC_RTC_MIN_BITWIDTH=9
...
@@ -53,13 +53,14 @@ CONFIG_SOC_ADC_RTC_MIN_BITWIDTH=9
CONFIG_SOC_ADC_RTC_MAX_BITWIDTH=12
CONFIG_SOC_ADC_RTC_MAX_BITWIDTH=12
CONFIG_SOC_RTC_SLOW_CLOCK_SUPPORT_8MD256=y
CONFIG_SOC_RTC_SLOW_CLOCK_SUPPORT_8MD256=y
CONFIG_SOC_SHARED_IDCACHE_SUPPORTED=y
CONFIG_SOC_SHARED_IDCACHE_SUPPORTED=y
CONFIG_SOC_IDCACHE_PER_CORE=y
CONFIG_SOC_MMU_LINEAR_ADDRESS_REGION_NUM=5
CONFIG_SOC_MMU_LINEAR_ADDRESS_REGION_NUM=5
CONFIG_SOC_CPU_CORES_NUM=2
CONFIG_SOC_CPU_CORES_NUM=2
CONFIG_SOC_CPU_INTR_NUM=32
CONFIG_SOC_CPU_INTR_NUM=32
CONFIG_SOC_CPU_HAS_FPU=y
CONFIG_SOC_CPU_HAS_FPU=y
CONFIG_SOC_CPU_BREAKPOINTS_NUM=2
CONFIG_SOC_CPU_BREAKPOINTS_NUM=2
CONFIG_SOC_CPU_WATCHPOINTS_NUM=2
CONFIG_SOC_CPU_WATCHPOINTS_NUM=2
CONFIG_SOC_CPU_WATCHPOINT_SIZE=64
CONFIG_SOC_CPU_WATCHPOINT_
MAX_REGION_
SIZE=64
CONFIG_SOC_DAC_PERIPH_NUM=2
CONFIG_SOC_DAC_PERIPH_NUM=2
CONFIG_SOC_DAC_RESOLUTION=8
CONFIG_SOC_DAC_RESOLUTION=8
CONFIG_SOC_GPIO_PORT=1
CONFIG_SOC_GPIO_PORT=1
...
@@ -217,6 +218,14 @@ CONFIG_BOOTLOADER_LOG_LEVEL_INFO=y
...
@@ -217,6 +218,14 @@ CONFIG_BOOTLOADER_LOG_LEVEL_INFO=y
# CONFIG_BOOTLOADER_LOG_LEVEL_DEBUG is not set
# CONFIG_BOOTLOADER_LOG_LEVEL_DEBUG is not set
# CONFIG_BOOTLOADER_LOG_LEVEL_VERBOSE is not set
# CONFIG_BOOTLOADER_LOG_LEVEL_VERBOSE is not set
CONFIG_BOOTLOADER_LOG_LEVEL=3
CONFIG_BOOTLOADER_LOG_LEVEL=3
#
# Serial Flash Configurations
#
# CONFIG_BOOTLOADER_FLASH_DC_AWARE is not set
CONFIG_BOOTLOADER_FLASH_XMC_SUPPORT=y
# end of Serial Flash Configurations
# CONFIG_BOOTLOADER_VDDSDIO_BOOST_1_8V is not set
# CONFIG_BOOTLOADER_VDDSDIO_BOOST_1_8V is not set
CONFIG_BOOTLOADER_VDDSDIO_BOOST_1_9V=y
CONFIG_BOOTLOADER_VDDSDIO_BOOST_1_9V=y
# CONFIG_BOOTLOADER_FACTORY_RESET is not set
# CONFIG_BOOTLOADER_FACTORY_RESET is not set
...
@@ -231,7 +240,6 @@ CONFIG_BOOTLOADER_WDT_TIME_MS=9000
...
@@ -231,7 +240,6 @@ CONFIG_BOOTLOADER_WDT_TIME_MS=9000
# CONFIG_BOOTLOADER_SKIP_VALIDATE_ALWAYS is not set
# CONFIG_BOOTLOADER_SKIP_VALIDATE_ALWAYS is not set
CONFIG_BOOTLOADER_RESERVE_RTC_SIZE=0
CONFIG_BOOTLOADER_RESERVE_RTC_SIZE=0
# CONFIG_BOOTLOADER_CUSTOM_RESERVE_RTC is not set
# CONFIG_BOOTLOADER_CUSTOM_RESERVE_RTC is not set
CONFIG_BOOTLOADER_FLASH_XMC_SUPPORT=y
# end of Bootloader config
# end of Bootloader config
#
#
...
@@ -425,8 +433,12 @@ CONFIG_BT_GATT_MAX_SR_ATTRIBUTES=100
...
@@ -425,8 +433,12 @@ CONFIG_BT_GATT_MAX_SR_ATTRIBUTES=100
# CONFIG_BT_GATTS_SEND_SERVICE_CHANGE_MANUAL is not set
# CONFIG_BT_GATTS_SEND_SERVICE_CHANGE_MANUAL is not set
CONFIG_BT_GATTS_SEND_SERVICE_CHANGE_AUTO=y
CONFIG_BT_GATTS_SEND_SERVICE_CHANGE_AUTO=y
CONFIG_BT_GATTS_SEND_SERVICE_CHANGE_MODE=0
CONFIG_BT_GATTS_SEND_SERVICE_CHANGE_MODE=0
# CONFIG_BT_GATTS_ROBUST_CACHING_ENABLED is not set
# CONFIG_BT_GATTS_DEVICE_NAME_WRITABLE is not set
# CONFIG_BT_GATTS_APPEARANCE_WRITABLE is not set
CONFIG_BT_GATTC_ENABLE=y
CONFIG_BT_GATTC_ENABLE=y
CONFIG_BT_GATTC_MAX_CACHE_CHAR=40
CONFIG_BT_GATTC_MAX_CACHE_CHAR=40
CONFIG_BT_GATTC_NOTIF_REG_MAX=5
# CONFIG_BT_GATTC_CACHE_NVS_FLASH is not set
# CONFIG_BT_GATTC_CACHE_NVS_FLASH is not set
CONFIG_BT_GATTC_CONNECT_RETRY_COUNT=3
CONFIG_BT_GATTC_CONNECT_RETRY_COUNT=3
CONFIG_BT_BLE_SMP_ENABLE=y
CONFIG_BT_BLE_SMP_ENABLE=y
...
@@ -612,10 +624,13 @@ CONFIG_BT_MULTI_CONNECTION_ENBALE=y
...
@@ -612,10 +624,13 @@ CONFIG_BT_MULTI_CONNECTION_ENBALE=y
# CONFIG_BT_BLE_DYNAMIC_ENV_MEMORY is not set
# CONFIG_BT_BLE_DYNAMIC_ENV_MEMORY is not set
# CONFIG_BT_BLE_HOST_QUEUE_CONG_CHECK is not set
# CONFIG_BT_BLE_HOST_QUEUE_CONG_CHECK is not set
CONFIG_BT_SMP_ENABLE=y
CONFIG_BT_SMP_ENABLE=y
CONFIG_BT_SMP_MAX_BONDS=15
# CONFIG_BT_BLE_ACT_SCAN_REP_ADV_SCAN is not set
# CONFIG_BT_BLE_ACT_SCAN_REP_ADV_SCAN is not set
CONFIG_BT_BLE_ESTAB_LINK_CONN_TOUT=30
CONFIG_BT_BLE_ESTAB_LINK_CONN_TOUT=30
CONFIG_BT_MAX_DEVICE_NAME_LEN=32
CONFIG_BT_MAX_DEVICE_NAME_LEN=32
# CONFIG_BT_BLE_RPA_SUPPORTED is not set
# CONFIG_BT_BLE_RPA_SUPPORTED is not set
CONFIG_BT_BLE_RPA_TIMEOUT=900
# CONFIG_BT_BLE_HIGH_DUTY_ADV_INTERVAL is not set
# end of Bluedroid Options
# end of Bluedroid Options
#
#
...
@@ -750,6 +765,7 @@ CONFIG_TWAI_ERRATA_FIX_LISTEN_ONLY_DOM=y
...
@@ -750,6 +765,7 @@ CONFIG_TWAI_ERRATA_FIX_LISTEN_ONLY_DOM=y
# RMT Configuration
# RMT Configuration
#
#
# CONFIG_RMT_ISR_IRAM_SAFE is not set
# CONFIG_RMT_ISR_IRAM_SAFE is not set
# CONFIG_RMT_RECV_FUNC_IN_IRAM is not set
# CONFIG_RMT_SUPPRESS_DEPRECATE_WARN is not set
# CONFIG_RMT_SUPPRESS_DEPRECATE_WARN is not set
# CONFIG_RMT_ENABLE_DEBUG_LOG is not set
# CONFIG_RMT_ENABLE_DEBUG_LOG is not set
# end of RMT Configuration
# end of RMT Configuration
...
@@ -829,6 +845,7 @@ CONFIG_ETH_RMII_CLK_IN_GPIO=0
...
@@ -829,6 +845,7 @@ CONFIG_ETH_RMII_CLK_IN_GPIO=0
CONFIG_ETH_DMA_BUFFER_SIZE=512
CONFIG_ETH_DMA_BUFFER_SIZE=512
CONFIG_ETH_DMA_RX_BUFFER_NUM=10
CONFIG_ETH_DMA_RX_BUFFER_NUM=10
CONFIG_ETH_DMA_TX_BUFFER_NUM=10
CONFIG_ETH_DMA_TX_BUFFER_NUM=10
# CONFIG_ETH_IRAM_OPTIMIZATION is not set
CONFIG_ETH_USE_SPI_ETHERNET=y
CONFIG_ETH_USE_SPI_ETHERNET=y
# CONFIG_ETH_SPI_ETHERNET_DM9051 is not set
# CONFIG_ETH_SPI_ETHERNET_DM9051 is not set
# CONFIG_ETH_SPI_ETHERNET_W5500 is not set
# CONFIG_ETH_SPI_ETHERNET_W5500 is not set
...
@@ -924,11 +941,12 @@ CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES=4
...
@@ -924,11 +941,12 @@ CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES=4
# Sleep Config
# Sleep Config
#
#
# CONFIG_ESP_SLEEP_POWER_DOWN_FLASH is not set
# CONFIG_ESP_SLEEP_POWER_DOWN_FLASH is not set
CONFIG_ESP_SLEEP_RTC_BUS_ISO_WORKAROUND=y
# CONFIG_ESP_SLEEP_GPIO_RESET_WORKAROUND is not set
CONFIG_ESP_SLEEP_FLASH_LEAKAGE_WORKAROUND=y
CONFIG_ESP_SLEEP_FLASH_LEAKAGE_WORKAROUND=y
# CONFIG_ESP_SLEEP_MSPI_NEED_ALL_IO_PU is not set
# CONFIG_ESP_SLEEP_MSPI_NEED_ALL_IO_PU is not set
CONFIG_ESP_SLEEP_RTC_BUS_ISO_WORKAROUND=y
# CONFIG_ESP_SLEEP_GPIO_RESET_WORKAROUND is not set
CONFIG_ESP_SLEEP_DEEP_SLEEP_WAKEUP_DELAY=2000
CONFIG_ESP_SLEEP_DEEP_SLEEP_WAKEUP_DELAY=2000
CONFIG_ESP_SLEEP_GPIO_ENABLE_INTERNAL_RESISTORS=y
# end of Sleep Config
# end of Sleep Config
#
#
...
@@ -979,6 +997,7 @@ CONFIG_LCD_PANEL_IO_FORMAT_BUF_SIZE=32
...
@@ -979,6 +997,7 @@ CONFIG_LCD_PANEL_IO_FORMAT_BUF_SIZE=32
CONFIG_ESP_NETIF_IP_LOST_TIMER_INTERVAL=120
CONFIG_ESP_NETIF_IP_LOST_TIMER_INTERVAL=120
CONFIG_ESP_NETIF_TCPIP_LWIP=y
CONFIG_ESP_NETIF_TCPIP_LWIP=y
# CONFIG_ESP_NETIF_LOOPBACK is not set
# CONFIG_ESP_NETIF_LOOPBACK is not set
# CONFIG_ESP_NETIF_RECEIVE_REPORT_ERRORS is not set
# CONFIG_ESP_NETIF_L2_TAP is not set
# CONFIG_ESP_NETIF_L2_TAP is not set
# CONFIG_ESP_NETIF_BRIDGE_EN is not set
# CONFIG_ESP_NETIF_BRIDGE_EN is not set
# end of ESP NETIF Adapter
# end of ESP NETIF Adapter
...
@@ -1019,9 +1038,9 @@ CONFIG_ESP_PHY_CALIBRATION_MODE=0
...
@@ -1019,9 +1038,9 @@ CONFIG_ESP_PHY_CALIBRATION_MODE=0
# ESP System Settings
# ESP System Settings
#
#
# CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_80 is not set
# CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_80 is not set
CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_160=y
# CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_160 is not set
# CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_240 is not set
CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_240=y
CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ=
16
0
CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ=
24
0
#
#
# Memory
# Memory
...
@@ -1126,6 +1145,10 @@ CONFIG_ESP32_WIFI_DYNAMIC_RX_BUFFER_NUM=32
...
@@ -1126,6 +1145,10 @@ CONFIG_ESP32_WIFI_DYNAMIC_RX_BUFFER_NUM=32
CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER=y
CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER=y
CONFIG_ESP32_WIFI_TX_BUFFER_TYPE=1
CONFIG_ESP32_WIFI_TX_BUFFER_TYPE=1
CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER_NUM=32
CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER_NUM=32
CONFIG_ESP_WIFI_STATIC_RX_MGMT_BUFFER=y
# CONFIG_ESP_WIFI_DYNAMIC_RX_MGMT_BUFFER is not set
CONFIG_ESP_WIFI_DYNAMIC_RX_MGMT_BUF=0
CONFIG_ESP_WIFI_RX_MGMT_BUF_NUM_DEF=5
# CONFIG_ESP32_WIFI_CSI_ENABLED is not set
# CONFIG_ESP32_WIFI_CSI_ENABLED is not set
CONFIG_ESP32_WIFI_AMPDU_TX_ENABLED=y
CONFIG_ESP32_WIFI_AMPDU_TX_ENABLED=y
CONFIG_ESP32_WIFI_TX_BA_WIN=6
CONFIG_ESP32_WIFI_TX_BA_WIN=6
...
@@ -1147,6 +1170,8 @@ CONFIG_ESP_WIFI_SOFTAP_SUPPORT=y
...
@@ -1147,6 +1170,8 @@ CONFIG_ESP_WIFI_SOFTAP_SUPPORT=y
# CONFIG_ESP_WIFI_SLP_BEACON_LOST_OPT is not set
# CONFIG_ESP_WIFI_SLP_BEACON_LOST_OPT is not set
CONFIG_ESP_WIFI_ESPNOW_MAX_ENCRYPT_NUM=7
CONFIG_ESP_WIFI_ESPNOW_MAX_ENCRYPT_NUM=7
# CONFIG_ESP_WIFI_WPS_PASSPHRASE is not set
# CONFIG_ESP_WIFI_WPS_PASSPHRASE is not set
CONFIG_ESP_WIFI_ENTERPRISE_SUPPORT=y
# CONFIG_ESP_WIFI_ENT_FREE_DYNAMIC_BUFFER is not set
# end of Wi-Fi
# end of Wi-Fi
#
#
...
@@ -1217,7 +1242,7 @@ CONFIG_FATFS_PER_FILE_CACHE=y
...
@@ -1217,7 +1242,7 @@ CONFIG_FATFS_PER_FILE_CACHE=y
#
#
# CONFIG_FREERTOS_SMP is not set
# CONFIG_FREERTOS_SMP is not set
# CONFIG_FREERTOS_UNICORE is not set
# CONFIG_FREERTOS_UNICORE is not set
CONFIG_FREERTOS_HZ=100
CONFIG_FREERTOS_HZ=100
0
# CONFIG_FREERTOS_CHECK_STACKOVERFLOW_NONE is not set
# CONFIG_FREERTOS_CHECK_STACKOVERFLOW_NONE is not set
# CONFIG_FREERTOS_CHECK_STACKOVERFLOW_PTRVAL is not set
# CONFIG_FREERTOS_CHECK_STACKOVERFLOW_PTRVAL is not set
CONFIG_FREERTOS_CHECK_STACKOVERFLOW_CANARY=y
CONFIG_FREERTOS_CHECK_STACKOVERFLOW_CANARY=y
...
@@ -1307,6 +1332,7 @@ CONFIG_LOG_TIMESTAMP_SOURCE_RTOS=y
...
@@ -1307,6 +1332,7 @@ CONFIG_LOG_TIMESTAMP_SOURCE_RTOS=y
#
#
CONFIG_LWIP_LOCAL_HOSTNAME="QJ500-7C"
CONFIG_LWIP_LOCAL_HOSTNAME="QJ500-7C"
# CONFIG_LWIP_NETIF_API is not set
# CONFIG_LWIP_NETIF_API is not set
CONFIG_LWIP_TCPIP_TASK_PRIO=18
# CONFIG_LWIP_TCPIP_CORE_LOCKING is not set
# CONFIG_LWIP_TCPIP_CORE_LOCKING is not set
# CONFIG_LWIP_CHECK_THREAD_SAFETY is not set
# CONFIG_LWIP_CHECK_THREAD_SAFETY is not set
CONFIG_LWIP_DNS_SUPPORT_MDNS_QUERIES=y
CONFIG_LWIP_DNS_SUPPORT_MDNS_QUERIES=y
...
@@ -1320,6 +1346,7 @@ CONFIG_LWIP_SO_REUSE=y
...
@@ -1320,6 +1346,7 @@ CONFIG_LWIP_SO_REUSE=y
CONFIG_LWIP_SO_REUSE_RXTOALL=y
CONFIG_LWIP_SO_REUSE_RXTOALL=y
# CONFIG_LWIP_SO_RCVBUF is not set
# CONFIG_LWIP_SO_RCVBUF is not set
# CONFIG_LWIP_NETBUF_RECVINFO is not set
# CONFIG_LWIP_NETBUF_RECVINFO is not set
CONFIG_LWIP_IP_DEFAULT_TTL=64
CONFIG_LWIP_IP4_FRAG=y
CONFIG_LWIP_IP4_FRAG=y
CONFIG_LWIP_IP6_FRAG=y
CONFIG_LWIP_IP6_FRAG=y
# CONFIG_LWIP_IP4_REASSEMBLY is not set
# CONFIG_LWIP_IP4_REASSEMBLY is not set
...
@@ -1372,6 +1399,8 @@ CONFIG_LWIP_TCP_SND_BUF_DEFAULT=5744
...
@@ -1372,6 +1399,8 @@ CONFIG_LWIP_TCP_SND_BUF_DEFAULT=5744
CONFIG_LWIP_TCP_WND_DEFAULT=5744
CONFIG_LWIP_TCP_WND_DEFAULT=5744
CONFIG_LWIP_TCP_RECVMBOX_SIZE=6
CONFIG_LWIP_TCP_RECVMBOX_SIZE=6
CONFIG_LWIP_TCP_QUEUE_OOSEQ=y
CONFIG_LWIP_TCP_QUEUE_OOSEQ=y
CONFIG_LWIP_TCP_OOSEQ_TIMEOUT=6
CONFIG_LWIP_TCP_OOSEQ_MAX_PBUFS=4
# CONFIG_LWIP_TCP_SACK_OUT is not set
# CONFIG_LWIP_TCP_SACK_OUT is not set
CONFIG_LWIP_TCP_OVERSIZE_MSS=y
CONFIG_LWIP_TCP_OVERSIZE_MSS=y
# CONFIG_LWIP_TCP_OVERSIZE_QUARTER_MSS is not set
# CONFIG_LWIP_TCP_OVERSIZE_QUARTER_MSS is not set
...
@@ -1402,6 +1431,8 @@ CONFIG_LWIP_TCPIP_TASK_AFFINITY=0x7FFFFFFF
...
@@ -1402,6 +1431,8 @@ CONFIG_LWIP_TCPIP_TASK_AFFINITY=0x7FFFFFFF
# CONFIG_LWIP_PPP_SUPPORT is not set
# CONFIG_LWIP_PPP_SUPPORT is not set
CONFIG_LWIP_IPV6_MEMP_NUM_ND6_QUEUE=3
CONFIG_LWIP_IPV6_MEMP_NUM_ND6_QUEUE=3
CONFIG_LWIP_IPV6_ND6_NUM_NEIGHBORS=5
CONFIG_LWIP_IPV6_ND6_NUM_NEIGHBORS=5
CONFIG_LWIP_ND6=y
# CONFIG_LWIP_FORCE_ROUTER_FORWARDING is not set
# CONFIG_LWIP_SLIP_SUPPORT is not set
# CONFIG_LWIP_SLIP_SUPPORT is not set
#
#
...
@@ -1427,6 +1458,14 @@ CONFIG_LWIP_SNTP_UPDATE_DELAY=3600000
...
@@ -1427,6 +1458,14 @@ CONFIG_LWIP_SNTP_UPDATE_DELAY=3600000
# end of SNTP
# end of SNTP
CONFIG_LWIP_BRIDGEIF_MAX_PORTS=50
CONFIG_LWIP_BRIDGEIF_MAX_PORTS=50
#
# DNS
#
CONFIG_LWIP_DNS_MAX_SERVERS=3
# CONFIG_LWIP_FALLBACK_DNS_SERVER_SUPPORT is not set
# end of DNS
CONFIG_LWIP_ESP_LWIP_ASSERT=y
CONFIG_LWIP_ESP_LWIP_ASSERT=y
#
#
...
@@ -1489,6 +1528,7 @@ CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_MAX_CERTS=200
...
@@ -1489,6 +1528,7 @@ CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_MAX_CERTS=200
# CONFIG_MBEDTLS_ECP_RESTARTABLE is not set
# CONFIG_MBEDTLS_ECP_RESTARTABLE is not set
CONFIG_MBEDTLS_CMAC_C=y
CONFIG_MBEDTLS_CMAC_C=y
CONFIG_MBEDTLS_HARDWARE_AES=y
CONFIG_MBEDTLS_HARDWARE_AES=y
# CONFIG_MBEDTLS_GCM_SUPPORT_NON_AES_CIPHER is not set
CONFIG_MBEDTLS_HARDWARE_MPI=y
CONFIG_MBEDTLS_HARDWARE_MPI=y
CONFIG_MBEDTLS_HARDWARE_SHA=y
CONFIG_MBEDTLS_HARDWARE_SHA=y
CONFIG_MBEDTLS_ROM_MD5=y
CONFIG_MBEDTLS_ROM_MD5=y
...
@@ -1569,12 +1609,12 @@ CONFIG_MBEDTLS_ECP_DP_BP384R1_ENABLED=y
...
@@ -1569,12 +1609,12 @@ CONFIG_MBEDTLS_ECP_DP_BP384R1_ENABLED=y
CONFIG_MBEDTLS_ECP_DP_BP512R1_ENABLED=y
CONFIG_MBEDTLS_ECP_DP_BP512R1_ENABLED=y
CONFIG_MBEDTLS_ECP_DP_CURVE25519_ENABLED=y
CONFIG_MBEDTLS_ECP_DP_CURVE25519_ENABLED=y
CONFIG_MBEDTLS_ECP_NIST_OPTIM=y
CONFIG_MBEDTLS_ECP_NIST_OPTIM=y
CONFIG_MBEDTLS_ECP_FIXED_POINT_OPTIM=y
# CONFIG_MBEDTLS_POLY1305_C is not set
# CONFIG_MBEDTLS_POLY1305_C is not set
# CONFIG_MBEDTLS_CHACHA20_C is not set
# CONFIG_MBEDTLS_CHACHA20_C is not set
# CONFIG_MBEDTLS_HKDF_C is not set
# CONFIG_MBEDTLS_HKDF_C is not set
# CONFIG_MBEDTLS_THREADING_C is not set
# CONFIG_MBEDTLS_THREADING_C is not set
# CONFIG_MBEDTLS_LARGE_KEY_SOFTWARE_MPI is not set
# CONFIG_MBEDTLS_LARGE_KEY_SOFTWARE_MPI is not set
# CONFIG_MBEDTLS_SECURITY_RISKS is not set
# end of mbedTLS
# end of mbedTLS
#
#
...
@@ -1650,6 +1690,27 @@ CONFIG_MMU_PAGE_MODE="64KB"
...
@@ -1650,6 +1690,27 @@ CONFIG_MMU_PAGE_MODE="64KB"
CONFIG_MMU_PAGE_SIZE=0x10000
CONFIG_MMU_PAGE_SIZE=0x10000
# end of MMU Config
# end of MMU Config
#
# Main Flash configuration
#
#
# SPI Flash behavior when brownout
#
CONFIG_SPI_FLASH_BROWNOUT_RESET_XMC=y
CONFIG_SPI_FLASH_BROWNOUT_RESET=y
# end of SPI Flash behavior when brownout
#
# Optional and Experimental Features (READ DOCS FIRST)
#
#
# Features here require specific hardware (READ DOCS FIRST!)
#
# end of Optional and Experimental Features (READ DOCS FIRST)
# end of Main Flash configuration
#
#
# SPI Flash driver
# SPI Flash driver
#
#
...
@@ -1669,13 +1730,6 @@ CONFIG_SPI_FLASH_WRITE_CHUNK_SIZE=8192
...
@@ -1669,13 +1730,6 @@ CONFIG_SPI_FLASH_WRITE_CHUNK_SIZE=8192
# CONFIG_SPI_FLASH_CHECK_ERASE_TIMEOUT_DISABLED is not set
# CONFIG_SPI_FLASH_CHECK_ERASE_TIMEOUT_DISABLED is not set
# CONFIG_SPI_FLASH_OVERRIDE_CHIP_DRIVER_LIST is not set
# CONFIG_SPI_FLASH_OVERRIDE_CHIP_DRIVER_LIST is not set
#
# SPI Flash behavior when brownout
#
CONFIG_SPI_FLASH_BROWNOUT_RESET_XMC=y
CONFIG_SPI_FLASH_BROWNOUT_RESET=y
# end of SPI Flash behavior when brownout
#
#
# Auto-detect flash chips
# Auto-detect flash chips
#
#
...
@@ -1804,7 +1858,6 @@ CONFIG_WIFI_PROV_STA_ALL_CHANNEL_SCAN=y
...
@@ -1804,7 +1858,6 @@ CONFIG_WIFI_PROV_STA_ALL_CHANNEL_SCAN=y
CONFIG_WPA_MBEDTLS_CRYPTO=y
CONFIG_WPA_MBEDTLS_CRYPTO=y
CONFIG_WPA_MBEDTLS_TLS_CLIENT=y
CONFIG_WPA_MBEDTLS_TLS_CLIENT=y
# CONFIG_WPA_WAPI_PSK is not set
# CONFIG_WPA_WAPI_PSK is not set
# CONFIG_WPA_SUITE_B_192 is not set
# CONFIG_WPA_DEBUG_PRINT is not set
# CONFIG_WPA_DEBUG_PRINT is not set
# CONFIG_WPA_TESTING_OPTIONS is not set
# CONFIG_WPA_TESTING_OPTIONS is not set
# CONFIG_WPA_WPS_STRICT is not set
# CONFIG_WPA_WPS_STRICT is not set
...
@@ -2089,9 +2142,9 @@ CONFIG_ESP32_PHY_MAX_TX_POWER=20
...
@@ -2089,9 +2142,9 @@ CONFIG_ESP32_PHY_MAX_TX_POWER=20
# CONFIG_SPIRAM_SUPPORT is not set
# CONFIG_SPIRAM_SUPPORT is not set
# CONFIG_ESP32_SPIRAM_SUPPORT is not set
# CONFIG_ESP32_SPIRAM_SUPPORT is not set
# CONFIG_ESP32_DEFAULT_CPU_FREQ_80 is not set
# CONFIG_ESP32_DEFAULT_CPU_FREQ_80 is not set
CONFIG_ESP32_DEFAULT_CPU_FREQ_160=y
# CONFIG_ESP32_DEFAULT_CPU_FREQ_160 is not set
# CONFIG_ESP32_DEFAULT_CPU_FREQ_240 is not set
CONFIG_ESP32_DEFAULT_CPU_FREQ_240=y
CONFIG_ESP32_DEFAULT_CPU_FREQ_MHZ=
16
0
CONFIG_ESP32_DEFAULT_CPU_FREQ_MHZ=
24
0
CONFIG_TRACEMEM_RESERVE_DRAM=0x0
CONFIG_TRACEMEM_RESERVE_DRAM=0x0
# CONFIG_ESP32_PANIC_PRINT_HALT is not set
# CONFIG_ESP32_PANIC_PRINT_HALT is not set
CONFIG_ESP32_PANIC_PRINT_REBOOT=y
CONFIG_ESP32_PANIC_PRINT_REBOOT=y
...
...
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