Commit Graph

1291 Commits

Author SHA1 Message Date
baohongde
18e2b52d6d components/bt: Fix ble assert(64, 0) 2020-07-20 17:10:02 +08:00
gengyuchao
cfb6bb7566 Add bt isr count to check controller clk state 2020-07-20 17:10:02 +08:00
gengyuchao
bc6bd5155d Add bt send to queue timeout abort 2020-07-20 17:10:02 +08:00
gengyuchao
2f911d84db Add bt alive Checker. 2020-07-20 17:10:02 +08:00
gengyuchao
9958b41cab Change BTC BTU Queue from INTERNALRAM to PSRAM and Increase the BTC BTU HCI_HOST queue size
Add CONFIG_SPIRAM_USE_MALLOC check and Add free mem when btc btu deinit in use psram mode

Assign NULL to btc btu queue when deinit
2020-07-20 17:10:02 +08:00
baohongde
95ab1be706 components/bt: Ignore clkoff check in CS write/read 2020-07-20 17:10:01 +08:00
baohongde
8e15c53631 components/bt: update bt version log 2020-07-20 17:10:01 +08:00
baohongde
a77867d302 fix live lock in bt isr immediately
fix too many live lock
2020-07-20 17:10:01 +08:00
lly
c27b399a49 ble_mesh: add api to set net_transmit 2020-07-20 17:10:01 +08:00
baohongde
d1027a0514 Fix assert 524288 2020-07-20 17:10:01 +08:00
baohongde
79db8df354 components/bt: Fix disconnect due to sniff with error Dsniff 2020-07-20 17:10:00 +08:00
baohongde
176c02a9fe components/bt: optimize code structure
Move some var to DRAM
2020-07-20 17:10:00 +08:00
weitianhua
552524e43a Fix oppo r15 sniff mode issue
change bt version log
2020-07-20 17:09:50 +08:00
baohongde
030281444c components/bt: Fix crash due to NULL point 2020-07-20 17:09:50 +08:00
baohongde
d5f02c8302 add DRAM_ATTR & add logs 2020-07-20 17:09:49 +08:00
lly
d396624a60 ble_mesh: Check if appkey exist before deleting it 2020-04-20 18:26:17 +08:00
lly
4ede6c8c15 ble_mesh: Fix compile error when -O2 (performance) is chosen 2020-04-20 18:26:17 +08:00
lly
0c5d5c9dd6 ble_mesh: Add length check for some mesh operations 2020-04-20 18:26:17 +08:00
lly
1a89bfaef3 ble_mesh: Reduce the level of some mesh logs 2020-04-20 18:26:17 +08:00
lly
be3be59feb ble_mesh: Remove some redundant functions 2020-04-20 18:26:17 +08:00
lly
679b55da62 ble_mesh: Provisioner provisioning miscellaneous fix 2020-04-20 18:26:17 +08:00
lly
e9b87fda73 ble_mesh: Continue node info restore even if failure happens 2020-04-20 18:26:17 +08:00
lly
20f1838563 ble_mesh: Fix Provisioner provisioning deadlock 2020-04-20 18:26:16 +08:00
lly
f3e107ada9 ble_mesh: Fix update wrong last_hb info 2020-04-20 18:26:16 +08:00
lly
fb33c67532 ble_mesh: Change Provisioned before log to info level 2020-04-20 18:26:16 +08:00
lly
99c6aad0a6 ble_mesh: Use the right netkey during iv update 2020-04-20 18:26:16 +08:00
lly
1ff2d61ddf ble_mesh: Use the right net_idx & app_idx for publish 2020-04-20 18:26:16 +08:00
lly
bb2c0475eb ble_mesh: Check buf->ref before unref the buffer 2020-04-20 18:26:16 +08:00
lly
b5ab64b4d9 ble_mesh: Fix mesh memory use-after-free issue 2020-04-20 18:26:16 +08:00
lly
5c2e8930f9 ble_mesh: Add an API to directly erase mesh info 2020-04-20 18:26:16 +08:00
lly
f34f7bade6 ble_mesh: Add ble mesh deinit in btc task 2020-04-20 18:26:16 +08:00
lly
4790b63e2b ble_mesh: Free beacon timer when deinit mesh 2020-04-20 18:26:16 +08:00
lly
407b9b0a68 ble_mesh: Use lock for mesh timer operations 2020-04-20 18:26:16 +08:00
lly
bad97eb1f9 ble_mesh: Add an API to get Provisioner node table entry 2020-04-20 18:26:16 +08:00
lly
b6bcdad3db ble_mesh: Provisioner supports receiving heartbeat 2020-04-20 18:26:16 +08:00
lly
b6cb812499 ble_mesh: Allow maximum 377 octets payload 2020-04-20 18:26:16 +08:00
lly
f41b9d6d64 ble_mesh: Reset transport info when node is removed 2020-04-20 18:26:16 +08:00
lly
576dcffec1 ble_mesh: Provisioner ignores msg from removed node 2020-04-20 18:26:15 +08:00
lly
8a7c8b2d60 ble_mesh: Provisioner supports multiple nvs namespaces 2020-04-20 18:26:15 +08:00
lly
a58c272b8c ble_mesh: Different vendor models use the same opcode 2020-04-20 18:26:15 +08:00
lly
dfbdddecc1 ble_mesh: Fix compile error with c++ files 2020-04-20 18:26:15 +08:00
lly
46a23d9f8a ble_mesh: Kconfig included a UTF-8 comma 2020-04-20 18:26:15 +08:00
lly
36918e179c ble_mesh: Miscellaneous modifications
1. Add an API to get provisioned node count
2. Update several ble mesh documents
3. Fix some bugs which have been merged
2020-04-20 18:26:15 +08:00
lly
3d49e49210 ble_mesh: Fix an issue which may cause task block 2020-04-20 18:26:15 +08:00
lly
5f04a02bb1 ble_mesh: Miscellaneous updates
1. Use PSRAM for BLE Mesh mutex, queue and task
2. Add a parameter for esp_ble_mesh_deinit()
3. Add a option to enable using memory from PSRAM
4. Provisioner use internal static oob length
5. Update ble mesh tx rx test examples
6. Clear ble coexistence status bit by bit
7. Fix an issue which fails to store comp data
2020-04-20 18:26:15 +08:00
lly
3b935e3fad ble_mesh: Miscellaneous modifications
1. Add local AppKey and NetKey update APIs
2. NULL can be input if message has no parameters
3. Fix compile warning when BT log is disabled
4. Initilize mesh stack local variables
5. Use the latest coexist functions
2020-04-20 18:26:15 +08:00
lly
c4b21e9d47 ble_mesh: Add several APIs for Provisioner
1. Add an API to get node with device uuid
2. Add an API to get node with unicast address
3. Add an API to delete node with device uuid
4. Add an API to delete node with unicast address
2020-04-20 18:26:15 +08:00
lly
cb2cb8fea7 ble_mesh: Add an API to get node info with unicast addr 2020-04-20 18:26:15 +08:00
lly
787ee04a5d ble_mesh: Clean up included header files 2020-04-20 18:26:14 +08:00
lly
db3fa3a100 ble_mesh: Miscellaneous updates
1. Store node name in nvs when Provisioner sets node name
2. Add an API to store node composition data
3. Update lightness last when lightness actual is changed
4. Add ble mesh english/chinese documents
5. Update ble mesh tx/rx test example
6. Add params to provisioner bind appkey comp event
7. Fix node ignoring relay messages issue
8. Fix PreviousAddress endianess in Friend Request
9. Support using a specific partition for ble mesh
10. Fix compile warning when proxy related macros are disabled
11. Not using internal macros in esp_ble_mesh_defs.h
12. No device address needed when PB-ADV is used
2020-04-20 18:26:14 +08:00
lly
3222dfef0e ble_mesh: Miscellaneous modifications
1. Deinit unprov_dev table and fast prov info
2. Fix an issue which may cause failing to send msg
3. Add deinit test into the coex_a2dp_mini example
4. Add an API esp_ble_mesh_provisioner_set_primary_elem_addr
5. Use bt_mesh.flags to indicate device role
6. Fix Provisioner entering IV Update procedure
7. Remove some useless macros
8. Callback rssi of received mesh provisioning packets
9. Modify the Provisioner disable function
10. Provisioner can provision devices with fixed addresses
11. Change some log level from debug to info
12. Add an API for Provisioner to get provisioned node info
2020-04-20 18:26:14 +08:00
lly
d33caa02c8 ble_mesh: Add ble mesh deinit functions 2020-04-20 18:26:14 +08:00
lly
5ef656af35 ble_mesh: Miscellaneous fixes
1. Add buf ref debug in adv_send
2. Use different locks for different items
3. Remove useless CONFIG_BLE_MESH_NODE
4. Modify lock used during provisioning
5. Add lock for message transport
6. Fix memory leak when node is reset
7. Remove static flag in provisioner init
8. Fix Provisioner lock and init issues
9. Rename some Provisioner related functions
10. Add an API to set Provisioner static oob value
2020-04-20 18:26:14 +08:00
lly
5a9a5bed56 ble_mesh: Remove useless implementation in transport.c 2020-04-20 18:26:14 +08:00
lly
f1c222f254 ble_mesh: Fix compile error when using release optimization level 2020-04-20 18:26:14 +08:00
lly
11739fd459 ble_mesh: Add ESP BLE Mesh implementation 2020-04-20 18:26:14 +08:00
baohongde
a172605af4 components/bt: using high level interrupt in lc 2020-04-17 23:16:59 +08:00
baohongde
f490b4ddfe hli: don't spill registers, instead save them to a separate region
Level 4 interrupt has a chance of preempting a window overflow or

