Commit Graph

1795 Commits

Author SHA1 Message Date
lly
1b1139ed55 ble_mesh: stack: Add mesh device properties v2 definitions
Also fixes wrong characteristic value length of some device
properties.
2020-10-13 09:29:50 +00:00
lly
10a618e7b2 ble_mesh: stack: Move device property to model common part 2020-10-13 09:29:50 +00:00
lly
6dadc60c8e ble_mesh: stack: Store kr phase after value changed [Zephyr] 2020-10-13 14:28:44 +08:00
lly
79d7cb2751 ble_mesh: stack: Fix rpl not check by proxy cfg [Zephyr] 2020-10-13 14:28:44 +08:00
lly
0c136620d9 ble_mesh: stack: Persistent storage misc fixes
* Fix the issue that deinit node with "erase_flash"
  set to true, but info is not erased from nvs
* Reuse bt_mesh_cfg_reset() when deinit node
* Optimize Provisioner related erase operations
* No store pending timeout will be used when Node
  is not provisioned OR Provisioner is disabled
  and erase operation is performed
* Change the default timeout for settings operation
  to 0, and rpl store rate to 0
2020-10-13 10:54:18 +08:00
liqigan
ca42c8ec5c 1. fix read rssi delta bug in bredr
2. modify read rssi related function names

Closes https://github.com/espressif/esp-idf/issues/5660
2020-10-12 17:55:53 +08:00
lly
d48b719e66 ble_mesh: stack: Use settings_core_erase when deinit 2020-10-12 08:47:49 +08:00
lly
cf500b3f47 ble_mesh: stack: Fix storing next net_idx and app_idx 2020-10-12 08:47:49 +08:00
lly
ff88343a10 ble_mesh: stack: Continue restore even if failure happens
Previously we have used this solution for node info
restore. Here use the same solution for other mesh
information restore.
2020-10-12 08:47:49 +08:00
lly
66a798dbf2 ble_mesh: stack: Split model settings store and clear 2020-10-12 08:47:49 +08:00
lly
2598844423 ble_mesh: stack: Erase netkey and appkey with key index 2020-10-12 08:47:49 +08:00
lly
402fe837c1 ble_mesh: stack: Add clear hb_pub in settings 2020-10-12 08:47:49 +08:00
lly
e05d42d910 ble_mesh: stack: Transport rx reset settings update
When reset the rx info of transport layer, the
rpl list will always cleared, and rpl stored
in the nvs will only be erased when erase flag
is true and BLE_MESH_SETTINGS is enabled.
Compared with the previous solution, it should
be more clear.
2020-10-12 08:47:48 +08:00
lly
895dd44f8e ble_mesh: stack: Use erase settings functions 2020-10-12 08:47:47 +08:00
lly
ecf065e2a6 ble_mesh: stack: Use mutex for settings operation
Also expose the settings functions with the parameter
bt_mesh_nvs_handle_t, which will be used for further
updates.
2020-10-12 08:47:46 +08:00
lly
5444c8a462 ble_mesh: stack: Add role check before enabling device 2020-10-12 08:47:45 +08:00
lly
4b27c84095 ble_mesh: stack: Define a type for mesh nvs handle 2020-10-12 08:47:45 +08:00
Chinmay Chhajed
0d25a9cff8 NimBLE: host_rcv_pkt event buf size check.
Check if the size of HCI event buffer is greater than the received HCI
packet. If not then abort with the error message.
2020-10-09 09:29:57 +05:30
baohongde
684ffdfe70 components/bt: Replace task post with btc_inter_profile_call, when post message from btc_dm to btc_gap 2020-09-28 15:27:24 +08:00
baohongde
98e7bc3375 components/bt: Fix clear bond fail when connected without ble included 2020-09-28 15:26:56 +08:00
xiongweichao
9c4e79dafa add remove bond device complete event 2020-09-28 15:26:48 +08:00
xiongweichao
09e48edd87 1.revert dummy command
2.fix send MEDIA_CTRL command in disconnect
2020-09-28 11:11:12 +08:00
xiongweichao
3db75c4e9d 1.fix test case dummy
2.fix sink send media control ESP_A2D_MEDIA_CHECK_SRC_RDY
2020-09-28 11:10:54 +08:00
lly
0e83f4b960 ble_mesh: stack: Optimize Provisioner delete device function
Since we have provided separate functions for deleting node
information with node's unicast address, device uuid, etc.
So we update the behavior of this function, which will only
be used to delete device information which is not provisioned
or just under provisioning.
2020-09-25 14:03:52 +08:00
weitianhua
754c91f9e1 Confirmed bugfix from Baidu project 2020-09-22 11:46:01 +08:00
Jiang Jiang Jian
167966380b Merge branch 'docs/fix_event_typo_backport_v4.1' into 'release/v4.1'
docs/fix event typo backport v4.1

