This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Sending multiple packets at every interrupt interval

OS in development environment :Windows7
HARD :(Taiyo Yuden)EBSHSN Series Evaluation Board : Central / Peripherals
CPU :(Nordic) nRF52832 / ARMR Cortex-M4F 32 bit processor 28-pin Land Grid Array / 15GPIOs / SWD
Soft Ver:nRF5_SDK_15.3.0_59ac345
Sample program used: "ble_app_uart" / "ble_app_uart_c"

In the sample program, one packet (244 bytes) is transmitted at each connection interval.
How can I send multiple packets at every connection interval?

Setting:
#define MIN_CONN_INTERVAL MSEC_TO_UNITS(15, UNIT_1_25_MS) /**< Minimum acceptable connection interval (20 ms), Connection interval uses 1.25 ms units. */
#define MAX_CONN_INTERVAL MSEC_TO_UNITS(30, UNIT_1_25_MS) /**< Maximum acceptable connection interval (75 ms), Connection interval uses 1.25 ms units. */
#define NRF_SDH_BLE_GAP_DATA_LENGTH 251
#define NRF_SDH_BLE_GATT_MAX_MTU_SIZE 247

Thanks for your cooperation.

Parents Reply
  • 1) Set it to match the max connection interval for your application.

    Note that it's also possible to manually increase the TX buffer, e.g.

        ble_cfg_t ble_cfg;
        memset(&ble_cfg, 0, sizeof ble_cfg);
        ble_cfg.conn_cfg.conn_cfg_tag           = APP_BLE_CONN_CFG_TAG;
        ble_cfg.conn_cfg.params.gatts_conn_cfg.hvn_tx_queue_size = 50;
        err_code = sd_ble_cfg_set(BLE_CONN_CFG_GATTS, &ble_cfg, ram_start);
        APP_ERROR_CHECK(err_code);

    (should be added to ble_stack_init() in main.c )

    2) Yes.

    If you want to see the on-air traffic, you should check out the nRF Sniffer.

Children
Related