feat(bt/bluedroid): Support to build HFP Audio Gateway and Hands Free Unit in single binary

pull/9151/merge
Wang Mengyang 2023-09-27 16:12:52 +08:00 zatwierdzone przez Jin Cheng
rodzic 8b63bba2e8
commit 0cdc3284ce
4 zmienionych plików z 50 dodań i 45 usunięć

Wyświetl plik

@ -61,21 +61,23 @@ config BT_SPP_ENABLED
help
This enables the Serial Port Profile
config BT_HFP_ENABLE
menuconfig BT_HFP_ENABLE
bool "Hands Free/Handset Profile"
depends on BT_CLASSIC_ENABLED
default n
help
Hands Free Unit and Audio Gateway can be included simultaneously
but they cannot run simultaneously due to internal limitations.
choice BT_HFP_ROLE
prompt "Hands-free Profile Role configuration"
config BT_HFP_CLIENT_ENABLE
bool "Hands Free Unit"
depends on BT_HFP_ENABLE
default y
config BT_HFP_CLIENT_ENABLE
bool "Hands Free Unit"
config BT_HFP_AG_ENABLE
bool "Audio Gateway"
endchoice
config BT_HFP_AG_ENABLE
bool "Audio Gateway"
depends on BT_HFP_ENABLE
default y
choice BT_HFP_AUDIO_DATA_PATH
prompt "audio(SCO) data path"
@ -99,6 +101,7 @@ config BT_HFP_WBS_ENABLE
This enables Wide Band Speech. Should disable it when SCO data path is PCM.
Otherwise there will be no data transmited via GPIOs.
config BT_HID_ENABLED
bool "Classic BT HID"
depends on BT_CLASSIC_ENABLED

Wyświetl plik

@ -182,13 +182,13 @@ typedef union
} phone;
// BTC_HF_REGISTER_DATA_CALLBACK_EVT
struct reg_data_callback {
struct ag_reg_data_callback {
esp_hf_incoming_data_cb_t recv;
esp_hf_outgoing_data_cb_t send;
} reg_data_cb;
// BTC_HF_REQUEST_PKT_STAT_EVT
struct req_pkt_stat_sync_handle {
struct ag_req_pkt_stat_sync_handle {
UINT16 sync_conn_handle;
} pkt_sync_hd;

Wyświetl plik

@ -100,13 +100,13 @@ typedef union {
} send_dtmf;
// BTC_HF_CLIENT_REGISTER_DATA_CALLBACK_EVT
struct reg_data_callback {
struct hf_client_reg_data_callback {
esp_hf_client_incoming_data_cb_t recv;
esp_hf_client_outgoing_data_cb_t send;
} reg_data_cb;
// BTC_HF_CLIENT_REQUEST_PKT_STAT_EVT
struct req_pkt_stat_sync_handle {
struct hf_client_req_pkt_stat_sync_handle {
UINT16 sync_conn_handle;
} pkt_sync_hd;

Wyświetl plik

@ -82,48 +82,50 @@
#define BTC_SPP_INCLUDED TRUE
#endif /* UC_BT_SPP_ENABLED */
#if (UC_BT_HFP_AG_ENABLED == TRUE) || (UC_BT_HFP_CLIENT_ENABLED == TRUE)
#ifndef RFCOMM_INCLUDED
#define RFCOMM_INCLUDED TRUE
#endif
#ifndef BTM_SCO_INCLUDED
#define BTM_SCO_INCLUDED TRUE
#endif
#ifndef SBC_DEC_INCLUDED
#define SBC_DEC_INCLUDED TRUE
#endif
#ifndef SBC_ENC_INCLUDED
#define SBC_ENC_INCLUDED TRUE
#endif
#ifndef PLC_INCLUDED
#define PLC_INCLUDED TRUE
#endif
#if (UC_BT_HFP_AG_ENABLED == TRUE)
#ifndef BTM_MAX_SCO_LINKS_AG
#define BTM_MAX_SCO_LINKS_AG (1)
#endif
#define BTC_HF_INCLUDED TRUE
#define BTA_AG_INCLUDED TRUE
#define PLC_INCLUDED TRUE
#ifndef RFCOMM_INCLUDED
#define RFCOMM_INCLUDED TRUE
#else
#ifndef BTM_MAX_SCO_LINKS_AG
#define BTM_MAX_SCO_LINKS_AG (0)
#endif
#ifndef BTM_SCO_INCLUDED
#define BTM_SCO_INCLUDED TRUE
#endif
#ifndef BTM_MAX_SCO_LINKS
#define BTM_MAX_SCO_LINKS (1)
#endif
#ifndef SBC_DEC_INCLUDED
#define SBC_DEC_INCLUDED TRUE
#endif
#ifndef SBC_ENC_INCLUDED
#define SBC_ENC_INCLUDED TRUE
#endif
#endif /* UC_BT_HFP_AG_ENABLED */
#endif /* (UC_BT_HFP_AG_ENABLED == TRUE) */
#if (UC_BT_HFP_CLIENT_ENABLED == TRUE)
#ifndef BTM_MAX_SCO_LINKS_CLIENT
#define BTM_MAX_SCO_LINKS_CLIENT (1)
#endif
#define BTC_HF_CLIENT_INCLUDED TRUE
#define BTA_HF_INCLUDED TRUE
#define PLC_INCLUDED TRUE
#ifndef RFCOMM_INCLUDED
#define RFCOMM_INCLUDED TRUE
#endif
#ifndef BTM_SCO_INCLUDED
#define BTM_SCO_INCLUDED TRUE
#endif
#ifndef BTM_MAX_SCO_LINKS
#define BTM_MAX_SCO_LINKS (1)
#else
#ifndef BTM_MAX_SCO_LINKS_CLIENT
#define BTM_MAX_SCO_LINKS_CLIENT (0)
#endif
#endif /* (UC_BT_HFP_CLIENT_ENABLED == TRUE) */
#ifndef SBC_DEC_INCLUDED
#define SBC_DEC_INCLUDED TRUE
#ifndef BTM_MAX_SCO_LINKS
#define BTM_MAX_SCO_LINKS (BTM_MAX_SCO_LINKS_AG + BTM_MAX_SCO_LINKS_CLIENT)
#endif
#ifndef SBC_ENC_INCLUDED
#define SBC_ENC_INCLUDED TRUE
#endif
#endif /* UC_BT_HFP_CLIENT_ENABLED */
#endif /* (UC_BT_HFP_AG_ENABLED == TRUE) || (UC_BT_HFP_CLIENT_ENABLED == TRUE) */
#if UC_BT_SSP_ENABLED
#define BT_SSP_INCLUDED TRUE