Wykres commitów

66 Commity (47be69329bb6f24b2100f98515a93243e1d553b7)

Autor SHA1 Wiadomość Data
wangjialiang c49b5b2409 ble_mesh: stack: Add proxy server connect and disconnect event 2022-03-05 11:14:28 +00:00
lly eeb9a9bd2c ble_mesh: stack: Update license of esp specific files 2021-10-28 21:20:27 +08:00
lly f6c3b51b13 ble_mesh: Update the SIG recommendations for CVE issues 2021-08-17 19:43:47 +08:00
Jiang Jiang Jian 59b49d2783 Merge branch 'feature/add-nimble-host-to-blufi' into 'master'
Add support of NimBLE host to Blufi

See merge request espressif/esp-idf!13734
2021-06-29 12:54:01 +00:00
“sonalipatil” 5175672050 Add support of NimBLE host to Blufi
Merges https://github.com/espressif/esp-idf/pull/6904
2021-06-28 19:53:33 +05:30
wangjialiang d4232ee8f9 ble_mesh: stack: Fix AuthValue Leak and Predictable AuthValue in Bluetooth Mesh Provisioning Leads to MITM 2021-06-17 17:05:01 +08:00
lly 8aae9860ce ble_mesh: stack: Enable updating lighting hsl state 2021-01-15 20:27:43 +08:00
lly ac93a38990 ble_mesh: stack: Support reporting normal ble adv packets 2020-12-21 09:08:25 +00:00
lly a6ebe48e6e ble_mesh: stack: Add a btc file for ble coex functions
Previously if starting/stopping BLE advertising when BLE Mesh
is enabled, the corresponding events will be notified through
the callback registered by esp_ble_mesh_register_prov_callback().

With this commit, the func esp_ble_mesh_register_ble_callback()
needs to be invoked for resgitering the callback used for BLE
coexistence related functionalities (i.e. ADV/SCAN).
2020-12-21 09:08:25 +00:00
lly b77563abb0 ble_mesh: Replace zephyr integer types with C99 types [Zephyr] 2020-12-08 15:13:04 +08:00
lly a90e3cdf95 ble_mesh: stack: Provisioner supports multiple nvs namespaces
Now Provisioner can use different NVS namespaces to store
different instances of mesh information, for example, for
different user accounts.
2020-12-04 20:31:25 +08:00
lly db4b87a771 ble_mesh: stack: Provisioner supports receiving heartbeat 2020-11-23 01:28:28 +00:00
Angus Gratton 66fb5a29bb Whitespace: Automated whitespace fixes (large commit)
Apply the pre-commit hook whitespace fixes to all files in the repo.

(Line endings, blank lines at end of file, trailing whitespace)
2020-11-11 07:36:35 +00:00
lly e543dc9a3b ble_mesh: stack: Fix wrong declaration of node bind AppKey func 2020-11-10 14:05:19 +08:00
lly 549dc2a411 ble_mesh: stack: Add node local netkey/appkey func 2020-11-04 03:25:02 +00:00
lly fc071c10a6 ble_mesh: stack: Add a Kconfig option to make Health Server model optional 2020-10-23 02:04:21 +00:00
lly 9176fe996c ble_mesh: stack: Add Kconfig options to make server models optional 2020-10-23 02:04:21 +00:00
lly a1f1a6b484 ble_mesh: stack: Use Kconfig option to make client models optional 2020-10-23 02:04:21 +00:00
lly 051f02ee80 ble_mesh: stack: Add a Kconfig option to make deinit optional 2020-10-23 02:04:21 +00:00
andreachiara 0b9d270804 esp_ble_mesh: api: fixed comment about autoresp 2020-10-19 10:48:57 +08:00
lly 2607662054 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-24 06:29:22 +00:00
lly 825ceb726d ble_mesh: stack: Fix storing next net_idx and app_idx 2020-09-14 08:40:12 +00:00
lly 88cc07b6ca 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-09-14 08:40:12 +00:00
lly 043abf5750 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-03 02:02:33 +00:00
lly b94ce120d6 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-07-10 14:14:01 +08:00
lly fd6071a0fc ble_mesh: stack: Add more checks about input prov bearers 2020-07-10 00:57:09 +00:00
lly 8005d07e07 ble_mesh: stack: Add two application macros for TTL 2020-07-08 08:30:54 +00:00
lly 4ae7efb4c0 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-06-20 05:47:19 +00:00
lly 409ea309f9 ble_mesh: Add more checks of net_idx & app_idx 2020-05-29 21:10:13 +08:00
lly 9aae4d3ba3 ble_mesh: Local model (un)subscribes group address 2020-05-29 09:40:19 +00:00
lly 2190c2c368 ble_mesh: Define a macro for invalid company id 2020-05-29 09:40:19 +00:00
lly 8ea6714a96 ble_mesh: Spit mesh_util.h into different header files
Split mesh_util.h into mesh_byteorder.h, mesh_compiler.h,
mesh_ffs.h and mesh_util.h based on the classification of
Zephyr, which will make further porting more clear.
2020-05-11 02:29:18 +00:00
lly 25dfee4bdd ble_mesh: Add and use transport macro definitions [Zephyr] 2020-05-11 02:29:18 +00:00
lly e385197c27 ble_mesh: Support reliable sending when publishing [Zephyr]
Until now the choice of reliable sending (segmented messages with
acks) was implicitly dependent on the size of the payload. Add a new
member to the bt_mesh_model_pub to force using segment acks even when
the payload would fit a single unsegmented message.
2020-05-11 02:29:18 +00:00
Island 8ef0b66a3b Merge branch 'bugfix/ble_mesh_compile_error_o2' into 'master'
ble_mesh: Fix compile error when -O2 (performance) is chosen