See merge request espressif/esp-idf!9383
2020-09-20 16:29:33 +08:00
weitianhua
f78c8cc0db Redesign separating AVRC & A2DP
1. Add g_av_with_rc to avrc_tg_init function
2. Remove g_av_open_fail
3. Add comment in API files
4. Add a2dp init & deinit state variable to inidcate a2dp statement
2020-09-18 14:11:27 +08:00
weitianhua
e797e742f8 Add global header and change declaration position 2020-09-18 14:11:18 +08:00
weitianhua
627b5a4cae Remove uneccessary macro
Separate AVRC from A2DP when AVRC not Initialized
2020-09-18 14:11:10 +08:00
weitianhua
3c88fa5a1e Rewrite a2dp clean_up function 2020-09-18 14:11:00 +08:00
weitianhua
8ad40cecb4 Add bda_addr for esp_bt_a2dp_disconn_req API
1. Add reaction for a2dp snk & src disconn req when no link up
  2. Change state machine set before EVT upto APP layer in some cases
  3. Add bool open_fail to choose whether post disconnection evt to app layer
2020-09-18 14:10:48 +08:00
lly
d1311d1e23 ble_mesh: stack: Check if mesh stack initialized before init vendor client 2020-09-17 11:26:40 +08:00
Island
9e8b44e353 Merge branch 'bugfix/ble_mesh_prov_iv_index_v4.1' into 'release/v4.1'
ble_mesh: stack: Using the latest iv_index for provisioning (v4.1)

See merge request espressif/esp-idf!10417
2020-09-11 20:09:01 +08:00
Jiang Jiang Jian
df3aef80c0 Merge branch 'component/seperate_bta_jv_l2c_4.1' into 'release/v4.1'
Component/seperate bta jv l2c 4.1

See merge request espressif/esp-idf!9645
2020-09-11 19:38:00 +08:00
Jiang Jiang Jian
b204bc1bd6 Merge branch 'bugfix/change_pcm_config_position_4.1' into 'release/v4.1'
Bugfix/ Change PCM config position 4.1

See merge request espressif/esp-idf!10314
2020-09-11 19:35:55 +08:00
Jiang Jiang Jian
b131fffa84 Merge branch 'bugfix/add_protection_for_spp_api_4.1' into 'release/v4.1'
Bugfix/add protection for spp api 4.1

See merge request espressif/esp-idf!10282
2020-09-11 19:33:49 +08:00
lly
bca0b85fc3 ble_mesh: stack: Using the latest iv_index for provisioning
Provisioner should always uses the latest IV Index for provisioning.
For example, if the current IV Index is 0x00000001, but prov->iv_index
is still initialized with 0x00000000, and if Provisioner uses prov->
iv_index for provisioning, this will cause the Provisioner failing to
control the node.
So here bt_mesh.iv_index is used instead of prov->iv_index.
2020-09-11 10:56:06 +08:00
Jiang Jiang Jian
723c8d9899 Merge branch 'bugfix/btdm_spp_null_ptr_with_dynamic_memory_v4.1' into 'release/v4.1'
components/bt: Fix SPP using NULL point with dynamic memory

See merge request espressif/esp-idf!10323
2020-09-10 18:24:11 +08:00
Island
e42c8d2f1f Merge branch 'feat/ble_mesh_use_model_c_v4.1' into 'release/v4.1'
ble_mesh: stack: Use model callback for operations [Zephyr] (v4.1)

