diff --git a/Version.h b/Version.h index e679cb7..5dfd6d5 100644 --- a/Version.h +++ b/Version.h @@ -1,3 +1,3 @@ #pragma once -#define nuki_hub_version "6.8" \ No newline at end of file +#define nuki_hub_version "6.8-rvt-all" \ No newline at end of file diff --git a/lib/NimBLE-Arduino/CHANGELOG.md b/lib/NimBLE-Arduino/CHANGELOG.md index 7e12ae5..5d1d2d4 100644 --- a/lib/NimBLE-Arduino/CHANGELOG.md +++ b/lib/NimBLE-Arduino/CHANGELOG.md @@ -2,22 +2,6 @@ All notable changes to this project will be documented in this file. -## [1.4.1] - 2022-10-23 - -### Fixed - - Compile warning removed for esp32c3 - - NimBLEDevice::getPower incorrect value when power level is -3db. - - Failure pairing when already in progress. - -### Changed - - Revert previous change that forced writing with response when subscribing in favor of allowing the application to decide. - -### Added - - Added NimBLEHIDDevice::batteryLevel. - - Added NimBLEDevice::setDeviceName allowing for changing the device name while the BLE stack is active. - - CI build tests. - - Missing items in CHANGELOG that were not recorded correctly - ## [1.4.0] - 2022-07-10 ### Fixed @@ -27,9 +11,6 @@ All notable changes to this project will be documented in this file. ### Changed - Updated NimBLE core to use the v1.4.0 branch of esp-nimble. - AD flags are no longer set in the advertisements of non-connectable beacons, freeing up 3 bytes of advertisement room. -- Config option CONFIG_BT_NIMBLE_DEBUG replaced with CONFIG_BT_NIMBLE_LOG_LEVEL (see src/nimconfig.h for usage) -- Config option CONFIG_NIMBLE_CPP_ENABLE_ADVERTISMENT_TYPE_TEXT renamed to CONFIG_NIMBLE_CPP_ENABLE_ADVERTISEMENT_TYPE_TEXT -- Config option CONFIG_BT_NIMBLE_TASK_STACK_SIZE renamed to CONFIG_BT_NIMBLE_HOST_TASK_STACK_SIZE ### Added - Preliminary support for non-esp devices, NRF51 and NRF52 devices supported with [n-able arduino core](https://github.com/h2zero/n-able-Arduino) diff --git a/lib/NimBLE-Arduino/docs/Doxyfile b/lib/NimBLE-Arduino/docs/Doxyfile index d9c4303..54129a1 100644 --- a/lib/NimBLE-Arduino/docs/Doxyfile +++ b/lib/NimBLE-Arduino/docs/Doxyfile @@ -38,7 +38,7 @@ PROJECT_NAME = NimBLE-Arduino # could be handy for archiving the generated documentation or if some version # control system is used. -PROJECT_NUMBER = 1.4.1 +PROJECT_NUMBER = 1.4.0 # Using the PROJECT_BRIEF tag one can provide an optional one line description # for a project that appears at the top of each page and should give viewer a @@ -58,7 +58,7 @@ PROJECT_LOGO = # entered, it will be relative to the location where doxygen was started. If # left blank the current directory will be used. -OUTPUT_DIRECTORY = doxydocs +OUTPUT_DIRECTORY = docs # If the CREATE_SUBDIRS tag is set to YES then doxygen will create 4096 sub- # directories (in 2 levels) under the output directory of each output format and @@ -836,7 +836,7 @@ WARN_NO_PARAMDOC = NO # Possible values are: NO, YES and FAIL_ON_WARNINGS. # The default value is: NO. -WARN_AS_ERROR = YES +WARN_AS_ERROR = FAIL_ON_WARNINGS # The WARN_FORMAT tag determines the format of the warning messages that doxygen # can produce. The string should contain the $file, $line, and $text tags, which diff --git a/lib/NimBLE-Arduino/library.properties b/lib/NimBLE-Arduino/library.properties index d1b32b9..16ddf82 100644 --- a/lib/NimBLE-Arduino/library.properties +++ b/lib/NimBLE-Arduino/library.properties @@ -1,5 +1,5 @@ name=NimBLE-Arduino -version=1.4.1 +version=1.4.0 author=h2zero maintainer=h2zero sentence=Bluetooth low energy (BLE) library for arduino-esp32 based on NimBLE. diff --git a/lib/NimBLE-Arduino/src/NimBLEClient.cpp b/lib/NimBLE-Arduino/src/NimBLEClient.cpp index a83e23b..d923e6a 100644 --- a/lib/NimBLE-Arduino/src/NimBLEClient.cpp +++ b/lib/NimBLE-Arduino/src/NimBLEClient.cpp @@ -336,7 +336,6 @@ bool NimBLEClient::connect(const NimBLEAddress &address, bool deleteAttributes) * @return True on success. */ bool NimBLEClient::secureConnection() { - NIMBLE_LOGD(LOG_TAG, ">> secureConnection()"); TaskHandle_t cur_task = xTaskGetCurrentTaskHandle(); ble_task_data_t taskData = {this, cur_task, 0, nullptr}; @@ -346,7 +345,7 @@ bool NimBLEClient::secureConnection() { m_pTaskData = &taskData; int rc = NimBLEDevice::startSecurity(m_conn_id); - if(rc != 0 && rc != BLE_HS_EALREADY){ + if(rc != 0){ m_lastErr = rc; m_pTaskData = nullptr; return false; @@ -361,11 +360,9 @@ bool NimBLEClient::secureConnection() { if(taskData.rc != 0){ m_lastErr = taskData.rc; - NIMBLE_LOGE(LOG_TAG, "secureConnection: failed rc=%d", taskData.rc); return false; } - NIMBLE_LOGD(LOG_TAG, "<< secureConnection: success"); return true; } // secureConnection diff --git a/lib/NimBLE-Arduino/src/NimBLEDevice.cpp b/lib/NimBLE-Arduino/src/NimBLEDevice.cpp index 43ba219..a7b6a55 100644 --- a/lib/NimBLE-Arduino/src/NimBLEDevice.cpp +++ b/lib/NimBLE-Arduino/src/NimBLEDevice.cpp @@ -407,7 +407,7 @@ int NimBLEDevice::getPower(esp_ble_power_type_t powerType) { case ESP_PWR_LVL_N6: return -6; case ESP_PWR_LVL_N3: - return -3; + return -6; case ESP_PWR_LVL_N0: return 0; case ESP_PWR_LVL_P3: @@ -971,15 +971,6 @@ void NimBLEDevice::deinit(bool clearAll) { } } // deinit -/** - * @brief Set the BLEDevice's name - * @param [in] deviceName The device name of the device. - */ -/* STATIC */ -void NimBLEDevice::setDeviceName(const std::string &deviceName) { - ble_svc_gap_device_name_set(deviceName.c_str()); -} // setDeviceName - /** * @brief Check if the initialization is complete. diff --git a/lib/NimBLE-Arduino/src/NimBLEDevice.h b/lib/NimBLE-Arduino/src/NimBLEDevice.h index 8d4d849..b7e804b 100644 --- a/lib/NimBLE-Arduino/src/NimBLEDevice.h +++ b/lib/NimBLE-Arduino/src/NimBLEDevice.h @@ -97,7 +97,6 @@ class NimBLEDevice { public: static void init(const std::string &deviceName); static void deinit(bool clearAll = false); - static void setDeviceName(const std::string &deviceName); static bool getInitialized(); static NimBLEAddress getAddress(); static std::string toString(); @@ -151,8 +150,7 @@ public: int max_events = 0); static bool stopAdvertising(uint8_t inst_id); static bool stopAdvertising(); -# endif -# if !CONFIG_BT_NIMBLE_EXT_ADV || defined(_DOXYGEN_) +# else static NimBLEAdvertising* getAdvertising(); static bool startAdvertising(); static bool stopAdvertising(); diff --git a/lib/NimBLE-Arduino/src/NimBLEHIDDevice.cpp b/lib/NimBLE-Arduino/src/NimBLEHIDDevice.cpp index a2310eb..29150ce 100644 --- a/lib/NimBLE-Arduino/src/NimBLEHIDDevice.cpp +++ b/lib/NimBLE-Arduino/src/NimBLEHIDDevice.cpp @@ -203,12 +203,12 @@ void NimBLEHIDDevice::setBatteryLevel(uint8_t level) { /* * @brief Returns battery level characteristic * @ return battery level characteristic - */ -NimBLECharacteristic* NimBLEHIDDevice::batteryLevel() { + *//* +BLECharacteristic* BLEHIDDevice::batteryLevel() { return m_batteryLevelCharacteristic; } -/* + BLECharacteristic* BLEHIDDevice::reportMap() { return m_reportMapCharacteristic; diff --git a/lib/NimBLE-Arduino/src/NimBLEHIDDevice.h b/lib/NimBLE-Arduino/src/NimBLEHIDDevice.h index 0e8b282..ef2ed73 100644 --- a/lib/NimBLE-Arduino/src/NimBLEHIDDevice.h +++ b/lib/NimBLE-Arduino/src/NimBLEHIDDevice.h @@ -55,7 +55,7 @@ public: void pnp(uint8_t sig, uint16_t vid, uint16_t pid, uint16_t version); //NimBLECharacteristic* hidInfo(); void hidInfo(uint8_t country, uint8_t flags); - NimBLECharacteristic* batteryLevel(); + //NimBLECharacteristic* batteryLevel(); void setBatteryLevel(uint8_t level); diff --git a/lib/NimBLE-Arduino/src/NimBLERemoteCharacteristic.cpp b/lib/NimBLE-Arduino/src/NimBLERemoteCharacteristic.cpp index 6cca615..68982f8 100644 --- a/lib/NimBLE-Arduino/src/NimBLERemoteCharacteristic.cpp +++ b/lib/NimBLE-Arduino/src/NimBLERemoteCharacteristic.cpp @@ -616,6 +616,7 @@ bool NimBLERemoteCharacteristic::setNotify(uint16_t val, notify_callback notifyC NIMBLE_LOGD(LOG_TAG, "<< setNotify()"); + response = true; // Always write with response as per Bluetooth core specification. return desc->writeValue((uint8_t *)&val, 2, response); } // setNotify diff --git a/lib/NimBLE-Arduino/src/NimBLERemoteCharacteristic.h b/lib/NimBLE-Arduino/src/NimBLERemoteCharacteristic.h index 353d832..7042b19 100644 --- a/lib/NimBLE-Arduino/src/NimBLERemoteCharacteristic.h +++ b/lib/NimBLE-Arduino/src/NimBLERemoteCharacteristic.h @@ -73,8 +73,8 @@ public: bool subscribe(bool notifications = true, notify_callback notifyCallback = nullptr, - bool response = false); - bool unsubscribe(bool response = false); + bool response = true); + bool unsubscribe(bool response = true); bool registerForNotify(notify_callback notifyCallback, bool notifications = true, bool response = true) diff --git a/lib/NimBLE-Arduino/src/NimBLEServer.h b/lib/NimBLE-Arduino/src/NimBLEServer.h index 54bbb9a..19fecfd 100644 --- a/lib/NimBLE-Arduino/src/NimBLEServer.h +++ b/lib/NimBLE-Arduino/src/NimBLEServer.h @@ -58,8 +58,7 @@ public: int duration = 0, int max_events = 0); bool stopAdvertising(uint8_t inst_id); -#endif -#if !CONFIG_BT_NIMBLE_EXT_ADV || defined(_DOXYGEN_) +#else NimBLEAdvertising* getAdvertising(); bool startAdvertising(); #endif diff --git a/lib/NimBLE-Arduino/src/nimble/esp_port/esp-hci/src/esp_nimble_hci.c b/lib/NimBLE-Arduino/src/nimble/esp_port/esp-hci/src/esp_nimble_hci.c index 8ae48a9..f4857ee 100644 --- a/lib/NimBLE-Arduino/src/nimble/esp_port/esp-hci/src/esp_nimble_hci.c +++ b/lib/NimBLE-Arduino/src/nimble/esp_port/esp-hci/src/esp_nimble_hci.c @@ -138,9 +138,7 @@ int ble_hci_trans_hs_acl_tx(struct os_mbuf *om) { uint16_t len = 0; uint8_t data[MYNEWT_VAL(BLE_ACL_BUF_SIZE) + 3], rc = 0; -#ifndef CONFIG_FREERTOS_UNICORE bool tx_using_nimble_core = 0; -#endif /* If this packet is zero length, just free it */ if (OS_MBUF_PKTLEN(om) == 0) { os_mbuf_free_chain(om); diff --git a/lib/nuki_ble b/lib/nuki_ble index be1fa97..d63a9ff 160000 --- a/lib/nuki_ble +++ b/lib/nuki_ble @@ -1 +1 @@ -Subproject commit be1fa972a61a5c86673c1cebe37ba4c5e2cdea9f +Subproject commit d63a9ff39b89ffd92431c93c0df90f98d090264c