Commit Graph

296 Commits

Author SHA1 Message Date
lly
1fb0861b9c ble_mesh: stack: Update connection parameters used by Central 2020-11-18 20:24:22 +08:00
lly
230e8f5c92 ble_mesh: stack: Add a Kconfig option to make Health Server model optional 2020-11-17 11:06:34 +08:00
lly
c94d7fe982 ble_mesh: stack: Split model Kconfig menu into foundation and others 2020-11-17 11:06:34 +08:00
lly
dad5cc4aeb ble_mesh: stack: Add Kconfig options to make server models optional 2020-11-17 11:06:33 +08:00
lly
e44307504a ble_mesh: stack: Use Kconfig option to make client models optional 2020-11-17 11:06:33 +08:00
lly
a67d205468 ble_mesh: stack: Make some internal static functions inline 2020-11-17 11:06:33 +08:00
lly
bc5ba60ceb ble_mesh: stack: Add a Kconfig option to make deinit optional 2020-11-17 11:06:33 +08:00
lly
73733396cd ble_mesh: stack: Introduce a new header file mesh_config.h 2020-11-17 11:06:32 +08:00
lly
02c3881b7e ble_mesh: test: Fix node test function not update role flag 2020-10-29 15:49:35 +08:00
andreachiara
dcde5626ad esp_ble_mesh: api: fixed comment about autoresp 2020-10-19 11:00:30 +08:00
Island
e810e4f036 Merge branch 'optimize/ble_mesh_make_buf_config_invisible_v4.1' into 'release/v4.1'
ble_mesh: stack: Make mesh buf debug option invisible (v4.1)

See merge request espressif/esp-idf!10795
2020-10-13 19:51:38 +08:00
lly
18c753ba67 ble_mesh: stack: Make mesh buf debug option invisible 2020-10-13 09:31:32 +00:00
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
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
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
lly
d1311d1e23 ble_mesh: stack: Check if mesh stack initialized before init vendor client 2020-09-17 11:26:40 +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
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
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