Commit Graph

244 Commits

Author SHA1 Message Date
Tian Hao
b582697889 component/bt : add adv/scan start complete event
1. indicate adv/scan start complete success or failed
2. controller do limit of adv/scan concurrence, so add some codes to report adv/scan start failed or not.
2017-02-23 17:54:22 +08:00
wangmengyang
41070f6768 Merge branch 'master' into feature/btdm_avrc
1. merge master into feature/btdm_avrc
2. add call of esp_bt_controller_enable() in app_main
2017-02-23 15:10:25 +08:00
wangmengyang
118131109e component/bt: modification to a2dp API to support reconnection
1. add API esp_a2d_sink_connect() to initiate connection to other devices;
2. modify lower layers to transfer the disconnection reason upwards
2017-02-23 14:30:08 +08:00
wangmengyang
80cdfc9e0a componentbt: work around the crashing issue after a2dp is connected to Android Phone but before audio stream starts to play
The root cause is the bug in bluetooth controller, in which the HCI_SNIFF_MODE command is sent to controller and at the same time the controller has received same request from remote device.
For now change the time-out period of local device to enter the SNIFF mode.
2017-02-23 11:59:47 +08:00
wangmengyang
1d98c9849e component/bt: remove the A2DP decoding timer and instead trigger decoding directly upon data arrival 2017-02-23 11:56:38 +08:00
Tian Hao
12a7293b31 component/bt : add bluetooth status check
1. add bluetooth controller/host initialize status check
2. separate bluetooth controller task schedule loop from controller init
2017-02-21 01:05:37 +08:00
Yulong
abf87b000d component/bt:fixed the write ccc crash bug error 2017-02-20 08:50:02 -05:00
Tian Hao
4bd5b0c91a component/bt : add bt enable/disable for power save
1. add new APIs bt controller enable/disab/deinit
2. make bt controller work need to call two APIs of esp_bt_controller_init and enable
3. modify phy init to make mac reset once
2017-02-17 19:24:58 +08:00
XiaXiaotian
cd13c9e95d disable phy and rf
1. add a macro in menuconfig for users to choose whether store phy calibration data into NVS or not.

2. rename some disable phy and rf APIs so that existing code which calls old APIS will fail to compile.
2017-02-17 10:24:55 +08:00
XiaXiaotian
eb14284c92 disable PHY and RF when stop WiFi and disable BT
1. Add disable PHY and RF when WiFi and BT are both disabled(including call sniffer disable API).

2. Do not init PHY and RF when cpu start. Init PHY and RF when call Wifi or BT start APIs(including sniffer enable API).

3. Add a temporary lib: librtc_clk.a and will delete it when CPU frequency switching function is done.

4. Add an function to get OS tick rate.

5. Do not put the whole pp.a in iram0, only put lmac.o, ieee80211_misc.o, ets_time.o and wdev.o in iram0.
2017-02-17 10:24:54 +08:00
Jiang Jiang Jian
61c7bd3c3a Merge branch 'bugfix/btdm_gatt' into 'master'
component/bt : fix gatt write memory leak

fix bug of GATT write cause memory leak 

See merge request !506
2017-02-16 15:13:05 +08:00
Tian Hao
6648ff427c component/bt : fix connection bug of Iphone7 10.0.2
This connection error caused by iPhone, it think that TX data length must large than 27 when slave support EXTEND_DATA_LENGTH. But this should be allow. Besides,  the problem cannot be found on higher version of Iphone7, apple seemed to have fixed it.
Actually maybe other BLE device have the same problem.
2017-02-16 14:15:46 +08:00
Tian Hao
5023e30a33 component/bt : fix gatt write memory leak 2017-02-15 20:08:39 +08:00
Jiang Jiang Jian
2664291ba5 Merge branch 'bugfix/btdm_blufi' into 'master'
fix BLUFI bug

fix BLUFI bug with small MTU size

