mirror of
https://github.com/espressif/esp-idf.git
synced 2026-10-02 11:10:54 +03:00
feat(bt): add new feature hold mode
This commit is contained in:
@@ -167,6 +167,12 @@ config BT_CTRL_BR_EDR_CPB_RX_EN
|
|||||||
help
|
help
|
||||||
Enable BR/EDR Connectionless Peripheral Broadcast Receive
|
Enable BR/EDR Connectionless Peripheral Broadcast Receive
|
||||||
|
|
||||||
|
config BT_CTRL_BR_EDR_HOLD_EN
|
||||||
|
bool "Enable BR/EDR Hold Mode"
|
||||||
|
default n
|
||||||
|
help
|
||||||
|
Enable BR/EDR Hold Mode
|
||||||
|
|
||||||
config BT_CTRL_BR_EDR_LK_STORE_EN
|
config BT_CTRL_BR_EDR_LK_STORE_EN
|
||||||
bool "Enable BR/EDR controller link key storage"
|
bool "Enable BR/EDR controller link key storage"
|
||||||
default n
|
default n
|
||||||
|
|||||||
@@ -59,6 +59,12 @@ extern "C" {
|
|||||||
#define UC_BR_EDR_APB_EXT_PCA_EN 0
|
#define UC_BR_EDR_APB_EXT_PCA_EN 0
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if defined(CONFIG_BT_CTRL_BR_EDR_HOLD_EN) && CONFIG_BT_CTRL_BR_EDR_HOLD_EN
|
||||||
|
#define UC_BR_EDR_HOLD_EN 1
|
||||||
|
#else
|
||||||
|
#define UC_BR_EDR_HOLD_EN 0
|
||||||
|
#endif
|
||||||
|
|
||||||
#if defined(CONFIG_BT_CTRL_BR_EDR_LK_STORE_EN) && CONFIG_BT_CTRL_BR_EDR_LK_STORE_EN
|
#if defined(CONFIG_BT_CTRL_BR_EDR_LK_STORE_EN) && CONFIG_BT_CTRL_BR_EDR_LK_STORE_EN
|
||||||
#define UC_BR_EDR_LK_STORE_EN 1
|
#define UC_BR_EDR_LK_STORE_EN 1
|
||||||
#else
|
#else
|
||||||
|
|||||||
@@ -110,6 +110,7 @@ extern int bredr_ctrl_feat_sync_en(void);
|
|||||||
extern int bredr_ctrl_feat_apb_en(void);
|
extern int bredr_ctrl_feat_apb_en(void);
|
||||||
extern int bredr_ctrl_feat_bcst_enc_en(void);
|
extern int bredr_ctrl_feat_bcst_enc_en(void);
|
||||||
extern int bredr_ctrl_feat_pca_en(void);
|
extern int bredr_ctrl_feat_pca_en(void);
|
||||||
|
extern int bredr_ctrl_feat_hold_en(void);
|
||||||
extern int bredr_ctrl_feat_cpb_rx_en(void);
|
extern int bredr_ctrl_feat_cpb_rx_en(void);
|
||||||
extern int bredr_ctrl_feat_cpb_tx_en(void);
|
extern int bredr_ctrl_feat_cpb_tx_en(void);
|
||||||
extern int bredr_ctrl_feat_dtm_en(void);
|
extern int bredr_ctrl_feat_dtm_en(void);
|
||||||
@@ -626,6 +627,14 @@ static int bredr_ctrl_setup_callback(void)
|
|||||||
}
|
}
|
||||||
#endif /* UC_BR_EDR_APB_EXT_PCA_EN */
|
#endif /* UC_BR_EDR_APB_EXT_PCA_EN */
|
||||||
|
|
||||||
|
#if UC_BR_EDR_HOLD_EN
|
||||||
|
ret = bredr_ctrl_feat_hold_en();
|
||||||
|
if (ret != 0) {
|
||||||
|
ESP_LOGE(BREDR_LOG_TAG, "bredr_ctrl_feat_hold_en failed, ret:%d", ret);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
#endif /* UC_BR_EDR_HOLD_EN */
|
||||||
|
|
||||||
#if UC_BR_EDR_CPB_RX_LINK_NB
|
#if UC_BR_EDR_CPB_RX_LINK_NB
|
||||||
ret = bredr_ctrl_feat_cpb_rx_en();
|
ret = bredr_ctrl_feat_cpb_rx_en();
|
||||||
if (ret != 0) {
|
if (ret != 0) {
|
||||||
|
|||||||
Reference in New Issue
Block a user