See merge request espressif/esp-idf!10363
2020-09-10 10:39:54 +08:00
Island
b5df4843b2 Merge branch 'bugfix/ble_mesh_remove_assert_v4.1' into 'release/v4.1'
ble_mesh: stack: Avoid using assert in mesh stack (v4.1)

See merge request espressif/esp-idf!10359
2020-09-10 10:39:00 +08:00
lly
c570f51b53 ble_mesh: stack: Use model callback for operations [Zephyr]
- Previously when a model is initialized or deinitialized, in the
  access layer, we need to check the model id with the ids in the
  table in order to find the proper model operation function.
- Currently all the operation functions of each model will be set
  during the mesh initialization. When the model is found, we can
  directly use the corresponding callback for different operations.
- Currently only init/deinit operations are registered, later we
  will add more operations.
2020-09-09 14:00:21 +08:00
lly
67055161c1 ble_mesh: stack: Avoid using assert in mesh stack 2020-09-09 10:57:25 +08:00
lly
67ed9b5799 ble_mesh: nimble: Fix updating ccc handle with wrong value 2020-09-08 21:02:34 +08:00
baohongde
86cd54117e components/bt: Fix SPP using NULL point with dynamic memory 2020-09-07 15:45:33 +08:00
Jiang Jiang Jian
7891ba1e24 Merge branch 'bugfix/l2cap_link_timeout_llcp_prog_btu_wtd_v4.1' into 'release/v4.1'
Bugfix/l2cap link timeout llcp prog btu wtd v4.1

See merge request espressif/esp-idf!10254
2020-09-07 14:11:57 +08:00
weitianhua
585120da0d Change PCM config position 2020-09-07 10:34:34 +08:00
Jiang Jiang Jian
245047e82d Merge branch 'feature/enable_pcm_config_v4.1' into 'release/v4.1'
Feature/enable pcm config v4.1

See merge request espressif/esp-idf!9654
2020-09-04 20:07:27 +08:00
wangcheng
e963390324 component/bt: Fixed the watchdog timeout of btu task during multi-connection 2020-09-04 16:25:49 +08:00
weitianhua
b4dc11a409 Add protection for rfcomm close API in SPP 2020-09-04 14:41:34 +08:00
weitianhua
15111210a1 Add some debug log for bt:
1. Add logs for SPP not enabled successfully
2. Add information to Applicatioin layer that the A2DP is connecting to peer device

Regular BTC and BTU Task name & Add BTC Init protection

1. Regular the BTC Task Name to Close a Github issue

   Closes https://github.com/espressif/esp-idf/issues/4966

2. Add BTC Init failure protection

3. Regular BTU Task Name with BTC

4. Correct the comment of
   a. SDP_ServiceSearchRequest and SDP_ServiceSearchRequest2
   b. l2cu_create_conn_after_switch

5. Correct comment of esp_bt_hf_vra();

6. Fix cpp compilier region
2020-09-04 14:41:26 +08:00
wangcheng
8acffd2931 components/bt: Fixed the state not synchronized between controller and host when disconnected. 2020-09-02 21:45:26 +08:00
Island
da669efa0c Merge branch 'bugfix/btdm_blufi_data_sequence_not_reset_after_disconnect_v4.1' into 'release/v4.1'
component/bt: fix Blufi sends data after disconnect the seq still increase(backport v4.1)