underflow exception. Therefore it is not possible to use standard
context save functions, as the SP on entry to Level 4 interrupt may
be invalid (e.g. in WindowUnderflow4).
Instead, mask window overflows and save the entire general purpose
register file, plus some of the special registers. Then clear
WindowStart, allowing the C handler to execute without spilling the
old windows. On exit from the interrupt handler, do everything
    in reverse.
2020-04-17 23:09:50 +08:00
baohongde
712df748da hli_api: meta queue: fix out of bounds access, check for overflow 2020-04-17 23:09:26 +08:00
baohongde
918472f641 Feature: high level interrupt(5) 2020-04-17 23:09:04 +08:00
baohongde
a7a20f2e17 components/bt: Fix a bug that when frame program disable because of 'parity change has been detected on the slave ACL link at slave synchronization algorithm', while now is handling 'the last programmed frame' that cause no acl resched was called after that. 2020-04-17 22:43:45 +08:00
xiewenxiang
7941e591d3 component/bt: fix don't dequeue the command queue after process the read_by_type_req(backport v3.3) 2020-04-17 22:38:16 +08:00
gengyuchao
09c895f0f9 Close L2CAP_WAKE_PARKED_LINK temporary because it may still have some bugs 2020-04-17 22:17:06 +08:00
baohongde
48e6aa916a Fix assert in ld_pscan.c line 1032 2020-04-17 22:16:42 +08:00
gengyuchao
67f1cedbed change btu queue size from 50 to 200 2020-04-17 21:59:29 +08:00
baohongde
0b76a8547f bugfix that when slave initiates unsniff procedure and meet transaction collision, no mode_change_event is reported
Add interrupt protect fpr vhci_env_p->vhci_intr_st
2020-04-17 21:58:45 +08:00
baohongde
92e111eb56 components/bt: Fix int wdt due to disable interrupt too long time 2020-04-17 21:45:20 +08:00
baohongde
7cc89bf83a components/coex: Fix wakeup delay with DFS 2020-04-17 21:40:43 +08:00
baohongde
e1a33408c4 components/coex: Fix coex AFH taskposting err 2020-04-17 21:31:53 +08:00
baohongde
1102d2b1d2 components/bt: Fix conn fail in loop 2020-03-13 13:36:23 +08:00
baohongde
a94ec95d6b components/bt: Disable check due to double isr 2020-03-11 23:26:01 +08:00
baohongde
5eee07f944 components/coex: Set AFH in btdm task when wifi change channel 2020-03-11 14:32:06 +08:00
baohongde
e75cf5d44e Fix some bugs due to interrupt response not timely
1. Fix assert in ld_fm.c line 371 due to double clk isr
2. Fix assert(25, 0) in lc_task.c
3. Fix assert due to different rxlinklbl
4. Fix assert due to different of currentrxdescptr and rxdone is not 0
2020-03-10 20:52:27 +08:00
baohongde
b81de503cd components/bt: disable some frequent logs 2020-03-06 17:00:01 +08:00
baohongde
c38d6a1dc5 components/bt: Fix assert(512,0) 2020-03-06 16:29:28 +08:00
wangmengyang
22b196c4bd component/bt: enable more trace loggings in bluetooth controller
1. add more debugging for issue assertion in ld_sscan.c, line 146
2. modify debug logging level for bluetooth controller, from ERROR to WRANING
2020-03-06 11:27:28 +08:00
baohongde
3d59dd404a Fix no free elt in prog push
ea.c ea_elt_insert will disable all interrupts then get calue of current time
2020-03-03 22:15:36 +08:00
zwj
e479b79462 component/bt: fix ble assert(131072 0) in rwble.c 2020-03-03 21:27:28 +08:00
baohongde
8e6a52008c components/bt: change HCI task size back 2020-02-27 15:04:18 +08:00
baohongde
afb96542dd components/coex: Fix a2dp stuck after creating another connection 2020-02-19 14:49:14 +08:00
baohongde
125e21c3e0 add auto latency to avoid bt stuck when ble connection use small
interval