Closes BLEMESH-187

See merge request espressif/esp-idf!8217
2020-04-28 17:29:09 +08:00
lly fab9b944a4 ble_mesh: Add length check for some mesh operations 2020-04-27 14:24:07 +08:00
lly c77b7394ed ble_mesh: Fix compile error when -O2 (performance) is chosen 2020-04-27 14:24:07 +08:00
lly 75cf2d7a17 ble_mesh: Fix time scene wrong macro name 2020-04-27 04:17:04 +00:00
Island feb7f9683c Merge branch 'bugfix/ble_mesh_add_missing_cpp' into 'master'
ble_mesh: Add missing #ifdef __cplusplus

Closes BLEMESH-194

See merge request espressif/esp-idf!8310
2020-04-27 11:47:44 +08:00
Island 1e12673b3c Merge branch 'feat/ble_mesh_sensor_model_example' into 'master'
ble_mesh: Add ble mesh sensor model examples

Closes BLEMESH-190

See merge request espressif/esp-idf!8253
2020-04-27 11:47:06 +08:00
lly 91d70cd128 ble_mesh: Add missing #ifdef __cplusplus 2020-04-26 06:50:35 +00:00
lly 2f6a4140fa doc: Fix some ble mesh description 2020-04-26 06:22:33 +00:00
lly e8c5f5dc03 ble_mesh: Add some common macros for sensor model 2020-04-26 06:08:44 +00:00
lly a919e20c1a ble_mesh: Support BLE advertising simultaneously 2020-04-02 01:03:25 +00:00
lly 2ed1724fc2 ble_mesh: Move dev_role to the end of model_pub 2020-03-12 17:48:09 +08:00
lly 08080edb1b ble_mesh: Add ble mesh deinit in btc task 2020-03-12 17:43:19 +08:00
lly 7cd08b5824 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-02-26 17:37:44 +08:00
lly 326ccfca88 ble_mesh: Fix compile error with c++ files 2020-02-12 21:24:32 +08:00
Angus Gratton 11fac8637a docs: Resolve doxygen & Sphinx warnings 2020-02-07 16:37:45 +11:00
lly 7d7bbec5fe ble_mesh: Make model publication struct more compact
Previously the FastPeriodDivisor value was introduced to the model
publication struct. Based on the way it was grouped it seems the
intention was to fit it within the same octet as other bit fields,
but it actually makes the octet overflow by one bit. This ends up
creating another u8_t variable which in turn adds 24 bits of padding
after it.

To keep the size of the struct as compact as possible, group the flag
together with the key index, since that only requires 12 bits. Some
care is needed here, since the mesh stack does have special internal
key index values that require more than 12 bits such as
BLE_MESH_KEY_UNUSED and BLE_MESH_KEY_DEV. In this case restricting
ourselves to 12 bits is fine since the value in the model publication
struct follows 1:1 the value received in the Config Model Publication
Set message, and there the parameter is defined to be exactly 12 bits.
2020-01-06 16:17:36 +08:00