Skip to content

ble2902->setNotifications(false); does not get reflected to the Client #6868

Closed
@SuperTankMan

Description

@SuperTankMan

Board

az-delivery-devkit-v4

Device Description

n/a

Hardware Configuration

N/A

Version

v2.0.3

IDE Name

Arduino IDE and PlatformIO

Operating System

All

Flash frequency

80-240Mhz

PSRAM enabled

no

Upload speed

115200

Description

The code:
ble2902->setNotifications(false);
in the server side BLE does not get reflected to the client even when they read the notification and indication status.

Sketch

Standard BLE_Notify.ino with added ble2902->setNotifications(false); when the client registers for notifications

Debug Message

N/A

Other Steps to Reproduce

using modified code in the server side with ble2902->setNotifications(false); after the Client has registered for Notifications and the Server has processed ble2902->setNotifications(false); when you read the BLE2902 values they are still 01 00.

I have checked existing issues, online documentation and the Troubleshooting Guide

  • I confirm I have checked existing issues, online documentation and Troubleshooting guide.

Activity

self-assigned this
on Jun 14, 2022
SuGlider

SuGlider commented on Jun 14, 2022

@SuGlider
Collaborator

@SuperTankMan - Could you please provide both Sketches (BLE Central and Peripheral) that demonstrate the issue and that would be used to also demonstrate a fix? Thanks!

The example you suggested has no BLE2902 object (ble2902->xxx) in the code. I want to check how exactly you have tested it and where in the code it has been used. This example is the just BLE peripheral (server).

What did you use as BLE central (client) to test it and see the issue?

SuperTankMan

SuperTankMan commented on Jun 14, 2022

@SuperTankMan
Author

See code and details in issue #6863

VojtechBartoska

VojtechBartoska commented on Jun 15, 2022

@VojtechBartoska
Contributor

@SuperTankMan can we close this issue and continue only in #6863?

SuperTankMan

SuperTankMan commented on Jun 15, 2022

@SuperTankMan
Author

@VojtechBartoska (Sorry but No) - Frankly I think this issue although related is different the other is about default values not being set when disconnected and in this one is the new values of BLL2902 are not reflected to the client via reading BLE2902 it is possible the bug fix solution will cure both issues but I do think we should keep it until they are both resolved.

SuGlider

SuGlider commented on Jun 17, 2022

@SuGlider
Collaborator

Issue confirmed.

There are actually two issues:
ESP32 BLE Server doesn't send back Descriptor when read is requested by BLE Client.
ESP32 BLE Client can't read Descriptor when it is sent from BLE Server.

These functionalities need to be implemented in BLE Library:
https://github.com/espressif/arduino-esp32/blob/master/libraries/BLE/src/BLEDescriptor.cpp#L185-L194
https://github.com/espressif/arduino-esp32/blob/master/libraries/BLE/src/BLERemoteDescriptor.cpp#L54-L58

13 remaining items

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

Status

Done

Relationships

None yet

Development

No branches or pull requests

Issue actions

    ble2902->setNotifications(false); does not get reflected to the Client · Issue #6868 · espressif/arduino-esp32