lly
e8440ac2f9
ble_mesh: Persistent storage of Virtual Address
...
The 16-bit format group addresses will be stored,
but we don't store (or restore) the virtual label UUIDs,
i.e. after a power cycle the 16-bit group addresses
would be meaningless.
2020-01-06 16:17:36 +08:00
lly
74d0bd3134
ble_mesh: Proxy forwards ALL_NODES addr
...
Unless explicitly blacklisted, the Proxy node will forward all messages
for the ALL_NODES address to the GATT proxy client.
2020-01-06 16:17:36 +08:00
lly
1338fc4ff1
ble_mesh: Model message macros
...
Creates macros for determining model message lengths based on opcode,
payload length and MIC size. Also adds macro wrapping
NET_BUF_SIMPLE_DEFINE to serve the most common use case.
2020-01-06 16:17:36 +08:00
lly
f3b9b099cd
ble_mesh: Use net_buf_simple_clone
...
Uses net_buf_simple_clone to access the sdu of an unsegmented app packet
for re-encryption.
2020-01-06 16:17:36 +08:00
lly
aec696a3a4
ble_mesh: Skip local messages in rx
...
Local messages are already enqueued for the LPN in the tx path, and
don't have to be added again in the rx path.
2020-01-06 16:17:36 +08:00
lly
6516ab71ea
ble_mesh: Ensure seqnum match in app/net
...
Re-encrypts single-segment application messages when the network seqnum
has changed, to avoid encrypting messages with different seqnums in
network and transport. This operation is only required for unsegmented
messages, as segmented messages don't need to use the same seqnum in
network.
Reinstates the special adv data for friend messages to store the app key
index.
2020-01-06 16:17:36 +08:00
lly
b88dbf6348
ble_mesh: Expose app key get function
2020-01-06 16:17:36 +08:00
lly
906fb9d6e3
ble_mesh: Expose header parsing outside net
2020-01-06 16:17:36 +08:00
lly
865434e6de
ble_mesh: Remove unused macro FRIEND_BUF_SIZE
2020-01-06 16:17:36 +08:00
lly
67cb3062a6
ble_mesh: Make RSSI value available to mesh applications
2020-01-06 16:17:36 +08:00
lly
89a681fd4a
ble_mesh: Encrypt friend packets on send
...
Stores friend queue packets unencrypted, removing any out-of-order
issues caused by seqnum allocation. Also moves as much of the metadata
storage as possible into the packet, allowing us to free up some bytes
of net_buf user data for friend packets.
2020-01-06 16:17:36 +08:00
lly
99a63ce81d
ble_mesh: Expose SeqZero mask
...
Makes a define for the seqzero 13-bit mask in transport, and exposes it
in the header for use in the friend module.
2020-01-06 16:17:36 +08:00
lly
9f6dd19033
ble_mesh: Update lightness last state when actual state is changed
2020-01-04 14:57:08 +08:00
lly
3b9fe36494
ble_mesh: Fix memory leak when node is reset
...
When node is being reset, the init functions of each sig-defined
models will be invoked again, this will cause memory leak because
some model internal data will be allocated again.
Hence before trying to allocate memory for them, we add some check
to make sure no memory has been allocated previously.
And for client model, when the init functions are invoked again,
we will clear the list items.
2019-12-28 08:00:44 +00:00
Jiang Jiang Jian
e977cc24ff
Merge branch 'bugfix/fix_ble_mesh_adv_buf_unref' into 'master'
...
ble_mesh: Fix adv buf unref and link_id in exceptional list
See merge request espressif/esp-idf!6828
2019-12-20 17:11:08 +08:00
lly
fbdaed0248
ble_mesh: Add unlock when failed to create alarm
2019-12-20 12:25:01 +08:00
lly
619e606356
ble_mesh: Rename ble mesh lock/unlock functions
...
Rename BLE Mesh internal lock/unlock functions, also seperate
the list, buf and atomic lock/unlock functions
2019-12-20 12:23:10 +08:00
lly
31a4738bd4
ble_mesh: Use mutex to protect client list operations
2019-12-14 17:32:47 +08:00
lly
e4223df60f
ble_mesh: Remove useless parameters of lock/unlock
2019-12-14 16:28:22 +08:00
lly
d2bc597e9f
ble_mesh: Client model check timer remaining time
...
Before handling status message, client models need check if the
corresponding timer has expired. And if timeout happens, the
status message will be treated as a publish message.
2019-12-14 15:43:59 +08:00
lly
1a8199dd41
ble_mesh: Fix using wrong name for PB-GATT
2019-12-12 15:59:37 +08:00
lly
c354b0993d
ble_mesh: Fix adv buf unref and link_id in exceptional list
2019-12-12 15:58:43 +08:00
Geng Yu Chao
6c923cf330
Fix some typo in idf
2019-12-12 15:55:42 +08:00
lly
093cc494b9
ble_mesh: fix ble mesh device with wrong name on iOS
2019-11-14 17:03:46 +08:00
lly
2bba9d7700
ble_mesh: miscellaneous modifications
...
1. Clean up client_common.c
2. Clean up esp_ble_mesh directory
3. Update Kconfig.in
4. Format esp_ble_mesh files
2019-11-08 11:10:52 +08:00
lly
30aa236219
ble_mesh: adapt ble mesh with nimble host
2019-11-08 11:10:52 +08:00
lly
547081cc3c
ble_mesh: add events for configuration server model
2019-11-08 11:10:52 +08:00
lly
f906b7caf3
ble_mesh: add Generic/Sensor/Time and Scenes/Lighting Server models
2019-11-08 11:10:52 +08:00
lly
287f80ec01
ble_mesh: add proxy client functionality
2019-11-08 11:10:52 +08:00
lly
c6286529eb
ble_mesh: add ble mesh friend node event
2019-11-08 11:10:52 +08:00
lly
fdfe59d369
ble_mesh: add low power node api and event
2019-11-08 11:10:52 +08:00
lly
afc00fb5f5
ble_mesh: add heartbeat message recv callback
2019-11-08 11:10:52 +08:00
lly
2511024e44
ble_mesh: modify health server model callbacks
2019-11-08 11:10:52 +08:00
lly
729af38346
ble_mesh: add separate advertising buffers for relay packets
2019-11-08 11:10:52 +08:00
Krzysztof Budzynski
2c3548b65e
Provide BLE Mesh documentation
2019-10-30 17:01:18 +08:00
Jiang Jiang Jian
758db1e008
Merge branch 'bugfix/fix_mesh_proxy_adv_with_wrong_dev_name' into 'master'
...
ble_mesh: using bt device name in mesh proxy adv
Closes BLEMESH-51
See merge request espressif/esp-idf!6438
2019-10-26 20:45:10 +08:00
Hrishikesh Dhayagude
a26dfe70aa
nimble: Miscellaneous changes
...
1. Update NimBLE submodule as per changes in adv interval and stop port
2. Make changes in ESP BLE Mesh NimBLE host code for the same
2019-10-24 14:38:01 +08:00
lly
2350b15451
ble_mesh: using bt device name in mesh proxy adv
2019-10-22 15:04:19 +08:00
Hrishikesh Dhayagude
f58d7d14c7
components/bt: Add support of NimBLE host in ESP BLE Mesh
2019-10-21 20:18:21 +08:00
lly
35353de137
ble_mesh: fix not callback net_key when device is provisioned
2019-10-11 09:51:02 +08:00
lly
673f58fe03
ble_mesh: fix not restoring ble mesh cfg value
2019-10-08 16:34:05 +08:00
lly
7a450222f5
ble_mesh: fix client model invalid address access
2019-09-26 20:11:22 +08:00
lly
0792a2fde8
ble_mesh: check ble mesh queue and task init status
2019-09-25 11:09:40 +08:00
lly
9ee5e3d8ed
ble_mesh: fix duplicate memory free during receiving status message
2019-09-16 17:34:08 +08:00
lly
e1b04df763
ble_mesh: make unicast elem lookup O(1)
2019-09-16 14:55:41 +08:00
lly
5d1f84f69c
ble_mesh: fix ble mesh get timer remaining time
2019-09-10 16:58:41 +08:00
lly
1a8f37b383
ble_mesh: update ble mesh examples sdkconfig.defaults
2019-09-09 17:15:16 +08:00
lly
d48c89b56a
ble_mesh: fix ble mesh btc may caused memory leak
2019-09-09 17:15:16 +08:00
lly
8a41132507
ble_mesh: fix publication period timestamp initialization
2019-09-09 17:15:16 +08:00
lly
715cf7d578
ble_mesh: remove useless mesh_opcode
2019-09-09 17:15:16 +08:00