From 3f1e0252d0af6c162d98d73f2a93a3576a91674d Mon Sep 17 00:00:00 2001 From: Szymon Janc Date: Wed, 24 Aug 2022 16:11:54 +0200 Subject: [PATCH] nimble/ll: Fix Read Local Supported Commands Support for LE Periodic Advertising Set Info Transfer command was incorrectlt reported for builds without broadcaster support. --- nimble/controller/src/ble_ll_supp_cmd.c | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/nimble/controller/src/ble_ll_supp_cmd.c b/nimble/controller/src/ble_ll_supp_cmd.c index 1c408fbff..a0493a46a 100644 --- a/nimble/controller/src/ble_ll_supp_cmd.c +++ b/nimble/controller/src/ble_ll_supp_cmd.c @@ -480,16 +480,33 @@ ) /* Octet 40 */ -#if MYNEWT_VAL(BLE_LL_CFG_FEAT_LL_PERIODIC_ADV) && MYNEWT_VAL(BLE_VERSION) >= 51 && \ - MYNEWT_VAL(BLE_LL_ROLE_OBSERVER) +#if MYNEWT_VAL(BLE_LL_CFG_FEAT_LL_PERIODIC_ADV) && MYNEWT_VAL(BLE_VERSION) >= 51 +#if MYNEWT_VAL(BLE_LL_ROLE_OBSERVER) #define BLE_SUPP_CMD_LE_PADV_RECV_ENABLE (1 << 5) #else #define BLE_SUPP_CMD_LE_PADV_RECV_ENABLE (0 << 5) #endif + #if MYNEWT_VAL(BLE_LL_CFG_FEAT_LL_PERIODIC_ADV_SYNC_TRANSFER) +#if MYNEWT_VAL(BLE_LL_ROLE_OBSERVER) #define BLE_SUPP_CMD_LE_PADV_SYNC_TRANSFER (1 << 6) +#else +#define BLE_SUPP_CMD_LE_PADV_SYNC_TRANSFER (0 << 6) +#endif + +#if MYNEWT_VAL(BLE_LL_ROLE_BROADCASTER) #define BLE_SUPP_CMD_LE_PADV_SET_INFO_TRANSFER (1 << 7) #else +#define BLE_SUPP_CMD_LE_PADV_SET_INFO_TRANSFER (0 << 7) +#endif + +#else +#define BLE_SUPP_CMD_LE_PADV_SYNC_TRANSFER (0 << 6) +#define BLE_SUPP_CMD_LE_PADV_SET_INFO_TRANSFER (0 << 7) +#endif + +#else +#define BLE_SUPP_CMD_LE_PADV_RECV_ENABLE (0 << 5) #define BLE_SUPP_CMD_LE_PADV_SYNC_TRANSFER (0 << 6) #define BLE_SUPP_CMD_LE_PADV_SET_INFO_TRANSFER (0 << 7) #endif