From 70ed6e293fddf87a20b49fcd3c0954bb92beccad Mon Sep 17 00:00:00 2001 From: h2zero Date: Sun, 10 Jul 2022 07:15:46 -0600 Subject: [PATCH] Don't set advertisement flags if not connectable. --- src/NimBLEAdvertising.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/NimBLEAdvertising.cpp b/src/NimBLEAdvertising.cpp index d244f416..de92af9e 100644 --- a/src/NimBLEAdvertising.cpp +++ b/src/NimBLEAdvertising.cpp @@ -434,15 +434,16 @@ bool NimBLEAdvertising::start(uint32_t duration, void (*advCompleteCB)(NimBLEAdv if(m_advParams.conn_mode == BLE_GAP_CONN_MODE_NON) { if(!m_scanResp) { m_advParams.disc_mode = BLE_GAP_DISC_MODE_NON; - m_advData.flags = BLE_HS_ADV_F_BREDR_UNSUP; + // non-connectable advertising does not require AD flags. + m_advData.flags = 0; } } int rc = 0; if (!m_customAdvData && !m_advDataSet) { - //start with 3 bytes for the flags data - uint8_t payloadLen = (2 + 1); + //start with 3 bytes for the flags data if required + uint8_t payloadLen = (m_advData.flags > 0) ? (2 + 1) : 0; if(m_advData.mfg_data_len > 0) payloadLen += (2 + m_advData.mfg_data_len);