lly
19c3f38b36
ble_mesh: stack: Remove useless BT_DBG_ENABLED in a few files
2020-12-08 15:13:04 +08:00
lly
b77563abb0
ble_mesh: Replace zephyr integer types with C99 types [Zephyr]
2020-12-08 15:13:04 +08:00
lly
162e11cff3
ble_mesh: stack: Update ARRAY_SIZE definition
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
992ceca71b
ble_mesh: stack: Need uuid when adding device for provisioning
2020-11-25 20:51:23 +08:00
lly
db4b87a771
ble_mesh: stack: Provisioner supports receiving heartbeat
2020-11-23 01:28:28 +00:00
lly
2e13e618b5
ble_mesh: stack: Update connection interval to 15ms
2020-11-17 11:58:23 +00:00
lly
6169636769
ble_mesh: stack: Update connection parameters used by Central
2020-11-17 11:58:23 +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
1f61b67ec3
ble_mesh: test: Fix node test function not update role flag
2020-10-29 15:48:06 +08: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
9620a1a568
ble_mesh: stack: Split model Kconfig menu into foundation and others
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
d13e0635a8
ble_mesh: stack: Make some internal static functions inline
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
lly
675c94a9d4
ble_mesh: stack: Introduce a new header file mesh_config.h
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
0d3c724281
ble_mesh: stack: Make mesh buf debug option invisible
2020-10-12 02:26:47 +00:00
lly
d3aa32c2ec
ble_mesh: stack: Add mesh device properties v2 definitions
...
Also fixes wrong characteristic value length of some device
properties.
2020-10-12 00:39:58 +00:00
lly
0b57cdf85b
ble_mesh: stack: Move device property to model common part
2020-10-12 00:39:58 +00:00
lly
68a6ccba76
ble_mesh: stack: Store kr phase after value changed [Zephyr]
2020-10-09 08:52:01 +00:00
lly
e286cd845f
ble_mesh: stack: Fix rpl not check by proxy cfg [Zephyr]
2020-10-09 08:52:01 +00: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
e14868ff30
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-09-21 11:46:52 +00:00
lly
cf1f5fe5ad
ble_mesh: stack: Check if mesh stack initialized before init vendor client
2020-09-16 02:41:49 +00:00
lly
b453c1268a
ble_mesh: stack: Use settings_core_erase when deinit
2020-09-14 08:40:12 +00:00
lly
825ceb726d
ble_mesh: stack: Fix storing next net_idx and app_idx
2020-09-14 08:40:12 +00:00
lly
f34c7df26d
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-09-14 08:40:12 +00:00
lly
e18ea178b8
ble_mesh: stack: Split model settings store and clear
2020-09-14 08:40:12 +00:00
lly
f8c3818182
ble_mesh: stack: Erase netkey and appkey with key index
2020-09-14 08:40:12 +00:00
lly
80b16c58bb
ble_mesh: stack: Add clear hb_pub in settings
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
f010c36366
ble_mesh: stack: Use erase settings functions
2020-09-14 08:40:12 +00:00
lly
5ad4166d41
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-09-14 08:40:12 +00:00
lly
2bb65fac60
ble_mesh: stack: Add role check before enabling device
2020-09-14 08:40:12 +00:00
lly
ace471c266
ble_mesh: stack: Define a type for mesh nvs handle
2020-09-14 08:40:12 +00:00
lly
1037736300
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 00:47:43 +00:00
lly
8a3ccd855f
ble_mesh: nimble: Fix updating ccc handle with wrong value
2020-09-08 00:47:42 +00:00
lly
d6947d0699
ble_mesh: stack: Avoid using assert in mesh stack
2020-09-03 07:17:50 +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
0fcd0bb6b8
ble_mesh: stack: Client model related code clean
2020-08-06 08:45:22 +00:00
lly
e924e5f2f4
ble_mesh: stack: Rename cfg & health client status recv func
2020-08-06 08:45:22 +00:00
lly
36d714ec59
ble_mesh: stack: Check client msg result in common func
2020-08-06 08:45:22 +00:00
lly
02eaaca3d6
ble_mesh: stack: Fix no events for some error conditions
2020-08-06 08:45:22 +00:00
lly
5f6f61f634
ble_mesh: stack: Move client role set to the msg function
2020-08-06 08:45:22 +00:00
lly
ad39479804
ble_mesh: stack: Remove some not used client parameters
2020-08-06 08:45:22 +00:00
lly
1d6f653640
ble_mesh: stack: Remove some not used variables & functions
2020-08-06 08:45:22 +00:00
lly
7542c86d9c
ble_mesh: stack: Update client model msg send
2020-08-06 08:45:22 +00:00
morris
2917651478
esp_rom: extract common ets apis into esp_rom_sys.h
2020-07-27 15:27:01 +08:00
lly
4be5563fdb
ble_mesh: stack: Fix recv health current status incorrectly
2020-07-17 02:53:40 +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
f4846cca4b
ble_mesh: stack: Make proxy server & client functions clear
2020-07-10 14:12:58 +08:00
lly
82d4bd280b
ble_mesh: stack: Add proxy cfg pdu length check
2020-07-10 00:57:09 +00:00
lly
aeb44745bf
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-10 00:57:09 +00:00
lly
fd6071a0fc
ble_mesh: stack: Add more checks about input prov bearers
2020-07-10 00:57:09 +00:00
Island
5d970c0e8c
Merge branch 'feat/ble_mesh_use_iram_for_mem_alloc' into 'master'
...
Feat/ble mesh use iram for mem alloc
See merge request espressif/esp-idf!9449
2020-07-09 23:06:27 +08:00
lly
8005d07e07
ble_mesh: stack: Add two application macros for TTL
2020-07-08 08:30:54 +00:00
lly
edb088e5db
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-08 08:30:54 +00:00
lly
076fee8dde
ble_mesh: stack: Rename mesh adv queue and relay queue
2020-07-08 01:45:01 +00:00
lly
f5fcee186f
ble_mesh: stack: Use macros for adv task name & prio
2020-07-08 01:45:01 +00:00
lly
89715d7010
ble_mesh: stack: Make freertos static allocation visible
2020-07-08 01:45:01 +00:00
lly
cba3733d29
ble_mesh: stack: Add a option of using IRAM for memory allocation
2020-07-08 01:45:01 +00:00
lly
6ca4ea1a1f
ble_mesh: stack: Update some fast prov functions
2020-07-01 13:26:06 +00:00
lly
64e76ee019
ble_mesh: stack: Move fast prov functions to a single file
2020-07-01 13:26:06 +00:00
Island
a97a16202e
Merge branch 'bugfix/ble_mesh_compile_error' into 'master'
...
bugfix: ble mesh proxy compile error
See merge request espressif/esp-idf!9334
2020-07-01 11:17:26 +08:00
lly
6aef6c5f1c
ble_mesh: stack: Copy recv_rssi for other received messages
...
Follow the commit: 2b80cb6883
,
copy the recv_rssi for other mesh messages.
2020-06-29 20:07:42 +08:00
mbroek
2b80cb6883
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-29 19:54:23 +08:00
lly
c8112454c3
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-06-28 23:09:47 +00:00
Island
3266511582
Merge branch 'bugfix/ble_mesh_split_tinycrypt' into 'master'
...
Bugfix/ble mesh split tinycrypt
See merge request espressif/esp-idf!9098
2020-06-23 19:07:31 +08:00
Island
07b15b0d36
Merge branch 'bugfix/ble_mesh_get_node_with_name' into 'master'
...
ble_mesh: Get node info with pre-configured node name
Closes BMCI-88
See merge request espressif/esp-idf!9089
2020-06-23 19:04:06 +08:00
Island
33282d9c94
Merge branch 'bugfix/ble_mesh_check_subnet_before_update_beacon_sent' into 'master'
...
ble_mesh: Check if subnet exists before updating beacon_sent
Closes BLEMESH-198
See merge request espressif/esp-idf!8709
2020-06-23 19:03:50 +08:00
Island
1420b6dd89
Merge branch 'bugfix/ble_mesh_bt_hex' into 'master'
...
ble_mesh: Fix wrong log output with bt_hex
See merge request espressif/esp-idf!9119
2020-06-23 19:02:58 +08:00
Island
371d590ca7
Merge branch 'bugfix/ble_mesh_not_define_bool' into 'master'
...
Bugfix/ble mesh not define bool
Closes IDFGH-3078 and BMCI-71
See merge request espressif/esp-idf!9135
2020-06-23 19:02:05 +08:00
lly
9e293b2e1f
ble_mesh: Mark platform related default RNG as 0
2020-06-23 06:19:08 +00:00
lly
763f3ace61
ble_mesh: Remove the previously added redundant aes files
2020-06-23 06:19:08 +00:00
lly
eecf9cc595
ble_mesh: Update tinycrypt header file include guards
...
Add BLE_MESH in the macro to make it specific for BLE Mesh.
2020-06-23 06:19:08 +00:00
lly
eb7b2b5ae0
ble_mesh: Format source and header files of tinycrypt
2020-06-23 06:19:08 +00:00
lly
ff7f088ebb
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-06-23 06:19:08 +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
8bfccba598
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-20 05:32:13 +00:00
lly
ba5da8b086
ble_mesh: stack: Check model status with variable length
2020-06-19 21:30:55 +08:00
lly
d7bd5c002e
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-16 06:32:12 +00:00
lly
a0f1a43edc
ble_mesh: Remove boolean type definitions
2020-06-11 16:17:49 +08:00
Nikolaos Strikos
c04cfc2545
ble_mesh: Do not #define bool when compiling in C++
2020-06-11 16:13:26 +08:00
Island
b2a0e63ca8
Merge branch 'bugfix/ble_mesh_remove_relay_dependency' into 'master'
...
ble_mesh: Remove relay option dependency
See merge request espressif/esp-idf!9024
2020-06-03 15:20:24 +08:00
Island
ae2898f12e
Merge branch 'bugfix/ble_mesh_rework_prov_pdu_len_check' into 'master'
...
ble_mesh: Rework prov pdu length check
See merge request espressif/esp-idf!8993
2020-06-03 15:10:14 +08:00
lly
5ced2206b4
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:05:16 +08:00
Island
bcbf2f2275
Merge branch 'bugfix/ble_mesh_model_recv_fix' into 'master'
...
Bugfix/ble mesh model recv fix
See merge request espressif/esp-idf!8988
2020-06-02 11:00:07 +08:00
lly
c6e9d789b7
ble_mesh: Rework prov pdu length check
2020-06-01 20:44:52 +08:00
lly
e41eae1b07
ble_mesh: correct the return type [Zephyr]
2020-06-01 14:08:21 +08:00
lly
1e29d86dd3
ble_mesh: Add net_buf_simple_init_with_data [Zephyr]
2020-06-01 13:57:41 +08:00
lly
8a8caebf51
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-01 13:57:33 +08:00
lly
9063821f01
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-05-29 21:10:13 +08:00
lly
409ea309f9
ble_mesh: Add more checks of net_idx & app_idx
2020-05-29 21:10:13 +08:00
lly
47609970db
ble_mesh: Optimize some send & recv logs
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