Commit Graph

1487 Commits

Author SHA1 Message Date
lly
d9ffe54991 ble_mesh: stack: Add Kconfig options to make server models optional 2020-11-17 11:33:10 +08:00
lly
c90def0992 ble_mesh: stack: Use Kconfig option to make client models optional 2020-11-17 11:30:15 +08:00
lly
4c7a021acd ble_mesh: stack: Make some internal static functions inline 2020-11-17 11:29:28 +08:00
lly
09ac1b596d ble_mesh: stack: Add a Kconfig option to make deinit optional 2020-11-17 11:19:49 +08:00
lly
bc4ebea32c ble_mesh: stack: Introduce a new header file mesh_config.h 2020-11-17 11:18:14 +08:00
lly
330f39ee23 ble_mesh: test: Fix node test function not update role flag 2020-11-09 02:42:36 +00:00
Jiang Jiang Jian
ec4124676f Merge branch 'bugfix/bredr_bugfix_release_for_qa_dummy_disconnect_3_3' into 'release/v3.3'
Bugfix/bredr bugfix release for qa dummy disconnect 3.3

See merge request espressif/esp-idf!10649
2020-10-28 21:26:29 +08:00
Jiang Jiang Jian
3616ae4da4 Merge branch 'bugfix/add_clear_bond_complete_evt_3_3' into 'release/v3.3'
componenet_bt/bugfix: add remove bond device complete event 3.3

See merge request espressif/esp-idf!10658
2020-10-28 16:58:49 +08:00
Jiang Jiang Jian
4e71047a2a Merge branch 'bugfix/fix_bredr_read_rssi_delta_v3.3' into 'release/v3.3'
Bugfix/Fix Read Rssi Delta Bug in Bredr [backport v3.3]

See merge request espressif/esp-idf!10810
2020-10-26 21:44:39 +08:00
Jiang Jiang Jian
cd06c14265 Merge branch 'bugfix/fix_get_bond_device_list_v3.3' into 'release/v3.3'
bugfix/fix esp_bt_gap_get_bond_device_list bug [backport v3.3]

See merge request espressif/esp-idf!9669
2020-10-26 11:47:08 +08:00
Jiang Jiang Jian
410d59d53d Merge branch 'feature/esp_spp_stop_srv_v3.3' into 'release/v3.3'
bugfix/Add API esp_spp_stop_srv and fix collection of SPP [backport v3.3]

See merge request espressif/esp-idf!10010
2020-10-26 11:46:56 +08:00
boblane
c5b23a85b8 Some Bluetooth devices - such as an Xbox One S controller (model 1708) - report more than two external features pages and are rejected immediately. Pages 1 and 2 are marked as unhandled in btm_devctl.c anyway, so there is no reason to block devices with more pages.
(IDFGH-3515)
Signed-off-by: liqigan <liqigan@espressif.com>

Merges https://github.com/espressif/esp-idf/pull/5481
Closes https://github.com/espressif/esp-idf/issues/5470
2020-10-23 06:14:24 +00:00
liqigan
35b2eeaa65 add API esp_spp_stop_srv(), fix the error parameter in esp-idf/examples/bluetooth/bluedroid/classic_bt/bt_spp_initiator/main/example_spp_initiator_demo.c and fix collection of SPP
Closes https://github.com/espressif/esp-idf/issues/5409
Closes https://github.com/espressif/esp-idf/pull/5408

See merge request !9114
2020-10-22 08:33:39 +00:00
boblane
fc6f480e89 fix esp_bt_gap_get_bond_device_list bug
Closes https://github.com/espressif/esp-idf/issues/5395
2020-10-22 06:32:16 +00:00
liqigan
d61459e692 modify read rssi related function names
Closes https://github.com/espressif/esp-idf/issues/5660
2020-10-20 12:31:50 +00:00
andreachiara
b097435596 esp_ble_mesh: api: fixed comment about autoresp 2020-10-19 11:32:52 +08:00
Island
3901f38de6 Merge branch 'optimize/ble_mesh_make_buf_config_invisible_v3.3' into 'release/v3.3'
ble_mesh: stack: Make mesh buf debug option invisible (v3.3)