See merge request !493
2017-02-13 14:52:46 +08:00
Tian Hao
5fd7bd14db component/bt : fix GATT disconnect memory leak bug 2017-02-13 14:00:26 +08:00
Tian Hao
2c334b46e0 component/bt : fix BLUFI bug with small MTU size 2017-02-10 11:20:34 +08:00
Ivan Grokhotkov
8e467801bc Merge branch 'bugfix/btdm_debug_gatt_attr_table' into 'master'
component/bt: Fix Gatt table read_req bug and advertising channel 39 not available bug

1. Fix Gatt table read request bug
2. Fix advertising channel 39 not available bug

See merge request !463
2017-01-25 11:48:09 +08:00
Island
c6bb239f0c component/bt: Fix Gatt table read_req bug and advertising channel 39 not available bug 2017-01-25 11:18:26 +08:00
wangmengyang
2c87e84b0a component/bt: bluetooth storage module clean up and bug fix.
1. clean up bluetooth storage log prints;
2. reduce maximum link key storage size
3. modify so that the link key information of the latest connected device is stored at first
2017-01-20 16:46:10 +08:00
Angus Gratton
0b257cfcef bt: esp_ble_gatts_send_indicate: Fix description 2017-01-20 14:56:54 +11:00
Tian Hao
0073ff3acd component/bt : add api to set raw adv_data/scan_rsp_data
1. add api to set raw scan response data
2. add api to set raw scan response data
3. update doxygen
4. add menuconfig to config gatt server demo
2017-01-19 17:36:40 +08:00
wangmengyang
0f711963d7 component/bt: implement non-volatile memory access module for link key storage
1. btif_storage module is ported
2. update controller library that moves functions called in ISRs to IRAM
2017-01-19 17:11:01 +08:00
wangmengyang
36a74daa0a component/bt: clean up AVRCP API and example code 2017-01-19 15:23:46 +08:00
Tian Hao
5508826509 component/bt : fix gatts demo mistakes & unpeg notify bug 2017-01-17 20:13:25 +08:00
Tian Hao
799be9fa3a component/bt : fix gatt server table bugs
1. fix gatt server table bugs
2. fix blufi a minor bug
2017-01-17 18:42:11 +08:00
wangmengyang
49b68c38fa Merge branch 'master' into feature/btdm_avrc
# Conflicts:
#	components/bt/bluedroid/hci/packet_fragmenter.c
#	components/bt/bluedroid/stack/include/gatt_api.h
2017-01-17 10:36:26 +08:00
Wu Jian Gang
9052c6e9ee Merge branch 'bugfix/btdm_adv_stop' into 'master'
component/bt : fix adv stop bug

fix advertising cannot stop bug.

See merge request !412
2017-01-12 17:32:09 +08:00
Wu Jian Gang
ad1790fe3e Merge branch 'feature/btdm_attr_table' into 'master'
component bt:Added the create attribute table method to the new API

GATT Server service table APIs.
Have already modify the style and other things as @jeroen  suggestion in other MR(the MR have been closed)

See merge request !399
2017-01-12 17:31:39 +08:00
Tian Hao
1895460406 component/bt : fix adv stop bug 2017-01-12 16:29:07 +08:00
Tian Hao
fec2f534d5 component/bt : gatt server table fix uuid discovery bug 2017-01-12 16:25:09 +08:00
Tian Hao
142756615b component/bt : mv demo name
1. mv demo name
2. fix a docs
2017-01-12 14:44:26 +08:00
Island
9f151d745e component/bt : Optimize Gatt attr table and fix some bugs
1. Optimize GATT attribute table structure
2. fix read/write bugs
3. add docs
2017-01-12 11:49:15 +08:00
Tian Hao
1eed54c7cd component/bt : modify bluedroid task to core0 2017-01-11 17:19:25 +08:00
Yulong
d512d6100c component bt:Added the create attribute table method to the new API 2017-01-11 16:57:19 +08:00
Jiang Jiang Jian
0c01ef68f1 Merge branch 'bugfix/id9562_unregistered_callback' into 'master'
component/bt: check for registration status of callback function before using it

Add checking of NULL function pointers when calling bluetooth callbacks, especially before the callback functions are registered