1. Fix A2DP stuck when BLE's interval is too small
2020-02-19 14:48:58 +08:00
baohongde
1a82857251 components/coex: Fix task watchdog timeout with sleep 2020-01-17 17:42:09 +08:00
baohongde
818ea3e3ce components/coex: backports for coex schm
1. support 40M Wi-Fi when calculate AFH

2. Calculate channel classification according to Host and coex

3. Set BR/EDR/LE coex schm status in controller

4. Only set AFH for BT when WiFi is connected

5. Fix a potential dead lock issue when set AFH

6. Fix WiFi connecting coex schm issue due to periodic timer

7. Complete BT a2dp pause coex schm

8. Increase BT slice when BT a2dp pause in order to receive AVRC event

9. Add more coex schm for BT/BLE
2020-01-14 20:17:46 +08:00
baohongde
be10cc6251 Revert "components/bt: Add API and EVT for set AFH channels(BR/EDR)"
This reverts commit 3b704d2f3a.
2020-01-14 16:05:36 +08:00
baohongde
1a0d6699be components/coex: Fix crash after interrupt restore 2020-01-07 20:05:57 +08:00
baohongde
0d31937a7d components/coex: Fix dead lock 2019-12-28 16:59:44 +08:00
baohongde
04e4f6fbf1 components/coex: Fix cache disable 2019-12-28 12:35:45 +08:00
baohongde
ea6033f0dc components/coex: Set BT AFH when Wi-Fi channel changed 2019-12-27 17:48:36 +08:00
baohongde
c8e5433da3 Add A2DP paused state into schm 2019-12-24 22:11:14 +08:00
baohongde
99951fbcf8 support coex scheme
1. add bugfix of ble and add api to set max adv delay time
2. open full scan and change adv interval check in bluedroid
2019-12-16 15:25:38 +08:00
baohongde
3b704d2f3a components/bt: Add API and EVT for set AFH channels(BR/EDR) 2019-12-16 15:21:20 +08:00
Jiang Jiang Jian
faf96bd108 Merge branch 'bugfix/btdm_run_out_of_frame_element_v3.3' into 'release/v3.3'
components/bt: Fix assert due to no free element form

