Commit graph

1574 commits

Author SHA1 Message Date
Island 61405472e4 Merge branch 'bugfix/ble_mesh_time_scene_wrong_name_v4.1' into 'release/v4.1'
ble_mesh: Fix time scene wrong macro name (v4.1)

See merge request espressif/esp-idf!8510
2020-05-06 11:11:24 +08:00
lly 4b1cbe87b3 ble_mesh: Fix client local parameters not initialized 2020-04-30 11:50:15 +00:00
lly 8b2291a718 ble_mesh: Continue node info restore even if failure happens
During BLE Mesh Provisioner initialization, the stack will restore
the nodes information if settings storage is enabled.
Previously when a failure happens (e.g. found the same uuid) during
the restore procedure, the information of the following nodes will
not be restored and error will be directly returned.
But this will introduce some problem with user experience, because
some newly provisioned nodes information will not be restored and
Provisioner will not be able to control those nodes.
So we change the operation here, when a failure happens during the
restore procedure, Provisioner will only ignore the information of
the current node and continue restoring other nodes information.
2020-04-30 11:50:15 +00:00
lly fca4124f70 ble_mesh: Remove some redundant functions 2020-04-30 11:50:15 +00:00
lly d35d765395 ble_mesh: Notify unprovisioned device beacon to application layer
With this change, if a Provisioner has provisioned the maximum
number of nodes, it can still report the unprovisioned device
beacon from other nodes to the application layer. And this will
be more reasonable compared with the previous implementation.
Previously when the node array of Provisioner is full, no beacon
from unprovisioned devices will be reported, only some warning
logs will be given.
2020-04-30 11:50:15 +00:00
lly 94092a148c ble_mesh: Check if assigned node address is duplicated
Previously only check the node address when it is assigned by the
application layer. Here we also check the address when the address
is allocated internally. And this will be useful when some mesh
internal tests are performed.
2020-04-30 11:50:15 +00:00
lly 68e8a7e0ba ble_mesh: Update next alloc address when node info is added 2020-04-30 11:50:15 +00:00
lly 62ac50f9d7 ble_mesh: Fix Provisioner provisioning deadlock 2020-04-30 11:50:15 +00:00
lly fefd52f093 ble_mesh: Remove BLE_MESH_MAX_STORED_NODES option
Previously the BLE_MESH_MAX_STORED_NODES option is added for
internal mesh test, which will be a little confusing for the
users to understand.
Here we remove this option, instead the BLE_MESH_MAX_PROV_NODES
will be used for all the cases. For mesh internal test, when
the test function is called to add some nodes info, the info
will be stored in the array of provisioned nodes directly.
2020-04-30 11:50:15 +00:00
lly 7c379f8a65 ble_mesh: Associate replay protection list size with nodes count
The replay protection list of Provisioner should be at least equal
to the number of nodes with the precondition that each node contains
only one element.
The help information of replay protection list is updated, and the
maximum number of nodes for Provisioner is adjusted based on the
replay protection list size.
2020-04-30 11:50:15 +00:00
lly c28828d255 doc: Fix some ble mesh description 2020-04-30 11:43:26 +00:00
lly 67eef52822 ble_mesh: Add some common macros for sensor model 2020-04-30 11:35:11 +00:00
lly 6f7acf6a21 ble_mesh: Allow empty sensor series column value 2020-04-30 11:35:11 +00:00
lly df96c73471 ble_mesh: Check if same sensor (settings) property id exists 2020-04-30 11:35:11 +00:00
lly 3ceb5b3718 ble_mesh: Allow empty sensor settings exist 2020-04-30 11:35:11 +00:00
lly d51bd36142 ble_mesh: Add missing #ifdef __cplusplus 2020-04-30 08:45:55 +00:00
baohongde ddaa9d4523 Coexistence: Add coexist API to enable BLE connection dynamic priority 2020-04-29 13:57:59 +08:00
lly e6fc2a7bc8 ble_mesh: Fix time scene wrong macro name 2020-04-27 16:24:13 +08:00
Jiang Jiang Jian f646cdd6a8 Merge branch 'nimble/fix_ble_hs_reset_v4.1' into 'release/v4.1'
NimBLE: Reset master and slave states on host reset and few minor fixes  (backport v4.1)

