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/04/21 11:48:04 UTC
[mynewt-nimble] 02/02: apps: bttester: add option to reject CPUP parameters
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 c521bf58361c1f6779b172069ce08ce7232319ee
Author: Krzysztof Kopyściński <kr...@codecoup.pl>
AuthorDate: Wed Apr 20 14:03:45 2022 +0200
apps: bttester: add option to reject CPUP parameters
This is required by GAP/CONN/CPUP/BV-05-C
---
apps/bttester/src/gap.c | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)
diff --git a/apps/bttester/src/gap.c b/apps/bttester/src/gap.c
index 4922f4fb..74b956b9 100644
--- a/apps/bttester/src/gap.c
+++ b/apps/bttester/src/gap.c
@@ -41,6 +41,12 @@
#define BLE_AD_DISCOV_MASK (BLE_HS_ADV_F_DISC_LTD | BLE_HS_ADV_F_DISC_GEN)
#define ADV_BUF_LEN (sizeof(struct gap_device_found_ev) + 2 * 31)
+/* parameter values to reject in CPUP if all match the pattern */
+#define REJECT_INTERVAL_MIN 0x0C80
+#define REJECT_INTERVAL_MAX 0x0C80
+#define REJECT_LATENCY 0x0000
+#define REJECT_SUPERVISION_TIMEOUT 0x0C80
+
const uint8_t irk[16] = {
0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11,
0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11,
@@ -1220,6 +1226,25 @@ static int gap_event_cb(struct ble_gap_event *event, void *arg)
*event->conn_update_req.self_params =
*event->conn_update_req.peer_params;
break;
+ case BLE_GAP_EVENT_L2CAP_UPDATE_REQ:
+ console_printf("connection update request event; "
+ "conn_handle=%d itvl_min=%d itvl_max=%d "
+ "latency=%d supervision_timoeut=%d "
+ "min_ce_len=%d max_ce_len=%d\n",
+ event->conn_update_req.conn_handle,
+ event->conn_update_req.peer_params->itvl_min,
+ event->conn_update_req.peer_params->itvl_max,
+ event->conn_update_req.peer_params->latency,
+ event->conn_update_req.peer_params->supervision_timeout,
+ event->conn_update_req.peer_params->min_ce_len,
+ event->conn_update_req.peer_params->max_ce_len);
+ if (event->conn_update_req.peer_params->itvl_min == REJECT_INTERVAL_MIN &&
+ event->conn_update_req.peer_params->itvl_max == REJECT_INTERVAL_MAX &&
+ event->conn_update_req.peer_params->latency == REJECT_LATENCY &&
+ event->conn_update_req.peer_params->supervision_timeout == REJECT_SUPERVISION_TIMEOUT) {
+ return EINVAL;
+ }
+
default:
break;
}