component/bt : add osi_is_in_isr && fix vhci delay

This commit is contained in:
Tian Hao 2017-07-25 19:58:39 +08:00
parent 6fbd6a007b
commit b500d6558a
2 changed files with 8 additions and 1 deletions

View File

@ -100,6 +100,7 @@ struct osi_funcs_t {
int32_t (* _queue_recv_from_isr)(void *queue, void *item, void *hptw);
int32_t (* _task_create)(void *task_func, const char *name, uint32_t stack_depth, void *param, uint32_t prio, void *task_handle, uint32_t core_id);
void (* _task_delete)(void *task_handle);
bool (* _is_in_isr)(void);
void *(* _malloc)(uint32_t size);
void (* _free)(void *p);
int32_t (* _read_efuse_mac)(uint8_t mac[6]);
@ -230,6 +231,11 @@ static void IRAM_ATTR task_delete_wrapper(void *task_handle)
vTaskDelete(task_handle);
}
static bool IRAM_ATTR is_in_isr_wrapper(void)
{
return (bool)xPortInIsrContext();
}
static int32_t IRAM_ATTR read_mac_wrapper(uint8_t mac[6])
{
return esp_read_mac(mac, ESP_MAC_BT);
@ -270,6 +276,7 @@ static struct osi_funcs_t osi_funcs = {
._queue_recv_from_isr = queue_recv_from_isr_wrapper,
._task_create = task_create_wrapper,
._task_delete = task_delete_wrapper,
._is_in_isr = is_in_isr_wrapper,
._malloc = malloc,
._free = free,
._read_efuse_mac = read_mac_wrapper,

@ -1 +1 @@
Subproject commit 11c13cfe5f0fcf68c4b08662f4bf1ae5cab3a2b0
Subproject commit 10942b2ff00f7db473c1917f76be93e59730e73f