You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mynewt.apache.org by ja...@apache.org on 2022/09/26 12:51:36 UTC
[mynewt-nimble] 02/02: btshell and blestress: update l2cap coc rx buffers
This is an automated email from the ASF dual-hosted git repository.
janc pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/mynewt-nimble.git
commit 154bdd46acadee8bb1fc6f28535fdf8a9fa61004
Author: Jakub Rotkiewicz <ja...@codecoup.pl>
AuthorDate: Mon Sep 26 10:12:55 2022 +0200
btshell and blestress: update l2cap coc rx buffers
Updated apps to support setting the RX SDU buffers number.
---
apps/blestress/src/stress.c | 10 ++++++----
apps/blestress/syscfg.yml | 3 +++
apps/btshell/src/main.c | 16 +++++++++++-----
apps/btshell/syscfg.yml | 3 +++
4 files changed, 23 insertions(+), 9 deletions(-)
diff --git a/apps/blestress/src/stress.c b/apps/blestress/src/stress.c
index 1bdbafa9..1a9cb0c0 100644
--- a/apps/blestress/src/stress.c
+++ b/apps/blestress/src/stress.c
@@ -167,11 +167,13 @@ stress_l2cap_coc_accept(uint16_t peer_mtu, struct ble_l2cap_chan *chan)
console_printf("LE CoC accepting, chan: 0x%08lx, peer_mtu %d\n",
(uint32_t) chan, peer_mtu);
- sdu_rx = os_msys_get_pkthdr(STRESS_COC_MTU, 0);
- assert(sdu_rx != NULL);
+ for (int i = 0; i < MYNEWT_VAL(BLE_L2CAP_COC_SDU_BUFF_COUNT); i++) {
+ sdu_rx = os_msys_get_pkthdr(STRESS_COC_MTU, 0);
+ assert(sdu_rx != NULL);
- rc = ble_l2cap_recv_ready(chan, sdu_rx);
- assert(rc == 0);
+ rc = ble_l2cap_recv_ready(chan, sdu_rx);
+ assert(rc == 0);
+ }
}
void
diff --git a/apps/blestress/syscfg.yml b/apps/blestress/syscfg.yml
index 3acf280b..ce50050c 100644
--- a/apps/blestress/syscfg.yml
+++ b/apps/blestress/syscfg.yml
@@ -67,6 +67,9 @@ syscfg.vals:
#
BLE_L2CAP_COC_MAX_NUM: 2
+ # L2CAP COC SDU buffers in RX endpoint
+ BLE_L2CAP_COC_SDU_BUFF_COUNT: 1
+
# Enable 2M PHY
BLE_LL_CFG_FEAT_LE_2M_PHY: 1
diff --git a/apps/btshell/src/main.c b/apps/btshell/src/main.c
index 7bea9067..2df37191 100644
--- a/apps/btshell/src/main.c
+++ b/apps/btshell/src/main.c
@@ -2224,19 +2224,25 @@ btshell_l2cap_coc_recv(struct ble_l2cap_chan *chan, struct os_mbuf *sdu)
static int
btshell_l2cap_coc_accept(uint16_t conn_handle, uint16_t peer_mtu,
- struct ble_l2cap_chan *chan)
+ struct ble_l2cap_chan *chan)
{
struct os_mbuf *sdu_rx;
+ int rc;
console_printf("LE CoC accepting, chan: 0x%08lx, peer_mtu %d\n",
(uint32_t) chan, peer_mtu);
- sdu_rx = os_mbuf_get_pkthdr(&sdu_os_mbuf_pool, 0);
- if (!sdu_rx) {
- return BLE_HS_ENOMEM;
+ for (int i = 0; i < MYNEWT_VAL(BLE_L2CAP_COC_SDU_BUFF_COUNT); i++) {
+ sdu_rx = os_mbuf_get_pkthdr(&sdu_os_mbuf_pool, 0);
+ if (!sdu_rx) {
+ return BLE_HS_ENOMEM;
+ }
+
+ rc = ble_l2cap_recv_ready(chan, sdu_rx);
+ assert(rc == 0);
}
- return ble_l2cap_recv_ready(chan, sdu_rx);
+ return rc;
}
static void
diff --git a/apps/btshell/syscfg.yml b/apps/btshell/syscfg.yml
index 1535b336..b9dfa875 100644
--- a/apps/btshell/syscfg.yml
+++ b/apps/btshell/syscfg.yml
@@ -41,5 +41,8 @@ syscfg.vals:
# Whether to save data to sys/config, or just keep it in RAM.
BLE_STORE_CONFIG_PERSIST: 0
+ # L2CAP COC SDU buffers in RX endpoint
+ BLE_L2CAP_COC_SDU_BUFF_COUNT: 1
+
syscfg.vals.BLE_MESH:
MSYS_1_BLOCK_COUNT: 16