See merge request espressif/esp-idf!8216
2020-04-15 13:23:59 +08:00
lly 1ac44aa202 ble_mesh: Support BLE advertising simultaneously 2020-04-10 17:34:06 +08:00
Prasad Alatkar acb92c225f NimBLE: Minor fix in esp_nimble_cfg and bleprph README (backport v4.1) 2020-04-09 16:05:14 +05:30
Prasad Alatkar 072d01da2f NimBLE: Reset master and slave states on host reset and fix build failure (backport v4.1) 2020-04-09 16:05:04 +05:30
lly 89f7e62011 ble_mesh: Add ble mesh white list test function
Using the ble mesh white list test functions, a node can choose to
only receive mesh messages from a specific node and relay the
messages for it. Messages from other nodes will be ignored.
2020-04-09 06:03:59 +00:00
Jiang Jiang Jian 9a1c5a903f Merge branch 'bugfix/btdm_backports_v4.1_0328' into 'release/v4.1'
Bugfix/btdm backports v4.1 0328

See merge request espressif/esp-idf!8150
2020-04-02 22:47:49 +08:00
xiewenxiang 79590d2e21 component/bt: fix don't dequeue the command queue after process the read_by_type_req 2020-03-31 16:27:08 +08:00
baohongde a8494b68e1 components/coex: Fix wakeup delay with DFS 2020-03-28 20:12:21 +08:00
gengyuchao 374e9b32d4 bugfix/fix_controller_disable_re_enable_crash 2020-03-28 17:14:37 +08:00
Jiang Jiang Jian 71ffae5d6e Merge branch 'bugfix/hfp_github_issues_v4.1' into 'release/v4.1'
Bugfix for HFP and some Github issue. v4.1

See merge request espressif/esp-idf!7975
2020-03-20 13:21:33 +08:00
weitianhua f5fc735711 Bugfix for HFP and some Github issue.
1. Bugfix for AG audio crash (change the return position)
2. Fix the error macro name and error return in hfp_hf demo
3. Fix the annotation error using UTF-8 ' (from Github)
4. Change or remove the log in SCO related code region.
5. Correct error of introduction of a function.
2020-03-18 04:06:24 +00:00
lly 7815cd9ff4 ble_mesh: Fix ble mesh nimble host deinit 2020-03-17 16:18:50 +08:00
Jiang Jiang Jian 1cdea40bba Merge branch 'bugfix/ble_mesh_miscellaneous_fix_v4.1' into 'release/v4.1'
Bugfix/ble mesh miscellaneous fix (v4.1)

See merge request espressif/esp-idf!7969
2020-03-17 15:34:19 +08:00
weitianhua aa6347339c Remove (x2) variable in BCM_STRNCPY_S and BCM_STRCPY_S when performance optimization enabled 2020-03-14 14:41:16 +08:00
weitianhua 8488f292c2 Fix mem_start uninitialized error when compiler optimization performance enabled 2020-03-14 14:41:06 +08:00
lly 6431a5e185 ble_mesh: Move dev_role to the end of model_pub 2020-03-13 19:24:49 +08:00
lly 27b28c0249 ble_mesh: Use the right netkey during iv update 2020-03-13 19:24:45 +08:00
lly b29bc240a7 ble_mesh: Use the right net_idx & app_idx for publish 2020-03-13 19:24:37 +08:00
lly 940e87c0da ble_mesh: Check buf->ref before unref the buffer 2020-03-13 19:24:32 +08:00
lly 60eaca9637 ble_mesh: Fix mesh memory use-after-free issue 2020-03-13 19:24:27 +08:00
lly e01333514d ble_mesh: Add ble mesh deinit in btc task 2020-03-13 19:24:23 +08:00
lly f0519c674f ble_mesh: Free beacon timer when deinit mesh 2020-03-13 19:24:18 +08:00
lly de9186b908 ble_mesh: Use lock for mesh timer operations 2020-03-13 19:24:12 +08:00
Prasad Alatkar 48fe9dfce7 NimBLE: Add Host based privacy (RPA) feature support (v4.1)
- This feature removes dependency on controller to use privacy (RPA)

Closes BT-519
2020-03-06 11:02:22 +08:00
Prasad Alatkar e36b3e0d04 NimBLE: Fix check for static random address & add MSYS_1 in menuconfig (v4.1)
Closes BT-522 & BT-523
2020-03-05 18:00:27 +08:00
Island 0e21d1e372 Merge branch 'nimble/misc_host_flow_ctrl_changes_v4.1' into 'release/v4.1'
NimBLE: Misc changes in host flow control, ble_gap_unpair, ble_hs_hci_rx_evt, memory management & example (backport v4.1)

