Jiang Jiang Jian
b6bec84c6e
Merge branch 'bugfix/ble_mesh_utf_8_comma_4_0' into 'release/v4.0'
...
ble_mesh: Kconfig included a UTF-8 comma (v4.0)
See merge request espressif/esp-idf!7576
2020-02-13 11:13:02 +08:00
Jiang Jiang Jian
d5bd2256f4
Merge branch 'bugfix/fix_ble_mesh_memory_leak_v4.0' into 'release/v4.0'
...
ble_mesh: Fix memory leak when node is reset (v4.0)
See merge request espressif/esp-idf!7278
2020-02-13 10:58:09 +08:00
Jiang Jiang Jian
c235640bf4
Merge branch 'bugfix/ble_mesh_update_lightness_last_v4.0' into 'release/v4.0'
...
ble_mesh: Update lightness last state when actual state is changed (v4.0)
See merge request espressif/esp-idf!7281
2020-02-13 10:58:06 +08:00
lly
3bf1b9b8ab
ble_mesh: Fix compile error with c++ files
2020-02-13 09:52:10 +08:00
lly
04fc15a4f3
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.
2020-02-12 12:03:31 +00:00
lly
e95b59c089
ble_mesh: Kconfig included a UTF-8 comma
2020-02-12 18:28:06 +08:00
Geng Yu Chao
5445c80a8e
component/bt: Fix the issue with pointer type conversion in gattc. Unified count pointer type in bta and btc, change pointer type in bta from int to uint16_t.
2020-01-16 15:26:37 +08:00
Geng Yu Chao
69d341f7f0
Fix some typo in idf
2020-01-16 15:26:37 +08:00
lly
14a408c478
ble_mesh: Fix PreviousAddress endianess in Friend Request
...
The upper transport layer is using big endian ordering. The
PreviousAddress field of a Friend Request message should therefore
be converted to native endianess using sys_cpu_to_be16().
2020-01-13 10:40:25 +08:00
lly
92d0d7ad49
ble_mesh: Fix next_period computation
...
If the duration to publish is roughly the same as the period, we might
end up with elapsed == period, which returns 0 and cancel the periodic
publication. Instead 1 should be returned, just like when the elapsed
time is greater than the period.
2020-01-13 10:40:20 +08:00
lly
19c9ae400b
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-13 10:40:13 +08:00
lly
566fb11a73
ble_mesh: Fix compile error when using release optimization level
2020-01-13 10:40:05 +08:00
lly
928480ada9
ble_mesh: Remove useless CONFIG_BLE_MESH_NODE
...
For Low Power node and Proxy Server, the two features
depend on BLE_MESH_NODE in Kconfig.in, here in the
stack there is no need to judge if CONFIG_BLE_MESH_NODE
is enabled.
2020-01-13 10:39:57 +08:00
lly
da0205b166
ble_mesh: Fixes Provisioner not support friend feature
2020-01-13 10:39:52 +08:00
lly
610fc8124a
ble_mesh: Fixes wrong subnet info used for Friend Clear
...
When Friend node tries to send Friend Clear message to other
Friend nodes, it should use the subnet information based on
the net_idx from friendship.
2020-01-13 10:39:42 +08:00
lly
21dbee1291
ble_mesh: fix provisioner failed to send msg to 0xFFFF
...
According to Mesh Spec 3.4.5.3, a node shall implement a local
network interface. And here we limit the situation just based
on the spec, and Provisioner directly sending the msg without
passing through the local network interface.
2020-01-13 10:39:37 +08:00
lly
e5431e55a9
ble_mesh: fix virtual addr wrong return value
...
Fixes missing return value on `va_del`
Fixes wrong return value on `va_add`
2020-01-13 10:39:28 +08:00
lly
4405560483
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-13 10:39:22 +08:00
lly
51616eacee
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-13 10:39:15 +08:00
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
lly
cf2c5b8d96
ble_mesh: Update lightness last state when actual state is changed
2020-01-10 15:33:59 +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
lly
15f8b0fccc
ble_mesh: fix checking for active heartbeat publication
2019-09-09 17:46:49 +08:00
lly
97080afba2
ble_mesh: fix starting iv update when not on primary subnet
2019-09-09 17:46:43 +08:00
lly
612822d8c9
ble_mesh: fix canceling publication retransmit timer
2019-09-09 17:46:35 +08:00
lly
ff6cb921c3
ble_mesh: fix resending segments on correct bearer
2019-09-09 17:46:27 +08:00
lly
6f7b7c552d
ble_mesh: fix not sending all segments through the Friend Queue
2019-09-09 17:46:19 +08:00
lly
e00186e683
ble_mesh: fix canceled buffer memory leak
2019-09-09 17:46:06 +08:00
lly
a734b3b1bc
ble_mesh: remove some useless copy during ecdh calculation
2019-09-09 17:45:59 +08:00
lly
6de637811f
ble_mesh: move heartbeat sending to transport layer
2019-09-09 17:45:52 +08:00
lly
6ec0c6743a
ble_mesh: fix provisioning send error handling
2019-09-09 17:45:44 +08:00
lly
299c86cc84
ble_mesh: fix rejecting invalid remote public key
2019-09-09 17:45:27 +08:00
lly
d123f6c04b
ble_mesh: add error checks for scan start/stop
2019-09-09 17:45:20 +08:00
lly
3c17bf1a6f
ble_mesh: rename reset_link() to reset_adv_link()
2019-09-09 17:45:14 +08:00
lly
8fb20e4529
ble_mesh: fix public key mismatch error handling
2019-09-09 17:45:06 +08:00
lly
e020d1055a
ble_mesh: update protocol error timeout from zephyr
2019-09-09 17:44:17 +08:00
lly
05e4b28a74
ble_mesh: fix segmented message RPL behavior
2019-09-09 17:44:11 +08:00
lly
27bc688ed8
ble_mesh: clear LPN sent_req on failure
2019-09-09 17:43:59 +08:00
lly
a214fb2821
ble_mesh: update proxy sar operation from zephyr
2019-09-09 17:43:46 +08:00
lly
6b7b9d1550
ble_mesh: fix postponing storage deadline indefinitely
2019-09-09 17:43:40 +08:00
lly
18b873b2e3
ble_mesh: fix RPL storage timeout handling
2019-09-09 17:43:29 +08:00
lly
d1755c1484
ble_mesh: fix output MIC with additional data
2019-09-09 17:43:23 +08:00
lly
152ebb104d
ble_mesh: remove non-standard relay opearation
2019-09-09 17:43:13 +08:00
lly
e3b304997f
ble_mesh: fix finding netkey/appkey/devkey for tx/rx msg
2019-09-09 17:43:04 +08:00
lly
1e20ed4849
ble_mesh: fix failed to set device role caused mem leak
2019-09-09 17:42:50 +08:00
lly
59b663c43d
ble_mesh: ble mesh btc miscellaneous modifications
2019-09-09 17:42:43 +08:00
lly
e9e28c1265
ble_mesh: fix MESH/NODE/FRND/FN/BV-11-C related bug
2019-09-09 17:42:35 +08:00
lly
7030d612e2
ble_mesh: fix MESH/NODE/CFG/GPXY/BV-02-C & MESH/NODE/CFG/NID/BV-02-C related bug
2019-09-09 17:42:20 +08:00
lly
2c852b0d74
ble_mesh: fix MESH/NODE/CFG/HBS/BV-01-C related bug
2019-09-09 17:42:08 +08:00
lly
708bff3b17
ble_mesh: rename ble mesh client model variables and functions
2019-09-09 17:42:00 +08:00
lly
317f4c5ff5
ble_mesh: reorganize ble mesh model files
2019-09-09 17:41:54 +08:00
lly
2c025824d7
ble_mesh: sync zephyr v1.14.0 bt_hex()
2019-09-09 17:41:41 +08:00
lly
9b95064018
ble_mesh: fix provisioner prov auth bug
2019-09-09 17:41:34 +08:00
lly
ff40911a51
ble_mesh: add Doxyfile for core apis & model apis
2019-07-03 17:58:09 +08:00
Hrishikesh Dhayagude
21165edf41
Bluetooth component refactoring
2019-06-30 16:39:00 +08:00