diff --git a/porting/nimble/src/nimble_port.c b/porting/nimble/src/nimble_port.c index 358a99b7e..033eb76bc 100644 --- a/porting/nimble/src/nimble_port.c +++ b/porting/nimble/src/nimble_port.c @@ -127,7 +127,7 @@ nimble_port_deinit(void) #endif } - +#if CONFIG_BT_NIMBLE_ENABLED /** * Called when the host stop procedure has completed. */ @@ -136,6 +136,7 @@ ble_hs_stop_cb(int status, void *arg) { ble_npl_sem_release(&ble_hs_stop_sem); } +#endif static void nimble_port_stop_cb(struct ble_npl_event *ev) diff --git a/porting/nimble/src/os_msys_init.c b/porting/nimble/src/os_msys_init.c index e4aaa3880..40c06a5da 100644 --- a/porting/nimble/src/os_msys_init.c +++ b/porting/nimble/src/os_msys_init.c @@ -27,22 +27,36 @@ static STAILQ_HEAD(, os_mbuf_pool) g_msys_pool_list = STAILQ_HEAD_INITIALIZER(g_msys_pool_list); -#if MYNEWT_VAL(MSYS_1_BLOCK_COUNT) > 0 +#if CONFIG_BT_NIMBLE_ENABLED +#define OS_MSYS_1_BLOCK_COUNT MYNEWT_VAL(MSYS_1_BLOCK_COUNT) +#define OS_MSYS_1_BLOCK_SIZE MYNEWT_VAL(MSYS_1_BLOCK_SIZE) +#define OS_MSYS_2_BLOCK_COUNT MYNEWT_VAL(MSYS_2_BLOCK_COUNT) +#define OS_MSYS_2_BLOCK_SIZE MYNEWT_VAL(MSYS_2_BLOCK_SIZE) +#else +#define OS_MSYS_1_BLOCK_COUNT CONFIG_BT_LE_MSYS_1_BLOCK_COUNT +#define OS_MSYS_1_BLOCK_SIZE CONFIG_BT_LE_MSYS_1_BLOCK_SIZE +#define OS_MSYS_2_BLOCK_COUNT CONFIG_BT_LE_MSYS_2_BLOCK_COUNT +#define OS_MSYS_2_BLOCK_SIZE CONFIG_BT_LE_MSYS_2_BLOCK_SIZE +#endif + + + +#if OS_MSYS_1_BLOCK_COUNT > 0 #define SYSINIT_MSYS_1_MEMBLOCK_SIZE \ - OS_ALIGN(MYNEWT_VAL(MSYS_1_BLOCK_SIZE), 4) + OS_ALIGN(OS_MSYS_1_BLOCK_SIZE, 4) #define SYSINIT_MSYS_1_MEMPOOL_SIZE \ - OS_MEMPOOL_SIZE(MYNEWT_VAL(MSYS_1_BLOCK_COUNT), \ + OS_MEMPOOL_SIZE(OS_MSYS_1_BLOCK_COUNT, \ SYSINIT_MSYS_1_MEMBLOCK_SIZE) static os_membuf_t *os_msys_init_1_data; static struct os_mbuf_pool os_msys_init_1_mbuf_pool; static struct os_mempool os_msys_init_1_mempool; #endif -#if MYNEWT_VAL(MSYS_2_BLOCK_COUNT) > 0 +#if OS_MSYS_2_BLOCK_COUNT > 0 #define SYSINIT_MSYS_2_MEMBLOCK_SIZE \ - OS_ALIGN(MYNEWT_VAL(MSYS_2_BLOCK_SIZE), 4) + OS_ALIGN(OS_MSYS_2_BLOCK_SIZE, 4) #define SYSINIT_MSYS_2_MEMPOOL_SIZE \ - OS_MEMPOOL_SIZE(MYNEWT_VAL(MSYS_2_BLOCK_COUNT), \ + OS_MEMPOOL_SIZE(OS_MSYS_2_BLOCK_COUNT, \ SYSINIT_MSYS_2_MEMBLOCK_SIZE) static os_membuf_t *os_msys_init_2_data; static struct os_mbuf_pool os_msys_init_2_mbuf_pool; @@ -123,14 +137,14 @@ os_msys_init_once(void *data, struct os_mempool *mempool, int os_msys_buf_alloc(void) { -#if MYNEWT_VAL(MSYS_1_BLOCK_COUNT) > 0 +#if OS_MSYS_1_BLOCK_COUNT > 0 os_msys_init_1_data = (os_membuf_t *)nimble_platform_mem_calloc(1, (sizeof(os_membuf_t) * SYSINIT_MSYS_1_MEMPOOL_SIZE)); if (!os_msys_init_1_data) { return ESP_FAIL; } #endif -#if MYNEWT_VAL(MSYS_2_BLOCK_COUNT) > 0 +#if OS_MSYS_2_BLOCK_COUNT > 0 os_msys_init_2_data = (os_membuf_t *)nimble_platform_mem_calloc(1, (sizeof(os_membuf_t) * SYSINIT_MSYS_2_MEMPOOL_SIZE)); if (!os_msys_init_2_data) { return ESP_FAIL; @@ -143,12 +157,12 @@ os_msys_buf_alloc(void) void os_msys_buf_free(void) { -#if MYNEWT_VAL(MSYS_1_BLOCK_COUNT) > 0 +#if OS_MSYS_1_BLOCK_COUNT > 0 nimble_platform_mem_free(os_msys_init_1_data); os_msys_init_1_data = NULL; #endif -#if MYNEWT_VAL(MSYS_2_BLOCK_COUNT) > 0 +#if OS_MSYS_2_BLOCK_COUNT > 0 nimble_platform_mem_free(os_msys_init_2_data); os_msys_init_2_data = NULL; #endif @@ -163,20 +177,20 @@ void os_msys_init(void) os_msys_reset(); -#if MYNEWT_VAL(MSYS_1_BLOCK_COUNT) > 0 +#if OS_MSYS_1_BLOCK_COUNT > 0 os_msys_init_once(os_msys_init_1_data, &os_msys_init_1_mempool, &os_msys_init_1_mbuf_pool, - MYNEWT_VAL(MSYS_1_BLOCK_COUNT), + OS_MSYS_1_BLOCK_COUNT, SYSINIT_MSYS_1_MEMBLOCK_SIZE, "msys_1"); #endif -#if MYNEWT_VAL(MSYS_2_BLOCK_COUNT) > 0 +#if OS_MSYS_2_BLOCK_COUNT > 0 os_msys_init_once(os_msys_init_2_data, &os_msys_init_2_mempool, &os_msys_init_2_mbuf_pool, - MYNEWT_VAL(MSYS_2_BLOCK_COUNT), + OS_MSYS_2_BLOCK_COUNT, SYSINIT_MSYS_2_MEMBLOCK_SIZE, "msys_2"); #endif diff --git a/porting/npl/freertos/src/npl_os_freertos.c b/porting/npl/freertos/src/npl_os_freertos.c index 8264e087e..7ba4914b6 100644 --- a/porting/npl/freertos/src/npl_os_freertos.c +++ b/porting/npl/freertos/src/npl_os_freertos.c @@ -45,19 +45,27 @@ static const char *TAG = "Timer"; #define OS_MEM_ALLOC (1) #if CONFIG_BT_NIMBLE_ENABLED -#define BLE_HS_HCI_EVT_COUNT \ - (MYNEWT_VAL(BLE_HCI_EVT_HI_BUF_COUNT) + \ - MYNEWT_VAL(BLE_HCI_EVT_LO_BUF_COUNT)) -#else -#define BLE_HS_HCI_EVT_COUNT \ - (CONFIG_BT_LE_HCI_EVT_HI_BUF_COUNT + \ - CONFIG_BT_LE_HCI_EVT_LO_BUF_COUNT) +#define BT_LE_HCI_EVT_HI_BUF_COUNT MYNEWT_VAL(BLE_HCI_EVT_HI_BUF_COUNT) +#define BT_LE_HCI_EVT_LO_BUF_COUNT MYNEWT_VAL(BLE_HCI_EVT_LO_BUF_COUNT) +#define BT_LE_MAX_EXT_ADV_INSTANCES MYNEWT_VAL(BLE_MULTI_ADV_INSTANCES) +#define BT_LE_MAX_CONNECTIONS MYNEWT_VAL(BLE_MAX_CONNECTIONS) +#else +#include "esp_bt.h" +#define BT_LE_HCI_EVT_HI_BUF_COUNT DEFAULT_BT_LE_HCI_EVT_HI_BUF_COUNT +#define BT_LE_HCI_EVT_LO_BUF_COUNT DEFAULT_BT_LE_HCI_EVT_LO_BUF_COUNT +#define BT_LE_MAX_EXT_ADV_INSTANCES DEFAULT_BT_LE_MAX_EXT_ADV_INSTANCES +#define BT_LE_MAX_CONNECTIONS DEFAULT_BT_LE_MAX_CONNECTIONS #endif +#define BLE_HS_HCI_EVT_COUNT \ + (BT_LE_HCI_EVT_HI_BUF_COUNT + \ + BT_LE_HCI_EVT_LO_BUF_COUNT) + + #define LL_NPL_BASE_EVENT_COUNT (11) #define LL_SCAN_EXT_AUX_EVT_CNT (MYNEWT_VAL(BLE_LL_EXT_ADV_AUX_PTR_CNT)) #define HCI_LL_NPL_EVENT_COUNT (1) -#define ADV_LL_NPL_EVENT_COUNT ((MYNEWT_VAL(BLE_MULTI_ADV_INSTANCES)+1)*3) +#define ADV_LL_NPL_EVENT_COUNT ((BT_LE_MAX_EXT_ADV_INSTANCES+1)*3) #define SCAN_LL_NPL_EVENT_COUNT (2) #define RL_LL_NPL_EVENT_COUNT (1) #define SYNC_LL_NPL_EVENT_COUNT (7) @@ -74,7 +82,8 @@ static const char *TAG = "Timer"; #define LL_CFG_FEAT_LE_PING_EVT (0) #endif -#define CONN_MODULE_NPL_EVENT_COUNT (((LL_CFG_FEAT_LE_PING_EVT+2)*MYNEWT_VAL(BLE_MAX_CONNECTIONS))+LL_CTRL_TO_HOST_FLOW_CTRL_EVT) +#define CONN_MODULE_NPL_EVENT_COUNT (((LL_CFG_FEAT_LE_PING_EVT+2)*BT_LE_MAX_CONNECTIONS)+LL_CTRL_TO_HOST_FLOW_CTRL_EVT) + #define BLE_LL_EV_COUNT (LL_NPL_BASE_EVENT_COUNT + \ LL_SCAN_EXT_AUX_EVT_CNT + \