mirror of
https://github.com/espressif/esp-idf.git
synced 2026-10-02 11:10:54 +03:00
Merge branch 'feat/add_sam' into 'master'
feat(bt): Added support for slot availablity mask functionality See merge request espressif/esp-idf!49995
This commit is contained in:
Submodule components/bt/controller/lib_esp32s31/esp32s31-bt-lib updated: 945cc25c8d...589a3a2bde
@@ -185,6 +185,26 @@ config BT_CTRL_BR_EDR_DTM_EN
|
|||||||
help
|
help
|
||||||
Enable BR/EDR controller direct test mode
|
Enable BR/EDR controller direct test mode
|
||||||
|
|
||||||
|
config BT_CTRL_BR_EDR_SAM_EN
|
||||||
|
bool "Enable BR/EDR controller Slot Availability Mask (READ DOCS FIRST) (EXPERIMENTAL)"
|
||||||
|
depends on IDF_EXPERIMENTAL_FEATURES
|
||||||
|
default n
|
||||||
|
help
|
||||||
|
Enable BR/EDR controller Slot Availability Mask(SAM).
|
||||||
|
|
||||||
|
Note: SAM functionality is partially implemented by software and only works on ACL air time scheduling.
|
||||||
|
|
||||||
|
config BT_CTRL_BR_EDR_MWS_EN
|
||||||
|
bool "Enable BR/EDR controller Mobile Wireless Standards coexistence (READ DOCS FIRST) (EXPERIMENTAL)"
|
||||||
|
depends on BT_CTRL_BR_EDR_SAM_EN
|
||||||
|
default n
|
||||||
|
help
|
||||||
|
Enable BR/EDR controller Mobile Wireless Standards(MWS) coexistence.
|
||||||
|
|
||||||
|
Note: MWS coexistence functionality is only partially implemented. Supported HCI Commands:
|
||||||
|
- HCI_Set_External_Frame_Configuration
|
||||||
|
- HCI_Set_MWS_PATTERN_Configuration
|
||||||
|
|
||||||
config BT_CTRL_BR_EDR_TX_CCA_ENABLED
|
config BT_CTRL_BR_EDR_TX_CCA_ENABLED
|
||||||
bool "Enable BR/EDR TX CCA feature"
|
bool "Enable BR/EDR TX CCA feature"
|
||||||
default n
|
default n
|
||||||
|
|||||||
@@ -77,6 +77,18 @@ extern "C" {
|
|||||||
#define UC_BR_EDR_DTM_EN 0
|
#define UC_BR_EDR_DTM_EN 0
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if defined(CONFIG_BT_CTRL_BR_EDR_SAM_EN) && CONFIG_BT_CTRL_BR_EDR_SAM_EN
|
||||||
|
#define UC_BR_EDR_SAM_EN 1
|
||||||
|
#else
|
||||||
|
#define UC_BR_EDR_SAM_EN 0
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(CONFIG_BT_CTRL_BR_EDR_MWS_EN) && CONFIG_BT_CTRL_BR_EDR_MWS_EN
|
||||||
|
#define UC_BR_EDR_MWS_EN 1
|
||||||
|
#else
|
||||||
|
#define UC_BR_EDR_MWS_EN 0
|
||||||
|
#endif
|
||||||
|
|
||||||
#if defined(CONFIG_BT_CTRL_BR_EDR_TX_CCA_ENABLED)
|
#if defined(CONFIG_BT_CTRL_BR_EDR_TX_CCA_ENABLED)
|
||||||
#define UC_BR_EDR_TX_CCA_EN (CONFIG_BT_CTRL_BR_EDR_TX_CCA_ENABLED)
|
#define UC_BR_EDR_TX_CCA_EN (CONFIG_BT_CTRL_BR_EDR_TX_CCA_ENABLED)
|
||||||
#else
|
#else
|
||||||
|
|||||||
@@ -123,6 +123,8 @@ extern int bredr_ctrl_feat_dtm_en(void);
|
|||||||
extern int bredr_ctrl_feat_test_en(void);
|
extern int bredr_ctrl_feat_test_en(void);
|
||||||
extern int bredr_ctrl_feat_lk_store_en(void);
|
extern int bredr_ctrl_feat_lk_store_en(void);
|
||||||
extern int bredr_ctrl_feat_coex_en(void);
|
extern int bredr_ctrl_feat_coex_en(void);
|
||||||
|
extern int bredr_ctrl_feat_sam_en(void);
|
||||||
|
extern int bredr_ctrl_feat_mws_en(void);
|
||||||
|
|
||||||
extern const char *co_orca_get_git_version_str(void);
|
extern const char *co_orca_get_git_version_str(void);
|
||||||
extern void r_orca_log_set_printf(bredr_log_printf_fn printf_fn);
|
extern void r_orca_log_set_printf(bredr_log_printf_fn printf_fn);
|
||||||
@@ -682,6 +684,22 @@ static int bredr_ctrl_setup_callback(void)
|
|||||||
}
|
}
|
||||||
#endif /* UC_BR_EDR_DTM_EN */
|
#endif /* UC_BR_EDR_DTM_EN */
|
||||||
|
|
||||||
|
#if UC_BR_EDR_SAM_EN
|
||||||
|
ret = bredr_ctrl_feat_sam_en();
|
||||||
|
if (ret != 0) {
|
||||||
|
ESP_LOGE(BREDR_LOG_TAG, "bredr_ctrl_feat_sam_en failed, ret:%d", ret);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
#endif /* UC_BR_EDR_SAM_EN */
|
||||||
|
|
||||||
|
#if UC_BR_EDR_MWS_EN
|
||||||
|
ret = bredr_ctrl_feat_mws_en();
|
||||||
|
if (ret != 0) {
|
||||||
|
ESP_LOGE(BREDR_LOG_TAG, "bredr_ctrl_feat_mws_en failed, ret:%d", ret);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
#endif /* UC_BR_EDR_MWS_EN */
|
||||||
|
|
||||||
#if CONFIG_SW_COEXIST_ENABLE
|
#if CONFIG_SW_COEXIST_ENABLE
|
||||||
ret = bredr_ctrl_feat_coex_en();
|
ret = bredr_ctrl_feat_coex_en();
|
||||||
if (ret != 0) {
|
if (ret != 0) {
|
||||||
|
|||||||
Reference in New Issue
Block a user