diff --git a/src/NimBLE2904.cpp b/src/NimBLE2904.cpp index b53455f9..24075139 100644 --- a/src/NimBLE2904.cpp +++ b/src/NimBLE2904.cpp @@ -15,10 +15,8 @@ * limitations under the License. */ -#include "nimconfig.h" -#if defined(CONFIG_BT_ENABLED) && defined(CONFIG_BT_NIMBLE_ROLE_PERIPHERAL) - -# include "NimBLE2904.h" +#include "NimBLE2904.h" +#if CONFIG_BT_ENABLED && CONFIG_BT_NIMBLE_ROLE_PERIPHERAL NimBLE2904::NimBLE2904(NimBLECharacteristic* pChr) : NimBLEDescriptor(NimBLEUUID((uint16_t)0x2904), BLE_GATT_CHR_F_READ, sizeof(NimBLE2904Data), pChr) { @@ -71,4 +69,4 @@ void NimBLE2904::setUnit(uint16_t unit) { setValue(m_data); } // setUnit -#endif /* CONFIG_BT_ENABLED && CONFIG_BT_NIMBLE_ROLE_PERIPHERAL */ +#endif // CONFIG_BT_ENABLED && CONFIG_BT_NIMBLE_ROLE_PERIPHERAL diff --git a/src/NimBLE2904.h b/src/NimBLE2904.h index b26f236f..1c10e3b5 100644 --- a/src/NimBLE2904.h +++ b/src/NimBLE2904.h @@ -19,7 +19,7 @@ #define NIMBLE_CPP_2904_H_ #include "nimconfig.h" -#if defined(CONFIG_BT_ENABLED) && defined(CONFIG_BT_NIMBLE_ROLE_PERIPHERAL) +#if CONFIG_BT_ENABLED && CONFIG_BT_NIMBLE_ROLE_PERIPHERAL # include "NimBLEDescriptor.h" diff --git a/src/NimBLEAddress.cpp b/src/NimBLEAddress.cpp index e67d3a95..0ff46e19 100644 --- a/src/NimBLEAddress.cpp +++ b/src/NimBLEAddress.cpp @@ -15,10 +15,9 @@ * limitations under the License. */ -#include "nimconfig.h" -#if defined(CONFIG_BT_ENABLED) +#include "NimBLEAddress.h" +#if CONFIG_BT_ENABLED -# include "NimBLEAddress.h" # include "NimBLELog.h" # include @@ -224,11 +223,16 @@ NimBLEAddress::operator std::string() const { snprintf(buffer, sizeof(buffer), NIMBLE_CPP_ADDR_FMT, - this->val[5], NIMBLE_CPP_ADDR_DELIMITER, - this->val[4], NIMBLE_CPP_ADDR_DELIMITER, - this->val[3], NIMBLE_CPP_ADDR_DELIMITER, - this->val[2], NIMBLE_CPP_ADDR_DELIMITER, - this->val[1], NIMBLE_CPP_ADDR_DELIMITER, + this->val[5], + NIMBLE_CPP_ADDR_DELIMITER, + this->val[4], + NIMBLE_CPP_ADDR_DELIMITER, + this->val[3], + NIMBLE_CPP_ADDR_DELIMITER, + this->val[2], + NIMBLE_CPP_ADDR_DELIMITER, + this->val[1], + NIMBLE_CPP_ADDR_DELIMITER, this->val[0]); return std::string{buffer}; } // operator std::string diff --git a/src/NimBLEAddress.h b/src/NimBLEAddress.h index 3ec484bb..58f00132 100644 --- a/src/NimBLEAddress.h +++ b/src/NimBLEAddress.h @@ -17,8 +17,9 @@ #ifndef NIMBLE_CPP_ADDRESS_H_ #define NIMBLE_CPP_ADDRESS_H_ + #include "nimconfig.h" -#if defined(CONFIG_BT_ENABLED) +#if CONFIG_BT_ENABLED # if defined(CONFIG_NIMBLE_CPP_IDF) # include "nimble/ble.h" @@ -66,5 +67,5 @@ class NimBLEAddress : private ble_addr_t { operator uint64_t() const; }; -#endif /* CONFIG_BT_ENABLED */ -#endif /* NIMBLE_CPP_ADDRESS_H_ */ +#endif // CONFIG_BT_ENABLED +#endif // NIMBLE_CPP_ADDRESS_H_ diff --git a/src/NimBLEAdvertisedDevice.cpp b/src/NimBLEAdvertisedDevice.cpp index dc2127bf..191b5c00 100644 --- a/src/NimBLEAdvertisedDevice.cpp +++ b/src/NimBLEAdvertisedDevice.cpp @@ -15,11 +15,10 @@ * limitations under the License. */ -#include "nimconfig.h" -#if defined(CONFIG_BT_ENABLED) && defined(CONFIG_BT_NIMBLE_ROLE_OBSERVER) +#include "NimBLEAdvertisedDevice.h" +#if CONFIG_BT_ENABLED && CONFIG_BT_NIMBLE_ROLE_OBSERVER # include "NimBLEDevice.h" -# include "NimBLEAdvertisedDevice.h" # include "NimBLEUtils.h" # include "NimBLELog.h" @@ -814,4 +813,4 @@ const std::vector::const_iterator NimBLEAdvertisedDevice::end() const { return m_payload.cend(); } -#endif /* CONFIG_BT_ENABLED && CONFIG_BT_NIMBLE_ROLE_CENTRAL */ +#endif // CONFIG_BT_ENABLED && CONFIG_BT_NIMBLE_ROLE_OBSERVER diff --git a/src/NimBLEAdvertisedDevice.h b/src/NimBLEAdvertisedDevice.h index dd9dcccd..2348e8ae 100644 --- a/src/NimBLEAdvertisedDevice.h +++ b/src/NimBLEAdvertisedDevice.h @@ -19,7 +19,7 @@ #define NIMBLE_CPP_ADVERTISED_DEVICE_H_ #include "nimconfig.h" -#if defined(CONFIG_BT_ENABLED) && defined(CONFIG_BT_NIMBLE_ROLE_OBSERVER) +#if CONFIG_BT_ENABLED && CONFIG_BT_NIMBLE_ROLE_OBSERVER # include "NimBLEAddress.h" # include "NimBLEScan.h" diff --git a/src/NimBLEAdvertisementData.cpp b/src/NimBLEAdvertisementData.cpp index ed5152b7..7d4c391a 100644 --- a/src/NimBLEAdvertisementData.cpp +++ b/src/NimBLEAdvertisementData.cpp @@ -15,11 +15,9 @@ * limitations under the License. */ -#include "nimconfig.h" -#if (defined(CONFIG_BT_ENABLED) && defined(CONFIG_BT_NIMBLE_ROLE_BROADCASTER) && !CONFIG_BT_NIMBLE_EXT_ADV) || \ - defined(_DOXYGEN_) +#include "NimBLEAdvertisementData.h" +#if (CONFIG_BT_ENABLED && CONFIG_BT_NIMBLE_ROLE_BROADCASTER && !CONFIG_BT_NIMBLE_EXT_ADV) || defined(_DOXYGEN_) -# include "NimBLEAdvertisementData.h" # include "NimBLEDevice.h" # include "NimBLEUtils.h" # include "NimBLEUUID.h" @@ -585,4 +583,4 @@ std::string NimBLEAdvertisementData::toString() const { return str; } // toString -#endif // CONFIG_BT_ENABLED && CONFIG_BT_NIMBLE_ROLE_BROADCASTER && !CONFIG_BT_NIMBLE_EXT_ADV +#endif // (CONFIG_BT_ENABLED && CONFIG_BT_NIMBLE_ROLE_BROADCASTER && !CONFIG_BT_NIMBLE_EXT_ADV) || defined(_DOXYGEN_) diff --git a/src/NimBLEAdvertisementData.h b/src/NimBLEAdvertisementData.h index 9d8fe7eb..d1004744 100644 --- a/src/NimBLEAdvertisementData.h +++ b/src/NimBLEAdvertisementData.h @@ -19,8 +19,7 @@ #define NIMBLE_CPP_ADVERTISEMENT_DATA_H_ #include "nimconfig.h" -#if (defined(CONFIG_BT_ENABLED) && defined(CONFIG_BT_NIMBLE_ROLE_BROADCASTER) && !CONFIG_BT_NIMBLE_EXT_ADV) || \ - defined(_DOXYGEN_) +#if (CONFIG_BT_ENABLED && CONFIG_BT_NIMBLE_ROLE_BROADCASTER && !CONFIG_BT_NIMBLE_EXT_ADV) || defined(_DOXYGEN_) # include # include @@ -75,5 +74,5 @@ class NimBLEAdvertisementData { std::vector m_payload{}; }; // NimBLEAdvertisementData -#endif // CONFIG_BT_ENABLED && CONFIG_BT_NIMBLE_ROLE_BROADCASTER && !CONFIG_BT_NIMBLE_EXT_ADV +#endif // (CONFIG_BT_ENABLED && CONFIG_BT_NIMBLE_ROLE_BROADCASTER && !CONFIG_BT_NIMBLE_EXT_ADV) || defined(_DOXYGEN_) #endif // NIMBLE_CPP_ADVERTISEMENT_DATA_H_ diff --git a/src/NimBLEAdvertising.cpp b/src/NimBLEAdvertising.cpp index 8d2a892f..f17d930d 100644 --- a/src/NimBLEAdvertising.cpp +++ b/src/NimBLEAdvertising.cpp @@ -15,16 +15,14 @@ * limitations under the License. */ -#include "nimconfig.h" -#if (defined(CONFIG_BT_ENABLED) && defined(CONFIG_BT_NIMBLE_ROLE_BROADCASTER) && !CONFIG_BT_NIMBLE_EXT_ADV) || \ - defined(_DOXYGEN_) +#include "NimBLEAdvertising.h" +#if (CONFIG_BT_ENABLED && CONFIG_BT_NIMBLE_ROLE_BROADCASTER && !CONFIG_BT_NIMBLE_EXT_ADV) || defined(_DOXYGEN_) # if defined(CONFIG_NIMBLE_CPP_IDF) # include "services/gap/ble_svc_gap.h" # else # include "nimble/nimble/host/services/gap/include/services/gap/ble_svc_gap.h" # endif -# include "NimBLEAdvertising.h" # include "NimBLEDevice.h" # include "NimBLEServer.h" # include "NimBLEUtils.h" @@ -44,7 +42,7 @@ NimBLEAdvertising::NimBLEAdvertising() m_duration{BLE_HS_FOREVER}, m_scanResp{false}, m_advDataSet{false} { -# if !defined(CONFIG_BT_NIMBLE_ROLE_PERIPHERAL) +# if !CONFIG_BT_NIMBLE_ROLE_PERIPHERAL m_advParams.conn_mode = BLE_GAP_CONN_MODE_NON; # else m_advParams.conn_mode = BLE_GAP_CONN_MODE_UND; @@ -197,7 +195,7 @@ bool NimBLEAdvertising::start(uint32_t duration, const NimBLEAddress* dirAddr) { return true; } -# if defined(CONFIG_BT_NIMBLE_ROLE_PERIPHERAL) +# if CONFIG_BT_NIMBLE_ROLE_PERIPHERAL NimBLEServer* pServer = NimBLEDevice::getServer(); if (pServer != nullptr) { pServer->start(); // make sure the GATT server is ready before advertising @@ -222,7 +220,7 @@ bool NimBLEAdvertising::start(uint32_t duration, const NimBLEAddress* dirAddr) { duration = BLE_HS_FOREVER; } -# if defined(CONFIG_BT_NIMBLE_ROLE_PERIPHERAL) +# if CONFIG_BT_NIMBLE_ROLE_PERIPHERAL int rc = ble_gap_adv_start(NimBLEDevice::m_ownAddrType, (dirAddr != nullptr) ? dirAddr->getBase() : NULL, duration, @@ -622,4 +620,4 @@ bool NimBLEAdvertising::setServiceData(const NimBLEUUID& uuid, const std::string return setServiceData(uuid, reinterpret_cast(data.data()), data.length()); } // setServiceData -#endif /* CONFIG_BT_ENABLED && CONFIG_BT_NIMBLE_ROLE_BROADCASTER && !CONFIG_BT_NIMBLE_EXT_ADV */ +#endif // (CONFIG_BT_ENABLED && CONFIG_BT_NIMBLE_ROLE_BROADCASTER && !CONFIG_BT_NIMBLE_EXT_ADV) || defined(_DOXYGEN_) diff --git a/src/NimBLEAdvertising.h b/src/NimBLEAdvertising.h index 2f2dd118..b5a243cf 100644 --- a/src/NimBLEAdvertising.h +++ b/src/NimBLEAdvertising.h @@ -19,8 +19,7 @@ #define NIMBLE_CPP_ADVERTISING_H_ #include "nimconfig.h" -#if (defined(CONFIG_BT_ENABLED) && defined(CONFIG_BT_NIMBLE_ROLE_BROADCASTER) && !CONFIG_BT_NIMBLE_EXT_ADV) || \ - defined(_DOXYGEN_) +#if (CONFIG_BT_ENABLED && CONFIG_BT_NIMBLE_ROLE_BROADCASTER && !CONFIG_BT_NIMBLE_EXT_ADV) || defined(_DOXYGEN_) # if defined(CONFIG_NIMBLE_CPP_IDF) # include "host/ble_gap.h" @@ -106,5 +105,5 @@ class NimBLEAdvertising { bool m_advDataSet : 1; }; -#endif /* CONFIG_BT_ENABLED && CONFIG_BT_NIMBLE_ROLE_BROADCASTER && !CONFIG_BT_NIMBLE_EXT_ADV */ -#endif /* NIMBLE_CPP_ADVERTISING_H_ */ +#endif // (CONFIG_BT_ENABLED && CONFIG_BT_NIMBLE_ROLE_BROADCASTER && !CONFIG_BT_NIMBLE_EXT_ADV) || defined(_DOXYGEN_) +#endif // NIMBLE_CPP_ADVERTISING_H_ diff --git a/src/NimBLEAttValue.cpp b/src/NimBLEAttValue.cpp index f8e3ed9a..fbc164c9 100644 --- a/src/NimBLEAttValue.cpp +++ b/src/NimBLEAttValue.cpp @@ -15,8 +15,8 @@ * limitations under the License. */ -#include "nimconfig.h" -#if defined(CONFIG_BT_ENABLED) +#include "NimBLEAttValue.h" +#if CONFIG_BT_ENABLED # if defined(CONFIG_NIMBLE_CPP_IDF) # include "nimble/nimble_npl.h" @@ -24,7 +24,6 @@ # include "nimble/nimble/include/nimble/nimble_npl.h" # endif -# include "NimBLEAttValue.h" # include "NimBLELog.h" static const char* LOG_TAG = "NimBLEAttValue"; @@ -105,7 +104,7 @@ void NimBLEAttValue::deepCopy(const NimBLEAttValue& source) { // Set the value of the attribute. bool NimBLEAttValue::setValue(const uint8_t* value, uint16_t len) { - m_attr_len = 0; // Just set the value length to 0 and append instead of repeating code. + m_attr_len = 0; // Just set the value length to 0 and append instead of repeating code. m_attr_value[0] = '\0'; // Set the first byte to 0 incase the len of the new value is 0. append(value, len); return memcmp(m_attr_value, value, len) == 0 && m_attr_len == len; diff --git a/src/NimBLEAttValue.h b/src/NimBLEAttValue.h index 117b8e0a..24b64c83 100644 --- a/src/NimBLEAttValue.h +++ b/src/NimBLEAttValue.h @@ -17,8 +17,9 @@ #ifndef NIMBLE_CPP_ATTVALUE_H #define NIMBLE_CPP_ATTVALUE_H + #include "nimconfig.h" -#if defined(CONFIG_BT_ENABLED) +#if CONFIG_BT_ENABLED # ifdef NIMBLE_CPP_ARDUINO_STRING_AVAILABLE # include @@ -362,5 +363,5 @@ class NimBLEAttValue { # endif }; -#endif /*(CONFIG_BT_ENABLED) */ -#endif /* NIMBLE_CPP_ATTVALUE_H_ */ +#endif // CONFIG_BT_ENABLED +#endif // NIMBLE_CPP_ATTVALUE_H_ diff --git a/src/NimBLEAttribute.h b/src/NimBLEAttribute.h index 8fd7c774..7ba95c7d 100644 --- a/src/NimBLEAttribute.h +++ b/src/NimBLEAttribute.h @@ -19,7 +19,7 @@ #define NIMBLE_CPP_ATTRIBUTE_H_ #include "nimconfig.h" -#if defined(CONFIG_BT_ENABLED) && (defined(CONFIG_BT_NIMBLE_ROLE_PERIPHERAL) || defined(CONFIG_BT_NIMBLE_ROLE_CENTRAL)) +#if CONFIG_BT_ENABLED && (CONFIG_BT_NIMBLE_ROLE_PERIPHERAL || CONFIG_BT_NIMBLE_ROLE_CENTRAL) # include "NimBLEUUID.h" diff --git a/src/NimBLEBeacon.cpp b/src/NimBLEBeacon.cpp index 80ab6a05..e9b93617 100644 --- a/src/NimBLEBeacon.cpp +++ b/src/NimBLEBeacon.cpp @@ -15,10 +15,9 @@ * limitations under the License. */ -#include "nimconfig.h" -#if defined(CONFIG_BT_ENABLED) && defined(CONFIG_BT_NIMBLE_ROLE_BROADCASTER) +#include "NimBLEBeacon.h" +#if CONFIG_BT_ENABLED && CONFIG_BT_NIMBLE_ROLE_BROADCASTER -# include "NimBLEBeacon.h" # include "NimBLEUUID.h" # include "NimBLELog.h" diff --git a/src/NimBLEBeacon.h b/src/NimBLEBeacon.h index 6ca2a763..e624ef86 100644 --- a/src/NimBLEBeacon.h +++ b/src/NimBLEBeacon.h @@ -19,7 +19,7 @@ #define NIMBLE_CPP_BEACON_H_ #include "nimconfig.h" -#if defined(CONFIG_BT_ENABLED) && defined(CONFIG_BT_NIMBLE_ROLE_BROADCASTER) +#if CONFIG_BT_ENABLED && CONFIG_BT_NIMBLE_ROLE_BROADCASTER class NimBLEUUID; @@ -60,5 +60,5 @@ class NimBLEBeacon { BeaconData m_beaconData; }; // NimBLEBeacon -#endif // NIMBLE_CPP_BEACON_H_ #endif // CONFIG_BT_ENABLED && CONFIG_BT_NIMBLE_ROLE_PERIPHERAL +#endif // NIMBLE_CPP_BEACON_H_ diff --git a/src/NimBLECharacteristic.cpp b/src/NimBLECharacteristic.cpp index 42d7f6e5..26ce838e 100644 --- a/src/NimBLECharacteristic.cpp +++ b/src/NimBLECharacteristic.cpp @@ -15,10 +15,9 @@ * limitations under the License. */ -#include "nimconfig.h" -#if defined(CONFIG_BT_ENABLED) && defined(CONFIG_BT_NIMBLE_ROLE_PERIPHERAL) - # include "NimBLECharacteristic.h" +#if CONFIG_BT_ENABLED && CONFIG_BT_NIMBLE_ROLE_PERIPHERAL + # include "NimBLE2904.h" # include "NimBLEDevice.h" # include "NimBLELog.h" @@ -415,4 +414,4 @@ void NimBLECharacteristicCallbacks::onSubscribe(NimBLECharacteristic* pCharacter NIMBLE_LOGD("NimBLECharacteristicCallbacks", "onSubscribe: default"); } -#endif /* CONFIG_BT_ENABLED && CONFIG_BT_NIMBLE_ROLE_PERIPHERAL */ +#endif // CONFIG_BT_ENABLED && CONFIG_BT_NIMBLE_ROLE_PERIPHERAL diff --git a/src/NimBLECharacteristic.h b/src/NimBLECharacteristic.h index b26141d2..02ae89a7 100644 --- a/src/NimBLECharacteristic.h +++ b/src/NimBLECharacteristic.h @@ -17,8 +17,9 @@ #ifndef NIMBLE_CPP_CHARACTERISTIC_H_ #define NIMBLE_CPP_CHARACTERISTIC_H_ + #include "nimconfig.h" -#if defined(CONFIG_BT_ENABLED) && defined(CONFIG_BT_NIMBLE_ROLE_PERIPHERAL) +#if CONFIG_BT_ENABLED && CONFIG_BT_NIMBLE_ROLE_PERIPHERAL class NimBLECharacteristicCallbacks; class NimBLEService; @@ -253,5 +254,5 @@ class NimBLECharacteristicCallbacks { virtual void onSubscribe(NimBLECharacteristic* pCharacteristic, NimBLEConnInfo& connInfo, uint16_t subValue); }; -#endif /* CONFIG_BT_ENABLED && CONFIG_BT_NIMBLE_ROLE_PERIPHERAL */ -#endif /*NIMBLE_CPP_CHARACTERISTIC_H_*/ +#endif // CONFIG_BT_ENABLED && CONFIG_BT_NIMBLE_ROLE_PERIPHERAL +#endif // NIMBLE_CPP_CHARACTERISTIC_H_ diff --git a/src/NimBLEClient.cpp b/src/NimBLEClient.cpp index 3b1828eb..5415de30 100644 --- a/src/NimBLEClient.cpp +++ b/src/NimBLEClient.cpp @@ -15,10 +15,9 @@ * limitations under the License. */ -#include "nimconfig.h" -#if defined(CONFIG_BT_ENABLED) && defined(CONFIG_BT_NIMBLE_ROLE_CENTRAL) +#include "NimBLEClient.h" +#if CONFIG_BT_ENABLED && CONFIG_BT_NIMBLE_ROLE_CENTRAL -# include "NimBLEClient.h" # include "NimBLERemoteService.h" # include "NimBLERemoteCharacteristic.h" # include "NimBLEDevice.h" @@ -126,6 +125,7 @@ size_t NimBLEClient::deleteService(const NimBLEUUID& uuid) { return m_svcVec.size(); } // deleteService +# if CONFIG_BT_NIMBLE_ROLE_OBSERVER /** * @brief Connect to an advertising device. * @param [in] pDevice A pointer to the advertised device instance to connect to. @@ -141,6 +141,7 @@ bool NimBLEClient::connect(const NimBLEAdvertisedDevice* pDevice, bool deleteAtt NimBLEAddress address(pDevice->getAddress()); return connect(address, deleteAttributes, asyncConnect, exchangeMTU); } // connect +# endif /** * @brief Connect to the BLE Server using the address of the last connected device, or the address\n @@ -227,10 +228,15 @@ bool NimBLEClient::connect(const NimBLEAddress& address, bool deleteAttributes, break; case BLE_HS_EBUSY: +# if CONFIG_BT_NIMBLE_ROLE_OBSERVER + // Scan was active, stop it through the NimBLEScan API to release any tasks and call the callback. if (!NimBLEDevice::getScan()->stop()) { rc = BLE_HS_EUNKNOWN; } +# else + rc = BLE_HS_EUNKNOWN; +# endif break; case BLE_HS_EDONE: @@ -1301,4 +1307,4 @@ void NimBLEClientCallbacks::onPhyUpdate(NimBLEClient* pClient, uint8_t txPhy, ui } // onPhyUpdate # -#endif /* CONFIG_BT_ENABLED && CONFIG_BT_NIMBLE_ROLE_CENTRAL */ +#endif // CONFIG_BT_ENABLED && CONFIG_BT_NIMBLE_ROLE_CENTRAL diff --git a/src/NimBLEClient.h b/src/NimBLEClient.h index f3a3bd8d..eb205e2e 100644 --- a/src/NimBLEClient.h +++ b/src/NimBLEClient.h @@ -19,7 +19,7 @@ #define NIMBLE_CPP_CLIENT_H_ #include "nimconfig.h" -#if defined(CONFIG_BT_ENABLED) && defined(CONFIG_BT_NIMBLE_ROLE_CENTRAL) +#if CONFIG_BT_ENABLED && CONFIG_BT_NIMBLE_ROLE_CENTRAL # if defined(CONFIG_NIMBLE_CPP_IDF) # include "host/ble_gap.h" @@ -48,10 +48,12 @@ struct NimBLETaskData; */ class NimBLEClient { public: +# if CONFIG_BT_NIMBLE_ROLE_OBSERVER bool connect(const NimBLEAdvertisedDevice* device, bool deleteAttributes = true, bool asyncConnect = false, bool exchangeMTU = true); +# endif bool connect(const NimBLEAddress& address, bool deleteAttributes = true, bool asyncConnect = false, bool exchangeMTU = true); bool connect(bool deleteAttributes = true, bool asyncConnect = false, bool exchangeMTU = true); bool disconnect(uint8_t reason = BLE_ERR_REM_USER_CONN_TERM); @@ -227,5 +229,5 @@ class NimBLEClientCallbacks { virtual void onPhyUpdate(NimBLEClient* pClient, uint8_t txPhy, uint8_t rxPhy); }; -#endif /* CONFIG_BT_ENABLED && CONFIG_BT_NIMBLE_ROLE_CENTRAL */ -#endif /* NIMBLE_CPP_CLIENT_H_ */ +#endif // CONFIG_BT_ENABLED && CONFIG_BT_NIMBLE_ROLE_CENTRAL +#endif // NIMBLE_CPP_CLIENT_H_ diff --git a/src/NimBLEConnInfo.h b/src/NimBLEConnInfo.h index c89b7dff..cd1e4c3e 100644 --- a/src/NimBLEConnInfo.h +++ b/src/NimBLEConnInfo.h @@ -15,8 +15,8 @@ * limitations under the License. */ -#ifndef NIMBLECONNINFO_H_ -#define NIMBLECONNINFO_H_ +#ifndef NIMBLE_CPP_CONNINFO_H_ +#define NIMBLE_CPP_CONNINFO_H_ #if defined(CONFIG_NIMBLE_CPP_IDF) # include "host/ble_gap.h" @@ -80,4 +80,5 @@ class NimBLEConnInfo { NimBLEConnInfo() {}; NimBLEConnInfo(ble_gap_conn_desc desc) { m_desc = desc; } }; -#endif + +#endif // NIMBLE_CPP_CONNINFO_H_ diff --git a/src/NimBLEDescriptor.cpp b/src/NimBLEDescriptor.cpp index cc1b405a..d85d1d1a 100644 --- a/src/NimBLEDescriptor.cpp +++ b/src/NimBLEDescriptor.cpp @@ -15,11 +15,10 @@ * limitations under the License. */ -#include "nimconfig.h" -#if defined(CONFIG_BT_ENABLED) && defined(CONFIG_BT_NIMBLE_ROLE_PERIPHERAL) +#include "NimBLEDescriptor.h" +#if CONFIG_BT_ENABLED && CONFIG_BT_NIMBLE_ROLE_PERIPHERAL # include "NimBLEService.h" -# include "NimBLEDescriptor.h" # include "NimBLELog.h" # include @@ -148,4 +147,4 @@ void NimBLEDescriptorCallbacks::onWrite(NimBLEDescriptor* pDescriptor, NimBLECon NIMBLE_LOGD("NimBLEDescriptorCallbacks", "onWrite: default"); } // onWrite -#endif /* CONFIG_BT_ENABLED && CONFIG_BT_NIMBLE_ROLE_PERIPHERAL */ +#endif // CONFIG_BT_ENABLED && CONFIG_BT_NIMBLE_ROLE_PERIPHERAL diff --git a/src/NimBLEDescriptor.h b/src/NimBLEDescriptor.h index c194a5d9..907ad09c 100644 --- a/src/NimBLEDescriptor.h +++ b/src/NimBLEDescriptor.h @@ -19,7 +19,7 @@ #define NIMBLE_CPP_DESCRIPTOR_H_ #include "nimconfig.h" -#if defined(CONFIG_BT_ENABLED) && defined(CONFIG_BT_NIMBLE_ROLE_PERIPHERAL) +#if CONFIG_BT_ENABLED && CONFIG_BT_NIMBLE_ROLE_PERIPHERAL # include "NimBLELocalValueAttribute.h" # include @@ -72,5 +72,5 @@ class NimBLEDescriptorCallbacks { # include "NimBLE2904.h" -#endif /* CONFIG_BT_ENABLED && CONFIG_BT_NIMBLE_ROLE_PERIPHERAL */ -#endif /* NIMBLE_CPP_DESCRIPTOR_H_ */ +#endif // CONFIG_BT_ENABLED && CONFIG_BT_NIMBLE_ROLE_PERIPHERAL +#endif // NIMBLE_CPP_DESCRIPTOR_H_ diff --git a/src/NimBLEDevice.cpp b/src/NimBLEDevice.cpp index f017d387..e90a94b4 100644 --- a/src/NimBLEDevice.cpp +++ b/src/NimBLEDevice.cpp @@ -15,11 +15,8 @@ * limitations under the License. */ -#include "nimconfig.h" -#if defined(CONFIG_BT_ENABLED) - -# include "NimBLEDevice.h" -# include "NimBLEUtils.h" +#include "NimBLEDevice.h" +#if CONFIG_BT_ENABLED # ifdef ESP_PLATFORM # include "esp_err.h" @@ -59,17 +56,6 @@ # include "esp32-hal-bt.h" # endif -# if defined(CONFIG_BT_NIMBLE_ROLE_CENTRAL) -# include "NimBLEClient.h" -# endif - -# if defined(CONFIG_BT_NIMBLE_ROLE_PERIPHERAL) -# include "NimBLEServer.h" -# if CONFIG_BT_NIMBLE_L2CAP_COC_MAX_NUM > 0 -# include "NimBLEL2CAPServer.h" -# endif -# endif - # include "NimBLELog.h" static const char* LOG_TAG = "NimBLEDevice"; @@ -82,18 +68,18 @@ extern "C" void ble_store_config_init(void); NimBLEDeviceCallbacks NimBLEDevice::defaultDeviceCallbacks{}; NimBLEDeviceCallbacks* NimBLEDevice::m_pDeviceCallbacks = &defaultDeviceCallbacks; -# if defined(CONFIG_BT_NIMBLE_ROLE_OBSERVER) +# if CONFIG_BT_NIMBLE_ROLE_OBSERVER NimBLEScan* NimBLEDevice::m_pScan = nullptr; # endif -# if defined(CONFIG_BT_NIMBLE_ROLE_PERIPHERAL) +# if CONFIG_BT_NIMBLE_ROLE_PERIPHERAL NimBLEServer* NimBLEDevice::m_pServer = nullptr; # if CONFIG_BT_NIMBLE_L2CAP_COC_MAX_NUM > 0 NimBLEL2CAPServer* NimBLEDevice::m_pL2CAPServer = nullptr; # endif # endif -# if defined(CONFIG_BT_NIMBLE_ROLE_BROADCASTER) +# if CONFIG_BT_NIMBLE_ROLE_BROADCASTER # if CONFIG_BT_NIMBLE_EXT_ADV NimBLEExtAdvertising* NimBLEDevice::m_bleAdvertising = nullptr; # else @@ -101,7 +87,7 @@ NimBLEAdvertising* NimBLEDevice::m_bleAdvertising = nullptr; # endif # endif -# if defined(CONFIG_BT_NIMBLE_ROLE_CENTRAL) +# if CONFIG_BT_NIMBLE_ROLE_CENTRAL std::array NimBLEDevice::m_pClients{}; # endif @@ -132,7 +118,7 @@ extern "C" int ble_vhci_disc_duplicate_mode_enable(int mode); /* SERVER FUNCTIONS */ /* -------------------------------------------------------------------------- */ -# if defined(CONFIG_BT_NIMBLE_ROLE_PERIPHERAL) +# if CONFIG_BT_NIMBLE_ROLE_PERIPHERAL /** * @brief Create an instance of a server. * @return A pointer to the instance of the server. @@ -156,7 +142,7 @@ NimBLEServer* NimBLEDevice::getServer() { return m_pServer; } // getServer -# if CONFIG_BT_NIMBLE_L2CAP_COC_MAX_NUM > 0 +# if CONFIG_BT_NIMBLE_L2CAP_COC_MAX_NUM /** * @brief Create an instance of a L2CAP server. * @return A pointer to the instance of the L2CAP server. @@ -175,14 +161,14 @@ NimBLEL2CAPServer* NimBLEDevice::createL2CAPServer() { NimBLEL2CAPServer* NimBLEDevice::getL2CAPServer() { return m_pL2CAPServer; } // getL2CAPServer -# endif -# endif // #if defined(CONFIG_BT_NIMBLE_ROLE_PERIPHERAL) +# endif // #if CONFIG_BT_NIMBLE_L2CAP_COC_MAX_NUM +# endif // #if CONFIG_BT_NIMBLE_ROLE_PERIPHERAL /* -------------------------------------------------------------------------- */ /* ADVERTISING FUNCTIONS */ /* -------------------------------------------------------------------------- */ -# if defined(CONFIG_BT_NIMBLE_ROLE_BROADCASTER) +# if CONFIG_BT_NIMBLE_ROLE_BROADCASTER # if CONFIG_BT_NIMBLE_EXT_ADV /** * @brief Get the instance of the extended advertising object. @@ -246,7 +232,7 @@ bool NimBLEDevice::startAdvertising(uint32_t duration) { bool NimBLEDevice::stopAdvertising() { return getAdvertising()->stop(); } // stopAdvertising -# endif // #if defined(CONFIG_BT_NIMBLE_ROLE_BROADCASTER) +# endif // #if CONFIG_BT_NIMBLE_ROLE_BROADCASTER /* -------------------------------------------------------------------------- */ /* SCAN FUNCTIONS */ @@ -257,7 +243,7 @@ bool NimBLEDevice::stopAdvertising() { * @return The scanning object reference. This is a singleton object. The caller should not * try and release/delete it. */ -# if defined(CONFIG_BT_NIMBLE_ROLE_OBSERVER) +# if CONFIG_BT_NIMBLE_ROLE_OBSERVER NimBLEScan* NimBLEDevice::getScan() { if (m_pScan == nullptr) { m_pScan = new NimBLEScan(); @@ -335,13 +321,13 @@ void NimBLEDevice::setScanDuplicateCacheResetTime(uint16_t time) { } # endif // CONFIG_BTDM_BLE_SCAN_DUPL || CONFIG_BT_LE_SCAN_DUPL # endif // ESP_PLATFORM -# endif // #if defined(CONFIG_BT_NIMBLE_ROLE_OBSERVER) +# endif // CONFIG_BT_NIMBLE_ROLE_OBSERVER /* -------------------------------------------------------------------------- */ /* CLIENT FUNCTIONS */ /* -------------------------------------------------------------------------- */ -# if defined(CONFIG_BT_NIMBLE_ROLE_CENTRAL) +# if CONFIG_BT_NIMBLE_ROLE_CENTRAL /** * @brief Creates a new client object, each client can connect to 1 peripheral device. * @return A pointer to the new client object, or nullptr on error. @@ -476,7 +462,7 @@ std::vector NimBLEDevice::getConnectedClients() { return clients; } // getConnectedClients -# endif // #if defined(CONFIG_BT_NIMBLE_ROLE_CENTRAL) +# endif // CONFIG_BT_NIMBLE_ROLE_CENTRAL /* -------------------------------------------------------------------------- */ /* TRANSMIT POWER */ @@ -627,7 +613,7 @@ uint16_t NimBLEDevice::getMTU() { /* BOND MANAGEMENT */ /* -------------------------------------------------------------------------- */ -# if defined(CONFIG_BT_NIMBLE_ROLE_CENTRAL) || defined(CONFIG_BT_NIMBLE_ROLE_PERIPHERAL) +# if CONFIG_BT_NIMBLE_ROLE_CENTRAL || CONFIG_BT_NIMBLE_ROLE_PERIPHERAL /** * @brief Gets the number of bonded peers stored */ @@ -864,13 +850,13 @@ void NimBLEDevice::onSync(void) { m_synced = true; if (m_initialized) { -# if defined(CONFIG_BT_NIMBLE_ROLE_OBSERVER) +# if CONFIG_BT_NIMBLE_ROLE_OBSERVER if (m_pScan != nullptr) { m_pScan->onHostSync(); } # endif -# if defined(CONFIG_BT_NIMBLE_ROLE_BROADCASTER) +# if CONFIG_BT_NIMBLE_ROLE_BROADCASTER if (m_bleAdvertising != nullptr) { m_bleAdvertising->onHostSync(); } @@ -1038,12 +1024,12 @@ bool NimBLEDevice::deinit(bool clearAll) { } if (clearAll) { -# if defined(CONFIG_BT_NIMBLE_ROLE_PERIPHERAL) +# if CONFIG_BT_NIMBLE_ROLE_PERIPHERAL if (NimBLEDevice::m_pServer != nullptr) { delete NimBLEDevice::m_pServer; NimBLEDevice::m_pServer = nullptr; } -# if CONFIG_BT_NIMBLE_L2CAP_COC_MAX_NUM > 0 +# if CONFIG_BT_NIMBLE_L2CAP_COC_MAX_NUM if (NimBLEDevice::m_pL2CAPServer != nullptr) { delete NimBLEDevice::m_pL2CAPServer; NimBLEDevice::m_pL2CAPServer = nullptr; @@ -1051,21 +1037,21 @@ bool NimBLEDevice::deinit(bool clearAll) { # endif # endif -# if defined(CONFIG_BT_NIMBLE_ROLE_BROADCASTER) +# if CONFIG_BT_NIMBLE_ROLE_BROADCASTER if (NimBLEDevice::m_bleAdvertising != nullptr) { delete NimBLEDevice::m_bleAdvertising; NimBLEDevice::m_bleAdvertising = nullptr; } # endif -# if defined(CONFIG_BT_NIMBLE_ROLE_OBSERVER) +# if CONFIG_BT_NIMBLE_ROLE_OBSERVER if (NimBLEDevice::m_pScan != nullptr) { delete NimBLEDevice::m_pScan; NimBLEDevice::m_pScan = nullptr; } # endif -# if defined(CONFIG_BT_NIMBLE_ROLE_CENTRAL) +# if CONFIG_BT_NIMBLE_ROLE_CENTRAL for (auto clt : m_pClients) { deleteClient(clt); } @@ -1266,7 +1252,7 @@ bool NimBLEDevice::startSecurity(uint16_t connHandle, int* rcPtr) { return rc == 0 || rc == BLE_HS_EALREADY; } // startSecurity -# if defined(CONFIG_BT_NIMBLE_ROLE_CENTRAL) || defined(CONFIG_BT_NIMBLE_ROLE_PERIPHERAL) +# if CONFIG_BT_NIMBLE_ROLE_CENTRAL || CONFIG_BT_NIMBLE_ROLE_PERIPHERAL /** * @brief Inject the provided passkey into the Security Manager. * @param [in] peerInfo Connection information for the peer. diff --git a/src/NimBLEDevice.h b/src/NimBLEDevice.h index 4333d07f..df89852c 100644 --- a/src/NimBLEDevice.h +++ b/src/NimBLEDevice.h @@ -19,7 +19,7 @@ #define NIMBLE_CPP_DEVICE_H_ #include "nimconfig.h" -#if defined(CONFIG_BT_ENABLED) +#if CONFIG_BT_ENABLED # ifdef ESP_PLATFORM # ifndef CONFIG_IDF_TARGET_ESP32P4 # include @@ -40,16 +40,16 @@ # include # include -# if defined(CONFIG_BT_NIMBLE_ROLE_CENTRAL) +# if CONFIG_BT_NIMBLE_ROLE_CENTRAL # include class NimBLEClient; # endif -# if defined(CONFIG_BT_NIMBLE_ROLE_OBSERVER) +# if CONFIG_BT_NIMBLE_ROLE_OBSERVER class NimBLEScan; # endif -# if defined(CONFIG_BT_NIMBLE_ROLE_BROADCASTER) +# if CONFIG_BT_NIMBLE_ROLE_BROADCASTER # if CONFIG_BT_NIMBLE_EXT_ADV class NimBLEExtAdvertising; # else @@ -57,14 +57,14 @@ class NimBLEAdvertising; # endif # endif -# if defined(CONFIG_BT_NIMBLE_ROLE_PERIPHERAL) +# if CONFIG_BT_NIMBLE_ROLE_PERIPHERAL class NimBLEServer; # if CONFIG_BT_NIMBLE_L2CAP_COC_MAX_NUM > 0 class NimBLEL2CAPServer; # endif # endif -# if defined(CONFIG_BT_NIMBLE_ROLE_PERIPHERAL) || defined(CONFIG_BT_NIMBLE_ROLE_CENTRAL) +# if CONFIG_BT_NIMBLE_ROLE_PERIPHERAL || CONFIG_BT_NIMBLE_ROLE_CENTRAL class NimBLEConnInfo; # endif @@ -164,11 +164,11 @@ class NimBLEDevice { # endif # endif -# if defined(CONFIG_BT_NIMBLE_ROLE_OBSERVER) +# if CONFIG_BT_NIMBLE_ROLE_OBSERVER static NimBLEScan* getScan(); # endif -# if defined(CONFIG_BT_NIMBLE_ROLE_PERIPHERAL) +# if CONFIG_BT_NIMBLE_ROLE_PERIPHERAL static NimBLEServer* createServer(); static NimBLEServer* getServer(); # if CONFIG_BT_NIMBLE_L2CAP_COC_MAX_NUM > 0 @@ -177,12 +177,12 @@ class NimBLEDevice { # endif # endif -# if defined(CONFIG_BT_NIMBLE_ROLE_PERIPHERAL) || defined(CONFIG_BT_NIMBLE_ROLE_CENTRAL) +# if CONFIG_BT_NIMBLE_ROLE_PERIPHERAL || CONFIG_BT_NIMBLE_ROLE_CENTRAL static bool injectConfirmPasskey(const NimBLEConnInfo& peerInfo, bool accept); static bool injectPassKey(const NimBLEConnInfo& peerInfo, uint32_t pin); # endif -# if defined(CONFIG_BT_NIMBLE_ROLE_BROADCASTER) +# if CONFIG_BT_NIMBLE_ROLE_BROADCASTER # if CONFIG_BT_NIMBLE_EXT_ADV static NimBLEExtAdvertising* getAdvertising(); static bool startAdvertising(uint8_t instId, int duration = 0, int maxEvents = 0); @@ -196,7 +196,7 @@ class NimBLEDevice { # endif # endif -# if defined(CONFIG_BT_NIMBLE_ROLE_CENTRAL) +# if CONFIG_BT_NIMBLE_ROLE_CENTRAL static NimBLEClient* createClient(); static NimBLEClient* createClient(const NimBLEAddress& peerAddress); static bool deleteClient(NimBLEClient* pClient); @@ -207,7 +207,7 @@ class NimBLEDevice { static std::vector getConnectedClients(); # endif -# if defined(CONFIG_BT_NIMBLE_ROLE_CENTRAL) || defined(CONFIG_BT_NIMBLE_ROLE_PERIPHERAL) +# if CONFIG_BT_NIMBLE_ROLE_CENTRAL || CONFIG_BT_NIMBLE_ROLE_PERIPHERAL static bool deleteBond(const NimBLEAddress& address); static int getNumBonds(); static bool isBonded(const NimBLEAddress& address); @@ -225,18 +225,18 @@ class NimBLEDevice { static NimBLEDeviceCallbacks* m_pDeviceCallbacks; static NimBLEDeviceCallbacks defaultDeviceCallbacks; -# if defined(CONFIG_BT_NIMBLE_ROLE_OBSERVER) +# if CONFIG_BT_NIMBLE_ROLE_OBSERVER static NimBLEScan* m_pScan; # endif -# if defined(CONFIG_BT_NIMBLE_ROLE_PERIPHERAL) +# if CONFIG_BT_NIMBLE_ROLE_PERIPHERAL static NimBLEServer* m_pServer; # if CONFIG_BT_NIMBLE_L2CAP_COC_MAX_NUM > 0 static NimBLEL2CAPServer* m_pL2CAPServer; # endif # endif -# if defined(CONFIG_BT_NIMBLE_ROLE_BROADCASTER) +# if CONFIG_BT_NIMBLE_ROLE_BROADCASTER # if CONFIG_BT_NIMBLE_EXT_ADV static NimBLEExtAdvertising* m_bleAdvertising; # else @@ -244,7 +244,7 @@ class NimBLEDevice { # endif # endif -# if defined(CONFIG_BT_NIMBLE_ROLE_CENTRAL) +# if CONFIG_BT_NIMBLE_ROLE_CENTRAL static std::array m_pClients; # endif @@ -256,20 +256,20 @@ class NimBLEDevice { # endif # endif -# if defined(CONFIG_BT_NIMBLE_ROLE_CENTRAL) +# if CONFIG_BT_NIMBLE_ROLE_CENTRAL friend class NimBLEClient; # endif -# if defined(CONFIG_BT_NIMBLE_ROLE_OBSERVER) +# if CONFIG_BT_NIMBLE_ROLE_OBSERVER friend class NimBLEScan; # endif -# if defined(CONFIG_BT_NIMBLE_ROLE_PERIPHERAL) +# if CONFIG_BT_NIMBLE_ROLE_PERIPHERAL friend class NimBLEServer; friend class NimBLECharacteristic; # endif -# if defined(CONFIG_BT_NIMBLE_ROLE_BROADCASTER) +# if CONFIG_BT_NIMBLE_ROLE_BROADCASTER friend class NimBLEAdvertising; # if CONFIG_BT_NIMBLE_EXT_ADV friend class NimBLEExtAdvertising; @@ -278,29 +278,29 @@ class NimBLEDevice { # endif }; -# if defined(CONFIG_BT_NIMBLE_ROLE_CENTRAL) +# if CONFIG_BT_NIMBLE_ROLE_CENTRAL # include "NimBLEClient.h" # include "NimBLERemoteService.h" # include "NimBLERemoteCharacteristic.h" # include "NimBLERemoteDescriptor.h" # endif -# if defined(CONFIG_BT_NIMBLE_ROLE_OBSERVER) +# if CONFIG_BT_NIMBLE_ROLE_OBSERVER # include "NimBLEScan.h" # endif -# if defined(CONFIG_BT_NIMBLE_ROLE_PERIPHERAL) +# if CONFIG_BT_NIMBLE_ROLE_PERIPHERAL # include "NimBLEServer.h" # include "NimBLEService.h" # include "NimBLECharacteristic.h" # include "NimBLEDescriptor.h" -# if CONFIG_BT_NIMBLE_L2CAP_COC_MAX_NUM > 0 +# if CONFIG_BT_NIMBLE_L2CAP_COC_MAX_NUM # include "NimBLEL2CAPServer.h" # include "NimBLEL2CAPChannel.h" # endif # endif -# if defined(CONFIG_BT_NIMBLE_ROLE_BROADCASTER) +# if CONFIG_BT_NIMBLE_ROLE_BROADCASTER # if CONFIG_BT_NIMBLE_EXT_ADV # include "NimBLEExtAdvertising.h" # else @@ -308,10 +308,11 @@ class NimBLEDevice { # endif # endif -# if defined(CONFIG_BT_NIMBLE_ROLE_CENTRAL) || defined(CONFIG_BT_NIMBLE_ROLE_PERIPHERAL) +# if CONFIG_BT_NIMBLE_ROLE_CENTRAL || CONFIG_BT_NIMBLE_ROLE_PERIPHERAL # include "NimBLEConnInfo.h" # endif +# include "NimBLEAddress.h" # include "NimBLEUtils.h" /** diff --git a/src/NimBLEEddystoneTLM.cpp b/src/NimBLEEddystoneTLM.cpp index 3d398806..b374d3ac 100644 --- a/src/NimBLEEddystoneTLM.cpp +++ b/src/NimBLEEddystoneTLM.cpp @@ -15,10 +15,9 @@ * limitations under the License. */ -#include "nimconfig.h" -#if defined(CONFIG_BT_ENABLED) && defined(CONFIG_BT_NIMBLE_ROLE_BROADCASTER) +#include "NimBLEEddystoneTLM.h" +#if CONFIG_BT_ENABLED && CONFIG_BT_NIMBLE_ROLE_BROADCASTER -# include "NimBLEEddystoneTLM.h" # include "NimBLEUUID.h" # include "NimBLELog.h" diff --git a/src/NimBLEEddystoneTLM.h b/src/NimBLEEddystoneTLM.h index 2881a89f..2c1e52e3 100644 --- a/src/NimBLEEddystoneTLM.h +++ b/src/NimBLEEddystoneTLM.h @@ -19,7 +19,7 @@ #define NIMBLE_CPP_EDDYSTONETLM_H_ #include "nimconfig.h" -#if defined(CONFIG_BT_ENABLED) && defined(CONFIG_BT_NIMBLE_ROLE_BROADCASTER) +#if CONFIG_BT_ENABLED && CONFIG_BT_NIMBLE_ROLE_BROADCASTER class NimBLEUUID; diff --git a/src/NimBLEExtAdvertising.cpp b/src/NimBLEExtAdvertising.cpp index 38c37d7d..d3a02061 100644 --- a/src/NimBLEExtAdvertising.cpp +++ b/src/NimBLEExtAdvertising.cpp @@ -15,8 +15,8 @@ * limitations under the License. */ -#include "nimconfig.h" -#if defined(CONFIG_BT_ENABLED) && defined(CONFIG_BT_NIMBLE_ROLE_BROADCASTER) && CONFIG_BT_NIMBLE_EXT_ADV +#include "NimBLEExtAdvertising.h" +#if CONFIG_BT_ENABLED && CONFIG_BT_NIMBLE_ROLE_BROADCASTER && CONFIG_BT_NIMBLE_EXT_ADV # if defined(CONFIG_NIMBLE_CPP_IDF) # include "services/gap/ble_svc_gap.h" @@ -24,7 +24,6 @@ # include "nimble/nimble/host/services/gap/include/services/gap/ble_svc_gap.h" # endif -# include "NimBLEExtAdvertising.h" # include "NimBLEDevice.h" # include "NimBLEServer.h" # include "NimBLEUtils.h" @@ -69,7 +68,7 @@ bool NimBLEExtAdvertising::setInstanceData(uint8_t instId, NimBLEExtAdvertisemen adv.m_params.scan_req_notif = false; } -# if defined(CONFIG_BT_NIMBLE_ROLE_PERIPHERAL) +# if CONFIG_BT_NIMBLE_ROLE_PERIPHERAL NimBLEServer* pServer = NimBLEDevice::getServer(); if (pServer != nullptr) { pServer->start(); // make sure the GATT server is ready before advertising @@ -392,7 +391,7 @@ void NimBLEExtAdvertisement::setTxPower(int8_t dbm) { * @param [in] enable True = connectable. */ void NimBLEExtAdvertisement::setConnectable(bool enable) { -# if defined(CONFIG_BT_NIMBLE_ROLE_PERIPHERAL) +# if CONFIG_BT_NIMBLE_ROLE_PERIPHERAL m_params.connectable = enable; # endif } // setConnectable @@ -1091,4 +1090,4 @@ std::string NimBLEExtAdvertisement::toString() const { return str; } // toString -#endif /* CONFIG_BT_ENABLED && CONFIG_BT_NIMBLE_ROLE_BROADCASTER && CONFIG_BT_NIMBLE_EXT_ADV */ +#endif // CONFIG_BT_ENABLED && CONFIG_BT_NIMBLE_ROLE_BROADCASTER && CONFIG_BT_NIMBLE_EXT_ADV diff --git a/src/NimBLEExtAdvertising.h b/src/NimBLEExtAdvertising.h index f5031eb5..9824ad19 100644 --- a/src/NimBLEExtAdvertising.h +++ b/src/NimBLEExtAdvertising.h @@ -19,7 +19,7 @@ #define NIMBLE_CPP_EXTADVERTISING_H_ #include "nimconfig.h" -#if defined(CONFIG_BT_ENABLED) && defined(CONFIG_BT_NIMBLE_ROLE_BROADCASTER) && CONFIG_BT_NIMBLE_EXT_ADV +#if CONFIG_BT_ENABLED && CONFIG_BT_NIMBLE_ROLE_BROADCASTER && CONFIG_BT_NIMBLE_EXT_ADV # if defined(CONFIG_NIMBLE_CPP_IDF) # include "host/ble_gap.h" diff --git a/src/NimBLEHIDDevice.cpp b/src/NimBLEHIDDevice.cpp index 38a11c3a..73393930 100644 --- a/src/NimBLEHIDDevice.cpp +++ b/src/NimBLEHIDDevice.cpp @@ -15,10 +15,9 @@ * limitations under the License. */ -#include "nimconfig.h" -#if defined(CONFIG_BT_ENABLED) && defined(CONFIG_BT_NIMBLE_ROLE_PERIPHERAL) +#include "NimBLEHIDDevice.h" +#if CONFIG_BT_ENABLED && CONFIG_BT_NIMBLE_ROLE_BROADCASTER && CONFIG_BT_NIMBLE_ROLE_PERIPHERAL -# include "NimBLEHIDDevice.h" # include "NimBLEServer.h" # include "NimBLEService.h" # include "NimBLE2904.h" @@ -341,4 +340,4 @@ NimBLEService* NimBLEHIDDevice::getBatteryService() { return m_batterySvc; } // getBatteryService -#endif /* CONFIG_BT_ENABLED && CONFIG_BT_NIMBLE_ROLE_PERIPHERAL */ +#endif // CONFIG_BT_ENABLED && CONFIG_BT_NIMBLE_ROLE_PERIPHERAL diff --git a/src/NimBLEHIDDevice.h b/src/NimBLEHIDDevice.h index 50d3362b..cbc9839d 100644 --- a/src/NimBLEHIDDevice.h +++ b/src/NimBLEHIDDevice.h @@ -19,7 +19,7 @@ #define NIMBLE_CPP_HIDDEVICE_H_ #include "nimconfig.h" -#if defined(CONFIG_BT_ENABLED) && defined(CONFIG_BT_NIMBLE_ROLE_BROADCASTER) && defined(CONFIG_BT_NIMBLE_ROLE_PERIPHERAL) +#if CONFIG_BT_ENABLED && CONFIG_BT_NIMBLE_ROLE_BROADCASTER && CONFIG_BT_NIMBLE_ROLE_PERIPHERAL # include # include @@ -85,5 +85,5 @@ class NimBLEHIDDevice { NimBLECharacteristic* locateReportCharacteristicByIdAndType(uint8_t reportId, uint8_t reportType); }; -#endif // CONFIG_BT_ENABLED && CONFIG_BT_NIMBLE_ROLE_BROADCASTER && defined(CONFIG_BT_NIMBLE_ROLE_PERIPHERAL) +#endif // CONFIG_BT_ENABLED && CONFIG_BT_NIMBLE_ROLE_BROADCASTER && CONFIG_BT_NIMBLE_ROLE_PERIPHERAL #endif // NIMBLE_CPP_HIDDEVICE_H_ diff --git a/src/NimBLEL2CAPChannel.cpp b/src/NimBLEL2CAPChannel.cpp index 87235394..ef290d1a 100644 --- a/src/NimBLEL2CAPChannel.cpp +++ b/src/NimBLEL2CAPChannel.cpp @@ -1,21 +1,29 @@ // // (C) Dr. Michael 'Mickey' Lauer // + #include "NimBLEL2CAPChannel.h" +#if CONFIG_BT_ENABLED && CONFIG_BT_NIMBLE_L2CAP_COC_MAX_NUM + +# include "NimBLEClient.h" +# include "NimBLELog.h" +# include "NimBLEUtils.h" -#include "NimBLEClient.h" -#include "NimBLELog.h" -#include "NimBLEUtils.h" +# if defined(CONFIG_NIMBLE_CPP_IDF) +# include "host/ble_gap.h" +# else +# include "nimble/nimble/host/include/host/ble_gap.h" +# endif // L2CAP buffer block size -#define L2CAP_BUF_BLOCK_SIZE (250) -#define L2CAP_BUF_SIZE_MTUS_PER_CHANNEL (3) +# define L2CAP_BUF_BLOCK_SIZE (250) +# define L2CAP_BUF_SIZE_MTUS_PER_CHANNEL (3) // Round-up integer division -#define CEIL_DIVIDE(a, b) (((a) + (b) - 1) / (b)) -#define ROUND_DIVIDE(a, b) (((a) + (b) / 2) / (b)) +# define CEIL_DIVIDE(a, b) (((a) + (b) - 1) / (b)) +# define ROUND_DIVIDE(a, b) (((a) + (b) / 2) / (b)) // Retry constexpr uint32_t RetryTimeout = 50; -constexpr int RetryCounter = 3; +constexpr int RetryCounter = 3; NimBLEL2CAPChannel::NimBLEL2CAPChannel(uint16_t psm, uint16_t mtu, NimBLEL2CAPChannelCallbacks* callbacks) : psm(psm), mtu(mtu), callbacks(callbacks) { @@ -84,7 +92,7 @@ int NimBLEL2CAPChannel::writeFragment(std::vector::const_iterator begin m_pTaskData = &taskData; NimBLEUtils::taskWait(taskData, BLE_NPL_TIME_FOREVER); m_pTaskData = nullptr; - stalled = false; + stalled = false; NIMBLE_LOGD(LOG_TAG, "L2CAP Channel unstalled!"); } @@ -141,7 +149,7 @@ int NimBLEL2CAPChannel::writeFragment(std::vector::const_iterator begin return -BLE_HS_EREJECT; } -#if defined(CONFIG_BT_ENABLED) && defined(CONFIG_BT_NIMBLE_ROLE_CENTRAL) +# if CONFIG_BT_NIMBLE_ROLE_CENTRAL NimBLEL2CAPChannel* NimBLEL2CAPChannel::connect(NimBLEClient* client, uint16_t psm, uint16_t mtu, @@ -166,7 +174,7 @@ NimBLEL2CAPChannel* NimBLEL2CAPChannel::connect(NimBLEClient* cli } return channel; } -#endif // CONFIG_BT_ENABLED && CONFIG_BT_NIMBLE_ROLE_CENTRAL +# endif // CONFIG_BT_NIMBLE_ROLE_CENTRAL bool NimBLEL2CAPChannel::write(const std::vector& bytes) { if (!this->channel) { @@ -302,3 +310,5 @@ int NimBLEL2CAPChannel::handleL2capEvent(struct ble_l2cap_event* event, void* ar return returnValue; } + +#endif // #if CONFIG_BT_ENABLED && CONFIG_BT_NIMBLE_L2CAP_COC_MAX_NUM diff --git a/src/NimBLEL2CAPChannel.h b/src/NimBLEL2CAPChannel.h index 636df60f..41cd5a96 100644 --- a/src/NimBLEL2CAPChannel.h +++ b/src/NimBLEL2CAPChannel.h @@ -1,11 +1,12 @@ // // (C) Dr. Michael 'Mickey' Lauer // -#pragma once -#ifndef NIMBLEL2CAPCHANNEL_H -# define NIMBLEL2CAPCHANNEL_H -# include "nimconfig.h" +#ifndef NIMBLE_CPP_L2CAPCHANNEL_H_ +#define NIMBLE_CPP_L2CAPCHANNEL_H_ + +#include "nimconfig.h" +#if CONFIG_BT_ENABLED && CONFIG_BT_NIMBLE_L2CAP_COC_MAX_NUM # include "inttypes.h" # if defined(CONFIG_NIMBLE_CPP_IDF) @@ -85,7 +86,7 @@ class NimBLEL2CAPChannel { // Runtime handling std::atomic stalled{false}; - NimBLETaskData* m_pTaskData{nullptr}; + NimBLETaskData* m_pTaskData{nullptr}; // Allocate / deallocate NimBLE memory pool bool setupMemPool(); @@ -121,4 +122,5 @@ class NimBLEL2CAPChannelCallbacks { virtual void onDisconnect(NimBLEL2CAPChannel* channel) {}; }; -#endif +#endif // CONFIG_BT_ENABLED && CONFIG_BT_NIMBLE_L2CAP_COC_MAX_NUM +#endif // NIMBLE_CPP_L2CAPCHANNEL_H_ diff --git a/src/NimBLEL2CAPServer.cpp b/src/NimBLEL2CAPServer.cpp index 422291f0..c719694b 100644 --- a/src/NimBLEL2CAPServer.cpp +++ b/src/NimBLEL2CAPServer.cpp @@ -1,10 +1,13 @@ // // (C) Dr. Michael 'Mickey' Lauer // + #include "NimBLEL2CAPServer.h" -#include "NimBLEL2CAPChannel.h" -#include "NimBLEDevice.h" -#include "NimBLELog.h" +#if CONFIG_BT_ENABLED && CONFIG_BT_NIMBLE_L2CAP_COC_MAX_NUM + +# include "NimBLEL2CAPChannel.h" +# include "NimBLEDevice.h" +# include "NimBLELog.h" static const char* LOG_TAG = "NimBLEL2CAPServer"; @@ -33,3 +36,5 @@ NimBLEL2CAPChannel* NimBLEL2CAPServer::createService(const uint16_t this->services.push_back(service); return service; } + +#endif // CONFIG_BT_ENABLED && CONFIG_BT_NIMBLE_L2CAP_COC_MAX_NUM diff --git a/src/NimBLEL2CAPServer.h b/src/NimBLEL2CAPServer.h index 9231c4e9..405009a2 100644 --- a/src/NimBLEL2CAPServer.h +++ b/src/NimBLEL2CAPServer.h @@ -1,12 +1,14 @@ // // (C) Dr. Michael 'Mickey' Lauer // -#ifndef NIMBLEL2CAPSERVER_H -#define NIMBLEL2CAPSERVER_H -#pragma once -#include "inttypes.h" -#include +#ifndef NIMBLE_CPP_L2CAPSERVER_H_ +#define NIMBLE_CPP_L2CAPSERVER_H_ +#include "nimconfig.h" +#if CONFIG_BT_ENABLED && CONFIG_BT_NIMBLE_L2CAP_COC_MAX_NUM + +# include "inttypes.h" +# include class NimBLEL2CAPChannel; class NimBLEL2CAPChannelCallbacks; @@ -35,4 +37,5 @@ class NimBLEL2CAPServer { friend class NimBLEDevice; }; -#endif \ No newline at end of file +#endif // CONFIG_BT_ENABLED && CONFIG_BT_NIMBLE_L2CAP_COC_MAX_NUM +#endif // NIMBLE_CPP_L2CAPSERVER_H_ diff --git a/src/NimBLELocalAttribute.h b/src/NimBLELocalAttribute.h index 09707d5c..5427a9ea 100644 --- a/src/NimBLELocalAttribute.h +++ b/src/NimBLELocalAttribute.h @@ -19,7 +19,7 @@ #define NIMBLE_CPP_LOCAL_ATTRIBUTE_H_ #include "nimconfig.h" -#if defined(CONFIG_BT_ENABLED) && defined(CONFIG_BT_NIMBLE_ROLE_PERIPHERAL) +#if CONFIG_BT_ENABLED && CONFIG_BT_NIMBLE_ROLE_PERIPHERAL # include "NimBLEAttribute.h" diff --git a/src/NimBLELocalValueAttribute.h b/src/NimBLELocalValueAttribute.h index d7208806..c9f9d8de 100644 --- a/src/NimBLELocalValueAttribute.h +++ b/src/NimBLELocalValueAttribute.h @@ -19,7 +19,7 @@ #define NIMBLE_LOCAL_VALUE_ATTRIBUTE_H_ #include "nimconfig.h" -#if defined(CONFIG_BT_ENABLED) && defined(CONFIG_BT_NIMBLE_ROLE_PERIPHERAL) +#if CONFIG_BT_ENABLED && CONFIG_BT_NIMBLE_ROLE_PERIPHERAL # if defined(CONFIG_NIMBLE_CPP_IDF) # include "host/ble_hs.h" diff --git a/src/NimBLELog.h b/src/NimBLELog.h index e3137ad0..32d863a1 100644 --- a/src/NimBLELog.h +++ b/src/NimBLELog.h @@ -19,7 +19,7 @@ #define NIMBLE_CPP_LOG_H_ #include "nimconfig.h" -#if defined(CONFIG_BT_ENABLED) +#if CONFIG_BT_ENABLED # if defined(CONFIG_NIMBLE_CPP_IDF) # include "esp_log.h" diff --git a/src/NimBLERemoteCharacteristic.cpp b/src/NimBLERemoteCharacteristic.cpp index c4675dc4..41029cbf 100644 --- a/src/NimBLERemoteCharacteristic.cpp +++ b/src/NimBLERemoteCharacteristic.cpp @@ -15,10 +15,9 @@ * limitations under the License. */ -#include "nimconfig.h" -#if defined(CONFIG_BT_ENABLED) && defined(CONFIG_BT_NIMBLE_ROLE_CENTRAL) +#include "NimBLERemoteCharacteristic.h" +#if CONFIG_BT_ENABLED && CONFIG_BT_NIMBLE_ROLE_CENTRAL -# include "NimBLERemoteCharacteristic.h" # include "NimBLERemoteDescriptor.h" # include "NimBLERemoteService.h" # include "NimBLEClient.h" @@ -388,4 +387,4 @@ NimBLEClient* NimBLERemoteCharacteristic::getClient() const { return getRemoteService()->getClient(); } // getClient -#endif /* CONFIG_BT_ENABLED && CONFIG_BT_NIMBLE_ROLE_CENTRAL */ +#endif // CONFIG_BT_ENABLED && CONFIG_BT_NIMBLE_ROLE_CENTRAL diff --git a/src/NimBLERemoteCharacteristic.h b/src/NimBLERemoteCharacteristic.h index fd5749f9..f2d3d6b2 100644 --- a/src/NimBLERemoteCharacteristic.h +++ b/src/NimBLERemoteCharacteristic.h @@ -19,7 +19,7 @@ #define NIMBLE_CPP_REMOTE_CHARACTERISTIC_H_ #include "nimconfig.h" -#if defined(CONFIG_BT_ENABLED) && defined(CONFIG_BT_NIMBLE_ROLE_CENTRAL) +#if CONFIG_BT_ENABLED && CONFIG_BT_NIMBLE_ROLE_CENTRAL # include "NimBLERemoteValueAttribute.h" # include diff --git a/src/NimBLERemoteDescriptor.cpp b/src/NimBLERemoteDescriptor.cpp index a56b91a8..cdb54dc0 100644 --- a/src/NimBLERemoteDescriptor.cpp +++ b/src/NimBLERemoteDescriptor.cpp @@ -15,10 +15,9 @@ * limitations under the License. */ -#include "nimconfig.h" -#if defined(CONFIG_BT_ENABLED) && defined(CONFIG_BT_NIMBLE_ROLE_CENTRAL) +#include "NimBLERemoteDescriptor.h" +#if CONFIG_BT_ENABLED && CONFIG_BT_NIMBLE_ROLE_CENTRAL -# include "NimBLERemoteDescriptor.h" # include "NimBLERemoteCharacteristic.h" /** @@ -57,4 +56,4 @@ NimBLEClient* NimBLERemoteDescriptor::getClient() const { return m_pRemoteCharacteristic->getClient(); } -#endif /* CONFIG_BT_ENABLED && CONFIG_BT_NIMBLE_ROLE_CENTRAL */ +#endif // CONFIG_BT_ENABLED && CONFIG_BT_NIMBLE_ROLE_CENTRAL diff --git a/src/NimBLERemoteDescriptor.h b/src/NimBLERemoteDescriptor.h index 817033df..349988c2 100644 --- a/src/NimBLERemoteDescriptor.h +++ b/src/NimBLERemoteDescriptor.h @@ -19,7 +19,7 @@ #define NIMBLE_CPP_REMOTE_DESCRIPTOR_H_ #include "nimconfig.h" -#if defined(CONFIG_BT_ENABLED) && defined(CONFIG_BT_NIMBLE_ROLE_CENTRAL) +#if CONFIG_BT_ENABLED && CONFIG_BT_NIMBLE_ROLE_CENTRAL # include "NimBLERemoteValueAttribute.h" @@ -44,5 +44,5 @@ class NimBLERemoteDescriptor : public NimBLERemoteValueAttribute { const NimBLERemoteCharacteristic* m_pRemoteCharacteristic; }; -#endif /* CONFIG_BT_ENABLED && CONFIG_BT_NIMBLE_ROLE_CENTRAL */ -#endif /* NIMBLE_CPP_REMOTE_DESCRIPTOR_H_ */ +#endif // CONFIG_BT_ENABLED && CONFIG_BT_NIMBLE_ROLE_CENTRAL +#endif // NIMBLE_CPP_REMOTE_DESCRIPTOR_H_ diff --git a/src/NimBLERemoteService.cpp b/src/NimBLERemoteService.cpp index 06fb91af..fd9aeec2 100644 --- a/src/NimBLERemoteService.cpp +++ b/src/NimBLERemoteService.cpp @@ -15,10 +15,9 @@ * limitations under the License. */ -#include "nimconfig.h" -#if defined(CONFIG_BT_ENABLED) && defined(CONFIG_BT_NIMBLE_ROLE_CENTRAL) +#include "NimBLERemoteService.h" +#if CONFIG_BT_ENABLED && CONFIG_BT_NIMBLE_ROLE_CENTRAL -# include "NimBLERemoteService.h" # include "NimBLERemoteCharacteristic.h" # include "NimBLEClient.h" # include "NimBLEAttValue.h" @@ -303,4 +302,4 @@ std::string NimBLERemoteService::toString() const { return res; } // toString -#endif /* CONFIG_BT_ENABLED && CONFIG_BT_NIMBLE_ROLE_CENTRAL */ +#endif // CONFIG_BT_ENABLED && CONFIG_BT_NIMBLE_ROLE_CENTRAL diff --git a/src/NimBLERemoteService.h b/src/NimBLERemoteService.h index fad35fb0..6aebbaba 100644 --- a/src/NimBLERemoteService.h +++ b/src/NimBLERemoteService.h @@ -19,7 +19,7 @@ #define NIMBLE_CPP_REMOTE_SERVICE_H_ #include "nimconfig.h" -#if defined(CONFIG_BT_ENABLED) && defined(CONFIG_BT_NIMBLE_ROLE_CENTRAL) +#if CONFIG_BT_ENABLED && CONFIG_BT_NIMBLE_ROLE_CENTRAL # include "NimBLEAttribute.h" # include @@ -64,5 +64,5 @@ class NimBLERemoteService : public NimBLEAttribute { uint16_t m_endHandle{0}; }; // NimBLERemoteService -#endif /* CONFIG_BT_ENABLED && CONFIG_BT_NIMBLE_ROLE_CENTRAL */ -#endif /* NIMBLE_CPP_REMOTE_SERVICE_H_*/ +#endif // CONFIG_BT_ENABLED && CONFIG_BT_NIMBLE_ROLE_CENTRAL +#endif // NIMBLE_CPP_REMOTE_SERVICE_H_ diff --git a/src/NimBLERemoteValueAttribute.cpp b/src/NimBLERemoteValueAttribute.cpp index b9833712..e5e5611f 100644 --- a/src/NimBLERemoteValueAttribute.cpp +++ b/src/NimBLERemoteValueAttribute.cpp @@ -15,10 +15,9 @@ * limitations under the License. */ -#include "nimconfig.h" -#if defined(CONFIG_BT_ENABLED) && defined(CONFIG_BT_NIMBLE_ROLE_CENTRAL) +#include "NimBLERemoteValueAttribute.h" +#if CONFIG_BT_ENABLED && CONFIG_BT_NIMBLE_ROLE_CENTRAL -# include "NimBLERemoteValueAttribute.h" # include "NimBLEClient.h" # include "NimBLEUtils.h" # include "NimBLELog.h" diff --git a/src/NimBLERemoteValueAttribute.h b/src/NimBLERemoteValueAttribute.h index 5d0ff2b5..89df172e 100644 --- a/src/NimBLERemoteValueAttribute.h +++ b/src/NimBLERemoteValueAttribute.h @@ -19,7 +19,7 @@ #define NIMBLE_CPP_REMOTE_VALUE_ATTRIBUTE_H_ #include "nimconfig.h" -#if defined(CONFIG_BT_ENABLED) && defined(CONFIG_BT_NIMBLE_ROLE_CENTRAL) +#if CONFIG_BT_ENABLED && CONFIG_BT_NIMBLE_ROLE_CENTRAL # if defined(CONFIG_NIMBLE_CPP_IDF) # include @@ -170,5 +170,5 @@ class NimBLERemoteValueAttribute : public NimBLEValueAttribute, public NimBLEAtt static int onWriteCB(uint16_t conn_handle, const ble_gatt_error* error, ble_gatt_attr* attr, void* arg); }; -#endif /* CONFIG_BT_ENABLED && CONFIG_BT_NIMBLE_ROLE_CENTRAL */ +#endif // CONFIG_BT_ENABLED && CONFIG_BT_NIMBLE_ROLE_CENTRAL #endif // NIMBLE_CPP_REMOTE_VALUE_ATTRIBUTE_H_ diff --git a/src/NimBLEScan.cpp b/src/NimBLEScan.cpp index 20808ba6..eaad8cfe 100644 --- a/src/NimBLEScan.cpp +++ b/src/NimBLEScan.cpp @@ -15,10 +15,9 @@ * limitations under the License. */ -#include "nimconfig.h" -#if defined(CONFIG_BT_ENABLED) && defined(CONFIG_BT_NIMBLE_ROLE_OBSERVER) +#include "NimBLEScan.h" +#if CONFIG_BT_ENABLED && CONFIG_BT_NIMBLE_ROLE_OBSERVER -# include "NimBLEScan.h" # include "NimBLEDevice.h" # include "NimBLELog.h" @@ -73,7 +72,7 @@ int NimBLEScan::handleGapEvent(ble_gap_event* event, void* arg) { # endif NimBLEAddress advertisedAddress(disc.addr); -# ifdef CONFIG_BT_NIMBLE_ROLE_CENTRAL +# if CONFIG_BT_NIMBLE_ROLE_CENTRAL // stop processing if already connected NimBLEClient* pClient = NimBLEDevice::getClientByPeerAddress(advertisedAddress); if (pClient != nullptr && pClient->isConnected()) { @@ -559,4 +558,4 @@ void NimBLEScanCallbacks::onScanEnd(const NimBLEScanResults& results, int reason NIMBLE_LOGD(CB_TAG, "Scan ended; reason %d, num results: %d", reason, results.getCount()); } -#endif /* CONFIG_BT_ENABLED && CONFIG_BT_NIMBLE_ROLE_OBSERVER */ +#endif // CONFIG_BT_ENABLED && CONFIG_BT_NIMBLE_ROLE_OBSERVER diff --git a/src/NimBLEScan.h b/src/NimBLEScan.h index 2546cdb1..7884d190 100644 --- a/src/NimBLEScan.h +++ b/src/NimBLEScan.h @@ -19,7 +19,7 @@ #define NIMBLE_CPP_SCAN_H_ #include "nimconfig.h" -#if defined(CONFIG_BT_ENABLED) && defined(CONFIG_BT_NIMBLE_ROLE_OBSERVER) +#if CONFIG_BT_ENABLED && CONFIG_BT_NIMBLE_ROLE_OBSERVER # include "NimBLEAdvertisedDevice.h" # include "NimBLEUtils.h" diff --git a/src/NimBLEServer.cpp b/src/NimBLEServer.cpp index 0ddcc01a..15cf83ad 100644 --- a/src/NimBLEServer.cpp +++ b/src/NimBLEServer.cpp @@ -15,14 +15,13 @@ * limitations under the License. */ -#include "nimconfig.h" -#if defined(CONFIG_BT_ENABLED) && defined(CONFIG_BT_NIMBLE_ROLE_PERIPHERAL) +#include "NimBLEServer.h" +#if CONFIG_BT_ENABLED && CONFIG_BT_NIMBLE_ROLE_PERIPHERAL -# include "NimBLEServer.h" # include "NimBLEDevice.h" # include "NimBLELog.h" -# if defined(CONFIG_BT_NIMBLE_ROLE_CENTRAL) +# if CONFIG_BT_NIMBLE_ROLE_CENTRAL # include "NimBLEClient.h" # endif @@ -70,7 +69,7 @@ NimBLEServer::~NimBLEServer() { delete m_pServerCallbacks; } -# if defined(CONFIG_BT_NIMBLE_ROLE_CENTRAL) +# if CONFIG_BT_NIMBLE_ROLE_CENTRAL if (m_pClient != nullptr) { delete m_pClient; } @@ -154,7 +153,7 @@ NimBLEExtAdvertising* NimBLEServer::getAdvertising() const { } // getAdvertising # endif -# if !CONFIG_BT_NIMBLE_EXT_ADV || defined(_DOXYGEN_) +# if (!CONFIG_BT_NIMBLE_EXT_ADV && CONFIG_BT_NIMBLE_ROLE_BROADCASTER) || defined(_DOXYGEN_) /** * @brief Retrieve the advertising object that can be used to advertise the existence of the server. * @return A pointer to an advertising object. @@ -357,7 +356,7 @@ int NimBLEServer::handleGapEvent(ble_gap_event* event, void* arg) { case BLE_GAP_EVENT_CONNECT: { if (event->connect.status != 0) { NIMBLE_LOGE(LOG_TAG, "Connection failed"); -# if !CONFIG_BT_NIMBLE_EXT_ADV +# if !CONFIG_BT_NIMBLE_EXT_ADV && CONFIG_BT_NIMBLE_ROLE_BROADCASTER NimBLEDevice::startAdvertising(); # endif } else { @@ -401,7 +400,7 @@ int NimBLEServer::handleGapEvent(ble_gap_event* event, void* arg) { } } -# if defined(CONFIG_BT_NIMBLE_ROLE_CENTRAL) +# if CONFIG_BT_NIMBLE_ROLE_CENTRAL if (pServer->m_pClient && pServer->m_pClient->m_connHandle == event->disconnect.conn.conn_handle) { // If this was also the client make sure it's flagged as disconnected. pServer->m_pClient->m_connHandle = BLE_HS_CONN_HANDLE_NONE; @@ -488,10 +487,10 @@ int NimBLEServer::handleGapEvent(ble_gap_event* event, void* arg) { } // BLE_GAP_EVENT_NOTIFY_TX case BLE_GAP_EVENT_ADV_COMPLETE: { -# if CONFIG_BT_NIMBLE_EXT_ADV +# if CONFIG_BT_NIMBLE_EXT_ADV && CONFIG_BT_NIMBLE_ROLE_BROADCASTER case BLE_GAP_EVENT_SCAN_REQ_RCVD: return NimBLEExtAdvertising::handleGapEvent(event, arg); -# else +# elif CONFIG_BT_NIMBLE_ROLE_BROADCASTER return NimBLEAdvertising::handleGapEvent(event, arg); # endif } // BLE_GAP_EVENT_ADV_COMPLETE | BLE_GAP_EVENT_SCAN_REQ_RCVD @@ -726,7 +725,7 @@ void NimBLEServer::removeService(NimBLEService* service, bool deleteSvc) { service->setRemoved(deleteSvc ? NIMBLE_ATT_REMOVE_DELETE : NIMBLE_ATT_REMOVE_HIDE); serviceChanged(); -# if !CONFIG_BT_NIMBLE_EXT_ADV +# if !CONFIG_BT_NIMBLE_EXT_ADV && CONFIG_BT_NIMBLE_ROLE_BROADCASTER NimBLEDevice::getAdvertising()->removeServiceUUID(service->getUUID()); # endif } // removeService @@ -763,7 +762,9 @@ void NimBLEServer::resetGATT() { return; } +# if CONFIG_BT_NIMBLE_ROLE_BROADCASTER NimBLEDevice::stopAdvertising(); +# endif ble_gatts_reset(); ble_svc_gap_init(); ble_svc_gatt_init(); @@ -855,7 +856,7 @@ bool NimBLEServer::stopAdvertising(uint8_t instId) const { # endif -# if !CONFIG_BT_NIMBLE_EXT_ADV || defined(_DOXYGEN_) +# if (!CONFIG_BT_NIMBLE_EXT_ADV && CONFIG_BT_NIMBLE_ROLE_BROADCASTER) || defined(_DOXYGEN_) /** * @brief Start advertising. * @param [in] duration The duration in milliseconds to advertise for, default = forever. @@ -932,7 +933,7 @@ void NimBLEServer::setDataLen(uint16_t connHandle, uint16_t octets) const { # endif } // setDataLen -# if defined(CONFIG_BT_NIMBLE_ROLE_CENTRAL) +# if CONFIG_BT_NIMBLE_ROLE_CENTRAL /** * @brief Create a client instance from the connection handle. * @param [in] connHandle The connection handle to create a client instance from. @@ -1019,4 +1020,4 @@ void NimBLEServerCallbacks::onPhyUpdate(NimBLEConnInfo& connInfo, uint8_t txPhy, NIMBLE_LOGD("NimBLEServerCallbacks", "onPhyUpdate: default, txPhy: %d, rxPhy: %d", txPhy, rxPhy); } // onPhyUpdate -#endif /* CONFIG_BT_ENABLED && CONFIG_BT_NIMBLE_ROLE_PERIPHERAL */ +#endif // CONFIG_BT_ENABLED && CONFIG_BT_NIMBLE_ROLE_PERIPHERAL diff --git a/src/NimBLEServer.h b/src/NimBLEServer.h index 7d074ba1..f8b6423b 100644 --- a/src/NimBLEServer.h +++ b/src/NimBLEServer.h @@ -19,7 +19,7 @@ #define NIMBLE_CPP_SERVER_H_ #include "nimconfig.h" -#if defined(CONFIG_BT_ENABLED) && defined(CONFIG_BT_NIMBLE_ROLE_PERIPHERAL) +#if CONFIG_BT_ENABLED && CONFIG_BT_NIMBLE_ROLE_PERIPHERAL # if defined(CONFIG_NIMBLE_CPP_IDF) # include "host/ble_gap.h" @@ -45,12 +45,14 @@ class NimBLEConnInfo; class NimBLEAddress; class NimBLEService; class NimBLECharacteristic; -# if CONFIG_BT_NIMBLE_EXT_ADV +# if CONFIG_BT_NIMBLE_ROLE_BROADCASTER +# if CONFIG_BT_NIMBLE_EXT_ADV class NimBLEExtAdvertising; -# else +# else class NimBLEAdvertising; +# endif # endif -# if defined(CONFIG_BT_NIMBLE_ROLE_CENTRAL) +# if CONFIG_BT_NIMBLE_ROLE_CENTRAL class NimBLEClient; # endif @@ -82,32 +84,36 @@ class NimBLEServer { bool updatePhy(uint16_t connHandle, uint8_t txPhysMask, uint8_t rxPhysMask, uint16_t phyOptions); bool getPhy(uint16_t connHandle, uint8_t* txPhy, uint8_t* rxPhy); -# if defined(CONFIG_BT_NIMBLE_ROLE_CENTRAL) +# if CONFIG_BT_NIMBLE_ROLE_CENTRAL NimBLEClient* getClient(uint16_t connHandle); NimBLEClient* getClient(const NimBLEConnInfo& connInfo); void deleteClient(); # endif -# if CONFIG_BT_NIMBLE_EXT_ADV +# if CONFIG_BT_NIMBLE_ROLE_BROADCASTER +# if CONFIG_BT_NIMBLE_EXT_ADV NimBLEExtAdvertising* getAdvertising() const; bool startAdvertising(uint8_t instanceId, int duration = 0, int maxEvents = 0) const; bool stopAdvertising(uint8_t instanceId) const; -# endif +# endif -# if !CONFIG_BT_NIMBLE_EXT_ADV || defined(_DOXYGEN_) +# if !CONFIG_BT_NIMBLE_EXT_ADV || defined(_DOXYGEN_) NimBLEAdvertising* getAdvertising() const; bool startAdvertising(uint32_t duration = 0) const; bool stopAdvertising() const; +# endif # endif private: friend class NimBLEDevice; friend class NimBLEService; friend class NimBLECharacteristic; -# if CONFIG_BT_NIMBLE_EXT_ADV +# if CONFIG_BT_NIMBLE_ROLE_BROADCASTER +# if CONFIG_BT_NIMBLE_EXT_ADV friend class NimBLEExtAdvertising; -# else +# else friend class NimBLEAdvertising; +# endif # endif NimBLEServer(); @@ -123,7 +129,7 @@ class NimBLEServer { std::vector m_svcVec; std::array m_connectedPeers; -# if defined(CONFIG_BT_NIMBLE_ROLE_CENTRAL) +# if CONFIG_BT_NIMBLE_ROLE_CENTRAL NimBLEClient* m_pClient{nullptr}; # endif diff --git a/src/NimBLEService.cpp b/src/NimBLEService.cpp index 8304d1ff..db6c75fe 100644 --- a/src/NimBLEService.cpp +++ b/src/NimBLEService.cpp @@ -15,10 +15,9 @@ * limitations under the License. */ -#include "nimconfig.h" -#if defined(CONFIG_BT_ENABLED) && defined(CONFIG_BT_NIMBLE_ROLE_PERIPHERAL) +#include "NimBLEService.h" +#if CONFIG_BT_ENABLED && CONFIG_BT_NIMBLE_ROLE_PERIPHERAL -# include "NimBLEService.h" # if CONFIG_BT_NIMBLE_EXT_ADV # include "NimBLEExtAdvertising.h" # else @@ -376,4 +375,4 @@ bool NimBLEService::isStarted() const { return m_pSvcDef->type > 0; } // isStarted -#endif /* CONFIG_BT_ENABLED && CONFIG_BT_NIMBLE_ROLE_PERIPHERAL */ +#endif // CONFIG_BT_ENABLED && CONFIG_BT_NIMBLE_ROLE_PERIPHERAL diff --git a/src/NimBLEService.h b/src/NimBLEService.h index cbee352b..357f32cd 100644 --- a/src/NimBLEService.h +++ b/src/NimBLEService.h @@ -19,7 +19,7 @@ #define NIMBLE_CPP_SERVICE_H_ #include "nimconfig.h" -#if defined(CONFIG_BT_ENABLED) && defined(CONFIG_BT_NIMBLE_ROLE_PERIPHERAL) +#if CONFIG_BT_ENABLED && CONFIG_BT_NIMBLE_ROLE_PERIPHERAL class NimBLEService; @@ -69,5 +69,5 @@ class NimBLEService : public NimBLELocalAttribute { ble_gatt_svc_def m_pSvcDef[2]{}; }; // NimBLEService -#endif /* CONFIG_BT_ENABLED && CONFIG_BT_NIMBLE_ROLE_PERIPHERAL */ -#endif /* NIMBLE_CPP_SERVICE_H_ */ +#endif // CONFIG_BT_ENABLED && CONFIG_BT_NIMBLE_ROLE_PERIPHERAL +#endif // NIMBLE_CPP_SERVICE_H_ diff --git a/src/NimBLEUUID.cpp b/src/NimBLEUUID.cpp index df31766d..d2604633 100644 --- a/src/NimBLEUUID.cpp +++ b/src/NimBLEUUID.cpp @@ -15,11 +15,10 @@ * limitations under the License. */ -#include "nimconfig.h" -#if defined(CONFIG_BT_ENABLED) +#include "NimBLEUUID.h" +#if CONFIG_BT_ENABLED # include "NimBLEUtils.h" -# include "NimBLEUUID.h" # include "NimBLELog.h" /**** FIX COMPILATION ****/ diff --git a/src/NimBLEUUID.h b/src/NimBLEUUID.h index 708b34b6..39b58b97 100644 --- a/src/NimBLEUUID.h +++ b/src/NimBLEUUID.h @@ -19,7 +19,7 @@ #define NIMBLE_CPP_UUID_H_ #include "nimconfig.h" -#if defined(CONFIG_BT_ENABLED) +#if CONFIG_BT_ENABLED # if defined(CONFIG_NIMBLE_CPP_IDF) # include "host/ble_uuid.h" @@ -70,5 +70,5 @@ class NimBLEUUID { ble_uuid_any_t m_uuid{}; }; // NimBLEUUID -#endif /* CONFIG_BT_ENABLED */ -#endif /* NIMBLE_CPP_UUID_H_ */ +#endif // CONFIG_BT_ENABLED +#endif // NIMBLE_CPP_UUID_H_ diff --git a/src/NimBLEUtils.cpp b/src/NimBLEUtils.cpp index de0f53c8..f51d6823 100644 --- a/src/NimBLEUtils.cpp +++ b/src/NimBLEUtils.cpp @@ -15,10 +15,9 @@ * limitations under the License. */ -#include "nimconfig.h" -#if defined(CONFIG_BT_ENABLED) +#include "NimBLEUtils.h" +#if CONFIG_BT_ENABLED -# include "NimBLEUtils.h" # include "NimBLEAddress.h" # include "NimBLELog.h" diff --git a/src/NimBLEUtils.h b/src/NimBLEUtils.h index fa9482dc..e70cf8fe 100644 --- a/src/NimBLEUtils.h +++ b/src/NimBLEUtils.h @@ -19,7 +19,8 @@ #define NIMBLE_CPP_UTILS_H_ #include "nimconfig.h" -#if defined(CONFIG_BT_ENABLED) +#if CONFIG_BT_ENABLED + # include class NimBLEAddress; diff --git a/src/NimBLEValueAttribute.h b/src/NimBLEValueAttribute.h index 2e9775a7..a03535a3 100644 --- a/src/NimBLEValueAttribute.h +++ b/src/NimBLEValueAttribute.h @@ -19,7 +19,7 @@ #define NIMBLE_CPP_VALUE_ATTRIBUTE_H_ #include "nimconfig.h" -#if defined(CONFIG_BT_ENABLED) && (defined(CONFIG_BT_NIMBLE_ROLE_PERIPHERAL) || defined(CONFIG_BT_NIMBLE_ROLE_CENTRAL)) +#if CONFIG_BT_ENABLED && (CONFIG_BT_NIMBLE_ROLE_PERIPHERAL || CONFIG_BT_NIMBLE_ROLE_CENTRAL) # include "NimBLEAttribute.h" # include "NimBLEAttValue.h" diff --git a/src/nimble/nimble/host/src/ble_gap.c b/src/nimble/nimble/host/src/ble_gap.c index 40697171..778e6fbd 100644 --- a/src/nimble/nimble/host/src/ble_gap.c +++ b/src/nimble/nimble/host/src/ble_gap.c @@ -9403,10 +9403,12 @@ ble_gap_host_check_status(void) } #else +#if NIMBLE_BLE_ADVERTISE || NIMBLE_BLE_CONNECT if (ble_gap_adv_active_instance(0)) { BLE_HS_LOG(ERROR, "Gap Advertising is active \n"); status |= BIT(BLE_GAP_STATUS_ADV); } +#endif #endif /* Stop scanning */ diff --git a/src/nimconfig.h b/src/nimconfig.h index 9e53a4f8..6f5246d8 100644 --- a/src/nimconfig.h +++ b/src/nimconfig.h @@ -9,6 +9,8 @@ #undef CONFIG_BT_NIMBLE_ROLE_PERIPHERAL #undef CONFIG_BT_NIMBLE_ROLE_BROADCASTER #undef CONFIG_BT_NIMBLE_ROLE_OBSERVER +#undef CONFIG_BT_ENABLED +#define CONFIG_BT_ENABLED 1 #endif #include "nimconfig_rename.h" @@ -104,22 +106,22 @@ /** @brief Un-comment if not using NimBLE Client functions \n * Reduces flash size by approx. 7kB. */ -// #define CONFIG_BT_NIMBLE_ROLE_CENTRAL_DISABLED +// #define CONFIG_BT_NIMBLE_ROLE_CENTRAL 0 /** @brief Un-comment if not using NimBLE Scan functions \n * Reduces flash size by approx. 26kB. */ -// #define CONFIG_BT_NIMBLE_ROLE_OBSERVER_DISABLED +// #define CONFIG_BT_NIMBLE_ROLE_OBSERVER 0 /** @brief Un-comment if not using NimBLE Server functions \n * Reduces flash size by approx. 16kB. */ -// #define CONFIG_BT_NIMBLE_ROLE_PERIPHERAL_DISABLED +// #define CONFIG_BT_NIMBLE_ROLE_PERIPHERAL 0 /** @brief Un-comment if not using NimBLE Advertising functions \n * Reduces flash size by approx. 5kB. */ -// #define CONFIG_BT_NIMBLE_ROLE_BROADCASTER_DISABLED +// #define CONFIG_BT_NIMBLE_ROLE_BROADCASTER 0 /** @brief Un-comment to change the number of devices allowed to store/bond with */ // #define CONFIG_BT_NIMBLE_MAX_BONDS 3 @@ -181,20 +183,36 @@ **********************************/ /* This section should not be altered */ +#ifndef CONFIG_BT_NIMBLE_ROLE_CENTRAL #ifndef CONFIG_BT_NIMBLE_ROLE_CENTRAL_DISABLED #define CONFIG_BT_NIMBLE_ROLE_CENTRAL 1 +#else +#define CONFIG_BT_NIMBLE_ROLE_CENTRAL 0 +#endif #endif +#ifndef CONFIG_BT_NIMBLE_ROLE_OBSERVER #ifndef CONFIG_BT_NIMBLE_ROLE_OBSERVER_DISABLED #define CONFIG_BT_NIMBLE_ROLE_OBSERVER 1 +#else +#define CONFIG_BT_NIMBLE_ROLE_OBSERVER 0 +#endif #endif +#ifndef CONFIG_BT_NIMBLE_ROLE_PERIPHERAL #ifndef CONFIG_BT_NIMBLE_ROLE_PERIPHERAL_DISABLED #define CONFIG_BT_NIMBLE_ROLE_PERIPHERAL 1 +#else +#define CONFIG_BT_NIMBLE_ROLE_PERIPHERAL 0 +#endif #endif +#ifndef CONFIG_BT_NIMBLE_ROLE_BROADCASTER #ifndef CONFIG_BT_NIMBLE_ROLE_BROADCASTER_DISABLED #define CONFIG_BT_NIMBLE_ROLE_BROADCASTER 1 +#else +#define CONFIG_BT_NIMBLE_ROLE_BROADCASTER 0 +#endif #endif #ifndef CONFIG_BT_NIMBLE_PINNED_TO_CORE @@ -385,16 +403,6 @@ defined(CONFIG_IDF_TARGET_ESP32C3) || defined(CONFIG_IDF_TARGET_ESP32S3) # define CONFIG_BT_NIMBLE_MAX_PERIODIC_SYNCS 1 #endif -/* Cannot use client without scan */ -#if defined(CONFIG_BT_NIMBLE_ROLE_CENTRAL) && !defined(CONFIG_BT_NIMBLE_ROLE_OBSERVER) -#define CONFIG_BT_NIMBLE_ROLE_OBSERVER -#endif - -/* Cannot use server without advertise */ -#if defined(CONFIG_BT_NIMBLE_ROLE_PERIPHERAL) && !defined(CONFIG_BT_NIMBLE_ROLE_BROADCASTER) -#define CONFIG_BT_NIMBLE_ROLE_BROADCASTER -#endif - /* Enables the use of Arduino String class for attribute values */ #if defined __has_include # if __has_include () diff --git a/src/nimconfig_rename.h b/src/nimconfig_rename.h index ff2ad67d..24e05060 100644 --- a/src/nimconfig_rename.h +++ b/src/nimconfig_rename.h @@ -8,19 +8,19 @@ #define CONFIG_BT_NIMBLE_ENABLED #endif -#if defined(CONFIG_NIMBLE_ROLE_OBSERVER) && !defined(CONFIG_BT_NIMBLE_ROLE_OBSERVER) +#if defined(CONFIG_NIMBLE_ROLE_OBSERVER) && !CONFIG_BT_NIMBLE_ROLE_OBSERVER #define CONFIG_BT_NIMBLE_ROLE_OBSERVER #endif -#if defined(CONFIG_NIMBLE_ROLE_BROADCASTER) && !defined(CONFIG_BT_NIMBLE_ROLE_BROADCASTER) +#if defined(CONFIG_NIMBLE_ROLE_BROADCASTER) && !CONFIG_BT_NIMBLE_ROLE_BROADCASTER #define CONFIG_BT_NIMBLE_ROLE_BROADCASTER #endif -#if defined(CONFIG_NIMBLE_ROLE_CENTRAL) && !defined(CONFIG_BT_NIMBLE_ROLE_CENTRAL) +#if defined(CONFIG_NIMBLE_ROLE_CENTRAL) && !CONFIG_BT_NIMBLE_ROLE_CENTRAL #define CONFIG_BT_NIMBLE_ROLE_CENTRAL #endif -#if defined(CONFIG_NIMBLE_ROLE_PERIPHERAL) && !defined(CONFIG_BT_NIMBLE_ROLE_PERIPHERAL) +#if defined(CONFIG_NIMBLE_ROLE_PERIPHERAL) && !CONFIG_BT_NIMBLE_ROLE_PERIPHERAL #define CONFIG_BT_NIMBLE_ROLE_PERIPHERAL #endif