Repository: incubator-mynewt-larva Updated Branches: refs/heads/master 4989659ff -> 3e50be7e3
We now only need to allocate msys for the nimble ble stack. The BLE stack defines the size of the mbufs needed Project: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-larva/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-larva/commit/3e50be7e Tree: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-larva/tree/3e50be7e Diff: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-larva/diff/3e50be7e Branch: refs/heads/master Commit: 3e50be7e3a3a1047af462342c7ef523f602c5af3 Parents: 4989659 Author: wes3 <w...@micosa.io> Authored: Fri Feb 5 14:09:40 2016 -0800 Committer: wes3 <w...@micosa.io> Committed: Fri Feb 5 14:09:40 2016 -0800 ---------------------------------------------------------------------- net/nimble/include/nimble/ble.h | 3 +-- project/bleshell/src/main.c | 32 ++++++++------------------------ project/bletest/src/main.c | 4 ++-- 3 files changed, 11 insertions(+), 28 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-mynewt-larva/blob/3e50be7e/net/nimble/include/nimble/ble.h ---------------------------------------------------------------------- diff --git a/net/nimble/include/nimble/ble.h b/net/nimble/include/nimble/ble.h index 9895672..6821148 100644 --- a/net/nimble/include/nimble/ble.h +++ b/net/nimble/include/nimble/ble.h @@ -19,7 +19,6 @@ /* XXX: some or all of these should not be here */ #include "os/os.h" -extern struct os_mbuf_pool g_mbuf_pool; /* Shared command pool for transort between host and controller */ extern struct os_mempool g_hci_cmd_pool; @@ -108,7 +107,7 @@ struct ble_mbuf_hdr * @return struct os_mbuf * */ #define ble_get_packet(__om) do { \ - __om = os_mbuf_get_pkthdr(&g_mbuf_pool, sizeof(struct ble_mbuf_hdr)); \ + __om = os_msys_get_pkthdr(BLE_MBUF_PAYLOAD_SIZE, sizeof(struct ble_mbuf_hdr)); \ if (__om) { \ __om->om_data += 4; \ } \ http://git-wip-us.apache.org/repos/asf/incubator-mynewt-larva/blob/3e50be7e/project/bleshell/src/main.c ---------------------------------------------------------------------- diff --git a/project/bleshell/src/main.c b/project/bleshell/src/main.c index f701826..7785952 100755 --- a/project/bleshell/src/main.c +++ b/project/bleshell/src/main.c @@ -69,21 +69,12 @@ uint8_t g_host_adv_len; static uint8_t bleshell_addr[6] = {0x03, 0x02, 0x01, 0x50, 0x13, 0x00}; /* Create a mbuf pool of BLE mbufs */ -#define MBUF_NUM_MBUFS (8) -#define MBUF_BUF_SIZE (256 + sizeof(struct hci_data_hdr)) -#define MBUF_MEMBLOCK_SIZE (MBUF_BUF_SIZE + BLE_MBUF_PKT_OVERHEAD) - +#define MBUF_NUM_MBUFS (10) +#define MBUF_BUF_SIZE OS_ALIGN(BLE_MBUF_PAYLOAD_SIZE, 4) +#define MBUF_MEMBLOCK_SIZE (MBUF_BUF_SIZE + BLE_MBUF_MEMBLOCK_OVERHEAD) #define MBUF_MEMPOOL_SIZE OS_MEMPOOL_SIZE(MBUF_NUM_MBUFS, MBUF_MEMBLOCK_SIZE) -struct os_mbuf_pool g_mbuf_pool; -struct os_mempool g_mbuf_mempool; -os_membuf_t g_mbuf_buffer[MBUF_MEMPOOL_SIZE]; - -#define DEFAULT_MBUF_MPOOL_BUF_LEN (256) -#define DEFAULT_MBUF_MPOOL_NBUFS (10) - -uint8_t default_mbuf_mpool_data[DEFAULT_MBUF_MPOOL_BUF_LEN * - DEFAULT_MBUF_MPOOL_NBUFS]; +os_membuf_t default_mbuf_mpool_data[MBUF_MEMPOOL_SIZE]; struct os_mbuf_pool default_mbuf_pool; struct os_mempool default_mbuf_mpool; @@ -1260,13 +1251,6 @@ main(void) rc = cputime_init(1000000); assert(rc == 0); - rc = os_mempool_init(&g_mbuf_mempool, MBUF_NUM_MBUFS, - MBUF_MEMBLOCK_SIZE, &g_mbuf_buffer[0], "mbuf_pool"); - - rc = os_mbuf_pool_init(&g_mbuf_pool, &g_mbuf_mempool, MBUF_MEMBLOCK_SIZE, - MBUF_NUM_MBUFS); - assert(rc == 0); - /* Dummy device address */ memcpy(g_dev_addr, bleshell_addr, 6); @@ -1312,13 +1296,13 @@ main(void) "bleshell_dsc_pool"); assert(rc == 0); - rc = os_mempool_init(&default_mbuf_mpool, DEFAULT_MBUF_MPOOL_NBUFS, - DEFAULT_MBUF_MPOOL_BUF_LEN, default_mbuf_mpool_data, - "default_mbuf_data"); + rc = os_mempool_init(&default_mbuf_mpool, MBUF_NUM_MBUFS, + MBUF_MEMBLOCK_SIZE, default_mbuf_mpool_data, + "default_mbuf_data"); assert(rc == 0); rc = os_mbuf_pool_init(&default_mbuf_pool, &default_mbuf_mpool, - DEFAULT_MBUF_MPOOL_BUF_LEN, DEFAULT_MBUF_MPOOL_NBUFS); + MBUF_MEMBLOCK_SIZE, MBUF_NUM_MBUFS); assert(rc == 0); rc = os_msys_register(&default_mbuf_pool); http://git-wip-us.apache.org/repos/asf/incubator-mynewt-larva/blob/3e50be7e/project/bletest/src/main.c ---------------------------------------------------------------------- diff --git a/project/bletest/src/main.c b/project/bletest/src/main.c index b294669..b7c8479 100755 --- a/project/bletest/src/main.c +++ b/project/bletest/src/main.c @@ -87,8 +87,8 @@ os_membuf_t g_mbuf_buffer[MBUF_MEMPOOL_SIZE]; #define BLETEST_ROLE_ADVERTISER (0) #define BLETEST_ROLE_SCANNER (1) #define BLETEST_ROLE_INITIATOR (2) -//#define BLETEST_CFG_ROLE (BLETEST_ROLE_INITIATOR) -#define BLETEST_CFG_ROLE (BLETEST_ROLE_ADVERTISER) +#define BLETEST_CFG_ROLE (BLETEST_ROLE_INITIATOR) +//#define BLETEST_CFG_ROLE (BLETEST_ROLE_ADVERTISER) //#define BLETEST_CFG_ROLE (BLETEST_ROLE_SCANNER) #define BLETEST_CFG_FILT_DUP_ADV (0) #define BLETEST_CFG_ADV_ITVL (60000 / BLE_HCI_ADV_ITVL)