See merge request !406
2017-01-11 15:57:03 +08:00
wangmengyang
babeed4170 component/bt: change MACRO to inline function when invoking callbacks 2017-01-11 14:08:16 +08:00
wangmengyang
c592714679 component/bt: fix typos in "if" condition espressions 2017-01-11 13:36:48 +08:00
wangmengyang
0c31bdf643 component/bt: check for registration status of callback function before using it 2017-01-11 11:31:35 +08:00
wangmengyang
59540eeae1 component/bt: bug fix of lack of checking bluetooth stack status inside API functions 2017-01-11 11:04:41 +08:00
Tian Hao
9c630b759f component/bt : add bt device api
1. add get bd_addr function
2017-01-06 21:19:58 +08:00
Tian Hao
e4b9563dac component/bt : blufi add version 2017-01-06 17:40:46 +08:00
Tian Hao
24af07fd13 component/bt : new blufi
1. new blufi protocol
2. new blufi demo
3. support security
4. support sta/ap/sta_ap
5. support wpa-enterprise
2017-01-05 20:22:35 +08:00
wangmengyang
2e7748d625 component/bt: modify bluetooth API
1. VHCI api and doxygen
2. Controller api and doxygen
3. bluedroid init/enable api and doxygen
4. cleanup demo codes
2017-01-05 20:02:06 +08:00
Tian Hao
d6fcec73b2 component/bt : add macro for adv_data_flag
1. add macro for adv data flag
2. add docs for doxygen
2017-01-05 17:53:33 +08:00
Tian Hao
daf58e3852 component/bt : fix advertising bug
1. adv data flag
2. default adv data not BR/EDR in demo
2017-01-05 17:53:33 +08:00
wangmengyang
44914c17bc component/bt: add AVRC controller example with simple PASSTHROUGH cmd 2017-01-05 15:43:44 +08:00
Tian Hao
ee318d42ae Merge branch 'master' into feature/btdm_gatt_api 2017-01-05 15:25:03 +08:00
Angus Gratton
06e03ff52e Replace backwards-compatible portTICK_RATE_MS with FreeRTOS v8+ portTICK_PERIOD_MS
Closes github #51 https://github.com/espressif/esp-idf/issues/51
2016-12-28 10:23:13 +11:00
wangmengyang
d7c1c0b1f6 component/bt: fix API typos, add license headers and fix some log messages 2016-12-27 13:48:07 +08:00
wangmengyang
9b6247a507 component/bt: modify comment formats for API headers 2016-12-26 22:02:40 +08:00
wangmengyang
c94e0177c2 component/bt: Merge branch 'master' into feature/btdm_a2dp 2016-12-26 20:35:28 +08:00
wangmengyang
0ad3017df7 component/bt: A2DP code original in example project moved to component/bt directory;
1. move btif and A2DP source code from project directory to bluetooth directory;
2. some updates of audio source code;
2016-12-26 17:40:28 +08:00
wangmengyang
6163d214b3 component/bt: API clean up for the A2DP example 2016-12-26 17:26:54 +08:00
Tian Hao
65fe6ab320 component/bt : modify demo for new api
1. modify GATT Client demo
2. modify GATT Server demo
3. fix a register notify bug
2016-12-19 17:15:41 +08:00
Tian Hao
c01dedcb06 component/bt : change api for V2.0
1. change all gatt cb function to 3 args and function type. add gattc_if/gatts_if as second argument
2. delete gatt_if of "gatt cb param"
3. separate conn_id and gatt_if from conn_id
4. change the demo code as the gatt changed
2016-12-19 17:15:41 +08:00
Tian Hao
d242251295 component/bt : fix advertising bug
1. low duty can not be set bug
2. adv type can not be effective bug
2016-12-15 14:33:09 +08:00
Tian Hao
f3450abf3d component/bt : add some macro , so redo the doxygen 2016-12-15 14:02:48 +08:00
Tian Hao
d045187c0f component/bt : change the resolving list cleanup position
1. enable will malloc, but disable don't free resolving list, so fix it
2. In disable procedure, it will alloc alarm to hash_map, and all the alarm  hash_map will be free in deinit. So this need not be fixed currently.
2016-12-15 13:35:30 +08:00
Tian Hao
aba262b18b component/bt : fix bluetooth disable memory leak 2016-12-15 01:36:27 +08:00
Tian Hao
69ee1de9fa component/bt : fix enable bug
1. enable will cause exception with list->head memory modify
2. gatt complete, timeout with HCI cmd timeout will cause exception
2016-12-14 22:10:21 +08:00
Tian Hao
5e87cdec7e component/bt : increase the task stack size
1. increase HCI task stack size
2. increase BTC task stack size for default
2016-12-14 22:10:21 +08:00
Tian Hao
fd11beebcd component/bt : fix the init/deinit memory leak
1. modify the memory debug
2. fix init/deinit memory leak
2016-12-14 22:10:21 +08:00
Tian Hao
7ae7a56457 component/bt : fix the bug of deinit/disable
1. fix the exception of deinit/disable
2. debug mem leak of deinit, fix some memleak, but still something wrong.
3. debug men leak of disable.
4. add bluedroid memory debug
2016-12-14 22:10:21 +08:00
Tian Hao
1be09039e3 component/bt : cleanup the un-necessary include in api.h
1. cleanup the un-necessary include in api.h for "extern c"
2. add UUID define
2016-12-09 14:38:21 +08:00
Tian Hao
4c6ccf1c23 component/bt : add cpp extern c
1. add cpp extern c
2. retab tab to 4 space
2016-12-09 14:38:21 +08:00
Tian Hao
e0e6966be0 component/bt : fix the authentication req type 2016-12-09 14:38:21 +08:00
Tian Hao
8185b0f806 component/bt : fix bug of bdaddr point to resolve gattc recv notify 2016-12-09 14:38:21 +08:00
Tian Hao
5933ebc6b6 component/bt : cleanup all the "-W-no-xx" and all the warnings
1. cleanup the warnings.
2. fix the some function called in gap
3. fix some code in btc_main
2016-12-07 13:49:53 -08:00
wangmengyang
11ddfbba4e Merge branch 'feature/btdm_bluedroid' into feature/btdm_a2dp
# Conflicts:
#	examples/13_bt_sdp/components/bluedroid_demos/btif/btif_core.c
#	examples/13_bt_sdp/components/bluedroid_demos/include/btif_util.h
2016-12-02 22:33:09 +08:00
Tian Hao
d925b96daf component/bt : cleanup the function warning in doxygen 2016-12-01 20:55:08 +08:00
Tian Hao
954ffa102f component/bt : add ble event type 2016-12-01 20:16:09 +08:00
Tian Hao
bdf4006da7 component/bt : cleanup the return style 2016-12-01 19:58:52 +08:00
Tian Hao
c6ec70b67b component/bt : cleanup the function comment as doxygen type 2016-12-01 18:58:54 +08:00
Tian Hao
281a9c2761 component/bt : fix a code bug 2016-12-01 12:14:57 +08:00
Tian Hao
758a9e5f06 component/bt : fix compile error 2016-11-29 19:45:10 +08:00
Tian Hao
5a14e8addf component/bt : use ESP_LOGx instead of printf 2016-11-29 17:42:04 +08:00
Tian Hao
9f33d8f5c0 component/bt : add write type 2016-11-29 17:27:12 +08:00
Tian Hao
3a3d4276f8 component/bt : cleanup the comment and pass all doxygen check 2016-11-29 15:32:29 +08:00
Tian Hao
06e2a1d4e1 component/bt : cleanup a macro 2016-11-29 14:38:58 +08:00
Tian Hao
f6de7ea764 component/bt : cleanup status and spell check 2016-11-28 22:40:30 +08:00
Tian Hao
9d9e758756 component/bt : add comment for doxygen
1. use doxygen check api comment
2016-11-28 21:59:04 +08:00
wangmengyang
50227f12fd Merge branch 'feature/btdm_bluedroid' into feature/btdm_a2dp
# Conflicts:
#	components/bt/bluedroid/bta/include/bta_api.h
#	components/bt/bluedroid/bta/include/bta_gattc_int.h
#	components/bt/bluedroid/hci/hci_hal_h4.c
#	components/bt/bluedroid/hci/hci_layer.c
#	components/bt/bluedroid/include/bt_target.h
#	components/bt/bluedroid/stack/btu/btu_init.c
2016-11-28 18:06:24 +08:00
Tian Hao
fd0d28afc3 component/bt : cleanup some missing code 2016-11-28 16:39:53 +08:00
Tian Hao
ff8ce12787 component/bt : cleanup the spell && redundant 2016-11-28 14:58:30 +08:00
wangmengyang
2c577b1360 component/bt: reduce bt tasks' stack size 2016-11-26 16:46:52 +08:00
wangmengyang
2e8af3a8b7 component/bt: fix typos and complier errors of the merged code
1. format the source code of A2DP sample
2. fix some compiler errors and warnings
2016-11-26 13:09:55 +08:00
Tian Hao
1173106a20 component/bt : change task to decease dram(heap)
1. decrease the task size(HCI cannot < 1024, btu cannot < 4096)
2. btc task can config by menuconfig(default 2048)
2016-11-25 23:37:46 +08:00
Tian Hao
c9a0b9a45c component/bt : decrese dram
1. decrease some resource
2016-11-25 21:24:16 +08:00
wangmengyang
73f00732cf Merge branch 'feature/btdm_bluedroid' into feature/btdm_a2dp
# Conflicts:
#	components/bt/bluedroid/bta/sys/bta_sys_main.c
#	components/bt/bluedroid/btc/profile/std/avrc/avrc_api.c
#	components/bt/bluedroid/btc/profile/std/avrc/avrc_bld_ct.c
#	components/bt/bluedroid/btc/profile/std/avrc/avrc_bld_tg.c
#	components/bt/bluedroid/btc/profile/std/avrc/avrc_opt.c
#	components/bt/bluedroid/btc/profile/std/avrc/avrc_pars_ct.c
#	components/bt/bluedroid/btc/profile/std/avrc/avrc_pars_tg.c
#	components/bt/bluedroid/btc/profile/std/avrc/avrc_sdp.c
#	components/bt/bluedroid/btc/profile/std/avrc/avrc_utils.c
#	components/bt/bluedroid/btc/profile/std/avrc/include/avrc_int.h
#	components/bt/bluedroid/btc/profile/std/include/avct_api.h
#	components/bt/bluedroid/btc/profile/std/include/avdt_api.h
#	components/bt/bluedroid/btc/profile/std/include/avdt_defs.h
#	components/bt/bluedroid/btc/profile/std/include/avdtc_api.h
#	components/bt/bluedroid/btc/profile/std/include/avrc_api.h
#	components/bt/bluedroid/btc/profile/std/include/avrc_defs.h
#	components/bt/bluedroid/gki/gki_buffer.c
#	components/bt/bluedroid/hci/hci_hal_h4.c
#	components/bt/bluedroid/hci/hci_layer.c
#	components/bt/bluedroid/hci/packet_fragmenter.c
#	components/bt/bluedroid/include/bt_trace.h
#	components/bt/bluedroid/osi/alarm.c
#	components/bt/bluedroid/profiles/std/avrc/avrc_api.c
#	components/bt/bluedroid/profiles/std/avrc/avrc_bld_ct.c
#	components/bt/bluedroid/profiles/std/avrc/avrc_bld_tg.c
#	components/bt/bluedroid/profiles/std/avrc/avrc_opt.c
#	components/bt/bluedroid/profiles/std/avrc/avrc_pars_ct.c
#	components/bt/bluedroid/profiles/std/avrc/avrc_pars_tg.c
#	components/bt/bluedroid/profiles/std/avrc/avrc_sdp.c
#	components/bt/bluedroid/profiles/std/avrc/avrc_utils.c
#	components/bt/bluedroid/profiles/std/avrc/include/avrc_int.h
#	components/bt/bluedroid/profiles/std/include/avct_api.h
#	components/bt/bluedroid/profiles/std/include/avdt_api.h
#	components/bt/bluedroid/profiles/std/include/avdt_defs.h
#	components/bt/bluedroid/profiles/std/include/avdtc_api.h
#	components/bt/bluedroid/profiles/std/include/avrc_api.h
#	components/bt/bluedroid/profiles/std/include/avrc_defs.h
#	components/bt/bluedroid/stack/avdt/include/avdt_defs.h
#	components/bt/bluedroid/stack/avrc/avrc_api.c
#	components/bt/bluedroid/stack/avrc/avrc_bld_ct.c
#	components/bt/bluedroid/stack/avrc/avrc_bld_tg.c
#	components/bt/bluedroid/stack/avrc/avrc_opt.c
#	components/bt/bluedroid/stack/avrc/avrc_pars_ct.c
#	components/bt/bluedroid/stack/avrc/avrc_pars_tg.c
#	components/bt/bluedroid/stack/avrc/avrc_sdp.c
#	components/bt/bluedroid/stack/avrc/avrc_utils.c
#	components/bt/bluedroid/stack/avrc/include/avrc_int.h
#	components/bt/bluedroid/stack/btu/btu_task.c
#	components/bt/bluedroid/stack/include/avct_api.h
#	components/bt/bluedroid/stack/include/avdt_api.h
#	components/bt/bluedroid/stack/include/avdtc_api.h
#	components/bt/bluedroid/stack/include/avrc_api.h
#	components/bt/bluedroid/stack/include/avrc_defs.h
#	components/bt/bluedroid/stack/include/gatt_api.h
#	components/bt/bluedroid/stack/l2cap/l2c_main.c
#	components/bt/component.mk
#	examples/06_bluedroid_demos/components/bluedroid_demos/app_core/bt_app_core.c
2016-11-25 19:45:29 +08:00
Tian Hao
ac87ddfb05 component/bt : close sdp to free dram
1. free 15K
2016-11-25 15:54:18 +08:00
wangmengyang
8e77c39deb component/bt: reduce the task stack size
1. some tasks's stack size is reduced and the previous severe audio distortion issue is eliminated
2016-11-25 11:21:29 +08:00
Tian Hao
19273c7b2d component/bt : run astyle handle the code files 2016-11-25 02:10:15 +08:00
Tian Hao
d7eb709a9c component/bt : add license header 2016-11-25 01:58:26 +08:00
wangmengyang
dae40afffb component/bt: add protection in GKI_getbuf to protect against memory allocation failure; 2016-11-25 00:05:39 +08:00
Tian Hao
e5ceddabac component/bt : change gatt client callback param
1. change the array to point to decrease the memory occupy
2. change the sendindconfirm position
3. fix union lost
2016-11-24 15:17:49 +08:00
wangmengyang
d50792dec9 component/bt: enlarge GATT related data size to remove the log of error "GATT Stack failed" 2016-11-24 15:14:48 +08:00
Tian Hao
225e31b6de component/bt : change gatt client arg to union
1. decrease the args memory occupy
2. change some macro name
2016-11-23 21:27:05 +08:00
Tian Hao
85aac3afa6 component/bt : decrease callback cb param size
1. decrease callback cb param size
2. add write in gatt server demo
2016-11-23 15:34:21 +08:00
Tian Hao
9ec0fea8e1 component/bt : gatt arg use union
1. union is 28 bytes for each btc task msg arg
2. as gap, individual arg(not use union) is the best mem occupy.
2016-11-23 13:45:21 +08:00
Tian Hao
6cae05d058 component/bt : change gap btc args to union
1. change gap btc args to union to decrease the dram occupied by btc args
2. actually use individual args for every action is the best way(decrease the dram occupy), but for writing code easily and the style, use union
3. gatt server/client should do the same work
2016-11-22 21:50:26 +08:00