See merge request espressif/esp-idf!7857
2020-03-05 14:54:39 +08:00
Jiang Jiang Jian 96cd373265 Merge branch 'bugfix/btdm_assert_when_create_connection_cancel_v4.1' into 'release/v4.1'
components/bt: Fix assert when create conntion cancel

See merge request espressif/esp-idf!7817
2020-03-05 14:53:18 +08:00
Hrishikesh Dhayagude 74c528d836 NimBLE: Use dynamic buffers instead of static memory.
The NimBLE host buffers that consume a significant amount of memory are
now allocated dynamically.
The advantage is that, the memory can be reclaimed in cases where BLE
is turned off and not required for the current boot cycle
2020-03-04 12:01:53 +05:30
Prasad Alatkar c55689ca18 NimBLE: Misc changes in host flow control, ble_gap_unpair, ble_hs_hci_rx_evt & example (v4.1)
- Add menuconfig option for NimBLE host flow control
- Include changes in `blecent` example from upstream PR!702
- add ble_hs_lock in ble_gap_unpair Upstream PR!584
- ble_hs_hci_rx_evt, upstream PR!738

Closes https://github.com/espressif/esp-idf/issues/4243
2020-03-04 11:35:47 +05:30
lly 8e34adb94c ble_mesh: Calc incomplete timeout based on msg info 2020-03-02 02:08:13 +00:00
lly 7d41eb6f52 ble_mesh: Start the timer when starting to send the client message 2020-03-02 02:08:13 +00:00
lly 2a014db549 ble_mesh: No timeout for client message to non-unicast address 2020-03-02 02:08:13 +00:00
lly 6c207ea6d2 ble_mesh: Unify client application and lower transport layer timeout 2020-03-02 02:08:13 +00:00
lly 2611e23bd2 ble_mesh: Allow maximum 377 octets payload 2020-03-02 02:08:13 +00:00
lly 4b2ef7303e ble_mesh: Reset transport info when node is removed 2020-03-02 02:08:13 +00:00
lly 21af266a11 ble_mesh: Provisioner ignores msg from removed node 2020-03-02 02:08:13 +00:00
lly 711c8472fc ble_mesh: Miscellaneous modifications
1. Add an API to set Provisioner static oob value
2. Add an API to deinit BLE Mesh stack
3. Add an API to set Provisioner unicast address
4. Add an API to provision devices with fixed address
5. Add an API to store node composition data
6. Add an API to get node with device uuid
7. Add an API to get node with unicast address
8. Add an API to delete node with device uuid
9. Add an API to delete node with unicast address
10. Add an API for Provisioner to update local AppKey
11. Add an API for Provisioner to update local NetKey
12. Support Provisioner persistent functionality
13. Fix Provisioner entering IV Update procedure
14. Fix an issue which may cause client failing to send msg
15. Use bt_mesh.flags to indicate device role
16. Remove several useless macros
17. Callback RSSI of received mesh provisioning packets
18. Modify the Provisioner disable function
19. Change some log level from debug to info
20. Add parameters to Provisioner bind AppKey completion event
21. Fix node ignoring relay messages issue
22. Support using a specific partition for BLE Mesh
23. Fix compile warning when proxy related macros are disabled
24. Clean up BLE Mesh stack included header files
25. NULL can be input if client message needs no parameters
26. Fix compile warning when BT log is disabled
27. Initilize BLE Mesh stack local variables
28. Support using PSRAM for BLE Mesh mutex, queue and task
29. Add a menuconfig option to enable using memory from PSRAM
30. Clean up sdkconfig.defaults of BLE Mesh examples
2020-03-02 02:08:13 +00:00
baohongde dbc0a9b3f4 components/bt: Fix assert when create conntion cancel 2020-02-28 20:23:39 +08:00
wangmengyang 6fad6eb9f1 component/bt: set non-zero initial value for bt sleep clock cycle to avoid div-by-zero error in function "btdm_us_2_lpcycles" when BT modem sleep is not enabled 2020-02-28 14:08:47 +08:00
wangmengyang cd492747e1 component/bt: fall back to main XTAL as Bluetooth sleep clock when EXT 32K CRYS is configured but not detected 2020-02-24 12:22:35 +08:00
baohongde a74d85945a components/bt: backports to release/v4.1
Fix bugs about role switch
Fix watchdog timeout when sleep enabled and crash without enabling sw coex
Fix ble crash issue triggered by ble event irq miss(0x20000)
Future events scheduling error in case of wifi and bluetooth.
2020-02-20 17:53:40 +08:00
Jiang Jiang Jian 5c217d8bb6 Merge branch 'bugfix/coex_a2dp_stuck_after_creating_another_connection_v4.1' into 'release/v4.1'
components/coex: Fix a2dp stuck after creating another connection

