gengyuchao
443ea78e78
bugfix:Fix length check for snprintf in osi config. And remove the error code when there is no file in the nvs in config.c
2020-01-16 16:20:43 +08:00
gengyuchao
ed6805625c
ble:set a esp api to get size of controller send packets buffer.
2020-01-16 16:09:34 +08:00
gengyuchao
74a89774fd
bugfix:Fixed throughput wasting memory and packet loss issues.
2020-01-16 16:09:17 +08:00
gengyuchao
7dc5c2af59
ble Fix typo and add some comment
2020-01-16 16:05:44 +08:00
Brian Friedkin
e5bd8b1982
add missing gatt descriptors
2020-01-16 16:05:29 +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
gengyuchao
4900ead609
bugfix:btmd fix the problem that fixed_queue_enqueue may give the wrong semaphore if list_append fail to calloc a new node
2020-01-16 11:32:40 +08:00
zhiweijian
93409bd57e
component/bt: fix blufi prepare write buf len invalid
2020-01-14 17:25:54 +08:00
zhiweijian
32ba52760f
Component/bt: Fix GATTC trigger open event multiple times
2020-01-14 17:24:36 +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
weitianhua
a388eb8806
componnets_bt/:fix hfp/a2dp coex bug with iphone
2020-01-08 19:25:29 +08:00
baohongde
3ae110b30c
components/bt: Fix A2DP stuck when BLE's interval is too small
...
1. Fix the cumulative time switch from BLE to classic BT
2. Enhance classic BT performance while enable calssic BT and BLE at the same time
2020-01-06 20:31:54 +08:00
baohongde
d93bff2699
components/bt: Revert changes of security mask
2019-12-29 06:29:23 +00: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
Geng Yu Chao
f955c49423
Bugfix/btdm fix doc and host bug backport v4.0
2019-12-18 14:19:27 +08:00
baohongde
a82215d161
components/bt: Fix AVRC metadata length error
2019-12-14 05:48:26 +00:00
Chinmay Chhajed
2887131b39
Changes in menuconfig
options to not compile any host when using hci
...
examples as no host is required there.
2019-12-06 12:09:16 +08:00
Jiang Jiang Jian
a5b803540a
Merge branch 'bugfix/btdm_allow_start_adv_again_v4.0' into 'release/v4.0'
...
component/bt: allow to send stop adv again and fix tx prog crash(backport v4.0)
See merge request espressif/esp-idf!6653
2019-12-04 20:24:07 +08:00
Prasad Alatkar
69c86bc37e
NimBLE: Fix erroneous behaviour of NPL when controller not ready to receive (Backport v4.0)
2019-12-01 17:53:49 +08:00
zhiweijian
8d189d9fb4
component/bt: allow adv stop again when adv is already stoped and fix crash when tx prog sometimes
2019-11-27 20:15:08 +08:00
weitianhua
e7a6fdca54
component/bt: Fix bugs in HFP feature
2019-11-27 16:48:26 +08:00
Jiang Jiang Jian
48dfbe05a4
Merge branch 'fixed_queue_v4.0' into 'release/v4.0'
...
component_bt/: Fix_pointer_type_fixed_queue v4.0
See merge request espressif/esp-idf!6846
2019-11-27 16:39:51 +08:00
weitianhua
5d00321d07
fix_pointer_type_fixed_queue
2019-11-27 15:06:15 +08:00
Jiang Jiang Jian
2e8ad19e35
Merge branch 'bugfix/ble_mesh_device_with_wrong_name_on_ios_v4.0' into 'release/v4.0'
...
ble_mesh: fix ble mesh device with wrong name on iOS (v4.0)
See merge request espressif/esp-idf!6521
2019-11-27 10:31:01 +08:00
Jiang Jiang Jian
88cbc26f4d
Merge branch 'bugfix/btdm_run_out_of_frame_element_v4.0' into 'release/v4.0'
...
components/bt: Fix assert due to no free element form
See merge request espressif/esp-idf!6700
2019-11-19 17:01:32 +08:00
baohongde
8353ecdf36
components/bt: Disable some unsupported security mask
2019-11-17 13:45:32 +08:00
lly
eb95bc68c4
ble_mesh: fix ble mesh device with wrong name on iOS
2019-11-14 16:56:34 +08:00
baohongde
f9f49107ca
components/bt: Fix assert due to no free element form
2019-11-14 15:20:54 +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
Jiang Jiang Jian
720528ef11
Merge branch 'feature/nimble_host_esp_ble_mesh_v4.0' into 'release/v4.0'
...
components/bt: Add support of NimBLE host in ESP BLE Mesh (backport v4.0)
See merge request espressif/esp-idf!6619
2019-11-13 21:32:23 +08:00
Angus Gratton
475a746e46
bt: Include DMA reserved pool when allocating internal-only memory
...
Fix for root cause of https://github.com/espressif/esp-idf/issues/3592
2019-11-08 11:37:46 +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
Hrishikesh Dhayagude
56d1e4411e
NimBLE: Set the default number of max connections to the controller's value
...
Also, update the NimBLE submodule to remove unwanted logging stuff
2019-11-06 18:24:56 +05:30
baohongde
e85804824e
components/bt: Not post message to a2dp ctrl queue from btc queue, just call it.
2019-11-01 20:12:24 +08:00
Jiang Jiang Jian
304f6a577a
Merge branch 'bugfix/btdm_assert_deinit_a2dp_while_playing_v4.0' into 'release/v4.0'
...
components/bt: Fix assert when deinit A2DP while playing music
See merge request espressif/esp-idf!6534
2019-11-01 18:20:07 +08:00
Jiang Jiang Jian
1007473a3b
Merge branch 'bugfix/btdm_check_avrc_connected_error_4.0' into 'release/v4.0'
...
components/bt: Fix error in checking AVRC connected
See merge request espressif/esp-idf!6440
2019-11-01 14:14:13 +08:00
Krzysztof Budzynski
f9fa039826
Provide BLE Mesh documentation
2019-10-31 17:08:26 +08:00
Jiang Jiang Jian
56d5548747
Merge branch 'bugfix/btdm_backports_v4.0_1028' into 'release/v4.0'
...
bt: backport btdm controller fixes to v4.0
See merge request espressif/esp-idf!6514
2019-10-30 15:39:11 +08:00
baohongde
cab589af9d
components/bt: Fix error in checking AVRC connected
2019-10-30 02:34:33 +00:00
baohongde
1cf2da8d67
components/bt: Fix assert when deinit A2DP while playing music
2019-10-29 19:58:52 +08:00
Jiang Jiang Jian
744625f234
Merge branch 'bugfix/btdm_disable_bt_gatt_v4.0' into 'release/v4.0'
...
components/bt: Disable BR/EDR GATT
See merge request espressif/esp-idf!6503
2019-10-29 18:15:54 +08:00
Jiang Jiang Jian
3a1d0e9352
Merge branch 'bugfix/coex_semaphore_take_in_isr_lock_v4.0' into 'release/v4.0'
...
fix bug that semaphore may schedule out in ISR locking
See merge request espressif/esp-idf!6426
2019-10-28 18:45:17 +08:00
baohongde
8afd0de501
components/bt: bugfix that bluetooth controller may not be able to enter sleep after end of wake up request
2019-10-28 15:10:23 +08:00
baohongde
1f7a66a22e
components/bt: Fix LMP sniff req timeout
2019-10-28 15:09:49 +08:00
baohongde
bcc19b7826
components/bt: Disable BR/EDR GATT
2019-10-28 11:21:09 +08:00
Tian Hao
c599d7aa49
fix bug that semaphore may schedule out in Critical Section
...
1. Since BLE full-scan feature for BLE mesh change the controller code cause this problem,
it cause coex semaphore take in "interrupt disable", then it may cause task schedule
and cause crash in freertos
2. Fix newlib lock ISR context and critical section check
3. Fix bt controller ISR context and critical section check
2019-10-25 12:01:06 +08:00
lly
34c33f7440
ble_mesh: using bt device name in mesh proxy adv
2019-10-22 15:48:00 +08:00
Jiang Jiang Jian
054e2dbb44
Merge branch 'bugfix/not_restoring_ble_mesh_cfg_val_v4.0' into 'release/v4.0'
...
ble_mesh: fix not restoring ble mesh cfg value (v4.0)
See merge request espressif/esp-idf!6276
2019-10-21 20:16:50 +08:00
Prasad Alatkar
6a60c4a046
NimBLE: Misc changes in NimBLE porting layer and menuconfig option (Backport 4.0)
...
- Minor fix to remove while loop & delay while transmitting data from
host to controller.
- Add menuconfig option to enable predefined public-private keypair for
debugging (Vol. 3, Part H, 2.3.5.6.1)
- Update NimBLE submodule: Fix for #4028 , #4012
2019-10-18 13:18:09 +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
Roland Dobai
dedaf624db
Handle deprecated values in sdkconfig.defaults
...
The issue was pointed out also in
https://github.com/espressif/esp-idf/issues/4092
2019-10-03 10:13:42 +02:00
Xia Xiaotian
10d26549fa
Coexist: fix some coexist bugs
...
1. Fix high beacon and broadcast packets loss ratio of WiFi to
make MDNS test pass.
2. Improve stability of WiFi performance with a little sacrifice
of throughput.
3. Improve BLE advertising and connection performance with
dynamic priority. It sacrifices a little WiFi throughput, but
achieves balance between WiFi and Bluetooth.
2019-09-30 11:42:05 +08:00
lly
5a94142481
ble_mesh: fix client model invalid address access
2019-09-27 15:28:10 +08:00
Jiang Jiang Jian
c776991233
Merge branch 'bugfix/kconfig_corrections_v4.0' into 'release/v4.0'
...
Fix Kconfig issues discovered by upstream Kconfiglib (v4.0)
See merge request espressif/esp-idf!6195
2019-09-25 16:26:40 +08:00
Jiang Jiang Jian
a21eb04cc6
Merge branch 'bugfix/btdm_a2dp_sink_media_suspend_cmd_unack_for_v4.0' into 'release/v4.0'
...
bugfix/btdm_a2dp_sink_media_suspend_cmd_unack_for_v4.0(backport v4.0)
See merge request espressif/esp-idf!5940
2019-09-25 16:12:43 +08:00
Jiang Jiang Jian
116d0c8145
Merge branch 'bugfix/ble_mesh_queue_task_init_check_v4.0' into 'release/v4.0'
...
ble_mesh: check ble mesh queue and task init status (v4.0)
See merge request espressif/esp-idf!6193
2019-09-25 15:08:23 +08:00
Roland Dobai
fc738680f8
Fix Kconfig issues discovered by upstream Kconfiglib
2019-09-25 08:25:51 +02:00
Prasad Alatkar
499accb652
BT/Bluedroid: Add support to set min encryption key size requirement (backport)
...
- Backport of IDF MR!6122.
- Modifies `smp_utils.c` to add check on encryption key size received from
peer.
- Modifies `esp_ble_gap_set_security_param` API to add minimum encryption key
size requirement.
2019-09-25 11:57:21 +08:00
Jiang Jiang Jian
988147a451
Merge branch 'bugfix/btdm_loop_in_feature_req_ext_v4.0' into 'release/v4.0'
...
components/bt: Fix sending LMP_features_req_ext in a loop
See merge request espressif/esp-idf!6023
2019-09-25 11:52:10 +08:00
lly
9e6c56f9f2
ble_mesh: check ble mesh queue and task init status
2019-09-25 11:03:18 +08:00