See merge request espressif/esp-idf!6701
2019-11-27 22:22:33 +08:00
Jiang Jiang Jian
51a49a861a Merge branch 'bugfix/btdm_assert_deinit_a2dp_while_playing_v3.3' into 'release/v3.3'
components/bt: Fix assert when deinit A2DP while playing music

See merge request espressif/esp-idf!6535
2019-11-14 20:12:31 +08:00
baohongde
0f7dc2ec02 components/bt: Fix assert due to no free element form 2019-11-14 15:51:39 +08:00
Xia Xiaotian
9592346090 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.
4. fix bug bb reset lock flag to avoid bb reset lock unhandle
5. fix bug wifi reset mac cause task watch dog timeout
6. fix bug wifi reset mac position
2019-10-29 17:18:12 +00:00
Jiang Jiang Jian
1dd8411e04 Merge branch 'bugfix/coex_semaphore_take_in_isr_lock_v3.3' into 'release/v3.3'
fix bug that semaphore may schedule out in ISR locking (v3.3)

See merge request espressif/esp-idf!6427
2019-10-30 00:49:42 +08:00
Jiang Jiang Jian
e6a71fe29c Merge branch 'bugfix/btdm_disable_bt_gatt_v3.3' into 'release/v3.3'
components/bt: Disable BR/EDR GATT

See merge request espressif/esp-idf!6506
2019-10-30 00:48:14 +08:00
baohongde
c570e253fe components/bt: Fix assert when deinit A2DP while playing music 2019-10-29 20:04:15 +08:00
wangmengyang
3a5249aea9 bugfix that call of esp_a2d_media_ctrl(ESP_A2D_MEDIA_CTRL_SUSPEND) will not get an ACK from callback on A2DP sink 2019-10-29 10:14:19 +00:00
baohongde
28c19e623f components/bt: Disable BR/EDR GATT 2019-10-29 10:10:52 +00:00