Commit graph

83 commits

Author SHA1 Message Date
lly 4aa7f31f02 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-13 10:39:10 +08:00
lly 318f83e33a 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-13 10:39:03 +08:00
lly 4bf2ceee4e 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-13 10:38:59 +08:00
lly a9c5092baf 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-13 10:38:54 +08:00
lly 9e47e04897 ble_mesh: Expose app key get function 2020-01-13 10:38:48 +08:00
lly ca0bfb84d0 ble_mesh: Expose header parsing outside net 2020-01-13 10:38:38 +08:00
lly cc772c1324 ble_mesh: Remove unused macro FRIEND_BUF_SIZE 2020-01-13 10:38:31 +08:00
lly c344a4a3b9 ble_mesh: Make RSSI value available to mesh applications 2020-01-13 10:38:26 +08:00
lly 32387250bc 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-13 10:38:21 +08:00
lly a870460f72 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-13 10:38:15 +08:00
Jiang Jiang Jian d41c020649 Merge branch 'bugfix/fix_ble_mesh_adv_buf_unref_v4.0' into 'release/v4.0'
ble_mesh: Fix adv buf unref and link_id in exceptional list (v4.0)

See merge request espressif/esp-idf!7080
2019-12-22 16:02:24 +08:00
lly 53e6eb8467 ble_mesh: Fix using wrong name for PB-GATT 2019-12-20 17:13:20 +08:00
lly ebaa3e1c3e ble_mesh: Fix adv buf unref and link_id in exceptional list 2019-12-20 17:13:15 +08:00
lly 23770edb43 ble_mesh: Add unlock when failed to create alarm 2019-12-20 15:34:10 +08:00
lly 6ea738eeb0 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 15:34:06 +08:00
lly 3e6d04fc86 ble_mesh: Use mutex to protect client list operations 2019-12-20 15:34:01 +08:00
lly 9dc45e788d ble_mesh: Remove useless parameters of lock/unlock 2019-12-20 15:33:56 +08:00
lly bf712e4f91 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-20 15:33:50 +08:00
lly eb95bc68c4 ble_mesh: fix ble mesh device with wrong name on iOS 2019-11-14 16:56:34 +08:00
lly f22d46515b 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-14 11:59:21 +08:00
lly 27cb3d7f72 ble_mesh: adapt ble mesh with nimble host 2019-11-14 10:42:30 +08:00
lly a302d210b9 ble_mesh: add events for configuration server model 2019-11-14 10:39:55 +08:00
lly a32c72a1b2 ble_mesh: add Generic/Sensor/Time and Scenes/Lighting Server models 2019-11-14 10:39:49 +08:00
lly f1850b54f3 ble_mesh: add proxy client functionality 2019-11-14 10:39:40 +08:00
lly c85abf87b5 ble_mesh: add ble mesh friend node event 2019-11-14 10:39:17 +08:00
lly 9029ccd21b ble_mesh: add low power node api and event 2019-11-14 10:39:13 +08:00
lly eaeb36375a ble_mesh: add heartbeat message recv callback 2019-11-14 10:39:08 +08:00
lly 805bc06127 ble_mesh: modify health server model callbacks 2019-11-14 10:39:04 +08:00
lly 4702cd1b51 ble_mesh: add separate advertising buffers for relay packets 2019-11-14 10:38:59 +08:00
Hrishikesh Dhayagude 9cc272978c 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-11-06 18:27:14 +05:30
Hrishikesh Dhayagude 5cb6a49c1e components/bt: Add support of NimBLE host in ESP BLE Mesh 2019-11-06 18:26:30 +05:30
Krzysztof Budzynski f9fa039826 Provide BLE Mesh documentation 2019-10-31 17:08:26 +08:00
lly 34c33f7440 ble_mesh: using bt device name in mesh proxy adv 2019-10-22 15:48:00 +08:00
lly 7d267a340f ble_mesh: fix not callback net_key when device is provisioned 2019-10-11 10:05:12 +08:00
lly 66a46de2a7 ble_mesh: fix not restoring ble mesh cfg value 2019-10-08 16:37:20 +08:00
lly 5a94142481 ble_mesh: fix client model invalid address access 2019-09-27 15:28:10 +08:00
lly 9e6c56f9f2 ble_mesh: check ble mesh queue and task init status 2019-09-25 11:03:18 +08:00
lly 1e01accaa4 ble_mesh: fix duplicate memory free during receiving status message 2019-09-16 17:30:03 +08:00
lly 77f186a7b9 ble_mesh: make unicast elem lookup O(1) 2019-09-16 15:06:52 +08:00
lly 8dbb2083ea ble_mesh: fix ble mesh get timer remaining time 2019-09-10 17:01:03 +08:00
lly 55f687c763 ble_mesh: update ble mesh examples sdkconfig.defaults 2019-09-09 18:10:52 +08:00
lly 329388fa47 ble_mesh: fix ble mesh btc may caused memory leak 2019-09-09 18:10:47 +08:00
lly 0f36dabcaf ble_mesh: fix publication period timestamp initialization 2019-09-09 18:10:42 +08:00
lly 0299e22dd0 ble_mesh: remove useless mesh_opcode 2019-09-09 18:10:34 +08:00
lly f072c5af4e ble_mesh: fix bt_mesh_net_resend() caused compiling error 2019-09-09 17:47:56 +08:00
lly 6982663380 ble_mesh: fix adhering to the configured Friend Queue size 2019-09-09 17:47:47 +08:00
lly 1d970ad276 ble_mesh: remove useless code bt_mesh_trans_resend() 2019-09-09 17:47:30 +08:00
lly a73cc70af9 ble_mesh: lpn remove msg from cache on rejection 2019-09-09 17:47:24 +08:00
lly 225ee8e5d1 ble_mesh: introduce a helper for send callback function 2019-09-09 17:47:18 +08:00
lly fa4cd56d00 ble_mesh: fix heartbeat sending on friendship established/lost 2019-09-09 17:47:07 +08:00