See merge request espressif/esp-idf!10797
2020-10-13 19:51:59 +08:00
lly
0d92639439 ble_mesh: stack: Make mesh buf debug option invisible 2020-10-13 09:31:47 +00:00
lly
23a21f92be ble_mesh: stack: Add mesh device properties v2 definitions
Also fixes wrong characteristic value length of some device
properties.
2020-10-13 09:30:16 +00:00
lly
aa329b08ce ble_mesh: stack: Move device property to model common part 2020-10-13 09:30:16 +00:00
lly
18cc96d188 ble_mesh: stack: Store kr phase after value changed [Zephyr] 2020-10-13 14:32:51 +08:00
lly
3e61d519c1 ble_mesh: stack: Fix rpl not check by proxy cfg [Zephyr] 2020-10-13 14:32:36 +08:00
lly
542b6bdbc1 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:55:58 +08:00
lly
b4c3c87c75 ble_mesh: stack: Use settings_core_erase when deinit 2020-10-12 10:02:05 +08:00
lly
3940ab80a3 ble_mesh: stack: Fix storing next net_idx and app_idx 2020-10-12 10:02:05 +08:00
lly
d7c2d66d55 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 10:02:05 +08:00
lly
4fc62b7983 ble_mesh: stack: Split model settings store and clear 2020-10-12 10:02:05 +08:00
lly
de15e502a7 ble_mesh: stack: Erase netkey and appkey with key index 2020-10-12 10:02:05 +08:00
lly
d51431fff5 ble_mesh: stack: Add clear hb_pub in settings 2020-10-12 10:02:05 +08:00
lly
d4651bbb30 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 10:02:05 +08:00
lly
e202225bd1 ble_mesh: stack: Use erase settings functions 2020-10-12 10:02:05 +08:00
lly
1a3515ab76 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 10:02:05 +08:00
lly
a662d14a4e ble_mesh: stack: Add role check before enabling device 2020-10-12 10:02:05 +08:00
lly
4dcbe2bd7a ble_mesh: stack: Define a type for mesh nvs handle 2020-10-12 10:01:47 +08:00
Chinmay Chhajed
02893a2038 components/bt: Fix for HCI desync deadlock issue in BLE controller. 2020-09-29 21:35:15 +05:30
Jiang Jiang Jian
cd86bc9d8d Merge branch 'bugfix/confirmed_bugfix_from_baidu_proj_3.3' into 'release/v3.3'
Confirmed bugfix from Baidu Project 3.3

See merge request espressif/esp-idf!10548
2020-09-29 20:48:50 +08:00
baohongde
67edd0c10e components/bt: Replace task post with btc_inter_profile_call, when post message from btc_dm to btc_gap 2020-09-28 19:36:23 +08:00
baohongde
abf6cecde1 components/bt: Fix clear bond fail when connected without ble included 2020-09-28 16:21:25 +08:00
xiongweichao
67276f5d26 add remove bond device complete event 2020-09-28 16:14:52 +08:00
xiongweichao
3c0aee8595 1.revert dummy command
2.fix send MEDIA_CTRL command in disconnect
2020-09-28 12:00:28 +08:00
xiongweichao
2233b5d25e 1.fix test case dummy
2.fix sink send media control ESP_A2D_MEDIA_CHECK_SRC_RDY
2020-09-28 11:55:46 +08:00
lly
81354cf24f 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:04:58 +08:00
Jiang Jiang Jian
fb18b12efe Merge branch 'bugfix/bt_linkup_fallback_event_v3.3' into 'release/v3.3'
Bluedroid: Fixes cases having fallback to link up event. (v3.3)

See merge request espressif/esp-idf!9805
2020-09-22 16:44:07 +08:00
weitianhua
7f9a4d25ef Confirmed bugfix from Baidu Project 2020-09-22 11:57:00 +08:00
lly
1f32a8d95e ble_mesh: stack: Check if mesh stack initialized before init vendor client 2020-09-17 11:28:02 +08:00
Island
64adabfd3a Merge branch 'bugfix/ble_mesh_prov_iv_index_v3.3' into 'release/v3.3'
ble_mesh: stack: Using the latest iv_index for provisioning (v3.3)

See merge request espressif/esp-idf!10419
2020-09-14 14:17:53 +08:00
Jiang Jiang Jian
cec88e11ed Merge branch 'component/seperate_bta_jv_l2c_3.3' into 'release/v3.3'
Component/seperate bta jv l2c 3.3