See merge request espressif/esp-idf!7662
2020-02-20 14:16:53 +08:00
baohongde 1e54e5ddef components/coex: Fix misspell in Kconfig 2020-02-19 11:43:53 +08:00
Jiang Jiang Jian e8d33e4faf Merge branch 'bugfix/ble_mesh_fix_compile_error_with_cpp_4.1' into 'release/v4.1'
ble_mesh: Fix compile error with c++ files (v4.1)

See merge request espressif/esp-idf!7583
2020-02-18 20:43:51 +08:00
baohongde 8908d52efa components/coex: Fix a2dp stuck after creating another connection 2020-02-18 20:13:41 +08:00
Jiang Jiang Jian 3b86e7e099 Merge branch 'bugfix/change_hci_task_size_back_v4.1' into 'release/v4.1'
components/bt: change HCI task size back

See merge request espressif/esp-idf!7568
2020-02-18 12:52:10 +08:00
Jiang Jiang Jian 73fd009d40 Merge branch 'bugfix/btdm_hfp_ag_crash_in_unknown_at_cmd_v4.1' into 'release/v4.1'
components/bt: Fix connection fail and crash when receive unknown AT cmd

See merge request espressif/esp-idf!7405
2020-02-14 19:46:49 +08:00
Jiang Jiang Jian cbd24259b2 Merge branch 'bugfix/btdm_error_type_in_config_eir_evt_v4.1' into 'release/v4.1'
components/bt: Fix error EIR type in config eir event

See merge request espressif/esp-idf!7406
2020-02-14 16:38:25 +08:00
lly 45af9bf3ec ble_mesh: Fix compile error with c++ files 2020-02-13 09:46:54 +08:00
lly 7acdc2f7fc ble_mesh: Kconfig included a UTF-8 comma 2020-02-12 18:25:43 +08:00
blueMoods 9ebdcf5b37 components/bt: change HCI task size back 2020-02-12 16:32:56 +08:00
june 21c1682a7a backport code optimize, mr !7409 2020-02-12 11:50:52 +08:00
baohongde 38ff669727 components/bt: Fix error EIR type in config eir event 2020-01-20 21:47:23 +08:00
baohongde c324e7a435 components/bt: Fix connection fail and crash when receive unknown AT cmd 2020-01-20 21:43:23 +08:00
Tian Hao 3e4e538087 fix bug sleep may cause HCI timeout
When Host run different cpu and sleep enable, it may cause hci
timeout about 10s.
2020-01-20 17:41:28 +08:00
Tian Hao f6523748fc fix Kconfig use mistake cause some config not effect
1. Fix bluedroid task pinned_to_core un-effected
2. other minor sdkconfig bugs
2020-01-20 15:24:41 +08:00
June c0e1f83a91 esp32 5p0 new features support 2020-01-20 12:18:55 +08:00
weitianhua fd61f75db9 hfp disconn issue for bridgera 2020-01-20 12:18:26 +08:00
zhiweijian 86bebae4fb Component/bt: Fix GATTC trigger open event multiple times 2020-01-14 03:24:29 +00:00
Jiang Jiang Jian 0a6e61ae6d Merge branch 'bugfix/btdm_fix_blufi_prepare_buf_len_invalid' into 'master'
component/bt: fix blufi prepare write buf len invalid

See merge request espressif/esp-idf!7048
2020-01-13 15:59:14 +08:00
Jiang Jiang Jian a27dfe6993 Merge branch 'bugfix/fix_ble_config_error_log_in_first_use_nvs' into 'master'
bugfix: remove the error code when there is no file in the nvs in config.c

See merge request espressif/esp-idf!7296
2020-01-13 10:24:43 +08:00
Jiang Jiang Jian 7a7c4a5486 Merge branch 'bugfix/coex_schm' into 'master'
Bugfix/coex schm

See merge request espressif/esp-idf!7176
2020-01-12 20:37:42 +08:00
Jiang Jiang Jian 3634192ded Merge branch 'bugfix/ble_throughput_heap_size_too_large_fix' into 'master'
bugfix:Fixed throughput wasting memory and packet loss issues.

Closes BT-437 and BCI-141

