Compare commits

..

18 Commits

Author SHA1 Message Date
h2zero
ec5600d40b Bump docs version 2025-02-28 14:57:06 -07:00
h2zero
bc3e342046 Release 2.2.1 2025-02-28 09:52:16 -07:00
h2zero
865ec9f760 [Bugfix] Check if remote descriptor vector has increased. 2025-02-28 09:52:13 -07:00
h2zero
e2de3f6268 Update changelog 2025-02-25 14:27:29 -07:00
h2zero
bdb86274c9 Partially revert Commit 052c0a04 to restore client connect with device parameter. 2025-02-25 14:23:57 -07:00
h2zero
8aa824ef32 Release 2.2.0 2025-02-24 17:53:24 -07:00
William Emfinger
cc7f97a37d fix(NimBLEDevice): fix crash when pairing table is full
* Add missing definition for default device callbacks (which prevents calling the `setDeviceCallbacks` method)
* Ensure `m_pDeviceCallbacks` inital value is set to `&defaultDeviceCallbacks` to prevent crash when pairing table is full

After #295 any time the pairing table fills up, the device will crash on the next pairing attempt.
2025-02-24 17:35:42 -07:00
h2zero
8723121ff9 [BugFix] Provide default task data when retrieving all descriptors.
* Update the descriptor filter when trying again with different UUID sizes.
2025-02-24 17:35:39 -07:00
thekurtovic
90b721ed55 change(2904|AdvData): Add missing parameter name in declarations 2025-02-24 17:35:36 -07:00
thekurtovic
d1ef98a4c8 feat(Device): Implement store status handler 2025-02-24 17:35:34 -07:00
thekurtovic
70eee888eb feat(AdvDevice): Add convenience operator to NimBLEAddress 2025-02-24 17:35:31 -07:00
thekurtovic
80b61ffa3d feat(Log): Add macros for conditional log print and rc handling 2025-02-24 17:35:27 -07:00
h2zero
ee895d386e Release 2.1.1 2025-01-26 18:22:37 -07:00
thekurtovic
5add3442e9 refactor(RemoteChar): Reduce nesting
* Renamed desc_filter_t to NimBLEDescriptorFilter
* Added NimBLERemoteDescriptor pointer to NimBLEDescriptorFilter
* retrieveDescriptors changed to take NimBLEDescriptorFilter pointer
* General cleanup
2025-01-26 18:16:03 -07:00
h2zero
aea55ccda2 Rename config macros to enable duplicate scan options on s3/c3 2025-01-26 18:16:00 -07:00
h2zero
83e9919457 Workaround for P4 CI build error. 2025-01-26 18:15:57 -07:00
Guo-Rong
edeaf3977a Fix characteristic discovery with no descriptors.
Avoid discovery of descriptors if there are no handles remaining.
2025-01-26 18:15:54 -07:00
h2zero
4e80e1ee38 Release 2.1.0 2025-01-12 18:16:42 -07:00
2 changed files with 8 additions and 5 deletions

View File

@@ -844,7 +844,7 @@ bool NimBLEDevice::init(const std::string& deviceName) {
if (!m_initialized) {
# ifdef ESP_PLATFORM
# if defined(CONFIG_ENABLE_ARDUINO_DEPENDS) && SOC_BT_SUPPORTED
# ifdef CONFIG_ENABLE_ARDUINO_DEPENDS
// make sure the linker includes esp32-hal-bt.c so Arduino init doesn't release BLE memory.
btStarted();
# endif

View File

@@ -620,10 +620,13 @@ int NimBLEServer::handleGattEvent(uint16_t connHandle, uint16_t attrHandle, ble_
switch (ctxt->op) {
case BLE_GATT_ACCESS_OP_READ_DSC:
case BLE_GATT_ACCESS_OP_READ_CHR: {
// Don't call readEvent if the buffer len is 0 (this is a follow up to a previous read),
// or if this is an internal read (handle is NONE)
if (ctxt->om->om_len > 0 && connHandle != BLE_HS_CONN_HANDLE_NONE) {
pAtt->readEvent(peerInfo);
// Don't call readEvent if this is an internal read (handle is NONE)
if (connHandle != BLE_HS_CONN_HANDLE_NONE) {
// If the packet header is only 8 bytes then this is a follow up of a long read
// so we don't want to call the onRead() callback again.
if (ctxt->om->om_pkthdr_len > 8 || val.size() <= (ble_att_mtu(connHandle) - 3)) {
pAtt->readEvent(peerInfo);
}
}
ble_npl_hw_enter_critical();