mirror of
https://github.com/espressif/esp-idf.git
synced 2025-07-30 18:57:19 +02:00
change(bt/bluedroid): Redirect app functions in controller based on the bluetooth mode
This commit is contained in:
@ -89,7 +89,7 @@ do{\
|
|||||||
} while(0)
|
} while(0)
|
||||||
|
|
||||||
#define OSI_FUNCS_TIME_BLOCKING 0xffffffff
|
#define OSI_FUNCS_TIME_BLOCKING 0xffffffff
|
||||||
#define OSI_VERSION 0x00010004
|
#define OSI_VERSION 0x00010005
|
||||||
#define OSI_MAGIC_VALUE 0xFADEBEAD
|
#define OSI_MAGIC_VALUE 0xFADEBEAD
|
||||||
|
|
||||||
/* Types definition
|
/* Types definition
|
||||||
@ -176,6 +176,7 @@ struct osi_funcs_t {
|
|||||||
void (*_interrupt_l3_restore)(void);
|
void (*_interrupt_l3_restore)(void);
|
||||||
void *(* _customer_queue_create)(uint32_t queue_len, uint32_t item_size);
|
void *(* _customer_queue_create)(uint32_t queue_len, uint32_t item_size);
|
||||||
int (* _coex_version_get)(unsigned int *major, unsigned int *minor, unsigned int *patch);
|
int (* _coex_version_get)(unsigned int *major, unsigned int *minor, unsigned int *patch);
|
||||||
|
void (* _patch_apply)(void);
|
||||||
uint32_t _magic;
|
uint32_t _magic;
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -243,6 +244,10 @@ extern uint32_t _nimble_data_end;
|
|||||||
extern uint32_t _btdm_data_start;
|
extern uint32_t _btdm_data_start;
|
||||||
extern uint32_t _btdm_data_end;
|
extern uint32_t _btdm_data_end;
|
||||||
|
|
||||||
|
extern void config_bt_funcs_reset(void);
|
||||||
|
extern void config_ble_funcs_reset(void);
|
||||||
|
extern void config_btdm_funcs_reset(void);
|
||||||
|
|
||||||
/* Local Function Declare
|
/* Local Function Declare
|
||||||
*********************************************************************
|
*********************************************************************
|
||||||
*/
|
*/
|
||||||
@ -315,6 +320,7 @@ static void *customer_queue_create_hlevel_wrapper(uint32_t queue_len, uint32_t i
|
|||||||
static void interrupt_l3_disable(void);
|
static void interrupt_l3_disable(void);
|
||||||
static void interrupt_l3_restore(void);
|
static void interrupt_l3_restore(void);
|
||||||
static void bt_controller_deinit_internal(void);
|
static void bt_controller_deinit_internal(void);
|
||||||
|
static void patch_apply(void);
|
||||||
|
|
||||||
/* Local variable definition
|
/* Local variable definition
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
@ -402,6 +408,7 @@ static const struct osi_funcs_t osi_funcs_ro = {
|
|||||||
._customer_queue_create = NULL,
|
._customer_queue_create = NULL,
|
||||||
#endif /* CONFIG_BTDM_CTRL_HLI */
|
#endif /* CONFIG_BTDM_CTRL_HLI */
|
||||||
._coex_version_get = coex_version_get_wrapper,
|
._coex_version_get = coex_version_get_wrapper,
|
||||||
|
._patch_apply = patch_apply,
|
||||||
._magic = OSI_MAGIC_VALUE,
|
._magic = OSI_MAGIC_VALUE,
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -1643,6 +1650,18 @@ static void bt_shutdown(void)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void patch_apply(void)
|
||||||
|
{
|
||||||
|
config_btdm_funcs_reset();
|
||||||
|
|
||||||
|
#ifndef CONFIG_BTDM_CTRL_MODE_BLE_ONLY
|
||||||
|
config_bt_funcs_reset();
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef CONFIG_BTDM_CTRL_MODE_BR_EDR_ONLY
|
||||||
|
config_ble_funcs_reset();
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
esp_err_t esp_bt_controller_enable(esp_bt_mode_t mode)
|
esp_err_t esp_bt_controller_enable(esp_bt_mode_t mode)
|
||||||
{
|
{
|
||||||
|
Submodule components/bt/controller/lib_esp32 updated: e43c9b121f...e42401b2e3
Reference in New Issue
Block a user