See merge request espressif/esp-idf!9651
2020-09-11 19:38:36 +08:00
lly
34f30a878e 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 07:58:20 +00:00
Island
6c5fc42114 Merge branch 'feat/ble_mesh_use_model_c_v3.3' into 'release/v3.3'
ble_mesh: stack: Use model callback for operations [Zephyr] (v3.3)

See merge request espressif/esp-idf!10365
2020-09-10 10:40:19 +08:00
Island
7514850962 Merge branch 'bugfix/ble_mesh_remove_assert_v3.3' into 'release/v3.3'
ble_mesh: stack: Avoid using assert in mesh stack (v3.3)

See merge request espressif/esp-idf!10361
2020-09-10 10:39:21 +08:00
lly
9b70ddbb77 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:01:17 +08:00
lly
1090c12acd ble_mesh: stack: Avoid using assert in mesh stack 2020-09-09 10:58:18 +08:00
lly
d79e95e6e0 ble_mesh: nimble: Fix updating ccc handle with wrong value 2020-09-09 10:50:40 +08:00
lly
31060cf42b ble_mesh: stack: Client model related code clean 2020-08-31 13:18:53 +08:00
lly
8a19d03a1c ble_mesh: stack: Rename cfg & health client status recv func 2020-08-31 13:18:48 +08:00
lly
d5e9fc092c ble_mesh: stack: Check client msg result in common func 2020-08-31 13:18:42 +08:00
lly
8ae06fde5f ble_mesh: stack: Fix no events for some error conditions 2020-08-31 13:18:37 +08:00
lly
90e2bbe330 ble_mesh: stack: Move client role set to the msg function 2020-08-31 13:18:31 +08:00
lly
9aa33c344a ble_mesh: stack: Remove some not used client parameters 2020-08-31 13:18:25 +08:00
lly
7cb6b85ec9 ble_mesh: stack: Remove some not used variables & functions 2020-08-31 13:18:18 +08:00
lly
f11e347e2e ble_mesh: stack: Update client model msg send 2020-08-31 13:18:11 +08:00
lly
726c74ff39 ble_mesh: stack: Fix recv health current status incorrectly 2020-08-28 17:40:59 +08:00
lly
ff1132d2e4 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-28 10:51:17 +08:00
lly
6ea6de8d42 ble_mesh: stack: Make proxy server & client functions clear 2020-08-28 10:51:02 +08:00
lly
f6cc9afaa9 ble_mesh: stack: Add proxy cfg pdu length check 2020-08-27 11:20:50 +00:00
lly
55489bb41a 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-27 11:20:50 +00:00
lly
c1c4990f75 ble_mesh: stack: Add more checks about input prov bearers 2020-08-27 11:20:50 +00:00
Island
72f029abc3 Merge branch 'feat/ble_mesh_use_iram_for_mem_alloc_v3.3' into 'release/v3.3'
Feat/ble mesh use diff ram for mem alloc (v3.3)

See merge request espressif/esp-idf!9619
2020-08-27 19:19:23 +08:00
Island
c902b1fa24 Merge branch 'bugfix/ble_mesh_update_send_ttl_v3.3' into 'release/v3.3'
Bugfix/ble mesh update send ttl v3.3