See merge request espressif/esp-idf!10240
2020-09-02 14:20:44 +08:00
XieWenxiang
1f54e90bb4 component/bt: fix Blufi sends data after disconnect the seq still increase(backport v4.1) 2020-09-02 11:15:27 +08:00
weitianhua
645715c1b0 Enable PCM config in controller 2020-09-01 16:35:07 +08:00
weitianhua
887f5040da Enable PCM config in host 2020-09-01 16:35:07 +08:00
lly
92ce5c1f23 ble_mesh: stack: Client model related code clean 2020-08-31 17:33:12 +08:00
lly
df1c6fd95c ble_mesh: stack: Rename cfg & health client status recv func 2020-08-31 17:33:11 +08:00
lly
bbe75af7a3 ble_mesh: stack: Check client msg result in common func 2020-08-31 17:33:11 +08:00
lly
4634ad6fa4 ble_mesh: stack: Fix no events for some error conditions 2020-08-31 17:33:10 +08:00
lly
5ccf6cd381 ble_mesh: stack: Move client role set to the msg function 2020-08-31 17:33:10 +08:00
lly
259d1924cb ble_mesh: stack: Remove some not used client parameters 2020-08-31 17:33:09 +08:00
lly
1bd4fe1f50 ble_mesh: stack: Remove some not used variables & functions 2020-08-31 17:33:09 +08:00
lly
62458dbb90 ble_mesh: stack: Update client model msg send 2020-08-31 17:33:08 +08:00
lly
5704b13bc9 ble_mesh: stack: Fix recv health current status incorrectly 2020-08-31 13:57:12 +08:00
lly
c3b300064b ble_mesh: stack: Only keep func pointer for very common log
Currently only keep func pointer for the followings:
- Invalid parameter (mesh btc & mesh stack)
- Out of memory (mesh btc & mesh stack)
- Unknown act (mesh btc)
- Invalid model user data (mesh stack)
- BT_DBG("%s", __func__) (mesh btc & mesh stack)
- A few other specific situations (buf ref debug, send status check)
2020-08-31 11:23:35 +08:00
lly
bbd9a8a44d ble_mesh: stack: Make proxy server & client functions clear 2020-08-31 11:23:34 +08:00
lly
72ce618f9a ble_mesh: stack: Add proxy cfg pdu length check 2020-08-28 17:45:09 +08:00
lly
36dc7ae71e ble_mesh: stack: Rework using dev flag to check scan status
Different bluetooth host has different behaviors, so it's better
to maintain a scan check mechanism of BLE Mesh itself.
Fixes an issue when only PB-GATT is enabled for node, which will
output a scan error log when the device is provisioned.
2020-08-28 17:45:08 +08:00
lly
7b57311a0e ble_mesh: stack: Add more checks about input prov bearers 2020-08-28 17:45:07 +08:00
lly
ad412850d0 ble_mesh: stack: Rename mesh adv queue and relay queue 2020-08-28 06:07:17 +00:00
lly
20d33f27d6 ble_mesh: stack: Use macros for adv task name & prio 2020-08-28 06:07:17 +00:00
lly
84012fa82f ble_mesh: stack: Make freertos static allocation visible 2020-08-28 06:07:17 +00:00
lly
ffcd55bbf2 ble_mesh: stack: Update option of using DRAM/SPIRAM for memory allocation 2020-08-28 06:07:17 +00:00
Island
e1e082072c Merge branch 'bugfix/ble_mesh_fast_prov_misc_update_v4.1' into 'release/v4.1'
Bugfix/ble mesh fast prov misc update (v4.1)

See merge request espressif/esp-idf!9465
2020-08-28 14:03:10 +08:00
Island
329f7f8210 Merge branch 'bugfix/btdm_blufi_send_longer_custom_data_will_congested_v4.1' into 'release/v4.1'
component/bt: fix Blufi sends longer customer data  will will lead congested(backport v4.1)

See merge request espressif/esp-idf!9947
2020-08-28 13:55:28 +08:00
Island
0cc8639e2f Merge branch 'bugfix/ble_mesh_update_send_ttl_v4.1' into 'release/v4.1'
Bugfix/ble mesh update send ttl (v4.1)

See merge request espressif/esp-idf!10159
2020-08-28 10:43:43 +08:00
XieWenxiang
a88420c860 component/bt: fix Blufi sends longer customer data will will lead congested(backport v4.1) 2020-08-28 07:10:11 +08:00
lly
ce4a8af3c7 ble_mesh: stack: Update some fast prov functions 2020-08-27 14:36:58 +00:00
lly
e3a7fb2fd4 ble_mesh: stack: Move fast prov functions to a single file 2020-08-27 14:36:58 +00:00
lly
7308f60a74 ble_mesh: ci: Fix failing to compile when using make 2020-08-27 10:57:51 +00:00
lly
50fc403018 ble_mesh: Mark platform related default RNG as 0 2020-08-27 10:57:51 +00:00
lly
0b65005ffd ble_mesh: Remove the previously added redundant aes files 2020-08-27 10:57:51 +00:00
lly
60ba33afa9 ble_mesh: Update CMake and make files for tinycrypt 2020-08-27 10:57:51 +00:00
lly
d90f3f9119 ble_mesh: Update tinycrypt header file include guards
Add BLE_MESH in the macro to make it specific for BLE Mesh.
2020-08-27 10:57:51 +00:00
lly
7d40d308bb ble_mesh: Format source and header files of tinycrypt 2020-08-27 10:57:51 +00:00
lly
0dda8869cd ble_mesh: Port full implementation of tinycrypt [Zephyr]
- Original code is here: https://github.com/zephyrproject-rtos/tinycrypt
- Also this fixes the compile error when NimBLE and ESP BLE Mesh
  both uses the tinycrypt.