See merge request espressif/esp-idf!7063
2020-01-12 20:25:02 +08:00
Jiang Jiang Jian 8ec233dfd0 Merge branch 'bugfix/sync_zephyr_v2.0_ble_mesh_fixes' into 'master'
ble_mesh: sync Zephyr v2.0 ble mesh fixes

Closes BLEMESH-56

See merge request espressif/esp-idf!6892
2020-01-12 20:23:57 +08:00
gengyuchao 3366467980 ble:set a esp api to get size of controller send packets buffer. 2020-01-10 20:32:07 +08:00
gengyuchao 189cd21660 bugfix:Fixed throughput wasting memory and packet loss issues. 2020-01-10 20:32:07 +08:00
gengyuchao 8e1a28940c ble:config.c remove the error code when there is no file in the nvs because it is not an error. 2020-01-10 20:04:10 +08:00
baohongde a2398f0dcc components/esp_wifi: improve coexistence performance according to specific WiFi/BT/BLE scienario
1. Improve WiFi throughput in some Classic BT scienarios(idle, inquire scan,
       connected, sniff, a2dp pause, etc).

    2. Support WiFi + Classic BT + BLE mesh coexistence scienario.

    3. Improve WiFi scan and connect succeed ratio in coexistence scienario.

    4. Do not support to choose software coexistence preference anymore for it is
       determined according to coexistence scienario automatically.

components/lwip: increase TCP send buffer and receive window limitation when TCP window scale is enabled

components/ble_mesh: Fix some bugs about ble mesh

    1. fix send acl pkt after ble have sent terminate ind modify min adv interval to 10ms.
2020-01-10 16:00:12 +08:00
Jiang Jiang Jian 2f23fa8ab7 Merge branch 'bugfix/bt_osi_config_snprintf_add_length_check' into 'master'
bugfix:Fix length check for snprintf in osi config

See merge request espressif/esp-idf!7155
2020-01-10 15:06:37 +08:00
Jiang Jiang Jian 8cf4d02720 Merge branch 'bugfix/ble_mesh_update_lightness_last' into 'master'
ble_mesh: Update lightness last state when actual state is changed

See merge request espressif/esp-idf!7206
2020-01-10 14:47:29 +08:00
Angus Gratton bdf6c00154 Merge branch 'feature/likely_unlikely' into 'master'
Adding likely unlikely macros to hot code paths

Closes IDF-284

See merge request espressif/esp-idf!6368
2020-01-10 14:05:07 +08:00
Jiang Jiang Jian 9ecc2c3309 Merge branch 'bugfix/fix_ble_mesh_memory_leak' into 'master'
ble_mesh: Fix memory leak when node is reset

Closes BLEMESH-122

See merge request espressif/esp-idf!7076
2020-01-10 11:43:49 +08:00
gengyuchao 8a687d46ad reduce useless calloc size 2020-01-09 21:12:48 +08:00
gengyuchao 945e4f7162 bugfix:Fix length check for snprintf in osi config 2020-01-09 21:12:48 +08:00
zhiweijian b820b3fc56 component/bt: fix blufi prepare write buf len invalid 2020-01-09 09:38:35 +00:00
Geng Yu Chao 090843fa17 component/bt: Fix the issue with pointer type conversion in gattc. Unified count pointer type in bta and btc, change pointer type in bta from int to uint16_t. 2020-01-09 16:30:55 +08:00
Jiang Jiang Jian dd8db6621b Merge branch 'bugfix/add_missing_gatt_descriptors_GH' into 'master'
bugfix: ble add missing gatt descriptors

Closes BCI-138

See merge request espressif/esp-idf!6978
2020-01-09 15:57:08 +08:00
Jiang Jiang Jian da877bcc8f Merge branch 'bugfix/coex_bt_ble_stuck' into 'master'
components/bt: Fix A2DP stuck when BLE's interval is too small

See merge request espressif/esp-idf!5587
2020-01-09 11:37:35 +08:00
gengyuchao 7e54ac08e6 ble Fix typo and add some comment 2020-01-08 04:17:49 +00:00
Brian Friedkin efc514fa0a add missing gatt descriptors 2020-01-08 04:17:49 +00:00
weitianhua 39a5eb84f3 Disable sniff mode during (e)SCO connection. 2020-01-07 03:15:32 +00:00
baohongde f9802da461 components/bt: Fix A2DP stuck when BLE's interval is too small
1. Fix the cumulative time switch from BLE to classic BT
2. Enhance classic BT performance while enable calssic BT and BLE at the same time
2020-01-06 20:22:04 +08:00