See merge request espressif/esp-idf!9564
2020-08-27 19:19:01 +08:00
lly
2a6b0d68ce ble_mesh: stack: Rename mesh adv queue and relay queue 2020-08-26 08:24:55 +00:00
lly
da068a639f ble_mesh: stack: Use macros for adv task name & prio 2020-08-26 08:24:55 +00:00
lly
df8b2c5f3a ble_mesh: stack: Make freertos static allocation visible 2020-08-26 08:24:55 +00:00
lly
a194c415a8 ble_mesh: stack: Update option of using DRAM/SPIRAM for memory allocation 2020-08-26 08:24:55 +00:00
weitianhua
8fb47ab0c2 Seperate BTA_JV_L2CAP for less bin size 2020-08-26 15:33:48 +08:00
Wang Cheng
bfaa14bfdd component/bt: Fix buffer count deinit crash. 2020-08-10 11:43:54 +08:00
wangcheng
12d476427f components/bt: Add api to query the number of available buffers for the current connection 2020-08-10 11:43:54 +08:00
baohongde
debda4a63f Fix ble disconnect due to instant of channel map update is too small
Set AFH in time
Fix ble connecting fail in coexist
2020-08-10 11:43:54 +08:00
baohongde
b76f5b2ef2 Coexistence: Add coexist API to enable BLE connection dynamic priority 2020-08-10 11:43:54 +08:00
wangcheng
d674016d64 component/bt: add connect parameter, fix instant reverse, fix tx default octets, fix assert(1024,0), fix assert(512,0) 2020-08-10 11:43:17 +08:00
Chinmay Chhajed
6bbb75f219 Bluedroid: Fixes cases having fallback to link up event.
Signed-off-by: Chinmay Chhajed <chinmay.chhajed@espressif.com>
2020-07-27 14:08:03 +05:30
lly
28c0673376 ble_mesh: stack: Add two application macros for TTL 2020-07-10 09:15:56 +08:00
lly
9eb66d49e4 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-07-10 09:15:49 +08:00
lly
8753fb359a ble_mesh: stack: Update some fast prov functions 2020-07-03 08:54:59 +08:00
lly
bbf4ce8d18 ble_mesh: stack: Move fast prov functions to a single file 2020-07-03 08:54:51 +08:00
lly
d76a3a8372 ble_mesh: ci: Fix failing to compile when using make 2020-07-02 03:38:18 +00:00
lly
e36105156c ble_mesh: Mark platform related default RNG as 0 2020-07-02 03:38:18 +00:00
lly
9060de827f ble_mesh: Remove the previously added redundant aes files 2020-07-02 03:38:18 +00:00
lly
8887bd5f3c ble_mesh: Update CMake and make files for tinycrypt 2020-07-02 03:38:18 +00:00
lly
0940f5b2c3 ble_mesh: Update tinycrypt header file include guards
Add BLE_MESH in the macro to make it specific for BLE Mesh.
2020-07-02 03:38:18 +00:00
lly
d690e52993 ble_mesh: Format source and header files of tinycrypt 2020-07-02 03:38:18 +00:00
lly
12b9f59559 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-07-02 03:38:18 +00:00
lly
f835011e2f 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-07-01 12:32:04 +08:00
Island
021e23ebf7 Merge branch 'bugfix/ble_mesh_check_subnet_before_update_beacon_sent_v3.3' into 'release/v3.3'
ble_mesh: Check if subnet exists before updating beacon_sent (v3.3)

See merge request espressif/esp-idf!9398
2020-07-01 11:17:08 +08:00
Island
31b52a5c05 Merge branch 'bugfix/ble_mesh_set_recv_rssi_v3.3' into 'release/v3.3'
Bugfix/ble mesh set recv rssi (v3.3)

See merge request espressif/esp-idf!9392
2020-07-01 11:15:48 +08:00
Jiang Jiang Jian
46bc9e5dc4 Merge branch 'feature/bt_secure_conn_downgrade_check_v3.3' into 'release/v3.3'
Bluedroid: Authentication fixes in Legacy and Secure Connection.

See merge request espressif/esp-idf!9332
2020-06-30 15:12:21 +08:00
lly
9f6375db50 ble_mesh: Check if subnet exists before updating beacon_sent
- Before updating the "beacon_sent" of a subnet, we need to check
  if the subnet still exists, especially for a Provisioner.
- Fix a bug which will cause Provisioner failed to send Secure
  Network Beacon if no device is provisioned
2020-06-30 09:23:28 +08:00
lly
96865524c7 ble_mesh: stack: Copy recv_rssi for other received messages
Follow the commit: 2b80cb6883,
copy the recv_rssi for other mesh messages.
2020-06-30 09:06:42 +08:00
mbroek
86cad8b825 When a generic mesh model message is received "bt_mesh_generic_server_cb_evt_to_btc" copies the
ctx values to cb_params for the mesh stack.

recv_rssi was not copied.

This means the rssi could not be read when receiving generic server messages using ble_mesh.
2020-06-30 09:06:31 +08:00
Island
370bb55f42 Merge branch 'bugfix/ble_mesh_get_node_with_name_v3.3' into 'release/v3.3'
ble_mesh: Get node info with pre-configured node name (v3.3)

See merge request espressif/esp-idf!9304
2020-06-28 20:25:13 +08:00
Island
1fb6ffecad Merge branch 'bugfix/ble_mesh_bt_hex_v3.3' into 'release/v3.3'
ble_mesh: Fix wrong log output with bt_hex (v3.3)

See merge request espressif/esp-idf!9311
2020-06-28 20:23:56 +08:00