lly
ad1d5764e2
ble_mesh: stack: Split model settings store and clear
2020-11-23 08:45:04 +08:00
lly
db4a344a33
ble_mesh: stack: Erase netkey and appkey with key index
2020-11-23 08:45:04 +08:00
lly
29c7645093
ble_mesh: stack: Add clear hb_pub in settings
2020-11-23 08:45:04 +08:00
lly
692ccf774b
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-11-23 08:45:04 +08:00
lly
034906c6a8
ble_mesh: stack: Use erase settings functions
2020-11-23 08:45:04 +08:00
lly
69131a11ed
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-11-23 08:45:04 +08:00
lly
8cbc93101e
ble_mesh: stack: Add role check before enabling device
2020-11-23 08:45:03 +08:00
lly
c39097a601
ble_mesh: stack: Define a type for mesh nvs handle
2020-11-23 08:45:03 +08:00
lly
8d9b0909a3
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-11-22 09:26:41 +00:00
Jiang Jiang Jian
4e9de58779
Merge branch 'optimize/ble_mesh_provisioner_delete_dev_v4.0' into 'release/v4.0'
...
ble_mesh: stack: Optimize Provisioner delete device function (v4.0)
See merge request espressif/esp-idf!10605
2020-11-21 17:54:25 +08:00
Jiang Jiang Jian
2fa70c8aed
Merge branch 'feat/ble_mesh_device_properties_v2_v4.0' into 'release/v4.0'
...
Feat/ble mesh device properties v2 (v4.0)
See merge request espressif/esp-idf!10789
2020-11-21 17:54:14 +08:00
Jiang Jiang Jian
2a93a30c42
Merge branch 'bugfix/ble_mesh_check_stack_init_v4.0' into 'release/v4.0'
...
ble_mesh: stack: Check if mesh stack initialized before init vendor client (v4.0)
See merge request espressif/esp-idf!10483
2020-11-21 17:53:11 +08:00
Jiang Jiang Jian
d101748448
Merge branch 'bugfix/ble_mesh_prov_iv_index_v4.0' into 'release/v4.0'
...
ble_mesh: stack: Using the latest iv_index for provisioning (v4.0)
See merge request espressif/esp-idf!10418
2020-11-21 17:52:20 +08:00
Island
134b21c5b2
Merge branch 'bugfix/ble_mesh_autorsp_description_v4.0' into 'release/v4.0'
...
esp_ble_mesh: api: fixed comment about autoresp (v4.0)
See merge request espressif/esp-idf!10890
2020-11-10 16:42:50 +08:00
Island
1214f343ab
Merge branch 'optimize/ble_mesh_make_buf_config_invisible_v4.0' into 'release/v4.0'
...
ble_mesh: stack: Make mesh buf debug option invisible (v4.0)
See merge request espressif/esp-idf!10796
2020-11-10 16:42:34 +08:00
Island
fb9df6388f
Merge branch 'bugfix/fix_node_test_func_not_set_role_v4.0' into 'release/v4.0'
...
ble_mesh: test: Fix node test function not update role flag (v4.0)
See merge request espressif/esp-idf!11042
2020-11-10 16:42:22 +08:00
Island
85b71109d0
Merge branch 'bugfix/ble_mesh_nimble_ccc_handle_v4.0' into 'release/v4.0'
...
ble_mesh: nimble: Fix updating ccc handle with wrong value (v4.0)
See merge request espressif/esp-idf!10356
2020-11-09 14:35:47 +08:00
lly
b8470fba75
ble_mesh: stack: Avoid using assert in mesh stack
2020-11-09 02:20:19 +00:00
lly
0f7a42cfbb
ble_mesh: nimble: Fix updating ccc handle with wrong value
2020-11-09 02:17:46 +00:00
lly
037b2fce46
ble_mesh: test: Fix node test function not update role flag
2020-10-29 15:50:44 +08:00
andreachiara
2270241f55
esp_ble_mesh: api: fixed comment about autoresp
2020-10-19 11:05:56 +08:00
lly
097075dcc8
ble_mesh: stack: Make mesh buf debug option invisible
2020-10-12 14:17:22 +08:00
lly
88cc674e11
ble_mesh: stack: Add mesh device properties v2 definitions
...
Also fixes wrong characteristic value length of some device
properties.
2020-10-12 10:17:49 +08:00
lly
da81ff2263
ble_mesh: stack: Move device property to model common part
2020-10-12 10:17:48 +08:00
lly
2761b461dc
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-10-10 01:09:04 +00:00
lly
2b81af52aa
ble_mesh: stack: Check if mesh stack initialized before init vendor client
2020-09-17 11:27:00 +08:00
lly
a92247d461
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 11:01:17 +08:00
lly
d3eaf8bdb0
ble_mesh: stack: Client model related code clean
2020-08-07 21:15:11 +08:00
lly
aa8f45e341
ble_mesh: stack: Rename cfg & health client status recv func
2020-08-07 21:15:10 +08:00
lly
dfa6332606
ble_mesh: stack: Check client msg result in common func
2020-08-07 21:15:08 +08:00
lly
ba38c974e6
ble_mesh: stack: Fix no events for some error conditions
2020-08-07 21:15:07 +08:00
lly
3cc07d7969
ble_mesh: stack: Move client role set to the msg function
2020-08-07 21:15:06 +08:00
lly
035a24b468
ble_mesh: stack: Remove some not used client parameters
2020-08-07 21:15:04 +08:00
lly
c3e702da05
ble_mesh: stack: Remove some not used variables & functions
2020-08-07 21:15:03 +08:00
lly
dfd0cd5f3e
ble_mesh: stack: Update client model msg send
2020-08-07 21:15:02 +08:00
lly
beda5f0fd4
ble_mesh: stack: Fix recv health current status incorrectly
2020-07-17 14:06:41 +08:00
lly
f3566fd2af
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-16 11:04:57 +08:00
lly
f10c62d84d
ble_mesh: stack: Make proxy server & client functions clear
2020-07-16 11:04:57 +08:00
lly
1df9502301
ble_mesh: stack: Add proxy cfg pdu length check
2020-07-15 16:11:32 +08:00
lly
d04a8da916
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-07-15 16:11:31 +08:00
lly
c8601fface
ble_mesh: stack: Add more checks about input prov bearers
2020-07-15 16:11:27 +08:00
lly
1e528fa739
ble_mesh: stack: Rename mesh adv queue and relay queue
2020-07-15 11:10:14 +08:00
lly
a27478b54d
ble_mesh: stack: Use macros for adv task name & prio
2020-07-15 11:10:14 +08:00
lly
0dc96d19aa
ble_mesh: stack: Make freertos static allocation visible
2020-07-15 11:09:58 +08:00
lly
9973f5ef04
ble_mesh: stack: Update option of using DRAM/SPIRAM for memory allocation
2020-07-15 09:41:15 +08:00
lly
724a5baa4e
ble_mesh: stack: Add two application macros for TTL
2020-07-10 09:15:02 +08:00
lly
c399b9520b
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:01 +08:00
lly
39705533f1
ble_mesh: stack: Update some fast prov functions
2020-07-03 08:53:56 +08:00
lly
77fe2ced32
ble_mesh: stack: Move fast prov functions to a single file
2020-07-03 08:53:56 +08:00
lly
4d9af50eba
ble_mesh: Mark platform related default RNG as 0
2020-07-02 03:35:13 +00:00
lly
0e028c044d
ble_mesh: Remove the previously added redundant aes files
2020-07-02 03:35:13 +00:00
lly
ac0746aba1
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:35:13 +00:00
lly
e5f4ff2b1a
ble_mesh: Format source and header files of tinycrypt
2020-07-02 03:35:13 +00:00
lly
4f37a08437
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:35:13 +00:00
lly
3b6145dc46
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 11:55:12 +08:00
Island
b823a2a35f
Merge branch 'bugfix/ble_mesh_check_subnet_before_update_beacon_sent_v4.0' into 'release/v4.0'
...
ble_mesh: Check if subnet exists before updating beacon_sent (v4.0)
See merge request espressif/esp-idf!9397
2020-07-01 11:16:39 +08:00
lly
dfcc8e77dc
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:22:49 +08:00
lly
7f6735fd60
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:05:51 +08:00
mbroek
ca5ab9b607
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:05:50 +08:00
Island
8cb2ad1fe6
Merge branch 'bugfix/ble_mesh_get_node_with_name_v4.0' into 'release/v4.0'
...
ble_mesh: Get node info with pre-configured node name (v4.0)
See merge request espressif/esp-idf!9303
2020-06-28 20:25:24 +08:00
Island
304c40f3ef
Merge branch 'bugfix/ble_mesh_bt_hex_v4.0' into 'release/v4.0'
...
ble_mesh: Fix wrong log output with bt_hex (v4.0)
See merge request espressif/esp-idf!9310
2020-06-28 20:24:12 +08:00
Island
ef136a664c
Merge branch 'bugfix/ble_mesh_not_define_bool_v4.0' into 'release/v4.0'
...
Bugfix/ble mesh not define bool (v4.0)
See merge request espressif/esp-idf!9317
2020-06-28 20:23:03 +08:00
lly
939a3b78e2
ble_mesh: Fix wrong log output with bt_hex
...
- This issue was introduced in the commit: a788e7cd3d
which updated the bt_hex() function incorrectly.
- And in bt_hex(), we use 2 for the two-dimensional array, because currently
at most two bt_hex() will be used at the same time. Also this will save
some DRAM compared with using 4.
2020-06-24 10:33:58 +00:00
lly
f1c0fee05b
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-24 10:31:25 +00:00
lly
268b0e5e3f
ble_mesh: Remove boolean type definitions
2020-06-24 09:12:31 +00:00
Nikolaos Strikos
940fcf0ca9
ble_mesh: Do not #define bool when compiling in C++
2020-06-24 09:12:31 +00:00
lly
c6ce7d2866
ble_mesh: stack: Check model status with variable length
2020-06-24 09:10:32 +00:00
Island
9718338984
Merge branch 'bugfix/ble_mesh_remove_relay_dependency_v4.0' into 'release/v4.0'
...
ble_mesh: Remove relay option dependency (v4.0)
See merge request espressif/esp-idf!9027
2020-06-03 15:20:51 +08:00
Island
5a61c4c24c
Merge branch 'bugfix/ble_mesh_example_nvs_store_v4.0' into 'release/v4.0'
...
Bugfix/ble mesh example nvs store (v4.0)
See merge request espressif/esp-idf!9017
2020-06-03 15:12:17 +08:00
Island
ceffc0837e
Merge branch 'bugfix/ble_mesh_model_recv_fix_v4.0' into 'release/v4.0'
...
Bugfix/ble mesh model recv fix (v4.0)
See merge request espressif/esp-idf!9008
2020-06-03 15:11:32 +08:00
Island
ece24128da
Merge branch 'bugfix/ble_mesh_rework_prov_pdu_len_check_v4.0' into 'release/v4.0'
...
ble_mesh: Rework prov pdu length check (v4.0)
See merge request espressif/esp-idf!9004
2020-06-03 15:10:52 +08:00
lly
19f69333f7
ble_mesh: Remove relay option dependency
...
When the relay functionality of a node is not enabled, this
issue will cause the node failing to send messages to fixed
group.
2020-06-02 19:18:52 +08:00
lly
b55020ad80
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-06-02 14:04:35 +08:00
lly
1ac6d48fcf
ble_mesh: Add more checks of net_idx & app_idx
2020-06-02 14:04:35 +08:00
lly
268f5ad6c6
ble_mesh: Optimize some send & recv logs
2020-06-02 14:04:34 +08:00
lly
205425b86b
ble_mesh: correct the return type [Zephyr]
2020-06-02 10:32:25 +08:00
lly
c2589b0b57
ble_mesh: Add net_buf_simple_init_with_data [Zephyr]
2020-06-02 10:32:24 +08:00
lly
f990d725f4
ble_mesh: Optimize model recv operations [Zephyr]
...
Previously the model recv operation is a littl fuzzy.
With the changes, the model recv operation is splitted into:
- find op
- check app_idx
- check dst
- check length
- update info & handle message
2020-06-02 10:32:23 +08:00
lly
073b8daa6e
ble_mesh: Rework prov pdu length check
2020-06-02 10:14:50 +08:00
lly
cd40f3ad52
ble_mesh: Local model (un)subscribes group address
2020-06-01 09:11:27 +08:00
lly
11cfb44e58
ble_mesh: Define a macro for invalid company id
2020-06-01 09:11:26 +08:00
lly
792605e8fd
ble_mesh: Check the result of creating timer
2020-05-28 10:27:25 +08:00
Island
59e11421bf
Merge branch 'bugfix/ble_mesh_sync_zephyr_fixes_v4.0' into 'release/v4.0'
...
Bugfix/ble mesh sync zephyr fixes (v4.0)
See merge request espressif/esp-idf!8949
2020-05-28 10:16:52 +08:00
Island
a90e8d67e9
Merge branch 'bugfix/ble_mesh_not_use_same_private_key_v4.0' into 'release/v4.0'
...
ble_mesh: Not using pre-initialized private key (v4.0)
See merge request espressif/esp-idf!8946
2020-05-28 10:14:45 +08:00
lly
63c83730c2
ble_mesh: Transport tx fields overflow [Zephyr]
...
The transport segmented TX nack and seg_pending fields must be at least
6 bits to avoid overflow for 32 segment messages. This change rearranges
the seg_tx fields to gather all state flag fields in one byte, while
making the counter fields whole bytes.
2020-05-27 17:45:55 +08:00
lly
f781c6edac
ble_mesh: Friend with unknown appkey [Zephyr]
...
Ensures that friend messages are enqueued, even if the packet is
received with an appkey is unknown to the friend. Previously, sdu_recv
would return EINVAL if the appkey was unknown, which would prevent the
lower transport layer from adding the packet to the friend queue. This
is irrelevant for the logic in lower transport, and should not be
returned as an error.
2020-05-27 17:45:49 +08:00
lly
7078065980
ble_mesh: Not using pre-initialized private key
2020-05-27 17:39:35 +08:00
lly
a8afd951dc
ble_mesh: Same func for storing/restoring comp data
2020-05-27 17:31:01 +08:00
lly
9d5ea68c61
ble_mesh: Fix using old config for duplicate scan
2020-05-25 16:54:03 +08:00
Island
57932baef3
Merge branch 'bugfix/ble_mesh_provisioner_fail_to_pub_v4.0' into 'release/v4.0'
...
ble_mesh: Fix Provisioner failed to publish (v4.0)
See merge request espressif/esp-idf!8874
2020-05-22 19:14:26 +08:00
Island
4c5fd2be70
Merge branch 'bugfix/ble_mesh_friend_init_flag_v4.0' into 'release/v4.0'
...
Bugfix/ble mesh friend init flag (v4.0)
See merge request espressif/esp-idf!8869
2020-05-22 19:13:42 +08:00
Island
7a60ae4bc8
Merge branch 'bugfix/ble_mesh_remove_patch_v4.0' into 'release/v4.0'
...
ble_mesh: Remove patch for the bug of an App (v4.0)
See merge request espressif/esp-idf!8868
2020-05-22 19:13:24 +08:00
lly
699270e09e
ble_mesh: Fix Provisioner failed to publish
2020-05-22 15:48:49 +08:00
lly
13167a7579
ble_mesh: Clear two more vars during proxy server deinit
2020-05-22 11:39:51 +08:00
lly
acf41f93a9
ble_mesh: Add missing sdkconfig.h
2020-05-22 11:39:51 +08:00
lly
470c959b04
ble_mesh: Init device name during proxy server init
...
Device name will be reset when deinit mesh stack. If not
initializing device name during the next mesh stack init,
it will fail to set the device name when using bluedroid.
2020-05-22 11:39:50 +08:00
lly
dd7c98d6c2
ble_mesh: Add init flag for friend init/deinit
...
Since bt_mesh_friend_init() will only be invoked when
a device is provisioned or Provisioner is enabled, so
we add a flag to indicate if the friend functionality
is initialized in case deinit before initialization.
2020-05-22 11:39:49 +08:00
lly
90aa79fd2b
ble_mesh: Remove patch for the bug of an App
2020-05-22 11:37:30 +08:00
lly
97c1a4b5c6
ble_mesh: Fix typos
2020-05-22 11:34:07 +08:00
Island
5897354d7f
Merge branch 'bugfix/sync_zephyr_bt_mesh_bugfix_v4.0' into 'release/v4.0'
...
Bugfix/sync zephyr bt mesh bugfix (v4.0)
See merge request espressif/esp-idf!8853
2020-05-22 10:50:39 +08:00