From d362e1ee1adeb6c5e4980457de8c3612235feea4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ra=C3=BAl=20C=2EG?= Date: Tue, 16 Mar 2021 10:56:23 +0100 Subject: [PATCH] [BLE] Allows you to specify which channels are used to advertise. (#4954) In some use cases getting rssi signal from one channel is more stable (less variance) than rssi from the three advertising channels. This change allows you to specify which channels are used to advertise. --- libraries/BLE/src/BLEAdvertising.cpp | 4 ++++ libraries/BLE/src/BLEAdvertising.h | 1 + 2 files changed, 5 insertions(+) diff --git a/libraries/BLE/src/BLEAdvertising.cpp b/libraries/BLE/src/BLEAdvertising.cpp index 58f371ed..d6bcdb9b 100644 --- a/libraries/BLE/src/BLEAdvertising.cpp +++ b/libraries/BLE/src/BLEAdvertising.cpp @@ -91,6 +91,10 @@ void BLEAdvertising::setAdvertisementType(esp_ble_adv_type_t adv_type){ m_advParams.adv_type = adv_type; } // setAdvertisementType +void BLEAdvertising::setAdvertisementChannelMap(esp_ble_adv_channel_t channel_map) { + m_advParams.channel_map = channel_map; +} // setAdvertisementChannelMap + void BLEAdvertising::setMinInterval(uint16_t mininterval) { m_advParams.adv_int_min = mininterval; } // setMinInterval diff --git a/libraries/BLE/src/BLEAdvertising.h b/libraries/BLE/src/BLEAdvertising.h index f1f0c664..530df9e6 100644 --- a/libraries/BLE/src/BLEAdvertising.h +++ b/libraries/BLE/src/BLEAdvertising.h @@ -53,6 +53,7 @@ public: void stop(); void setAppearance(uint16_t appearance); void setAdvertisementType(esp_ble_adv_type_t adv_type); + void setAdvertisementChannelMap(esp_ble_adv_channel_t channel_map); void setMaxInterval(uint16_t maxinterval); void setMinInterval(uint16_t mininterval); void setAdvertisementData(BLEAdvertisementData& advertisementData);