2020-08-27 10:57:51 +00:00
Island
8a0ae62a03 Merge branch 'bugfix/ble_mesh_compile_error_v4.1' into 'release/v4.1'
Bugfix/ble mesh proxy compile error (v4.1)

See merge request espressif/esp-idf!9431
2020-08-27 18:03:01 +08:00
lly
8988fb9b8d ble_mesh: Config and health client btc fixes
Fix an issue which may cause no error code is returned
when sending config client or health client messages
with invalid parameters.
2020-08-26 08:28:12 +00:00
lly
bd187b022f ble_mesh: Add more checks of net_idx & app_idx 2020-08-26 08:28:12 +00:00
lly
7ba69e5439 ble_mesh: Optimize some send & recv logs 2020-08-26 08:28:12 +00:00
lly
75af20e687 ble_mesh: stack: Add two application macros for TTL 2020-08-26 16:12:26 +08:00
lly
5952694160 ble_mesh: stack: Update send_ttl in btc when recv a msg
Update send_ttl mainly for server models. When a server model
receives a message, and the status is required to be replied
by the application, we need to set send_ttl to the msg context.
If send_ttl is not updated in btc, and the applcation does not
set the TTL either, then the status will be replied with TTL=0,
which may cause the client side (e.g. the phone App) failed to
receive the status.

Closes https://github.com/espressif/esp-idf/issues/5300
2020-08-26 16:12:26 +08:00
Island
e40e694cf9 Merge branch 'bugfix/ble_mesh_set_recv_rssi_v4.1' into 'release/v4.1'
Bugfix/ble mesh set recv rssi (v4.1)

See merge request espressif/esp-idf!9400
2020-08-26 15:56:02 +08:00
lly
45f7edd4f2 ble_mesh: stack: Fix compile error when only proxy enabled
Also remove some redundant CONFIG_BLE_MESH_PROXY checks, because
when the following options are satisfied, the CONFIG_BLE_MESH_PROXY
option will be selected mandatorily.
2020-08-26 07:50:10 +00:00
weitianhua
899ef49272 Seperate BTA_JV_L2CAP for less bin size 2020-08-26 15:30:26 +08:00
Island
ade43317ca Merge branch 'bugfix/ble_mesh_get_node_with_name_v4.1' into 'release/v4.1'
ble_mesh: Get node info with pre-configured node name (v4.1)

See merge request espressif/esp-idf!10145
2020-08-26 15:28:15 +08:00
Jiang Jiang Jian
a27ea5a6c8 Merge branch 'feature/bt_secure_conn_downgrade_check_v4.1' into 'release/v4.1'
Bluedroid: Authentication fixes in Legacy and Secure Connection.

See merge request espressif/esp-idf!9339
2020-08-26 11:33:12 +08:00
lly
292333a27c ble_mesh: Get node info with pre-configured node name
Also add a function to get the entry of the nodes table.

Closes https://github.com/espressif/esp-idf/issues/5397
2020-08-25 09:35:34 +08:00
Island
1c8ce47465 Merge branch 'bugfix/ble_mesh_check_subnet_before_update_beacon_sent_v4.1' into 'release/v4.1'
ble_mesh: Check if subnet exists before updating beacon_sent (v4.1)

See merge request espressif/esp-idf!9396
2020-08-24 17:20:12 +08:00
lly
bd59c89540 ble_mesh: stack: Copy recv_rssi for other received messages
Follow the commit: 2b80cb6883,
copy the recv_rssi for other mesh messages.
2020-08-24 08:52:05 +00:00