Notification not sent on some characteristics

Hello,

I work on custom device with custom FW, SDK16 S132 7.0.1 and NRF52832.

I have a custom service that have some custom characteristics.

my configuration:

CHAR 1: write without response + Notification; secure write encrypt (char 1 used to configure my device (write/read application parameters)

CHAR 2 : access Notify; secure read encrypt (char 2 used to send logs over BLE)

With NRFConnect:

1-  Connection and bonding

2- I enable notification on CHAR 1 then send data to read any parameter on CHAR 1 -> I get notification with the value of the parameter

3- I enable notification on CHAR 2 then send data to read any parameter on CHAR 1 -> I don't get notification with the value of the parameter

4- I disable notification on CHAR 2 then send data to read any parameter on CHAR 1 -> I get notification with the value of the parameter

The write on char 1 is always a success but the notification is not received on CHAR 1 when the CHAR 2 have notification enabled.

Note that notification on CHAR 2 works when enabled.

And the issue is not only with CHAR 1 but with other characteristics  like battery power state and battery level (BAS) or Temperature Celsius (ESS)

Do you have any explication about this behavior?

  • Hi

    It's hard to say without looking at your code, but it sounds like somehow CHAR 2 takes precedence or disables the other characteristics when you enable notifications on it. Does it also occur if you first enable CHAR 2 and then enable CHAR 1 or is it always CHAR 2 that seems to "overwrite" the others? How exactly do you enable CHAR 2 on your end in the code? A code snippet might be useful. Also sniffing the connection to see what happens over the air might be helpful. Etiher a dedicated sniffer or an nRF52 DK with the nRF Sniffer firmware can be used for that.

    Best regards,

    Simon

Related